【ICJAI2018】Commonsense Knowledge Aware Conversation Generation with Graph Attention
p3 in 2019/12/5
论文名称:基于图注意力的常识感知对话生成系统
… … … :该系统基于常识知识图谱实现了有效的对话生成
论文作者:Hao Zhou, Tom Young, Min Lü Huang, Haizhou Zhao, Jingfang Xu, Xiaoyan Zhu
论文来源:ICJAI2018
下载地址:http://coai.cs.tsinghua.edu.cn/hml/media/files/2018_commonsense_ZhouHao_3_TYVQ7Iq.pdf
源码获取:https://github.com/tuxchow/ccm
学习笔记:<>

Abstract
开发一种创新性地构建一个开放领域对话生成模型,并通过在对话生成过程中充分整合大规模的常识性知识库
- 早期技术:分别处理这些知识片段(即非结构化文本或领域特定的知识三元组)。
- 早期方法的局限性:
(1)严重依赖非结构化文本的质量,并且受限于单一领域的小规模知识库;
(2)通常将这些知识片段独立处理。 - 本研究提出的常识感知对话模型(Commonsense-KConvo),采用整体视角处理每个知识图。
其创新性体现在:- 提出静态图注意力机制,在检索到的知识图上进行编码处理。
- 引入动态图注意力机制,在分析每个独立的知识图时结合其内部语义信息。
- 研究贡献:
- 首次在对话生成系统框架内尝试构建大规模通用语义表示系统。
这一突破使系统能够更深入理解对话上下文。 - 提出静态与动态图注意力机制组合体。
这种方法能够更高效地整合各相关实体及其关系信息,
并在此基础上生成更加合理自然的回答内容。
- 首次在对话生成系统框架内尝试构建大规模通用语义表示系统。
图 1:两种模型的对比:

第一行回复由我们的系统(基于常识进行处理)产出
第二行回复由传统的Seq2Seq架构(不依赖于常识处理机制)产出
CommonsenseConversationalModel
图2 CCM结构图

本文介绍了一种常识对话模型(Commonsense Conversational Model, CCM)的概述,请参考图2获取详细信息。知识解析器 (Knowledge Interpreter) 接收问题X=x1x2…xn以及检索所得的知识图G={g1,g2,…,gNG}作为输入参数。该系统通过结合每个单词的单词向量及其对应的图知识向量来实现对问题中每个词项的知识感知。基于静态图注意力机制处理后得到的知识表示为各分词的知识信息整合体,在动态图注意力机制驱动下构建了知识感知生成器 (Knowledge Aware Generator),从而生成回复Y=y1y2…ym。在解码阶段的过程中,在检索到相关知识的基础上逐一分析各独立实体特征,并基于词汇表生成通用语言表达或从知识库中提取具体实体信息构建最终回答内容。
Knowledge Interpreter
图3:知识解析器把单词向量和图向量相结合。

在示例中, rays被映射到第一个图形中,而sunlight被映射到第二个图形中.每个图形分别使用向量来表示其特征.Key_Entity则代表当前问题中的核心实体.
知识解析器 (Knowledge Interpreter) 设计用于优化问题理解这一关键环节。该系统通过为每个单词引入对应的嵌入向量来增强其语义表示能力,并结合常识知识库进行信息提取(如图 3 所示)。具体而言,在处理输入文本时,知识解析器将问题中的每个单词 xt 视为关键实体,并从常识知识库中检索一组相关联的知识体 gi={T1, T2, …, TNgi}(如 图 1 所示)。每组检索到的知识体 gi 包含一个核心实体 Ti (红色圆点),以及与其直接关联的所有其他相关实体 Tj (蓝色圆点),并记录这些实体之间存在的关联关系。对于一些常见词汇(如 of 这类),由于常识知识体中没有与之匹配的具体信息描述,在其对应的知识体中会采用一种带有特殊标记 Not_A_Fact 的图形表示方式。(灰色圆点)。随后,在编码器处理过程中,默认会对每组检索到的知识体 gi 应用静态图注意力机制来计算其对应的嵌入向量 gi. 最后将输入词向量 w(xt) 和各组检索到的知识体向量 gi 结合在一起得到扩展后的表征特征 e(xt)=[w(xt);gi]。
Static Graph Attention
静态图注意力机制的构建旨在为检索到的知识图呈现一种表现形式。我们的机制不仅考虑到图中所有节点的信息,还特别关注节点间的关联性。因此编码的语义信息更加结构化。

这里的(hn,rn,tn) = kn, Wh, Wr, Wt分别对应于头实体、关系以及尾实体的权重矩阵。注意力机制评估了"主体间联系"rn与"起始体"hn及"结束体"tn之间的关联程度。从本质上讲,在每个三元组中,图向量gi是由其起始体hn与结束体tn构成的联合向量[hn; tn]经过加权后的总和。
Knowledge Aware Generator
图4:知识感知生成器动态地处理着图

该系统(Knowledge Aware Generator)旨在高效利用检索到的图数据以生成回复内容(如图4所示)。其主要功能体现在以下两个方面:1. 系统会解析所有检索得到的图表数据并提取关键上下文信息;2. 根据上下文内容智能地选择合适的词汇或实体用于构建响应内容。从技术角度来看这一过程涉及解码器如何更新其内部状态以完成信息传递功能

其中e(y_t)被定义为单词w(y_t)与其前一个知识三元组k_j的整合结果,并源自上一时刻所选择的单词(y_t)。在式(2)中定义为上下文向量,在公式中ct被定义为上下文向量,在公式中ct_g和ct_k分别表示作用于知识图谱\{g_1,g_2,\dots,g_{NG}\}及其相关知识三元组\{K(g_1),K(g_2),\dots,K(g_{NG})\}的影响程度。
Dynamic Graph Attention
动态图注意力机制具有层次结构,并由上至下进行信息处理。接着读取所有的知识图和每个图中的所有三元组,并用于生成最终的回复。若给定一个解码器状态st,则它首先作用于知识向量{g₁,g₂,…,g_NG}并用于计算采用各子图的概率。

在本模型中,在第t步时有三个变量Vb、Wb和Ub共同作用于同一个位置编码机制中。其中αgti是在第t步时选择知识图gi的概率。在该模型中,在每个时间步t上,在每个子图gj(j=1,2,…,m)上都有一个独立的知识嵌入层结构。随后,在解码器阶段中,在每个子图gi中使用其知识三元组嵌入K(gi)={k1,k2,…,kNgi}进行计算。随后,在解码器阶段中,在每个子图gi中使用其知识三元组嵌入K(gi)={k1,k2,…,kNgi}进行计算

在这里,βktj可以被视为每个知识三元组向量kj与解码器状态st之间的相似度指标;而αktj则代表在第t步时从图gi中的所有三元组中选取Tj的可能性大小。
最后,在概率层面进行描述时,
知识感知生成器会根据给定的概率分布,
选择使用通用词汇或实体词汇。

LossFunction

改写说明
Experiments
ConceptNet
reddit single-round dialogs
Corpora: The data are accessible via http://coai.cs.tsinghua.edu.cn/hml/dataset/#commonsense7.
Evaluation metrics: The evaluation metrics for this study include several key indicators to assess the performance of the system.
- 复杂性 (perplexity)衡量了生成内容的复杂程度。
- 每条回复中的实体数量 (entity score )衡量了模型从常识库中选取概念的能力。
- 内容质量标准 (appropriateness )基于语法正确性、主题相关性和逻辑一致性进行评估。
- 知识深度 (informativeness )基于回答是否针对问题提供了新信息和知识。
基准模型:
- Seq2Seq:一种seq2seq模型,在各种开放领域对话系统中得到广泛应用。
- MemNet:基于知识的模型架构,在MemNet中记忆单元被设计用于存储经过知识三元组经TransE嵌入处理的数据。
- CopyNet:一种基于模仿学习的知识生成模型,在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.
