论文链接:
https://arxiv.org/abs/2106.08556
动机
对话中往往存在多个说话人, 说话人的角色经常会发生改变,而且存在着无处不在复杂的指代关系,给对话摘要任务造成了困难,容易造成事实不一致性的错误,错误的配说话人和行为。下图就是一个例子。针对这个问题,作者将指代消解引入到对话摘要模型中。
模型与方法
首先用指代消解模型标注出对话中的指代关系,得到若干的指代消解簇(cluster),每个簇中包含若干个实体,这些实体指代相同。如下图所示,这里有三个指代簇,相同颜色的实体在一个簇中,如Chole和两个she指代相同。这里注意,传统的指代消解模型放在对话上面可能效果不是很好,比如没有考虑进说话人,或者没有很好的聚类,文章才用了一些技巧进行改进,详见论文。
基本模型是BART模型,先用编码器编码,再用解码器解码生成摘要,中间需要添加一个模块,来引入coreference信息
这里作者提出了三种方法来引入coreference信息:
第一种方法,如下图所示,利用图神经网络。
首先利用刚才得到的指代消解关系簇来建图,输入序列有n个token,图就有n个节点,用邻接矩阵表示边。遍历每个指代关系簇中的实体,相邻的实体对应的节点建双向边。那上面那个例子做一个具体的说明,首先把所有对话拼接成一个序列,这样第一个Riely就是第1个token对应1号节点,第二个Riely可能对应20号节点,第三个Riely可能对应30号节点,然后遍历第一个簇,发现3个Riely在这个簇里,然后就在1号节点和20号节点间连一条边,在20号节点和30号节点间连一条边,连边就是邻接矩阵置1,这样建好了图。
这里用图神经网络对建的图进行编码,首先用编码器对输入序列编码,相当于得到每个节点的初始表示,作为图神经网络的输入,然后用多层图神经网络不断聚合信息,最后得到一个总体的向量表示,再送入解码器生成摘要。
图神经网络会引入大量额外的参数,第二种方法利用注意力来引入指代信息,示意图和公式如下图所示,如果一个token属于一个指代簇,也就是说有其他的token和它指向同一个指代实体,就更新一下编码得到的隐藏向量,加权上一个注意力向量,注意力向量是同一个簇内所有指代实体的隐藏向量的平均值。如果token不属于任何指代簇,就不更新它的隐藏向量
第三种方法就是直接从利用探针实验,从Transformer中选出与指代信息最相关的注意力层,然后直接在这些注意力头上注入指代信息。
代码链接:
https://github.com/seq-to-mind/coref_dial_summ