句子大全

句子大全 > 好句子

端到端指代消解算法 Coreference Resolution

好句子 2015-07-28 15:26:34
相关推荐

指代消解 (Coreference Resolution) 是 NLP 里面一种常见的任务, 可以识别一段文本中指代相同对象的部分。在 2017 年之前指代消解通常要利用语法解析和手动特征工程等技术,效果不理想。本文介绍第一篇使用神经网络进行端到端指代消解的论文《End-to-end Neural Coreference Resolution》,该方法超越了之前的所有指代消解方法,后续很多技术都用到了这一论文的思想。

1.前言

指代消解 (Coreference Resolution) 是 NLP 里面一种常见的任务, 主要用于识别一段文本中指示相同实体的内容,通常是名字和代词。下面是指代消解的一个例子,句子中一共有三个实体对象 (我,姐姐,书),其中 "姐姐" 和 "她" 都是指代同一实体:

指代消解例子

在 2017 年之前,主流的指代消解方法通常需要用到语法解析和手工构造特征,这种做法存在一些缺点:

语法解析出现的错误会传递到下一个模型中。手工构造特征不够灵活,也很难用于不同的语言中。《End-to-end Neural Coreference Resolution》是第一篇使用神经网络对指代消解进行端到端 (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 没有先行词。

区间 i 的所有可能的先行词

函数 s(i,j) 计算区间 i 和区间 j 指代同一对象的得分,其计算公式如下:

区间 i,j 指代同一对象的得分

模型需要最大化下面的条件概率:

最大化条件概率

2.2 模型结构

模型的结构主要分为两个部分,第一部分 Span Representations,负责计算每一个区间 (span) 的表征向量;第二部分 Scoring Architecture,负责计算该区间是一个实体的概率、两区间指代同一对象的概率。

模型第一部分 Span Representations 的结构图如下:

Span Representations

模型的输入是每一个单词的表征向量,表征向量包括两部分:固定的预训练词向量、对字母进行一维卷积得到的向量。作者认为区间的上下文信息和区间内部的信息都很重要,因此采用了 Bi-LSTM 编码区间内部和外部的信息。经过 Bi-LSTM 可以得到单词 t 双向的表征向量,下面公式中的 1 和 -1 分别代表 Bi-LSTM 的两个方向:

Bi-LSTM 的输出

作者采用了 Attention 机制计算区间内部的表征向量,区间 i 的表征向量计算公式如下:

计算区间内部表征向量

最终输出的区间表征向量为 g,如下面的公式,公式中前两项 START 和 END 保存了区间外部的上下文信息,第三项保存了区间内部信息,最后一项 Φ(i) 是一个额外的特征,用于编码区间 i 的尺寸。

区间表征向量

模型的第二部分负责计算区间是实体的概率以及两区间指代同一对象的概率,其结构如下:

Scoring Architecture

模型首先需要计算每一个区间是实体 (mention) 的得分 sm,即图中的黑色节点。然后需要计算该区间和之前区间指代同一对象的得分 sa,即图中白色节点。这两个得分的计算公式如下,公式中的 Φ(i,j) 是一些额外信息 (例如 speaker 和 genre) 的编码向量:

得分 sm 和 sa 计算公式

把这些相加就是区间 i 和区间 j 指代同一对象的得分:

区间 i,j 指代同一对象的得分

模型学习的复杂度为 O(T^4),为了减小复杂度,作者使用了一些优化方式:

区间的长度不超过 L计算区间是一个实体分数 sm 后,只保留 λT 个得分最高的区间,T 为文本长度每个区间只考虑 K 个可能的先行词3.实验结果

作者和之前的指代消解算法进行了对比,结果如下,可以看到新方法的效果最好。ensemble 是作者结合了 5 个用不同的初始化训练的模型,single 是单一模型。

和不同算法的对比

作者也尝试移除模型中部分特征,对比不同特征的重要性,结果如下表所示。其中 distance and width feature、Glove embeddings、spearker and genre metadata、head-finding attention 这些特征是比较重要的,移除这些特征性能会有比较大的下降。

不同特征重要性实验

模型只保留 λT 个得分最高的区间,作者测试了不同 λ 对 Recall 值的影响,如下图所示。

不同 λ 对 Recall 值的影响

4.参考文献

End-to-end Neural Coreference Resolution

斯坦福公开课 CS224N: Coreference Resolution

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新