笔记整理 | 韩振峰,天津大学硕士
链接:https://arxiv.org/pdf/1911.02707.pdf
动机
人类对话自然地围绕相关概念发展,并分散到多跳概念。本文提出了一种新的会话生成模型——概念流(ConceptFlow),它利用常识知识图对会话流进行显式建模。通过将对话建立在概念空间的基础上,ConceptFlow表示潜在的对话流,它沿着常识关系在概念空间中遍历。遍历由概念图中的图注意力引导,向概念空间中更有意义的方向移动,以生成具有更多语义和信息量的响应。在Reddit会话数据集上的实验表明,ConceptFlow的有效性优于以前的知识感知会话模型和基于GPT-2的模型,同时使用的参数减少了70%,证实了显式建模会话结构的优势。
亮点
论文的亮点主要包括:
(1)ConceptFlow利用常识知识图对会话流进行了显式建模,并对所有概念提出了一种新的注意机制来引导潜在概念空间中的会话流。
(2)ConceptFlow的在生成回复的结果优于其他模型的时,其模型参数更少。
(3)设置了丰富的实验对ConceptFlow相关的内容进行探讨,对ConceptFlow的优势给出了令人信服的证据。
概念及模型
为了模拟人类对话中的概念转换,本文提出了概念流(ConceptFlow),它利用常识知识图来模拟显式概念空间中的对话流。ConceptFlow明确地将对话建模为常识知识图中的遍历:它从基础概念(如“聊天”和“未来”)开始,并通过沿着常识关系跳转到相关概念(如“交谈”和“梦想”)来生成更有意义的对话。概念图中的遍历由图注意机制引导,该机制源自图神经网络以关注更合适的概念。概念流学会沿着常识知识图中更有意义的关系来模拟对话的发展。结果,该模型能够通过从对话话语沿着常识关系跳跃到遥远但有意义的概念来“增长”基础概念;这将引导模型生成更多信息和主题响应。
ConceptFlow具体由三部分构成:概念图构建、编码潜在概念流、使用概念流生成文本。
模型整体框架如下:
概念图构建
假ConceptFlow构建一个概念图G作为每次对话的知识。它从基础概念(零跳概念)开始,这些概念出现在对话话语中,并由实体链接系统进行注释。然后ConceptFlow用一跳概念
和两跳概念
扩展零跳概念。零跳概念和一跳概念以及它们之间所有的关系构成了与当前对话主题密切相关的中心概念图
,一跳概念和两跳概念以及它们之间的关联构成了外部图
。
编码潜在概念流
构造的概念图提供了概念如何与常识知识相关的显示语义,概念流利用它来模拟对话并指导回复的生成。它从用户话语开始,通过中心图到达外部图
。这是从用户话语编码中心和外部概念流来建模的。
中心流编码:使用图神经网络对中心概念图进行编码,图神经网络将用户话语H的信息传递到中心概念图,即将概念
编码成表达
:
其中指概念
的嵌入表示。
外部流编码:一跳概念到其连接的两跳概念
的外部流
通过注意力机制被编码为
:
注意力聚合三元组
得到
:
使用概念流生成文本
为了同时考虑用户话语和相关信息,来自用户话语的文本和潜在概念流由解码器使用两个组件来合并:1)组合它们编码的上下文表示;2)从上下文表示中有条件地产生单词和概念。
上下文表示:为了生成第t步的回复字符,首先根据话语和潜在概念流的编码计算第t步的解码得到输出上下文表达:
指第t-1步生成的字符的表示,
是基于文本的表示
和基于概念的表示
的拼接:
基于文本的表示用标准的注意力机制读取用户话语编码:
注意力为:
基于概念的表示是中心流和外部流编码的结合:
注意力加权于中心概念表示:
注意力加权于外部流表示:
字符生成:第t步输出表示包含来自话语文本、不同跳概念以及它们之间的注意力。解码器利用
产生第t步的字符从而生成更有信息量的回复。它首先使用一个门
通过选择单词
、中心概念
、外部概念集合
来控制生成:
单词w,中心概念和外部概念
的生成概率通过单词表,中心概念集合和外部概念集合计算:
实验
本文使用基于从Reddit的单轮对话数据集的多跳扩展对话数据集,使用预处理的ConceptNet 作为知识图谱。本文使用6个基线对比算法,它们来自3个类别:标准Seq2Seq、知识增强系统(MemNet、CopyNet、CCM)、微调GPT-2系统(GPT-2 lang、GPT-2 conv)。本文做个5个实验来评估从概念流生成的回复和学习到的图注意力的有效性。
回复质量
生成回复的质量用不同的度量标准从3个方面进行评估:相关性、多样性、新颖性。
表1评估回复的相关性,可以看出ConceptFlow的表现远远超过所有基线模型,ConceptFlow生成的回复更符合主题,与基本事实回复更匹配。
表2评估回复的多样性和新颖性。ConceptFlow在生成回复的多样性和新颖性之间有很好的平衡。GPT-2的回复更加多样,也许是因为它在解码过程中的采样机制,但是与ConceptFlow相比,它的回复不那么新颖和切题。
表1和表2都是自动评估,表3是人类评估的结果,人类评估关注恰当和信息量两个方面。可以看出ConceptFlow在所有的指标下都优于其他模型,并且与GPT-2相比,它只使用了30%的参数。
多跳概念的有效性
本实验是多跳概念的消融实验,通过不同的外部概念挑选方法的对比,验证了外部概念的有效性。虽然在a中本文提出的方法(Full)不如Distract方法的表现好,但是综合b和c可以看出本文提出的方法效果最好 。
概念图的跳数
本实验研究了概念图中跳数的影响。表5显示了覆盖的黄金概念的数量随着跳数的增加而增加,然而与此同时概念的数量也随着跳数的增加而急剧增加,为了在覆盖和效率之间的平衡,本文选择两跳,并使用ConceptFlow(选择)过滤大约200个概念来构建修剪的图。
实例研究
本实验展示了几个实例,从表6可以看出本文的ConceptFlow生成的回复比CCM和GPT-2更流畅、信息更丰富。图4展示了注意力的可视化结果。
在概念上学到的注意力
本实验研究ConceptFlow对不同组的概念学习到的注意力。a展示了中心概念的注意力权重,可以看出ConceptFlow更多的黄金和零跳概念,其中包含更多有用的信息。b展示了对两跳概念的注意力,可以看出与其它两跳概念相比,ConceptFlow更关注黄金概念。
总结
本文提出的ConceptFlow将会话结构显示地建模为潜在概念空间的转换,以便生成具有更多语义和信息量的回复。本文在Reddit会话数据集上的实验说明了ConceptFlow相对于以前的会话系统的优势。研究证实ConceptFlow的优势来自于高覆盖率的潜在概念流,以及它的图注意力机制,该机制有效地将概念流引导到高度相关的概念。我们的人类评估表明,ConceptFlow在使用更少参数的同时,产生了更合适和信息更丰富的响应。
OpenKG
开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
点击阅读原文,进入 OpenKG 网站。