中文标题:基于语义框架的生成式对话摘要
论文链接:https://arxiv.org/pdf/1910.00825.pdf
发表:ICLR 2020
组织:浙大
Abstract
作者指出如果直接应用现有的文本摘要SOTA模型来进行对话摘要,会有以下两个局限性:
(1)诸如“餐厅”这样的信息实体可能无法保留下来;
(2)不同的对话领域的内容有时会不匹配。
为了解决上述两个局限性,作者提出了SPNet模型。作者又指出ROUGE指标没有办法评价上述两个局限性造成的问题,故本文也提出了一个新的评价方法。
1. Introduction
作者提出了对话摘要的两个难题:
(1)缺少对话摘要的数据集,目前大部分的工作都关注单角色文本而很少关注双角色或多角色的对话;
(2)同Abstract中的两个局限性。
针对第一个问题,本文基于MultiWOZ数据集修改成为针对生成式对话摘要的数据集;
针对第二个问题本文提出了SPNet模型:
(1)使用分离的编码器,分别编码不同说话角色的语义信息;
(2)输入去词化的句子来产生去词化的摘要,然后填充槽值来生成完整的摘要;
(3)联合优化对话域分类任务和摘要任务来整合对话域的框架。
2. Related Work
作者主要简要说明了近年来针对摘要的一些研究,从Seq2Seq+Attention,到PGN,再到预训练模型的应用等等。作者指出之前的工作并没有研究过如何利用对话中的语义模式,这也是本文要深入探讨的部分。
3. Proposed Method
作者提出的SPNet模型是基于PGN模型的改进,主要通过分离的编码器结合了三种类型的语义框架:说话角色、语义槽、对话领域。
模型结构如下图所示:
3.1 Speaker Role Scaffold
为不同的角色分开进行编码,根据不同的语句,得到不同的隐状态。解码端的初始隐藏状态初始化为编码端的隐状态的拼接:
。
上下文向量的计算也将两个编码器拼接:
3.2 Semantic Slot Scaffold
该模块将原始对话去词化,去词的位置用槽值来代替,例如:18:00用[time]来替换。经过去词化处理后,模型会更容易处理,因为去词化后使得文本字典规模减小,但是去词化后的句子确实语义信息。本文提出通过pointer和复制机制来为模板填充信息。随后作者用Attention机制来指导解码器填充槽值:
如果是slot token,那么模型将根据Attention分布来填充,如果不是slot token,则按照PGN模型的来选择是复制还是生成。
3.3 Dialog Domain Scaffold
作者通过多任务框架整合成一个对话域框架。因为不同领域的对话内容是不同的,例如:酒店预订、餐饮等,因此本文将领域分类作为辅助任务来吸收不同领域不同内容的先验知识。
领域分类:作者将级联的两个编码器的隐藏状态输入到一个两个线性层的二元分类器之中,得到领域的概率:
3.4 Loss
损失函数分为两部分:
(1)摘要负对数损失
(2)领域分类交叉熵损失
最终的损失为两部分损失和:
4. Experiment
评价指标采用ROUGE-1,ROUGE-2,ROUGE-L指标。但ROUGE存在一个问题,如下例子:
下面的摘要在ROUGE指标下具有很高的评分,但是缺少了重要的信息[time],因此在人的评价上来说此摘要是不合格的。ROUGE平等地对待每个词,然而针对本文中的情况,slot所填充的词更加重要。因此,作者提出了一个新的评价指标:CIC(重要信息完整度),是对候选摘要和参考摘要槽信息的召回。
实验结果如下图所示:
5. Conclusion
本文针对对话摘要提出了基于PGN模型的SPNet模型,将说话角色、语义槽、对话领域作为语义框架来提升生成式摘要的质量。作者也提出了一个新的指标CIC作为ROUGE的补充。作者也发现SPNet不仅可以用于对话摘要,也可以扩展到其他摘要任务之中。