基于聚类的指代消解算法

指代消解 (Coreference Resolution) 任务主要是识别文本中代表同一对象的实体 (Mention),例如 "小明告诉我他的想法" 里面的 "小明" 和 "他" 均指代小明 。指代消解方法通常包括两个步骤:1. 识别 Mention;2.判断 Mention 之间是否指代相同对象 。比较常见的判断方法是把两个 Mention 的特征传入神经网络,然后计算得分 。本文介绍一种基于聚类的指代消解方法,每一个簇包含多个指代相同的 Mention,并利用簇的特征判断两个簇是否能融合 。
1.前言在之前的文章《端到端指代消解 Coreference Resolution》 介绍了一种指代消解方法,其主要思想是把先判断文本的所有区间是否属于 Mention,然后再计算区间指代一致的得分 。对于指代消解概念不熟悉的童鞋可以参考一下该文章 。
本文主要介绍一种利用聚类的方法,通常指代消解任务包含两个部分:
第一部分是找出文本中的 Mention,即一些指代的实体,例如下图中红色框的内容 。
基于聚类的指代消解算法

文章插图
找出 Mention
第二部分是利用 Mention 的特征向量,判断两个 Mention 是否指代相同的对象,如下图所示 "姐姐" 和 "她" 指代相同 。
基于聚类的指代消解算法

文章插图
判断 Mention 是否指示相同对象
传统的方法采用了单个 Mention 的特征,而没有用到整个 Mention 簇的特征 。但是这些簇特征包含更加丰富的语义信息,可以弥补单个 Mention 缺失的信息 。例如两个簇 {Bill Clinton} 和 {Clinton,She},可以更加容易区分第二个簇代表希拉里 。
因此《Improving Coreference Resolution by Learning Entity-Level Distributed Representations》中提出了一种生成 Cluster-Pair 向量的方法,并利用聚类的方式进行指代消解 。
2.基于聚类的模型
基于聚类的指代消解算法

文章插图
模型整体结构
模型主要包括四个部分,如上面的图片所示,每部分的作用:
  • Mention-Pair Encoder,生成一对 Mention 的表征向量 。
  • Cluster-Pair Encoder,生成一对簇 Cluster 的表征向量 。
  • Cluster-Ranking Model,为传入的一对簇打分,表示这两个簇属于同一对象的得分,得分高则将两个簇融合在一起 。
  • Mention-Ranking Model,为一对 Mention 打分,表示这两个 Mention 属于同一对象的得分 。训练得到的 Mention-Ranking 主要有两个功能:1. 对 Cluster-Ranking 的权值初始化 。2. 对 Cluster-Ranking 的搜索空间进行剪枝 。
2.1 Mention-Pair Encoder
基于聚类的指代消解算法

文章插图
Mention-Pair Encoder
Mention-Pair Encoder 的结构如上图所示,给定一个 Mention m 和一个可能的先行词 a,可以利用,可以利用 Mention-Pair Encoder 获得 m 和 a 的联合表征向量 。其输入的特征包括:
  • Embedding Features:获取与 Mention 有关联的词的词向量,例如 head word (Mention 中最重要的词),dependency parent (句法分析后的依赖词),first word (Mention 第一个词),preceding words 和 following words (Mention 前面和后面的词) 。
  • Additional Mention Features:Mention 的类型 (名词,代词,人名等),Mention 的位置 (Mention 的索引除以文本 Mention 总数),Mention 单词数 。
  • Document Genre:文本的特征 (文本的体裁) 。
  • Distance Features:句子中 Mention 之间的距离 。
  • Speaker Features:这两个 Mention 是否由同一个人说出 。
  • String Matching Features:字符串匹配相关的特征 。
Mention-Pair 的特征经过三层全连接网络生成 Mention-Pair 的特征向量,用 rm(a, m) 表示 。
基于聚类的指代消解算法

文章插图
生成 Mention-Pair 特征向量
2.2 Cluster-Pair Encoder
基于聚类的指代消解算法

文章插图
Cluster-Pair Encoder
Cluster-Pair Encoder 的结构如上图所示,给定两个簇 ci 和 cj,可以利用 Cluster-Pair Encoder 获得 ci 和 cj 的联合表征向量 。每个簇包含多个 Mention,如下所示 。
基于聚类的指代消解算法

文章插图

生成 Cluster-Pair 的特征需要用到 Mention-Pair Encoder 。从簇 ci 和 cj 中分别找出一个 Mention,可以形成多种不同的 Mention-Pair 。然后利用 Mention-Pair Encoder 生成 Mention-Pair 特征,所有 Mention-Pair 特征的集合如下 。
基于聚类的指代消解算法


推荐阅读