萱草|端到端指代消解 Coreference Resolution
指代消解 (Coreference Resolution) 是 NLP 里面一种常见的任务 ,可以识别一段文本中指代相同对象的部分 。 在 2017 年之前指代消解通常要利用语法解析和手动特征工程等技术 , 效果不理想 。 本文介绍第一篇使用神经网络进行端到端指代消解的论文《End-to-end Neural Coreference Resolution》 , 该方法超越了之前的所有指代消解方法 , 后续很多技术都用到了这一论文的思想 。
1.前言指代消解 (Coreference Resolution) 是 NLP 里面一种常见的任务 ,主要用于识别一段文本中指示相同实体的内容 , 通常是名字和代词 。 下面是指代消解的一个例子 , 句子中一共有三个实体对象 (我 , 姐姐 , 书) , 其中 "姐姐" 和 "她" 都是指代同一实体:
指代消解例子
在 2017 年之前 , 主流的指代消解方法通常需要用到语法解析和手工构造特征 , 这种做法存在一些缺点:
- 语法解析出现的错误会传递到下一个模型中 。
- 手工构造特征不够灵活 , 也很难用于不同的语言中 。
- mention 可以理解为文本中的实体
- antecedent 指先行词 , 例如句子 "我的姐姐把她的书给了我" 中 "姐姐" 和 "她" 指代相同 , "姐姐" 出现在 "她" 之前 , 因此 "姐姐" 是 "她" 的先行词 。
- coreferent 共指关系 , 例如上面的 "姐姐" 和 "她" 之间存在共指关系 。
- cluster 表示簇 , 一个簇里面的所有词指代同一个对象 。
指代消解的一些术语
2.端到端模型2.1 模型的主要思想
模型的主要思想是把文本中所有区间 (span) 都考虑上 , 并计算两两区间指代同一对象的概率 。 例如句子 "猫吃鱼" 里面包含 6 个区间 "猫"、"吃"、"鱼"、"猫吃"、"吃鱼"、"猫吃鱼" 。 假设句子的长度为 T , 则区间总数 N = (T+1)T/2 。
对于区间 i , 它的起始位置用 START(i) 表示 , 结束位置用 END(i) 表示 。 区间按照 START 从小到大排序 , 如果 START 一样则按照 END 从小到大排序 。 区间 i 所有可能的先行词集合用 Y(i) 表示 , 如下面的公式所示 , 其中的 ε 表示区间 i 没有先行词 。
区间 i 的所有可能的先行词
函数 s(i,j) 计算区间 i 和区间 j 指代同一对象的得分 , 其计算公式如下:
区间 i,j 指代同一对象的得分
模型需要最大化下面的条件概率:
最大化条件概率
2.2 模型结构
模型的结构主要分为两个部分 , 第一部分 Span Representations , 负责计算每一个区间 (span) 的表征向量;第二部分 Scoring Architecture , 负责计算该区间是一个实体的概率、两区间指代同一对象的概率 。
推荐阅读
- 萱草饿吗?来根今日油条
- 萱草|饿吗?来根今日油条
- 萱草|12标配A14,流畅运行英雄联盟,iPhone
- 萱草不限行、停车免费还补贴!主通道四川下“血本”挺这类汽车发展
- 萱草 加法庭明年2月,才会就本轮申诉作出裁决,孟晚舟引渡案听证结束
- 萱草|加法庭明年2月,才会就本轮申诉作出裁决,孟晚舟引渡案听证结束
- 萱草 李一男重出江湖,或与华为“再续前缘”?,背叛华为后
- 萱草|李一男重出江湖,或与华为“再续前缘”?,背叛华为后
- 萱草|43年过去了,为什么还是落后?,1977年中国已研发出光刻机
- 萱草 43年过去了,为什么还是落后?,1977年中国已研发出光刻机