百度NLP作者

ACL 2020论文分享 | 新任务:融合多个对话类型的对话式推荐

本文对百度入选ACL 2020的论文《Towards Conversational Recommendation over Multi-Type Dialogs》进行解读,该论文提出了一个新对话任务:融合多个对话类型的对话式推荐。

本文对百度入选ACL 2020的论文《Towards Conversational Recommendation over Multi-Type Dialogs》进行解读,该论文提出了一个新对话任务:融合多个对话类型的对话式推荐。


本论文地址:

https://arxiv.org/pdf/2005.03954.pdf

建议大家点击阅读以下文章,以更加了解人机对话技术:

《一文看懂人机对话

 动机

人机对话是人工智能的一项基本挑战,涉及语言理解、对话控制和语言生成等关键技术,受到了学术界和工业界的广泛关注。

随着智能音箱的普及,对话式推荐变得越来越重要。对话式推荐指通过基于对话的人机交互形式实现高质量的自动推荐。前人工作大致可以分为两大类:

  • 基于任务类对话的建模方式;

  • 基于更自由的开放域对话的建模方式。

前人工作通常集中于单一对话类型,没有考虑如何同时处理多个对话类型(闲聊/问答/任务/推荐)。但是在实际应用中,人机对话通常包含多个对话类型。

基于以上考虑,研究人员提出一个新对话任务:融合多个对话类型的对话式推荐。研究人员期望系统主动且自然地从任意类型对话(闲聊/问答等)引导到推荐目标上。如图1所示,给定一个起始对话(例如问答),系统可为推荐规划一个对话目标序列,然后基于该目标序列驱动自然的对话,最后完成目标实体的推荐。本论文中的任务设定与前人工作的区别在于:

  • 论文中的对话包含多个对话类型; 

  • 论文强调系统的主动对话能力,例如系统可主动规划一个对话目标序列,而该序列通常对用户是不可见的。

为辅助该任务的研究,研究人员构建了一个支持多对话类型的人-人对话推荐数据集(DuRecDial)。该数据集的特点包括:

  • 每个对话session包含多个对话类型;

  • 包括丰富的交互逻辑

  • 对话领域的多样性;

  • 为每个用户建立个性化的profile,支持个性化的推荐。

表1 论文中数据集与相关数据集在如下维度的比较:session数量/utterance数量/对话类型/对话领域/是否支持用户个性化

在这个任务和数据集,研究人员尝试解决目前人机对话存在的一些问题:

  • 自然的融合多种类型对话;

  • 机器根据用户长期偏好规划对话目标序列,并主动引领对话;

  • 包含丰富的对话逻辑,如用户转移话题,也可产生合理回复;

  • 充分利用之前对话,对话结束会根据用户反馈,实时更新用户Profile,更新的Profile会影响后续对话。

 任务设置

研究人员要求两人进行对话,其中一人扮演recommendation seeker(用户),另一个人扮演recommender(bot),要求recommender主动引导对话,然后基于用户profile推荐,而不是用户引导对话或寻求推荐。例如在用户关于『生死劫』的问答后,机器根据其长期偏好和知识图谱信息,规划对话目标序列(关于『周迅』的闲聊>>推荐电影『风声』),并自然地引导对话,当用户转移话题(更喜欢『刘若英』的电影),机器根据其profile,精准推荐『南京1937』,最终完成所有对话目标。对话结束后,用户profile会根据其反馈而更新,以便于提高后续对话的用户体验。

图1  融合多对话类型的对话式推荐样例

用户profile如图1左上部分所示,给机器提供的知识图谱信息是目标序列相关的子图信息。图1右侧为多类型对话中的对话式推荐示例,用户问答后,机器主动引导对话,自然流畅地实现对话目标的转移。

这个任务跟之前任务的不同主要包括:

  • 对话包含多个goal(目标),每个goal都包含goal typegoal topic;type决定对话类型,topic对type进一步细化,决定对话的具体内容。

  • 机器通过规划对话目标序列来主动引导对话,而用户不知道对话目标

 数据集建设

现存对话数据集不适用于论文中的任务,因此研究人员通过人工标注的方式在明星、电影、音乐、新闻、美食、天气、POI等领域构建一个新的对话数据集(DuRecDial),用于融合多类型对话的对话式推荐的研究。数据集构建包括:构建领域级对话目标序列、构建用户Profile、知识挖掘、构建知识图谱、构建任务模板和语料众包标注。主要流程如下图所示:

图2  数据集建设的主要流程

1、构建领域级对话目标序列

首先根据百度知识图谱,选取20个对聊天有价值的领域,然后分别组合成对话目标序列,再经过多人多次校验,过滤不容易组成目标序、加入目标序列会导致目标转移不自然、跟其他领域关联性较小的领域,剩下7个领域。然后枚举7个领域的目标序列,再经过多次人工校验和试标注,最终产生领域级对话目标序列候选集。

图3 领域级目标序列

2、构建用户Profile

每个用户均有独一无二的profile,否则推荐就乱了。用户Profile包括两部分:姓名、性别、年龄、居住地、职业等基本信息;领域级偏好、实体级偏好等偏好信息。

基本信息的构建相对简单,但也比较细致。随机从『男、女』指定性别,从5个年龄段随机选择年龄,从55个热门城市随机分配一个居住地(居住地会影响接下来的天气、美食、POI数据的构建),然后根据性别随机生成姓名(姓名为2或3个字,不同性别候选字不同),根据年龄为用户分配职业状态,再根据职业状态分配几种聊天话题,聊天话题会影响对话的标注。

偏好包括:领域偏好(比如喜欢音乐,不喜欢新闻等)、实体偏好(比如喜欢歌曲A,而不喜欢歌曲B)。领域偏好根据目标序列包含的领域随机生成,再人工校验,并根据试标注不断完善;只有领域偏好,无法标注对话,因此需加入实体偏好,实体偏好根据知识图谱和领域偏好确定,然后人工校验。偏好的设定很关键,也是论文中任务和数据集主打的一个点。

需要强调的是,为更符合真实应用,用户知道自己的profile,机器只能通过和用户聊天获取profile。

3、知识挖掘

研究人员首先根据用户居住的55个热门城市,从『2345天气』抓取2017年7月到2019年8月的历史天气。再根据天气和美食的关系,从『美团网』和『美食天下』抓取美食相关知识。再根据美食和居住城市,从『美团网』抓取POI(餐厅)相关知识。

然后,从『时光网』挖掘电影和电影明细相关的结构化和非结构化知识信息,如电影票房、导演、评论等。根据挖掘的这些静态知识进一步计算出动态知识以丰富知识内容,比如根据票房信息计算出电影之间的票房排行,根据评分信息离散化得到电影或人物的口碑信息等。

接着,从『网易云音乐』抓取2000个热门歌手及其热门歌曲。把歌手和电影明星取交集,再根据电影、音乐数量人工过滤(因为任务中,每个用户都跟机器有多个对话,需要推荐很多实体),最终确定明星候选集。然后多个新闻来源抓取明星新闻,再根据新闻数过滤,产生最终对话使用的明星集合。需要说明的是,研究人员使用电影和音乐评论当推荐理由,而网易云音乐评论质量较差,故从『百度百科』抓取音乐鉴赏补充评论。

最终所有数据都会清洗和过滤,经抽样评估,研究人员挖掘的知识准确率在98%以上。

4、构建知识图谱

类似传统图谱构建,研究人员以挖据的三元组知识中的实体和值为节点,属性为边建立一阶图谱关系,除此之外,研究人员对有相同属性和值的两个实体建立二阶关系,如“红海行动”和“湄公河行动”的导演都是林超贤,这两个实体存在二阶关联关系。

5、构建任务模板

任务模板用来明确双方聊什么、怎么聊,它包括:实体级的goal序列,以及每个goal的描述(实现该目标的一些具体要求)。首先,用户领域偏好和领域级目标序列取交集,产生特定用户的领域目标序列,再根据用户实体偏好,产生实体级goal序列。然后基于多种规则和人工标注,产生每个goal的描述。任务模板如下图所示:

图4 任务模板

至此,标注前的数据准备就结束了,研究人员的经验是这些准备很关键,甚至能决定数据集能不能标注。随标注的进行,这些数据准备还会不断完善。

6、语料众包标注

不同于self-play一人扮演对话双方的标注方式,研究人员在众包平台(test.baidu.com)随机挑选两个标注人员模拟真实对话的双方标注每组对话数据。为保证至少有两个标注人员同时进入标注任务,研究人员安排多个外包团队进入标注平台。标注时,每组对话随机挑选两个标注人员标注,其中之一扮演机器角色主动引领对话进程完成设定的对话目标,另一标注人员扮演真实用户角色响应机器角色的对话。

需要说明的是,对任何数据集来说,质量都是很重要的,因此论文中有严格的数据质量控制流程。具体如下图:

图5 数据质量控制流程

标注结束后,通过采样评估DuRecDial质量,完全符合要求的达90%左右,且不存在有严重问题的数据。DuRecDial跟现存数据集的对比,以及数据集统计,如下图所示:

图6 跟现存数据集的对比及数据集统计

基线模型建设

目前人机对话任务有检索生成两种主流技术方向,研究人员在这两个方向都建立基线模型,包括两部分:

  • 对话目标规划模块(a):首先预测当前goal是否完成;其次预测下一个对话类型以及目标实体;

  • 回复模块:论文中实现了检索模型(b)和生成模型(c)。

模型图如下所示:

图7 模型图

1、对话目标规划

正如前面所述,对话目标对任务很关键,所以在检索或生成回复前,需知道当前对话目标。基于此,研究人员对目标规划单独建模,包括两个模块:Goal completion estimation(GCE)、Current goal prediction(CGP)。具体模型图如下所示:

图8 目标规划模型

GCE通过计算目标完成的概率,评估其是否完成(概率大于0.5完成),采用CNN做二分类,计算方式如下:

如果目标完成,CGP需要预测新的目标。目标包含Goal type和Goal topic,故CGP包含Goal type prediction和Goal topic prediction(均为多分类),CGP是个multi-task分类问题。我们采用基于CNN的multi-task分类来预测,具体计算方式如下:

预测出的goal会分别输入检索模型和生成模型,以便于检索或生成跟对话目标和用户profile更一致的回复。

2、检索模型

检索模型借鉴信息检索的方法从对话语料库中检索候选回复,然后使用排序模型对候选回复进行排序,再选取高相关性的回复进行输出,如图9左侧所示。

图9 检索模型

论文中的候选回复是从训练集中相同对话目标类型、相同轮次的机器回复中随机选取的。

排序阶段,使用分类方法判断每个候选回复Y属于正确回复的概率,如图9右侧所示,首先使用BERT将候选回复Y和对话历史X(包括当前用户输入)表示为向量xy,再使用双向GRU分别对每条知识、对话目标gc进行编码,使用attention方式将所有相关知识融合为一个知识向量kc,通过softmax层进行分类判断。判断方法如下:

3、生成模型

图10  后验生成模型

生成模型借鉴Seq2Seq模型,如图10所示,研究人员在Seq2Seq基础上,分别使用双向GRU对对话历史X、相关知识、对话目标gc进行编码,通过attention选择回复需要使用的知识信息,并引入decoder中。研究人员发现:通过输出回复的loss信息再经decoder长距离梯度回传很难有效指导模型进行知识选择。

因此研究人员通过最大化逼近后验概率方式训练基于attention的知识选择模块,使得没有正确回复信息时也可较好地进行知识选取,具体如下:

在训练阶段使用标准回复Y中的后验知识信息指导模型进行先验知识选择,即让先验知识分布p(ki|x,gc)拟合后验知识分布p(ki|x,y,gc),训练时将这两个分布向量的KL散度作为Loss的一部分。KL散度计算方法如下:

此外,为避免在计算后验知识分布时存在严重信息损失,借鉴自编码思想,训练阶段让标准回复计算的后验知识分布能解码出标准回复本身,即用后验分布预测标准回复的每个词,预测结果的BOW Loss也作为整体Loss的一部分,BOW Loss计算如下:

在生成回复时,使用标准negative loglikelihood(NLL) loss做Loss。模型最终的loss为:

其中α为一个可训练的参数

 实验及结果

研究人员按65%、10%和25%随机划分DuRecDial产生训练集、验证集和测试集。

基线模型采用开放域对话广泛采用的Seq2Seq模型【论文录用后,研究人员尝试HRED(Li et al.,2018)和KBRD(Chen et al.,2019),发现效果还不如Seq2Seq】,语料中的对话历史、知识信息和对话目标等拼接成一个字符串作为模型的输入。

我方模型:

MGCG_R:基于自动goal规划及检索排序回复模型的系统;

MGCG_G:基于自动goal规划以及生成回复模型的系统。

由于对话的开放性,对话的自动评估存在很多不足,因此在自动评估基础上进一步使用人工评估的来评估对话效果。实验设计如下所示:

图11 实验设置

1、自动评估

由于无法自动生成用户回复,自动评估只能进行单轮评估,即给定对话历史(包括当前用户输入),评估系统输出的回复。评估指标既有检索相关的指标Hits@k又有生成相关的PPL、F1、BLEU和DISTINCT指标,同时使用准确召回指标(P、R、F1)评估回复中知识使用情况。评估估结果如下:

图12  自动评估结果。+(-)gl. 表示使用(没使用)对话目标。+(-)kg. 表示使用(没使用)外部知识。

结论:

1) 从表中还可以看到检索模型和生成模型要优于Seq2Seq模型,验证了论文中模型的有效性。

2) 为了观察对话目标的作用,每个模型都做了引入目标和不引入目标的对比,从实验结果中可以看出引入对话目标能有效提升系统的效果,尤其是生成模型

3) 为了观察知识的作用,每个模型都做了引入知识和不引入知识的对比,从实验结果中可以看出引入知识能有效提升系统的效果,尤其是生成模型

4) 通过自动评估指标很难判断检索模型和生成模型的优劣,检索模型在检索指标优于生成模型,而生成模型在生成指标优于检索模型,推测这和两种模型各自的优化指标有关。

5) 知识使用上,生成模型优于检索模型,说明后验信息能有效指导模型进行知识选择

2、人工评估

研究人员进一步对自动评估中效果最好的三个+gl.+kg.模型进行单轮和多轮人工评估。多轮评估时使用类似于数据标注的方法先生成多轮评估数据,不同的是将数据标注时扮演机器角色的标注专员替换成候选模型。每个模型生成100组评估数据,然后3个评估专员共同评估。单轮评估包括:流畅性、合理度、信息多样性、主动性等4个指标。多轮评估指标有Goal完成度和多轮一致性coherence等2个指标评估结果如下所示:

图13 人工评估结果

结论:

1) 检索模型和生成模型,都比Seq2seq模型效果好,流畅性、合理性、信息多样性、goal完成率、一致性都好很多。主要原因是Seq2seq生成很多没价值的安全回复。

2) 生成模型整体上要优于检索模型,结合图14的case可以发现,这主要是由于检索模型的回复一般上下文相关性、一致性较差。

3) 检索模型的流畅性要好过生成模型,这是因为检索模型的回复都是从人工标注的数据集中选出的。

4) 因为任务的复杂性,数据集包含对话类型、领域、对话逻辑的多样性,从合理性、Goal完成度和coherence的效果可以看出,所有模型都还有很大的提升空间。

图14  3个模型生成的对话示例

此外,上面实验表面,使用KG和goal可以提升生成回复的质量,因此研究人员进一步分析知识使用和goal完成的关系,抽样评估各类型对话:goal完成、goal没完成、以及使用知识的数量。具体如下所示:

图15  知识使用和goal完成的关系

由此,可以得出的结论是:多使用知识,一定程度上可提高goal完成度;闲聊因为所需知识相对较少,所以goal比较容易完成;推荐和问答因为需要使用的知识较多,所以目标不太容易完成;任务型对话,因为轮数相对较多,目标也不容易完成。

 开源

研究建设的数据集DuRecDial以及相应的基线系统会在PaddleNLP开源:

https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/Research/ACL2020-DuRecDial.

PaddleNLP是基于飞桨PaddlePaddle深度学习框架打造的领先、全面、易用的NLP开源工具集与预训练模型集。PaddleNLP开源内容覆盖了工业应用和学术研究;为开发者提供了多种业内效果领先的NLP应⽤任务模型和前沿的论文、代码、数据,让开发者能以超低门槛获取多种顶尖NLP能力;为研究者提供百度NLP前沿研究成果的代码与数据等,让研究者们可以快速复现实验,并据此开展新的研究。

PaddleNLP-研究版:开源了NLP领域最新研究成果的代码及数据,包括领域权威会议ACL、NAACL、IJCAI等,权威竞赛MRQA、SemEval等,可以帮助研究者快速了解百度NLP的前瞻研究成果,并在此基础上开展研究。

 竞赛

中国计算机学会、中国中文信息学会和百度公司联合举办的“2020语言与智能技术竞赛”已于5月底确定竞赛结果,竞赛任务之一“面向推荐的对话”任务便是基于论文中建设的数据集DuRecDial设立。本次竞赛共收到了1065支队伍报名,其中有113支队伍提交了结果。竞赛分为三阶段:

第一阶段,自动评估,在测试集1自由打榜,并优化模型,历时约一个半月;


第二阶段,自动评估,在最终测试集评估效果,并筛选Top10队伍,历时一周;

第三阶段,人工评估,对自动评估Top10队伍的模型进行单轮、多轮人工评估,并确定获奖名单,历时10天。

最终获奖团队如图所示。详细信息参见比赛官网:

https://aistudio.baidu.com/aistudio/competition/detail/29

图16 面向推荐的对话竞赛获奖名单

 总结

研究人员针对目前对话研究中普遍存在的只有一种对话类型、没对话目标、机器无意识被动对话、对话逻辑较少、不能充分利用之前对话等问题,提出新任务:融合多种类型对话的对话式推荐,并标注包含多种对话类型、多领域和丰富交互逻辑的数据集(DuRecDial)。此外,论文中还提出具有多对话目标驱动策略机制的对话生成框架,展示DuRecDial的可用性。 

DuRecDial在对话类型、领域和对话逻辑的复杂性和多样性,使其还可支持:基于知识的对话、目标导向对话、多类型对话建模、对话领域迁移等。这些研究任务的深入探讨可以作为我们的未来工作。

同时,“2020语言与智能技术竞赛”基于数据集DuRecDial设立了“面向推荐的对话”任务,吸引众多NLP开发者组队参赛,影响广泛。我们也期待更多研究人员参与多类型对话和对话式推荐的研究,以促进此领域的技术进步。

至此,对《Towards Conversational Recommendation over Multi-Type Dialogs》论文的分享到此结束,敬请期待2020百度被ACL收录的其他论文。

本期责任编辑:张伟男
本期编辑:冯梓娴
理论ACL 2020
1
相关数据
网易机构

网易成立于1997年6月24日,是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。

https://www.163.com/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

信息检索技术

信息检索(IR)是基于用于查询检索信息的任务。流行的信息检索模型包括布尔模型、向量空间模型、概率模型和语言模型。信息检索最典型和最常见的应用是搜索引擎。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

后验概率技术

在贝叶斯统计中,一个随机事件或者一个不确定事件的后验概率是在考虑和给出相关证据或数据后所得到的条件概率。同样,后验概率分布是一个未知量(视为随机变量)基于试验和调查后得到的概率分布。“后验”在本文中代表考虑了被测试事件的相关证据。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

人机交互技术

人机交互,是一门研究系统与用户之间的交互关系的学问。系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作。小如收音机的播放按键,大至飞机上的仪表板、或是发电厂的控制室。

百度机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

https://www.baidu.com/
对话生成技术

对话生成是能经由对话或文字进行交谈的计算机程序任务。能够模拟人类对话,通常以通过图灵测试为评估标准。

暂无评论
暂无评论~