您的位置:首页 >新闻 > 公司 >

斯坦福李纪为博士毕业论文:让机器像人一样交流

自图灵测试被提出以来,一代代研究者提出了各种方法试图通过测试,但我们目前距离完成任务还有很长一段路要走。在本论文中,我们受限简要回顾一下过去几十年里人们提出的各种系统。具体来说,这其中包括三种对话系统:开放领域聊天系统、目标导向的框架系统以及问答交互(QA)对话系统。我们会讨论它们的成功应用、优缺点以及为什么它们仍然无法通过图灵测试。本论文将着重讨论如何改进聊天系统和交互式问答(QA)系统。

图1.1使用IBM模型消息与回复之间的字对齐。图片来自MichelGalley。

第二章背景

2.1序列到序列生成

SEQ2SEQ模型可以被视为一个用输入内容生成目标句的基础框架,适用于多种自然语言生成任务,例如利用给定的英文句子生成法语句子的机器翻译;通过生成响应功能在接收到源信息时生成响应;在问答任务中针对问题做出回答;或是对一段文档生成总结性短句等等。

本段将介绍语言模型基础,循环神经网络和长短期记忆网络(LSTM),它们被视为SEQ2SEQ模型的基础。随后,我们将详细解读SEQ2SEQ模型的基础。最后,我们将讨论不同SEQ2SEQ模型的算法,如注意力(attention)机制。

2.2记忆网络

记忆网络(Westonetal.,2015;Sukhbaataretal.,2015)是一类神经网络模型,可以通过操作内存中的内容(存储、取回、过滤和重用)来进行自然语言推理。记忆网络中的存储器部分可以嵌入长期记忆(例如,关于真实世界的常识)和短期上下文(例如,最近的几段对话)。记忆网络已被成功地应用于很多自然语言任务中了,例如问答系统(Bordesetal.,2014;Westonetal.,2016),语言建模(Sukhbaataretal.,2015;Hilletal.,2016)以及对话(Dogeetal.,2016;Bordes&Weston,2017)。

2.3策略梯度方法

策略梯度法(Aleksandrovetal.,1968;Williams,1992)是一类强化学习模型,通过使用梯度下降预测奖励的参数化策略来学习参数。与其他强化学习模型(如Q学习模型)比较而言,策略梯度方法不会受到如缺乏价值函数等方面的问题(因为它不需要明确估算价值函数),或由于高维空间连续状态或动作导致难以控制。

第三章用交互信息避免泛化回复

当我们将SEQ2SEQ模型应用与生成回复的时候,一个严重的问题脱颖而出:神经对话模型总是会倾向于生成无意义的回复,例如「Idon'tknow」、「Idon'tknowwhatyouaretalkingabout」(Serbanetal.,2015;Vinyals&Le,2015)。从表3.1中我们可以看出,很多排名靠前的回复是泛化的。那些看起来更加有意义、更有针对性的回复可以在非最佳列表中找到,但是排名非常靠后。这种现象是因为通用性回复如Idon'tknow在对话数据集中相对较高的频率。MLE(最大似然估计)目标函数对源到目标的单向依赖性进行了建模,由于无意义回复没有意义,有意义回复多种多样,系统总会倾向于生成这些无意义的回复。直观上,似乎不仅要考虑回复与信息的相关性,也需要考虑传递的信息是否具有意义:如果回答是「Idon'tknow」,我们就难以猜测对话者开始询问的是什么。

我们建议通过最大互信息(MaximumMutualInformation,MMI),作为测量输入和输出之间的相互依赖性的优化目标来捕获这种直觉,作为传统MLE目标函数中源到目标单向依赖性的反向。我们提出了使用MMI作为目标函数神经生成模型的实际训练和解码策略。我们证明了使用MMI可以显著减少泛化回复产生的几率,在BLEU和人类评测的结果中得出了显著提升性能的结果。

表3.1从OpenSubtitles数据集2000万对话配对中训练的4层SEQ2SEQ神经模型生成的回复。解码实现的Beamsize被设为200。最大概率的回复选项为N-best列表中平均可能性对数似然的最高概率。更低的概率回复是手动选择的。

表3.4:在Open-Subtitles数据集上SEQ2SEQ基线和MMI-antiLM模型的对比。

第四章解决说话者一致性问题

目前聊天系统的一个严重的问题是缺少说话者一致性。这是由于训练集中包含了不同的人的谈话,而且一个解码模型总是选择最大似然的应答,从而使输出变得非常的混乱且不一致。

在这一章中,我们讨论了应对不一致问题的方法以及如何为数据驱动的系统赋予合乎逻辑的「人格角色」(persona)以模仿类人的行为,无论是个人助理,个性化的「阿凡达」智能体,亦或是游戏角色。为了这个目的,我们将把persona定义为一个人工智能体在对话交流中所扮演或表现出来的一种特征。persona可以看成身份要素(背景事实或用户外形)、语言行为和交互方式的混合物。persona是有适应性的,由于智能体在面对不同的人类谈话者的时候需要按交互的需求表现不同的侧面。

表4.1:由4层SEQ2SEQ模型经过2500万个推特对话片段训练而生成的不一致应答。m表示输入的信息,r表示生成的应答。

我们在SEQ2SEQ框架中探索了两个persona模型,一个是单一说话者的「说话者模型」(SPEAKERMODEL),另一个是两人对话的「说话者-受话者模型」(SPEAKER-ADDRESSEEMODEL)。SPEAKERMODEL将说话者级别(speaker-level)的向量表示整合到SEQ2SEQ模型的目标部分中。类似地,SPEAKER-ADDRESSEEMODEL通过谈话者各自的嵌入构建一个交流的表示编码两个谈话者的交流模式,再合并到SEQ2SEQ模型中。这些persona向量利用人和人对话数据训练,并在测试时用于生成个性化的应答。我们在由电视剧脚本组成的推特对话数据集的开域语料库上的实验结果表明使用persona向量可以提升相关性能,如BLEU分数提高最多20%,困惑度(perplexity)12%,而相应的,由人类标注员评判的一致性也有同样的提高。

第五章让对话更持久

在前两节中,我们讨论了聊天系统如何避免一般性的应答并对不同的问题生成满足一致性的应答。目前为止,我们谈论的只是单轮(single-turn)应答的性质,但这只是对人类对话的过于简化的近似。人类对话通常包含了数十到数百轮的交互。这些多轮对话通常是有结构的,比如以开场白启动对话、设置语境、抓住对话重点等等,而且人类很擅长掌控一场对话中的信息流动,从而成功的进行长期的对话(包括总体一致性、意义性等等)。

目前的模型通过在给定的对话语境中使用最大似然度估计(maximum-likelihoodestimation,MLE)目标函数预测下一个对话轮。由于无法成功的应对长期对话而经常陷入很多种困境:首先,SEQ2SEQ模型倾向生成非常一般化的应答,正如第三章中所讨论的:诸如「我不知道」这样的应答;其次,如表5.1左侧的两个对话样本所示,系统陷入了重复应答的无限循环中。这是由于基于MLE的SEQ2SEQ模型无法测量重复次数。在左下方的例子中,经过三轮后对话进入了死循环,两个智能体都一直在生成枯燥、一般性的话语如「我不知道你在说什么」、「你不知道你在说什么」。

表5.1:左列:使用SEQ2SEQ模型和OpenSubtitles数据集训练的两个智能体之间的对话模拟。第一轮(指标1)是由作者输入的,然后两个智能体轮流应答,一个智能体的输入将作为另一个的在前生成轮。右列:使用我们提出的强化学习模型的对话模拟。新的模型拥有更具前瞻性的言辞(诸如「你为什么要问这个问题」、「我和你一起去」),在掉入对话黑洞之前能进行更持久的对话。

为了应对这些挑战,我们需要一个拥有以下能力的对话框架:

(1)更好的奖励函数;

(2)对生成的某一句话的长期影响进行建模。

为了达到这些目的,我们利用了强化学习,其在MDP和POMDP对话系统中早已被广泛应用。我们提出了神经网络强化学习生成方法,可以优化长期的奖励。我们的模型使用了编码器-解码器架构作为主干,让两个机器人模拟对话。这样的话,通过优化奖励函数,探索可能行为的空间。我们认为针对对话好的奖励函数应该有如下特点:好的谈话是具备前瞻性或交互性(一轮带动下一轮对话)、提供有用以及合乎逻辑的信息。我们可以通过这些方面定义奖励函数,从而通过奖励函数来优化编码器-解码器模型。

在训练过程中,我们使用随机梯度下降的更新策略,借用了YoshuaBengio在09年提出的课程学习(Curriculumlearning)的策略,逐渐增加对话模拟的轮数。这样训练的复杂度逐渐增加。

实验结果(表5.1中右侧的样本结果)表明我们的方法产生了更持久的对话,并且相比使用MLE目标训练的标准SEQ2SEQ模型,能生成更具交互性的应答。

两个对话机器人之间的对话模拟

模拟两个机器人轮流对话的过程是这样的,在一开始,从训练集中随意找到一句话作为输入给第一个机器人,这个代理通过编码器网络把这个输入编码成一个隐层向量,然后解码器来生成回答。之后,第二个机器人把之前那个机器人输出的响应和对话历史结合起来,重新通过编码器网络编码得到一个隐层向量(相当于更新了对话的状态),然后通过解码器网络生成一个新的回复,并传给第一个机器人。这个过程不断被重复下去:

图5.1描述了两个对话机器人之间的对话模拟。

更具体地,我们把之前利用互信息训练过的模型作为初始模型,然后利用策略梯度方法来更新参数,以达到一个比较大的期待奖励值的。对于一系列的响应,其奖励函数为:

之后用强化学习对梯度进行更新。

在最终模型的训练当中,课程学习的策略又一次被使用了。

模型起初只局限于两轮,后来慢慢增加到多轮。因为每一轮的候选集合数目固定,所以每增加一轮,整个路径空间就成倍变大,呈现一个指数级别的增长状态,所以最终模型最多限定为五轮对话。

第六章通过对抗学习生成对话

在上一章(第五章)中,我们人工定义了一些理想对话的特性,即回复的舒适性、信息性和条理性,然后用这些作为强化学习回复的奖励。然而,众所周知,人为定义的奖励函数无法覆盖所有重要的方面,这个会导致最后得到的结果是次优的。解决这个涉及到两个重要的问题:什么是一个好的对话应该有的特征,以及如何定量地计算这些特征?

一个好的的对话模型应该能生成和人类对话没有区别的话语,所以我们可以找一个类似图灵测试的训练目标。我们借用了计算机视觉中的对抗学习的想法:我们同时训练两个模型,一个是生成器(以神经SEQ2SEQ模型的形式),其定义了生成一个对话序列的概率,另一个是判别器,生成模型产生的对话进行标注,来判断是人类生成还是机器生成。这个判别器和图灵测试中的评估器非常类似。我们将这个任务作为一个强化学习问题处理,其中机器生成的话语的品质由其是否能够欺骗判别器误以为是人类生成的来测量。判别器的输出作为对生成器的奖励,促进其生成更加拟人化的话语。

图灵测试的想法(利用一个判别器从人类生成的文本中辨别出机器生成的)不仅可以用于训练,还可以用于测试,因而可将其命名为对抗评估(Adversarialevaluation)。对抗评估由Bowman等人于2016年首次提出用于评估语句生成的品质,并在Kannan和Vinyals(2016年)的「对话生成的语境」的工作中被初步研究。

实验结果表明我们的方法,相比使用MLE目标函数训练的标准的SEQ2SEQ模型,能生成更加交互性、趣味性和非重复的应答。

最新动态
相关文章
海龙大厦以党建工作为引领完成了转型升...
博奥镁铝扩产完善完善区域深加工布局 ...
弘亚数控产能进一步释放 专用设备的产...
捷信消金去年总资产同比下降近38% 净利...
中远海科(002401.SZ)股价低开低走创新低...
片仔癀(600436.SH)前十大流通股东3家退...