【ICJAI2018】Commonsense Knowledge Aware Conversation Generation with Graph Attention

p3 in 2019/12/5

论文名称:Commonsense Knowledge Aware Conversation Generation with Graph Attention
… … … :具有图注意力的常识知识感知会话生成系统
论文作者:HaoZhou, TomYoung, MinlieHuang, HaizhouZhao, JingfangXu, XiaoyanZhu
论文来源:ICJAI2018
下载链接:http://coai.cs.tsinghua.edu.cn/hml/media/files/2018_commonsense_ZhouHao_3_TYVQ7Iq.pdf
源码链接:https://github.com/tuxchow/ccm
参考笔记:https://blog.csdn.net/tMb8Z9Vdm66wH68VX1/article/details/81518247

在这里插入图片描述

Abstract

提出一种新的开放域对话的生成模型,在对话生成中使用大规模的常识知识库。

  • 以前的方法:将知识三元组分开使用,所用到的知识是非结构化的文本或特定领域的知识三元组。
  • 以前方法的不足:不能基于互相关联的实体和它们之间的关系来给出图的语义信息:(1)高度依赖非结构化文本的质量,受限于小规模的、领域特定的知识库;2)通常将知识三元组分开使用,而不是将其作为每个图的完整个体。)
  • 本文的方法:常识知识感知对话模型(Commonsense Knowledge Aware Conversational Model, CCM),将每个知识图作为完整的个体,从而获得结构更清晰,语义也更连贯的编码信息。设计了两种新的图注意力机制。1)静态图注意力机制对检索到的图进行编码,来提升问题的语义,帮助系统充分理解问题。2)动态图注意机制会读取每个知识图及其中的三元组,然后利用图和三元组的语义信息来生成更合理的回复。
  • 本文的贡献:1)该项目是首次在对话生成神经系统中,尝试使用大规模常识知识。有了这些知识的支撑,我们的模型能够更好地理解对话,从而给出更合适、信息量更大的回复。2)代替过去将知识三元组分开使用的方法,我们设计了静态和动态图注意力机制,把知识三元组看作一个图,基于与其相邻实体和它们之间的关系,我们可以更好地解读所研究实体的语义。

图 1:两种模型的对比:
在这里插入图片描述
第一行回复由我们的模型(引入常识知识)生成
第二行回复由Seq2Seq模型(未引入常识知识)生成

CommonsenseConversationalModel

图2 CCM结构图
在这里插入图片描述
本文的常识对话模型(Commonsense Conversational Model, CCM)的概览如图2所示。知识解析器 (Knowledge Interpreter) 将问题X=x1x2…xn和检索得到的知识图G={g1,g2,…,gNG}作为输入,通过把单词向量和与其对应的知识图向量相结合,来获得对每个单词的知识感知。
通过静态图注意力机制,知识图向量包含了问题 X中对应每个单词的知识图。基于本文的动态图注意力机制,知识感知生成器 (Knowledge Aware Generator) 生成了回复Y=y1y2…ym。在每个解码环节,它读取检索到的图和每个图中的实体,然后在词汇表中生成通用词汇,或在知识图中生成实体。

Knowledge Interpreter

图3:知识解析器把单词向量和图向量相结合。
在这里插入图片描述
在该例子中,单词rays对应第一个图,sunlight对应第二个图。每个图都用图向量表示。关键实体(Key_Entity)表示当前问题中的实体。

知识解析器 (Knowledge Interpreter) 旨在优化问题理解这一环节。它通过引入每个单词对应的图向量,来增强单词的语义,如图 3 所示。知识解析器把问题中的每个单词 xt作为关键实体,从整个常识知识库中检索图gi={T1,T2,…,TNgi}(图中黄色部分)。每个检索到的图包含一个关键实体(图中红色圆点),与其相邻的实体(图中蓝色圆点)以及实体之间的关系。
对一些常用词汇(如:of)来说,常识知识图中没有与其匹配的图,这类词汇用一个带有特殊标志 Not_A_Fact(图中灰色圆点)的图来表示。
接下来,知识解析器会基于静态图注意力机制,来计算检索到的图的图向量gi。把单词向量w(xt)和知识图向量gi相结合,就得到了向量e(xt)=[w(xt);gi],然后把它喂给编码器中的 GRU(门控循环单元,见图 1)。

Static Graph Attention

静态图注意力机制的设计旨在为检索到的知识图提供一个表现形式,我们设计的机制不仅考虑到图中的所有节点,也同时考虑节点之间的关系,因此编码的语义信息更加结构化。
静态图注意力机制会为每个图生成一个静态的表现形式,因而有助于加强问题中每个单词的语义。
形式上,静态图注意力把图中的知识三元组向量K(gi)={k1,k2,…,kNgi}作为输入,来生成如下的图向量gi
在这里插入图片描述
这里的(hn,rn,tn)=kn,Wh,Wr,Wt分别是头实体、关系、尾实体的权重矩阵。注意力的权重估量了“实体间关系”rn和“头实体”hn,以及“尾实体”tn之间的关联度。
本质上来说,图向量gi是每个三元组中头尾向量[hn;tn]的权重和。

Knowledge Aware Generator

图4:知识感知生成器动态地处理着图
在这里插入图片描述
知识感知生成器 (Knowledge Aware Generator) 旨在通过充分利用检索到的图,来生成相应的回复,如图 4 所示。知识感知生成器扮演了两个角色:1) 读取所有检索到的图,来获取一个图感知上下文向量,并用这个向量来更新解码器的状态;2) 自适应地从检索到的图中,选择通用词汇或实体来生成词语。形式上来看,解码器通过如下过程来更新状态:
在这里插入图片描述
这里e(yt)是单词向量w(yt)和前一个知识三元组向量kj的结合,其来自上一个所选单词(yt)。
ct是式2中的上下文向量,ctg和ctk分别是作用于知识图向量{g1,g2,…,gNG}和知识三元组{K(g1),K(g2),…,K(gNG)}的上下文向量。

Dynamic Graph Attention

动态图注意力机制是一个分层的、自上而下的过程。首先,它读取所有的知识图和每个图中的所有三元组,用来生成最终的回复。若给定一个解码器的状态st, 它首先作用于知识图向量{g1,g2,…,gNG},以计算使用每个图的概率,如下:
在这里插入图片描述
这里Vb/Wb/Ub都是参数,αgti是处于第t步时选择知识图gi的概率。图的上下文向量cgt是图向量的权重和,这个权重估量了解码器的状态st和图向量gi之间的关联。
接下来,该模型用每个图gi中的知识三元组向量K(gi)={k1,k2,…,kNgi},来计算选择某个三元组来生成答案的概率,过程如下:
在这里插入图片描述
这里βktj可被看作每个知识三元组向量kj和解码器状态st的相似度,αktj是处于第t步时从图gi的所有三元组中选择Tj的概率。
最后,知识感知生成器选取通用词汇或实体词汇,基于如下概率分布:
在这里插入图片描述

LossFunction

在这里插入图片描述
式中γt∈[0,1]是用来平衡实体词汇we和通用词汇wc之间选择的标量,Pc/Pe分别是通用词汇和实体词汇的概率。最终的概率P(yt)由两种概率结合所得。

Experiments

ConceptNet
reddit single-round dialogs

数据集: Our data are available at:http://coai.cs.tsinghua.edu.cn/hml/dataset/#commonsense7
评估指标:

  • 复杂度 (perplexity)——评估模型生成的内容。
  • 每条回复中的实体个数(entity score)——估量模型从常识知识库中挑选概念的能力。
  • 内容质量(appropriateness)——基于语法、主题和逻辑评估。
  • 知识层面(informativeness)——基于生成的答复是否针对问题提供了新的信息和知识评估。

基准模型:

  • Seq2Seq:一种 seq2seq 模型,它被广泛应用于各种开放域对话系统中。
  • MemNet:一个基于知识的模型,其中记忆单元用来存储知识三元组经 TransE 嵌入处理后的数据。
  • CopyNet:一种拷贝网络模型,它会从知识三元组中拷贝单词或由词汇表生成单词。
    在这里插入图片描述
    对于同一问题,所有模型生成的回复:
    在这里插入图片描述

References

[Ghazvininejad et al., 2017] Marjan Ghazvininejad, Chris Brockett, Ming-Wei Chang, Bill Dolan, Jianfeng Gao, Wen-tau Yih, and Michel Galley. A knowledge-grounded neural conversation model. CoRR, abs/1702.01932, 2017.
[Long et al., 2017] Yinong Long, Jianan Wang, Zhen Xu, Zongsheng Wang, Baoxun Wang, and Zhuoran Wang. A knowledge enhanced generative conversational service agent. In DSTC6 Workshop, 2017.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章