标题:《Target-Guided Open-Domain Conversation》
介绍
过去的端到端对话研究可以大致分为两类:面向任务的对话系统和面向闲聊的(也称为开放的)系统。其中对于面向任务的对话系统,该系统被设计成实现特定的目标;面向闲聊的对话系统被创建来模拟没有特定目标的开放域对话。而本文在定义开放域聊天的目标和创建系统动作表示两个方面进行了创新
提出了一个解决方案。将整个系统分离成独立的模块,并以不同的粒度解决挑战。具体来说,我们通过引入粗粒度的话语关键词来显式地建模和控制每个系统响应的预期内容。然后我们施加一个话语层次的规则,并在话语级约束下将会话推向最终目标;除此之外,通过监督学习,本文在每一轮都实现了平稳的会话转换
why
许多对话应用程序在开放式聊天中有特定的目标要实现,例如推荐、心理治疗、教育等。而本文就是研究在开放领域中,将会话目标强加给聊天agent的问题。特别是,我们希望对话系统能够自然地与人聊天,并主动将对话引导到指定的目标主题
这个问题很有挑战性,因为没有可用的公共数据来学习这种目标导向的策略;而且由于这种目标引导的对话问题是通用的,所以比较难解决,agent必须在自然聊天和实现目标之间取得良好的平衡
what
本文定义的任务——面向目标的开放领域对话,需要在对话过程中满足两个要求:平滑的过渡和完成对话目标,这要求agent学会在不同要求之间进行平衡的对话策略
为了解决这个任务,本文把该问题拆分成两个问题:通过在开放域聊天数据上的对话轮次级别监督学习来保持平稳的会话转换,用基于规则的引导策略来注入目标引导行为
此外,为了有效控制过渡和引导策略,本文通过在下一个系统话语中显式地建模预期的粗粒度关键词来分离决策过程和话语生成。因此,该系统由几个核心模块组成,包括对话轮次级别关键字转换预测器、话语级目标引导策略和响应检索器
how
-
对话轮次级别关键字转换
给定每个对话回合的对话历史,该模块旨在预测给定对话后下一个回复的关键词。这部分不涉及最终目标,因此符合传统的闲聊型系统,本文在该模块提出了三种不同的方法:1)基于成对PMI的转换:构建成对关键字矩阵,计算两个单词之间的PMI分数,根据PMI分数选择分数最高的作为下一个关键词
该方法具有简单性和可解释性,但可能会受到数据稀疏的影响,并且在先验未知的转换对上表现不佳2)基于神经网络的预测
以端到端的方式预测下一个关键词3)基于核的混合方法
给定当前关键词和一个候选的关键字,首先计算它们词向量之间的余弦相似度,将它输入到K个RBF核的内核层中,将这个K维的结果输入到一个全连接层中,输出的分数作为两个词之间的得分。实验发现这种方法的效果最好 -
话语层面的目标导向策略
本模块通过在对话过程中主动推进讨论主题来实现最终目标,而且可解释的粗粒度关键字的增加使我们能够为此应用一个简单而有效的规则将两个词的词向量之间的余弦值作为两个词关系的度量,约束每个回合的关键字必须严格地移动到比前面回合的关键字更接近最终目标的位置,在每轮预测下一个关键词时,首先根据这个策略选择一组有效的关键词,然后再由对话轮次级别中的方法选择最终的一个词
这样,下一个响应的预测关键字可以是平滑过渡,也可以是向目标迈出的有效一步
-
增强的关键字回复检索器
通过检索的方式生成最终的回复。具体是用 RNN 来编码对话历史和关键词,以及训练集中的候选回复语句。然后计算候选语句和对话历史的点乘,候选语句和关键词的点乘;这两个结果进行连接后再传给一个全连接网络和 sigmoid 函数,得到候选语句的匹配得分
Result
-
Turn-level Evaluation
数据集:主要基于PersonaChat数据集,通过tfidf和一些语音特征来提取关键词评估指标使用检索式系统中常用的R_n@k和P@1,另外使用Cor.来评估关键词提取的效果,它表示两个关键词的相似性
-
Target-guided Conversation Evaluation
包括基于自动模拟的评估和人工评估,其中使用WordNet来识别同义词,如果相似性得分大于.9就视为达到目标。对话轮数限定为8轮,8轮内没有达到目标就算失败。实验结果如下
-
Conclusion
本文提出了对话系统上的一个新的任务,也就是闲聊型对话系统和任务型对话系统的一种结合。该任务拆解为两个子目标,每个子目标可以通过有监督的模型或规则来实现
该任务可以用于教育、心理治疗和其他领域,不过该文仅仅通过关键词相似性的检索来引导对话方向,对话语动作和会话目标的进行处理,后续有望探索更复杂的建模以实现对句子和话语级别的更精细的控制