【ACL2019】Proactive Human-Machine Conversation with Explicit Conversation Goal

p6 in 2019/12/11

论文名称:Proactive Human-Machine Conversation with Explicit Conversation Goal
… … … :让机器有自主意识的和人类对话
论文作者:Wenquan Wu, Zhen Guo, Xiangyang Zhou, Hua Wu, Xiyuan Zhang, Rongzhong Lian and Haifeng Wang
论文来源:ACL2019
下载链接:https://www.aclweb.org/anthology/P19-1369/
源码链接:https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/Research/ACL2019-DuConv
参考笔记:https://mp.weixin.qq.com/s?__biz=…
参考笔记:https://blog.csdn.net/u012852385/article/details/103208720

在这里插入图片描述

Abstract

  • 以前的方法:被动的进行对话
  • 以前的不足:1)被动对话,即机器的回复是用于响应用户的输入,无法像人一样进行充分的信息交互;2)对话漫无目的,缺乏像人一样的自主意识。
  • 本文的方法:主动对话任务:1)给机器设定对话目标;2)让机器根据给定的知识图谱信息主动引领对话进程,完成对话目标;3)达到信息充分交互,使机器具备自主意识。
  • 本文的贡献:1)提出了一种新的任务,即模拟人类在知识图上进行会话的行为,该知识图结合了事实和非事实知识,在现实世界中有广泛的应用,但目前还没有得到很好的研究;2)构建并发布了一个新的大型数据集DuConv,以促进知识驱动的主动对话系统的发展;3)提出了知识感知的主动对话模型,并对数据集进行详细的分析。

3 DuConv

DuConv的构建包括四个步骤:1)知识挖掘;2)图谱建设;3)对话目标设定;4)语料众包标注。

3.1 Knowledge Crawling 知识挖掘

本文在时光网(www.mtime.com)上挖掘了电影和娱乐人物相关的结构化和非结构化知识信息,如电影的票房、导演、评论、相关人物的祖籍、代表作和评论等。本文根据网上挖掘的这些静态知识进一步计算出动态知识以丰富知识内容,比如根据票房信息计算出电影之间的票房排行,根据评分信息离散化得到电影或人物的口碑信息等。
经过数据清洗后总共得到约14w实体、360w条知识的数据,每条知识以三元组<实体,属性,值>的形式组织,经过抽样评估,挖掘的知识准确率为97%。

3.2 Knowledge Graph Construction 图谱建设

类似于传统的图谱建设,本文
1)以挖据的三元组知识中的实体和值为节点,属性为边建立一阶图谱关系;
2)对有相同属性和值的两个实体建立二阶关系,如“红海行动”和“湄公河行动”的导演都是林超贤,这两个实体则存在二阶关联关系。

3.3 Conversation Goal Assignment 对话目标设定

图1 主动对话示例
在这里插入图片描述
如图1所示,每组对话都有对话目标和关联的知识信息,本文从图谱中提取任意两个关联的实体作为对话目标中的目标话题A和B,包括一阶关系和二阶关系的关联实体。然后进一步提取关联实体所在的知识子图作为目标话题A和B的附加知识信息。

3.4 Crowdsourcing 语料众包标注

不同于self-play一人扮演对话双方的标注方式,本文在众包平台test.baidu.com上随机挑选两个标注人员模拟真实对话的双方标注出每组对话数据。为保证至少有两个标注人员同时进入对话标注任务,本文安排多个外包团队进入标注平台开展对话标注。标注时,每组对话随机挑选两个标注人员标注,其中之一扮演机器角色根据提供的知识子图信息主动引领对话进程完成设定的对话目标,另一个标注人员扮演真实用户角色响应机器角色的对话即可。由此共标注了约3万组含有27万对话句子的语料,详细统计信息如下:
表1 标注语料统计
在这里插入图片描述

4 Methods

目前人机对话任务主要有检索和生成两种主流的技术方向,本文在这两个方向上都建立了主动对话的基线模型。

4.1 Retrieval-based Model 检索模型

在这里插入图片描述
在这里插入图片描述
检索模型借鉴信息检索的方法从对话语料库中检索候选回复,然后使用排序模型对候选回复进行排序,再选取高相关性的回复进行输出,如图3左侧所示。
本文的候选回复是从训练集中相同对话目标类型(如“Start”->[Movie]->[Person], “Start”->[Movie]->[Movie]等)相同轮次的机器回复中随机选取的,并对候选回复中的知识根据属性名称替换成当前对话的相应知识,减少知识冲突现象。
排序阶段,使用二分类方法判断每个候选回复Y属于正确回复的概率,如图3右侧所示,首先将候选回复Y和对话历史X(包括当前轮的用户输入)使用分隔符拼接成一串字符序列,然后使用Transformer方法进行编码表示,再联合attention方法选取的相关知识信息通过softmax层进行二分类判断。为了简便,该方法中将对话目标Goal作为知识信息的一部分使用。

4.2 Generation-based Model 生成模型

图4 后验生成模型
在这里插入图片描述
生成模型借鉴最早用于机器翻译的Seq2Seq模型,将输入的对话历史X使用encoder编码表示,然后使用decoder逐步解码出回复的每个字符。如图4所示,我们在Seq2Seq框架基础上使用Memory Network方法表示知识信息通过attention方式选择输出回复需要使用的知识信息,并引入decoder中。我们发现:
通过输出回复的loss信息再经decoder的长距离梯度回传很难有效指导模型进行知识选择
因此我们提出了一种新的解决方法(使用该方法的模型称为后验生成模型):
在训练阶段使用标准回复Y中的后验知识信息指导模型进行先验知识选择,即让先验知识分布p(ki|x)拟合后验知识分布p(ki|x,y),训练时将这两个分布向量的KL散度作为Loss的一部分。KL散度计算方法如下:
在这里插入图片描述
为避免在计算后验知识分布时存在严重信息损失,借鉴自编码的思想,训练阶段让标准回复计算的后验知识分布能解码出标准回复本身,即用后验分布预测标准回复的每个词,预测结果的BOW Loss也作为整体Loss的一部分,BOW Loss计算如下:
在这里插入图片描述
该方法中对话目标Goal作为输入信息的一部分共同参与知识信息的选择和回复的解码。

在这里插入图片描述
其中,NLL Loss: the Negative Log-Likelihood (NLL) ,负对数似然函数表示真实响应与模型生成的响应之间的差异。

Experiments

数据集: DuConv
评估指标:
自动评估:Hits@k——检索相关的指标;PPL、F1、BLEU和DISTINCT——生成相关的指标;准确、召回——衡量回复中的知识使用情况。
人工评估:Goal完成度,轮一致性coherence。
基准模型: 检索模型(retrieval),后验生成模型(generation),Seq2Seq模型
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

References

  • Antoine Bordes, Y-Lan Boureau, and Jason Weston. 2016. Learning end-to-end goal-oriented dialog. arXiv preprint arXiv:1605.07683.
  • Junyoung Chung, Caglar Gulcehre, KyungHyun Cho, and Yoshua Bengio. 2014. Empirical evaluation of gatedrecurrentneuralnetworksonsequencemodeling. arXiv preprint arXiv:1412.3555.
  • Jacob Devlin, Ming-Wei Chang, Kenton Lee, and KristinaToutanova.2018. Bert: Pre-trainingofdeep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805.
  • Emily Dinan, Stephen Roller, Kurt Shuster, Angela Fan,MichaelAuli,andJasonWeston.2019. Wizard of wikipedia: Knowledge-powered conversational agents. In International Conference on Learning Representations.
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值