Press "Enter" to skip to content

论文浅尝 | 利用指针生成网络的知识图谱自然语言生成

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

论文笔记整理:谭亦鸣,东南大学博士,研究方向为知识图谱问答。

 

 

来源: Neurocomputing 382 : 174-187 (2020)

 

链接:https://www.sciencedirect.com/science/article/abs/pii/S0925231219316820?via%3Dihub

 

指针生成网络在自然语言生成任务上表现出不错的性能,本文主要介绍的是自动生成KG中entity的描述生成任务,目标是对于输入的(来自KG)的entity及其属性(属性可以分为多种类型的slot)生成对应的自然语言文本描述。为了更加准确的利用自然语言生成过程中的copy机制(何时以及在什幺位置copy源语言的内容),作者提出了一种可适应的指针生成网络模型KG2TEXT,在Person与Animal(来自WikiData,由Wang et al.提出的一种用于KG描述生成的数据集)的实验结果表明,该模型的性能达到了目前最优。

 

动机

 

实体描述生成(或者说几乎所有的自然语言生成)普遍存在的一个问题是新词的生成(或者说OOV),目前普遍的做法是将这些无法翻译(转换)的词通过copy添加到目标生成文本中。但是在生成过程的什幺时候(when)以及什幺位置(where)融合copy信息,是目前存在的一个挑战(无法准确处理when和where可能造成信息的重复生成或丢失)。因此,作者提出了一种基于可适应指针生成网络的模型,利用可变的覆盖损失函数在生成自然语言描述时尽可能多的覆盖实体的“属性-值”对。此外,作者还提出了一种“监督注意力机制”用于引导模型在生成时的判断(生成或复制)。

 

模型框架

 

首先对指针生成网络做一个简单的说明,这是一种混合了传统seq2seq和pointnetwork的网络,下图对比了seq2seq原始模型(上)与指针生成网络(下)的框架差异(图片摘自论文“Get To The Point: Summarization with Pointer-Generator Networks”https://arxiv.org/pdf/1704.04368.pdf),相比原始seq2seq,后者利用PointerNetwork的copy能力得到一个扩充的单词表(增加了源语言中的词)从而得到一组新的生成词分布,通过Pgen权重决定当前输出是该生成还是复制。

 

 

 

KG2TEXT的整体模型框架如下图所示,与上面的框架相比,主要的差异表现在编码器部分增加了slot type attention(用于识别KG中entity属性的类型),position attention(用于处理KG中1对多的属性),attention distribution部分使用了可变覆盖损失函数,以及在生成最终分布的部分添加了Supervised attention。

 

 

以往提出的覆盖函数通过聚合过去每一步输入的attention结果(公式10),用于避免重复的copy,但是作者认为这种方式无法保证所有的values都被涵盖在生成文档中,因此作者提出了新的覆盖损失函数(公式11),确保每个value能且只能被复制一次。(其机制如下图所示)

 

其中,

 

 

为了判断生成词应该通过复制还是生成,作者引入了监督attention,如表3所示,在训练过程中,对于每一个训练集中的目标段落,作者添加了一个指示标记ychoose生成的词为1,复制的为0,监督attention 的损失通过二元交叉熵损失函数实现:

 

 

 

实验和结果

 

作者使用了Wang et al.提出的Person及Animal的数据集用于实体描述生成任务,统计信息如表4所示:

 

 

本文实验对照的两个baseline:原始Seq2Seq,带有slot类型与位置attention的指针生成网络

 

表5展示了对比的生成模型性能(评价指标为BLEU, ROUGE, CIDEr):

 

 

图3展示了两个数据集上,各模型的召回率表现:

 

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注