端到端指代消解 Coreference Resolution

指代消解(CoreferenceResolution)是NLP里面一种常见的任务 , 可以识别一段文本中指代相同对象的部分 。 在2017年之前指代消解通常要利用语法解析和手动特征工程等技术 , 效果不理想 。 本文介绍第一篇使用神经网络进行端到端指代消解的论文《End-to-endNeuralCoreferenceResolution》 , 该方法超越了之前的所有指代消解方法 , 后续很多技术都用到了这一论文的思想 。
1.前言指代消解(CoreferenceResolution)是NLP里面一种常见的任务 , 主要用于识别一段文本中指示相同实体的内容 , 通常是名字和代词 。 下面是指代消解的一个例子 , 句子中一共有三个实体对象(我 , 姐姐 , 书) , 其中"姐姐"和"她"都是指代同一实体:
在2017年之前 , 主流的指代消解方法通常需要用到语法解析和手工构造特征 , 这种做法存在一些缺点:
语法解析出现的错误会传递到下一个模型中 。 手工构造特征不够灵活 , 也很难用于不同的语言中 。《End-to-endNeuralCoreferenceResolution》是第一篇使用神经网络对指代消解进行端到端(End-to-end)处理的论文 , 其性能也超过了之前的模型 。 在介绍模型之前 , 首先看一下指代消解中的一些术语:
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没有先行词 。
函数s(i,j)计算区间i和区间j指代同一对象的得分 , 其计算公式如下:
模型需要最大化下面的条件概率:
2.2模型结构
模型的结构主要分为两个部分 , 第一部分SpanRepresentations , 负责计算每一个区间(span)的表征向量;第二部分ScoringArchitecture , 负责计算该区间是一个实体的概率、两区间指代同一对象的概率 。
模型第一部分SpanRepresentations的结构图如下:
模型的输入是每一个单词的表征向量 , 表征向量包括两部分:固定的预训练词向量、对字母进行一维卷积得到的向量 。 作者认为区间的上下文信息和区间内部的信息都很重要 , 因此采用了Bi-LSTM编码区间内部和外部的信息 。 经过Bi-LSTM可以得到单词t双向的表征向量 , 下面公式中的1和-1分别代表Bi-LSTM的两个方向:
作者采用了Attention机制计算区间内部的表征向量 , 区间i的表征向量计算公式如下:
最终输出的区间表征向量为g , 如下面的公式 , 公式中前两项START和END保存了区间外部的上下文信息 , 第三项保存了区间内部信息 , 最后一项Φ(i)是一个额外的特征 , 用于编码区间i的尺寸 。
模型的第二部分负责计算区间是实体的概率以及两区间指代同一对象的概率 , 其结构如下:
模型首先需要计算每一个区间是实体(mention)的得分sm , 即图中的黑色节点 。 然后需要计算该区间和之前区间指代同一对象的得分sa , 即图中白色节点 。 这两个得分的计算公式如下 , 公式中的Φ(i,j)是一些额外信息(例如speaker和genre)的编码向量:
把这些相加就是区间i和区间j指代同一对象的得分:
模型学习的复杂度为O(T^4) , 为了减小复杂度 , 作者使用了一些优化方式:
区间的长度不超过L计算区间是一个实体分数sm后 , 只保留λT个得分最高的区间 , T为文本长度每个区间只考虑K个可能的先行词3.实验结果作者和之前的指代消解算法进行了对比 , 结果如下 , 可以看到新方法的效果最好 。 ensemble是作者结合了5个用不同的初始化训练的模型 , single是单一模型 。
作者也尝试移除模型中部分特征 , 对比不同特征的重要性 , 结果如下表所示 。 其中distanceandwidthfeature、Gloveembeddings、spearkerandgenremetadata、head-findingattention这些特征是比较重要的 , 移除这些特征性能会有比较大的下降 。
模型只保留λT个得分最高的区间 , 作者测试了不同λ对Recall值的影响 , 如下图所示 。
4.参考文献End-to-endNeuralCoreferenceResolution
【端到端指代消解 Coreference Resolution】斯坦福公开课CS224N:CoreferenceResolution


    推荐阅读