本文对百度NLP入选ACL 2020的论文《Conversational Graph Grounded Policy Learning for Open-Domain Conversation Generation》进行解读,该论文提出用图的形式捕捉对话转移规律作为先验信息,用于辅助开放域多轮对话策略学习,并提出了一个基于CG的策略学习框架。
引言
研究人员首先从对话语料库中构建了一个对话图谱(Conversational Graph),其中节点表示“What to say”和“How to say”,边表示当前句(对话上文中的最后一个语句)与其回复句之间的自然转换。然后,论文中提出了一个基于对话图的策略学习框架,该框架通过图遍历进行对话流规划,学习在每轮从对话图中识别出一个“What”节点和“How”节点来指导回复生成。
这样可以有效地利用对话图谱来促进策略学习,具体如下:
-
可以实现更有效的长期奖励设计;
-
提供高质量的候选操作;
-
让对策略有更多的控制,在两个基准语料库的实验结果表明了所提框架的有效性。
模型介绍
论文中提出了基于对话图谱(CG)的开放域多轮对话策略模型。其中,对话图谱用来捕捉对话中的局部合适度以及全局连贯度信息。直观上,策略模型以图中的What-节点 (关键词)作为可解释的离散状态,进而模型得以主动规划对话内容,进而提升多轮连贯度和可控性。
图1是本文方法的框架图,实线椭圆代表“What”节点,实线圆形代表“How”节点。对于当前句(图中Message),策略模型首先将其定位到图中的“What”节点(图中绿色关键词),进而主动规划要聊的内容(图中橙红色的两个节点),再经由生成模型产出回复句(图中Response)。
图 1:基于对话图谱的开放域多轮对话策略模型
对话图谱的构建主要包含点(What-节点和How-节点)的构建,以及边的建设两部分。首先,研究人员从对话语料中抽取关键词作为What-节点,关键词使用开源的基于词性等特征的工具抽取,分别挖掘语料上下句中的关键词,组成关键词对,再基于共现频率在What-节点之间建边。
同What-节点直接表达“说什么”不同,How-节点代表“怎么说”,这类节点无法直接从语料中抽取。研究人员基于MMPMS[1]模型学习到的表达方式(隐变量)为How-节点集合,再统计What-节点经常使用哪些How-节点解码(表达出来),基于共现频率建边。
抽取工具地址:
http://github.com/squareRoot3/Target-Guided-Conversation
策略模型首先基于映射来做对话理解,根据对话当前句中出现的关键词映射到对话图中的What-节点,召回全部What-节点的所有一阶What-节点邻居提供给Policy;之后,Policy选择其中一个What-节点确定回复内容,再选择该What-节点的一个How-节点,确定回复方式;NLG负责生成具体回复句。论文中将基于对话图谱的策略模型称之为CG-Policy。
为了训练CG-Policy,研究人员设计了多种来源的奖励信号:
基于句子的奖励
1)句间相关度:研究人员使用对话下的多轮检索模型[2]为每轮生成的回复句进行相关度打分;
2)句间重复惩罚:研究人员鼓励多样的内容规划生成,当有超过60%的生成的回复句中的词语在上文中任意一句中同时出现,则判定为重复;
基于图结构的奖励
1)全局连贯度:TransE空间下选中/提及What-节点间的平均cosine距离;
2)可持续性:研究人员鼓励主动聊内容丰富的节点,这样未来可聊的内容会相对更对,具体而言我们使用PageRank打分;
此外,CG-Policy可控性也很好(如要求聊到特定的对话目标节点上),但需要设计相应的奖励函数。具体而言,研究人员增加了下面的奖励函数:
可控性奖励
1)目标相似度:选定What-节点和目标节点在语义空间的cosine距离,该距离表征当前到目标还是多远;
2)到目标节点的图上最短距离;
实验结果和分析
研究人员在常用的公开数据集Weibo[3]和Persona[4]上开展实验。对于基线模型选用下述三个代表性模型。
1)LaRL[5]:SOTA基于隐变量的强化学习对话模型
2)ChatMore[6]:关键词增强的生成式对话模型
3)TGRM[7]:关键词增强的检索式对话模型
研究人员在训练LaRL、CG-Policy(本文所提模型)使用MMPMS模型[1]作为用户模拟器,用户模拟器在策略学习过程中参数不变。此外,在机机对话时,所有模型共享该用户模拟器。
为了综合评估模型的效果,研究人员在多轮和单轮两个层面从以下几个维度分别进行评估:
-
多轮评估指标
全局连贯度(Cohe.)、多样性 (Dist-2)
-
单轮评估指标
适合度 (Appr.)、信息丰富度 (Info.)
首先,研究人员在微博语料下分别进行机机、人机实验,从微博语料中抽取构建的对话图谱含有4000个What-节点和10个How-节点,What-节点之间有74,362条边,其中有64%的边经过人工评估表明捕捉了合适的对话转移规律。如表1所示,结果表明CG-Policy在多轮连贯性上显著超越基线。
表1:微博语料下机机和人机对话实验结果
其次,为了说明CG-Policy中CG的价值、CG如何起作用以及How-节点的价值,研究人员进行了消融实验,实验设置和结果如表2所示。
表2:消融实验
此外,为了证明所模型有助于提升多轮对话可控性,研究人员进行引导到特定目标的实验[7],按照任务设定在Persona语料上进行实验。实验结果如表3所示,表明CG-Policy具有更好的可控性,对话成功率相对基线大幅提升。
表3:可控性实验
对话样例
图2:人机对话样例(使用中文对话,翻译成英文)
总结
论文中提出用对话图谱的形式捕捉对话转移规律作为先验信息,以图中“What-vertex” (关键词)作为可解释的离散状态,用于辅助开放域多轮对话策略学习,生成更加连贯和可控的多轮对话。
实验结果表明所提框架可以取得更好的局部合适度、全局连贯度和给定话题的到达成功率。
来源:oschina
链接:https://my.oschina.net/u/4366189/blog/4893723