APP下载

开放型对话技术研究综述

2021-04-10鑫,周

中文信息学报 2021年11期
关键词:单轮检索机制

陈 鑫,周 强

(1. 大连交通大学 机械工程学院,辽宁 大连 116028;2. 清华大学 计算机科学与技术系 人工智能研究所,北京 100084)

0 引言

近些年,学术界和工业界针对对话技术的研究越来越深入,深度学习相关方法已广泛应用于对话技术研究。基于任务型对话已经涌现了一些工业级的产品,例如,微软小冰、阿里小蜜及百度小度等均能够实现多领域的任务型对话[1]。对于多轮开放型对话,由于其场景自身的特点,研究难度很大,仍是众多研究者深入研究的方向,本文重点对开放型对话技术进行梳理。

本文的研究对象是开放型对话,首先将其形式化描述为: 在无限制主题及无明确对话目的的背景下,可基于检索或生成的方法进行人机对话的交互。同时,对话系统可以分为单轮对话和多轮对话。单轮对话主要考虑基于问题的回答,而多轮对话则更加注重上下文的整体信息,输出更加符合上下文语义的回复。

为更好地进行对话技术的研究与剖析,首先将对话系统从不同角度进行分类。

(1) 按照领域分类,可以分为开放型对话和任务型对话[2]。开放型对话,是指不局限话题的聊天,即对话不存在明确的对话目的,而任务型对话则会有明确的对话目的,用户明确知道自己想要让机器帮助自己完成的内容。但随着小样本、无样本、无监督、自监督、迁移学习、域外检测等系列研究问题的兴起,进一步拓展了对话领域的研究视野。开放型和任务型对话的边界愈加模糊。

(2) 按照回复方式分类,主要分为检索式系统和生成式系统。检索式系统使用预定义回复库根据输入和语境做出合适的回复。生成式系统在接收到用户输入后,采用生成模型来完成回复,这种方式不要求规模非常大和非常精准的回复语料库,但生成的回复可能会出现语法错误、语句不通顺或万能回复等问题[3]。

(3) 按照场景分类,主要分为单轮对话和多轮对话。单轮对话只考虑当前的用户输入并产生相应的回答,每轮问答之间相互独立,不存在关联。而多轮对话存在问答之间的交互与依赖, 能够构造上下文相关的会话过程,每轮问答之间存在一定的关联性。

(4) 按照对话方式分类,通常分为主动对话和被动对话。目前对于任务型对话来说,机器主导对话更容易实现,也就是机器此时是“主动的”。但对于开放型对话来说,机器和人需要交替引导对话。因此,机器和人都应承担主动引导话题的任务[4]。

开放型对话有着极大的应用价值。它已经不再是纯粹的对话目标驱动的对话,包括闲聊、推荐、信息服务等。闲聊机器人主要解决人们情感方面的需求,一般分为倾听式、反问式及交流式各方式的特点如下: ①倾听式,机器主要承担倾听者的角色。②反问式,通过提问来推进交流的进程。③交流式,机器能够准确分析上下文语义,聊天过程一般具有一定的深度和广度。推荐和信息服务与任务型对话的技术路线相似,随着开放型对话和任务型对话的边界越来越模糊,闲聊、推荐及信息服务兼具是对话技术发展的一个大的趋势。

理想的对话系统是机器与人流畅地交流并向拟人化的目标前进,能够在对话中融入聊天过程中相关的背景知识甚至情感。开放型对话没有明确的任务目标,可以用于闲聊或回答相关领域的问题,它的目的是生成有意义且相关的回复。

目前在对话技术中仍然存在很多问题和挑战,具体如下: ①语义表征: 机器需要通过上下文信息更准确地理解语义,进而实现符合场景的回复。②逻辑性: 机器需要在上下文聊天的过程中具有一定推理及判断的能力,实现多领域聊天的迁移和泛化。③一致性: 机器需要在人机交互的过程中具备表达内容的前后一致性,这里的一致性主要包括语义一致性和逻辑一致性。④交互性: 在真实的对话过程中,理想的对话情形经常是由双方共同把控的。

近年来,很多研究人员进行了对话技术发展状况的研究与梳理,其由数据驱动结合统计机器学习模型向端对端的深度学习模型转变。本文选取了近五年的几篇对话系统研究综述,进行简要分析。

Serban等人[5]从对话系统的数据集研究角度切入,梳理了适用于对话生成系统的开源数据集,分析了它们各自的重要特征及相应的使用方法。通过对对话系统开源数据集的适用性研究,验证了数据驱动方法的可行性。

Chen等人[6]从任务型对话的研究角度切入,介绍了对话系统的相应组成,梳理了基于对话系统的深度学习相关技术,并阐述了对话系统研究进程中面临的一些挑战。Chen等人[7]从开放型对话的研究角度切入,总结整理了对话过程中的关键问题及已有的解决方案,分析了开放域对话系统的评测指标,对未来研究趋势进行了展望。Chen等人[8]从任务型对话和开放型对话两个方向进行梳理和研究,其中面向任务的对话系统主要是针对管道以及端到端的方法,而面向非任务导向型对话系统主要是基于检索和基于生成的两种方法,最后总结了未来可能的研究方向和面临的挑战。

Jia等人[9]从理论模型、研究进展及可用性等角度剖析了现有的对话生成技术解决方案,重点分析了应用于自然语言生成的序列到序列(Sequence to Sequence,S2S)神经网络结构及搭建原理,阐述了其中需要特殊考虑的关键问题,以及在应对这些问题时模型在编码、目标函数和解码部分的改进方案。Gao等人[10]从问答系统及机器阅读理解、面向任务的对话系统、数据驱动的对话模型及社交机器人三个角度切入,进行了对话神经方法的梳理,通过案例分析展示了已取得的进展以及后续研究中仍面临的挑战,以非常全面的视角调查了对话神经方法,并重点阐述它们与传统方法之间的联系。

与上述各项综述的切入点不同,本文将对话系统的场景进行话轮拆分,将单轮对话到多轮对话的发展历程作为全文的研究主线,通过两者的对比分析更好地凸显适用不同场景下的技术路线。在关键技术的梳理方面,与上述各个综述中相关技术的切入角度也有所不同,整个关键技术的梳理紧贴S2S及其改良模型这个线索,研究相关技术的改进过程,并初步探索了相关技术针对多轮对话生成的可能改进方向,从引入外部知识、引入改写机制及引入代理机制三个角度切入,进行多轮对话生成改进方向的研究。

早期,序列到序列模型应用在机器翻译场景中取得了不错的效果。后来,有研究者试图将其迁移到对话的场景中,解决对话生成的问题。但生成回复比翻译语言要困难得多。因为在对话场景中,输入与输出之间并没有严格的短语对齐关系,并且允许有大量看似合理的回复同时存在,这就导致了即使采用各种方式进行序列到序列模型的改良,都很难达成模型与场景的“高度契合”。基于此,近期出现了通过预训练和微调来解决对话生成问题的新思路。如,Song等人[11]提出的屏蔽序列到序列预训练方法(Masked Sequence to Sequence Pre-training, MASS),对句子随机屏蔽一个长度为k的连续片段,以鼓励解码器从编码器端提取信息来帮助连续片段的预测。该模型在不同的对话生成场景中,均取得了一定的效果。与MASS的思路不同,本文将从S2S以及改良模型之外的角度切入,进行针对多轮对话生成改进方向的相关研究探索。

本文的后续内容安排如下: 第1节以回复方式驱动对话技术为线索将对话技术的发展串联在一起,按照检索式方法及生成式方法两个方向进行梳理,以便能清晰地呈现对话技术的发展进程。第2节重点探讨开放型对话关键技术,包括单轮对话中的回复质量优化技术、多轮对话中的属性控制技术以及多轮对话中的话题延续变换控制技术。相关技术围绕着S2S及其改良模型展开,很好地凸显了不同应用场景下关键技术的运用。第3节从S2S及其改良模型以外的角度出发,探索了相关技术针对多轮对话生成的可能改进方向,从引入外部知识、改写机制及代理机制三个角度切入,进行多轮对话生成改进方向的探索与研究。最后的第4节是相关思考与展望。

1 从回复方式角度驱动对话技术的发展

本节从回复方式驱动对话技术发展的角度切入,按照基于检索的方法、基于生成的方法及检索和生成相结合的方法进行相关内容的梳理。

1.1 基于检索的方法

1.1.1 单轮检索模型的发展

单轮检索模型的核心是构建查询-回复模式。Wang等人[12]比较早地关注到了回复选择,他们设计的模型的执行过程分为两步: 第一步选择出评论候选列表对,第二步在候选列表中进行排序。数据标注将评论分为两类,即正例和负例。排序学习的目标是让正例的分数比负例的分数大。根据匹配模型构造一系列的匹配特征,最终的匹配得分是各个特征之间的组合。该方法为单轮检索模型的发展提供了基础研究思路。

Hu等人[13]重点针对句子匹配问题进行进一步的研究与优化。首先分别对两个句子进行建模,得到两个相同且固定长度的向量来表示句子特征,然后将这两个向量作为一个多层感知机的输入,计算匹配的分数。针对两个句子在建模过程中完全独立的处理缺陷,该研究工作又对其进行了改进,提升了句子间的交互作用。

1.1.2 多轮检索模型的发展

Wu等人[15]认为构建问答历史语句和候选回复的交互表示是重要的特征信息,因此借鉴语义匹配矩阵以及卷积神经网络和门控制单元构造模型。通过使用卷积神经网络在多个粒度级别的上下文中对每个话语进行匹配,改善了对语义关系和上下文信息的利用,通过时间顺序累积向量模拟话语之间的关系。该方法很好地提升了多轮检索过程中上下文关联性的考量。

Zhang等人[16]提出了深度对话整合模型,主要解决多轮对话直接拼接作为上下文信息造成的噪声和冗余等问题,显著地降低了模型的时间复杂度和空间复杂度。该模型从对话和回复中采用注意力机制挖掘关键信息,凸显关键信息,忽略冗余信息,最终获得每轮对话问答的匹配得分。

Zhou等人[17]将自注意力机制和交叉注意力机制应用于多轮对话,来提取回答和上下文的特征。首先,通过注意力机制在不同粒度上构造文本片段的表示。然后,通过上下文响应来提取真正匹配的片段。该模型可以抽取文本的更多层次、更多粒度的信息,从而得到每轮问答之间潜在的语义关联。注意力机制对于多轮检索模型的发展提供了非常重要的研究思路,在控制模型复杂度的前提下,提高了上下文的关联性。

Tao等人[18]提出了多表示融合网络,考虑与多种粒度表征形式的上下文响应匹配来进行多轮响应选择,将它们融合到一个深层的神经结构中进行匹配,并调查了多种表征各自对匹配的贡献。通过设计各个粒度之间的层次关系以减少不必要的性能浪费,进一步降低多轮检索模型的模型复杂度。

1.2 基于生成的方法

1.2.1 单轮生成模型的发展

Vinyals等人[19]提出了序列到序列的模型框架,将机器翻译的模型框架迁移到对话生成系统的研究中,基于循环神经网络的实现原理,通过记忆之前的信息来影响后面结点的输出,在单轮对话生成中取得了不错的应用效果,该模型为对话生成领域的发展提供了一个很好的思路,后续非常多的研究工作均基于该模型展开。

Shang等人[20]提出基于短文对话的神经反应机模型,能够针对不同的回答动态选择不同位置的单词作为重要特征,最终综合全局特征生成合适的回答。在注意力机制基础上,增加了上下文信息,提升了对话生成的质量。

太河水库位于淄博市淄河中上游的淄川区太河乡,距离中心城区约40 km,控制流域面积780 km2,主要用于农田灌溉、部分城乡供水和大武水源地的补源。水库总库容1.833亿m3,兴利库容1.128亿m3。水库灌区有一条总干渠及三条干渠,设计灌溉面积2.67万hm2,其中总干渠直接控制灌溉面积0.2万hm2。

针对单轮对话生成中的万能回复问题,Li等人[21]采用对抗学习的思想,训练生成器和判别器两个模型。生成器基于序列到序列的生成式对话模型,判别器对生成的回复进行评估,最终训练的目标是生成器生成语句无限接近于人工回复的语句,该思想为提升对话多样性提供了一个很好的思路。

Xu等人[22]引入对抗生成网络,运用近似嵌入层来代替解码器中的采样解码结果,使整个模型连续可导,便于判别器将误差反向传播到生成器,为解决文本离散特性导致的梯度不可导问题,提供了很好的思路。

1.2.2 多轮生成模型的发展

Sordoni等人[23]提出基于神经语言模型的多轮对话生成模型,使用三元组模拟多轮对话语境,在解码阶段不断地将上文的信息重新进行计算,保证每个时刻生成用到的输入信息是不同的,但又与上文息息相关。采用三元组进行模拟,目标是构建对话语境,该方法在搭建上下文联系上起到了很好的作用。

Serban等人[24]提出了层次循环编码解码模型(Hierarchical Recurrent Encoder-Decoder Model,HRED)的概念,编码端RNN将对话映射为向量表示,而更高层次的上下文 RNN 不断迭代地追踪编码端RNN信息的变化。在多轮对话之后,上下文RNN的隐状态相当于对之前对话的总结。解码端RNN则根据上下文RNN中的信息推导生成的句子,因此生成的语句考虑了上下文信息。

在此基础上,Serban等人[25]又提出了变分层次循环编码解码模型(Variable Hierarchical Recurrent Encoder-Decoder Model,VHRED)模型。与HRED模型相比,这一模型多了一个隐式变量,与变分自编码器VAE的核心思想类似。通过利用该隐式变量,模型能够更好地追溯上下文信息,从而生成更加连贯的回复。层次化的思想对于多轮对话生成有着十分突出的作用,近些年,仍然有很多研究人员以HRED和VHRED模型作为基础模型,进行层次化模型的探索与优化。

Li等人[26]提出在多轮对话生成上使用强化学习框架,首先使用S2S模型预训练一个基础模型,然后根据作者提出的三种奖励方法来计算每次生成对话的好坏,并使用策略网络提升对话的多样性和连贯性。通过自定义的奖励方法来取代极大似然估计作为评价标准,可以使对话系统产生更好的回答。同时,强化学习思想的引入还可以起到提升多轮对话轮次的效果。强化学习思想在多轮对话上的应用仍然是一个持续的热点。

1.3 检索和生成相结合的方法

检索式和生成式对话各有各的优缺点。基于检索的对话的优点是对话可控性较好,只要语料库足够大,就有可能找到信息量丰富、对用户有帮助的回答;缺点是会受限于语料库的丰富程度,而且找到的回答是相对固定的。基于生成的对话的优点是自动生成回答,灵活性较强;缺点是容易生成一些万能回复。如果将两种模式结合起来,可以很好地吸收各自的优点,提升整体的对话质量。

Song等人[27]提出了一种检索和生成相结合的模型,包括检索、生成和重排序3个模块。检索模块通过现成的检索系统检索出k个最接近的问答对,生成模块将这k个问答对的回答与用户问题输入到一个端到端的生成模型来生成回答,重排序模块则对回答进行评分,选出最佳的回答。该方法构建了检索式模型和生成式模型的可能组合方式,对后续两种方式的结合研究起到了很好的启发作用。

Zhu等人[28]提出了检索增强的回复生成模型,使用检索式方法得到的候选回复来提升生成式方法的生成质量,主要引入了检索模块、生成器及判别器。检索模块在训练集中经过检索和重排序,得到最优的候选回复。生成器是一个S2S模型,它把输入的消息和上一步产生的候选回复作为输入,自动生成相应的回复。判别器本质上是一个二元分类器,用于判断一个回复是人还是机器生成的。该模型很好地将检索式和生成式方法融合在了一起,使得对话质量有较为明显的提升。

2 开放型对话关键技术研究

本节主要针对开放型对话发展中的若干关键技术,从一个大维度和三个小维度进行梳理。大维度紧贴单轮到多轮对话发展这条主线。三个小维度紧贴S2S模型在对话生成场景关键技术改良这条主线,具体包括单轮对话中的回复质量优化技术、多轮对话中的属性控制技术及多轮对话中的话题延续变换控制技术。

多轮问答是单轮问答的功能性扩展, 因此单轮问答的所有功能均包含于多轮问答中。因此,单轮对话只需重点关注回复质量的优化技术,而多轮对话则需要更多地关注属性控制技术及多轮对话中的话题延续变换控制技术。

2.1 单轮对话中的回复质量优化技术

回复质量优化可以从两个方面展开,一是引入多样性及个性化回复,二是引入复制机制。其中第一种方法侧重于基于传统模型优化来实现回复质量的提升,第二种方法则侧重于解决对话过程中常常遇到的“未登录词”的问题。两种方法配合使用,能大大提升单轮对话中的回复质量。

2.1.1 引入多样性及个性化回复以解决安全回答问题

最初的单轮对话模型较为简单,大多基于S2S及其变种模型,其中关键的问题是解决万能回复。因此,多样性回复和个性化回复的相关技术在单轮对话中具有较高的适用性。

Li等人[29]提出一种基于最大互信息的优化方法。传统的S2S模型倾向于生成安全、普适性的回复,因为这种回复在训练集中出现频率较高,所以按照此方式生成的概率自然也较大,而相对有意义的回复生成概率要相对小一些。通过最大互信息计算输入输出之间的依赖性和相关性,可以减少模型生成安全回复的概率,进而提升回复的多样性。该方法是提升对话多样性非常有效的方式,但存在一定的瓶颈,很难产生一些跳跃式较大且合理的回复。

Song等人[30]提出了一种基于记忆机制的结构来建模个人信息,并结合了条件变分自编码器中的隐变量来捕捉回复中的多样性。变分自编码器通过先验网络和识别网络进行编码来获得隐变量Z的表示。通过采样操作可以获得不同的Z,从而在解码器端生成不同的回复。该方法极大地提升对话过程中的多样性和个性化回复,并有能力生成一些跳跃式较大且合理的回复。

Zheng等人[31]提出了一个新的基于预训练方法的个性化对话生成模型,通过引入一个注意力路由机制,可以在模型训练过程中更有效地利用个性化稀疏的对话数据。实验结果表明,该模型可以生成更为流畅且符合说话者个性化特征的回复,并在解码过程中控制是否在回复中展现说话者的个性化信息。该方法没有从模型角度出发,而是创新地从预训练角度切入,引入了注意力路由机制,在对话的个性化提升方面展现了更好的效果。

2.1.2 引入复制机制以提升对话感通性

在对话生成中,未登录词通常很难通过模型自动生成。复制机制主要用来解决未登录词的问题,通过将上文的信息直接拷贝过来,从而提升对话的感通性。例如,在人们的日常对话中会出现“你好,我叫小陈。”,然后另一方可能回答“很高兴认识你,小陈。”那么回答中的这个“小陈”就应该是在对话的过程中被“原封不动”地保留复制的。解决这个问题的主要难点,一是要判断输入端哪些信息是应该被“复制”的,二是要决定在输出端的哪个地方“保留”这些信息。

Gu等人[32]率先提出了复制机制,该机制在传统模型的解码部分,做了两点改进: ①在解码过程中加入复制模型,可以将未登录词直接复制过来; ②将解码部分的隐状态计算变成了位置标定,可以让模型明确“复制”信息所在的输入端位置。该方法率先引入了复制机制,完成了传统编码解码结构的改进,有效地解决了未登录词问题,但复制形式相对机械,缺少灵活性。

与复制机制相比,Gulcehre等人[33]提出的指针模型灵活性更高。该模型在传统输出层上附加了位置信息,能够表示某个词在输入端的位置。通过对输出层的选择,可以自由地完成“复制”或“生成”的切换,更加适应多轮对话实际场景的需求。与传统的复制机制相比,该模型的灵活性有了明显地提升。

在上述模型的基础上,See等人[34]进行了S2S模型和指针模型的融合,提出了指针生成网络。通过指针模型提取未登录词,在预测的每一步动态地计算不同生成概率来完成两者的融合,并设计覆盖率机制来解决S2S模型生成句子中经常出现的重复片段现象。指针生成网络在平衡复制及生成之间的关系上达到了很好的效果,通过动态地计算生成概率,与复制机制及指针模型相比,进一步提升了复制与生成的灵活性。

2.2 多轮对话中的属性控制技术

如何在对话过程中更好地承接上下文的语义信息,可以从两个方面进行解析。第一是通过主题控制来调整聊天过程中的谈论话题,使整个对话能够围绕着不同主题展开。第二是通过控制生成对话句式及情感因素等属性,使得对话交流过程能够执行得更加流畅、顺利。

主题控制大致可以分为两个思路。一是用关键词进行“显性约束”,假设关键词在生成文本中一定会出现,通过互信息进行预测,每次取与问题互信息最大的词;二是用关键词进行“隐性约束”,假设关键词在生成文本中不一定会出现,通过每一步的状态更新,利用设计的融合单元实现对主题的控制[35]。基于关键词的回复生成技术,有助于S2S框架下的模型生成内容上更为相关的回复。该方法为对话生成过程中主题控制方法的研究,提供了很好的思路。

Xing等人[36]提出了将主题模型与S2S结合的方法,该模型利用主题信息作为先验知识并使用联合注意力机制及生成概率来进行对话生成。每个单词都通过联合注意力机制,由输入句子和主题信息共同影响生成,采用该方法生成的句子不仅与输入有关,而且与主题高度相关,唯一的不足就是联系上下文的能力有限,局部信息对回复的影响较大。

Dziri等人[37]提出了结合了上下文信息与主题信息的端到端对话生成模型,在模型设计时考虑了上下文信息,通过句子级别和词语级别的注意力机制对上下文进行建模,再引入主题注意力机制,使生成的回复包含更多信息,提升了对话生成过程中主题控制的能力,降低了局部信息对回复的影响。

增加文本属性信息,主要是通过对句式及情感信息捕捉来达到控制生成文本风格的目的,希望生成的回复更为可控,避免出现负面情感或疑问句式的回应。句子功能是一种重要的语言学特征,按句子功能可将语言划分为疑问句、陈述句、祈使句等多个类别,该特征在对话中能够体现说话者的目的。Ke等人[38]引入条件变分自编码器,利用隐变量来建模和控制生成回复的功能特征。通过设计类别控制器,使得功能特征和内容信息能够在生成的回复中有机结合,提升了对话生成的属性控制能力。条件变分自编码器的应用在对话的属性控制中展现了不错的性能,也为属性控制的研究提供了基本思路,但控制的“颗粒度”不够细,控制能力有待进一步提升。

Xu等人[39]提出使用元词(Meta-Words)来表示输入和回复间的关系,它代表了一组回复属性。其处理关键是解决回复与输入的相关性,以及如何预先定义元词的问题。为此,作者提出了一个基于目标跟踪记忆网络的生成模型,可将目前的表达和最终表达的差距传给解码器,实现对话过程实时可控。该方法为对话的属性控制提供了一个较新的思路,很好地明确了输入和回复之间的关系,从词源上优化并结合记忆网络,实现对话生成属性控制能力的提升。

Tang等人[40]提出将对话引向一个特定的目标,以达到对话过程可控的目的。通过定义粗粒度的词来对目标进行建模,并控制输出内容,然后通过设定规则来接近最终的对话目标。为此,设计了一个分治算法来解决流畅迁移“度”问题,以目标为导向实现对话方向的控制。该方法细化了属性控制上的“颗粒度”。与以往的模型相比,该模型进一步提升了属性控制能力。但结合元词是否能够达到更好的效果,值得进一步研究。

2.3 多轮对话中的话题延续变换控制技术

话题延续和话题转换是多轮对话生成的研究关键,提升对话连贯性、学会主动对话及引入情感因素是话题延续变换控制技术研究的三大落脚点。

2.3.1 提升对话连贯性以促进话题自然地延续与转换

对话连贯性是影响话题延续和转换的重要属性。如果缺乏连贯性,往往会使对话陷入逻辑混乱,造成对话无法继续。对话连贯性大致可以分为两类,即语义连贯性和逻辑连贯性。语义连贯性侧重于对话中话语之间语义上的相关性,关注句子间语义是否通顺和形式是否衔接;逻辑连贯性侧重于对话前后内容上的一致,要求逻辑不冲突。

Logeswaran等人[41]设计了一种基于RNN的连贯性建模和句子排序任务,利用S2S模型框架,输入一组无序的句子集合,模型在集合中顺序地选择句子并对它们进行排序以生成连贯的文本。该模型很好地实现了语义连贯性,促进话题在语义上自然地延续与转换。

Li等人[42]提出了两种基于编码器-解码器模型的生成式方法,引入隐变量进行语篇生成和连贯性评估。第一个模型通过主题模型引入全局语篇信息;第二个模型使用马尔可夫模型进行隐变量的端到端训练。该模型很好地提升了语句之间的逻辑连贯性,促进话题在逻辑上自然地延续与转换。

2.3.2 学会主动对话以提升话题转换能力

在人机对话中,机器一般扮演被动的角色,它只需要根据人类提出的问题给出适当的回复即可。随着对话技术的发展,研究者提出机器也应该具备主动引入新信息的能力[43],以打破时而出现的对话僵局,即机器需要具有捕捉上下文关键词和引入额外线索词的能力。

Mou等人[44]提出的前向后向序列模型就是以关键词为基点,将回答语句划分为两个不同方向的序列,使用双向控制机制确保关键词可以出现在目标回答语句的任意位置之中,以控制输出的流利度,进而提升主动对话的质量。该方法实现信息的双向追溯,消除了信息感知的盲区,与之前的序列到序列模型相比,极大地提升了主动对话的能力。

Xu等人[45]提出可以通过门控机制来修改神经网络的神经元,为生成的对话添加额外的线索词。这种线索词分为显性和隐性两种,显性线索词会明确地出现在回复话语中,隐性的线索词会蕴含在对话过程中。通过引入额外线索词,对主动对话起到了很好的引导作用。该方法从引入额外线索词的视角切入,通过显性及隐性线索词的提取,为话题转换能力的提升提供了很好的思路。

2.3.3 引入情感因素以提升聊天过程中的情绪的实时感知

很多对话系统的回复都比较单调或中性,降低了对话体验。情感的引入,可以使会话机器人能够感知、识别、理解用户的情感,并给出符合情绪的表达。对话中说话人的情绪本质上是分类问题,即从预定义好的情绪类别中,为对话中的每一句表达确定其情绪的类别。

Zhou等人[46]设计了一个情绪化的对话生成模型,该模型可以将情绪信息引入到对话生成模型中,根据情绪类别生成相应的回复语句。该模型采用了情感表达生成的新机制,不依赖任何语言工具和定制化参数,能建模对话之间的多种情感交互,提升了对话中情绪的表达能力,从而使得生成的对话更为恰当,但该模型的情感感知能力对情绪类别的建模优劣的依赖性较大,稳定性有待进一步研究。

Asghar等人[47]提出将传统的词向量和情绪向量结合在一起,作为编码解码模型的输入。与S2S模型相比,该模型主要做了三点改进: 在词嵌入上加入情感信息,优化损失函数,在集束搜索时考虑情感。该模型在传统序列到序列模型基础上,进行了比较有针对性的优化,在对话的情感感知能力上有了较大的提升。

Zhou等人[48]运用Twitter数据中的表情符号构建了一个大规模的数据集,旨在解决现有的情感数据集相对深度模型来说普遍太小且分类类别有限的问题,目标是教会机器生成有情绪的回答及控制回答的情感。该模型从数据集优化的角度切入,为提升聊天过程中的情绪感知及表达提供了另外一个研究思路。

3 多轮对话生成改进方向的相关研究

在以往对话生成领域的研究过程中,大多数研究者倾向于选择S2S模型作为基础模型,并在此基础上进行改进和优化。这类模型在单轮对话生成上表现尚可,但对于多轮对话的应用场景来说,大多存在着实现特点与应用场景不完全匹配的问题,主要原因在于S2S模型最早应用于机器翻译问题,可以较好地适应单句翻译中的同一语义空间的对应问题。而多轮对话生成的核心是两个对话者的认知空间同步问题。Pickering等人[49]从心理学角度提出了交互式对齐的模型,该模型假设随着对话的进行,对话者会自主调整他们在不同层次的语言表达,从语音到句法和语义。这种交互式对齐的过程是自动进行的,其目标是使会话双方的认知空间内容同步,从而有效地促进连贯多轮会话过程的推进。这种会话双方多层次认知空间的对齐过程,应该具有其独特的生成模型支撑。因此,本节将从S2S以及改良模型之外的角度切入,进行针对多轮对话生成改进方向的相关研究探索。

3.1 引入外部知识以提升多轮对话生成效果

3.1.1 引入知识库及知识图谱以提升聊天的深度和广度

Wu等人[50]率先将知识库引入对话系统中。在人机交互过程中,不仅要考虑用户的对话状态,还要考虑数据库的状态。之后,Vougiouklis等人[51]提出,在生成某句回答时,需整合过去所出现的所有对话,使之作为一种知识储备,而且每个对话者拥有属于各自的知识系统。Dhingra等人[52]提出了KB-InfoBot,其使用数据库操作,并考虑了可导性。Ghazvininejad等人[53]提出,在回复时,若吸收相关的额外信息,即使给出一个在训练中没有出现过的词,也可以依赖相关的外部知识来生成一个适当的响应,从而在不用重新训练整个模型的情况下通过外部知识来丰富对话系统。

Zhou等人[54]用注意力机制把对话生成模型和大规模知识图谱技术结合起来,整个体系包括三个模块: 编码解码模块、知识解释模块和知识生成模块,知识解释模块用静态注意力机制,把词向量和检索到的知识图谱结合起来;知识生成模块用动态注意力机制,根据权重变化来读取知识图谱中影响选择生成的词。该方法通过引入静态和动态注意力机制,很好地促进了对话生成模型和知识图谱的融合。

Moon等人[55]提出了一种基于注意力机制的图解码器,通过从知识图谱中寻找有效的推理路径,将对话系统和知识图谱进行有机结合。通过零样本学习,利用之前对话语句和知识图谱的上下文,对图解码器输出的候选结果进行重新排序。图解码器的引入,优化了对话生成模型与知识图谱的结合方式,为后续两者结合研究提供了很好的思路。

知识图谱的引入,增强了词语之间的联系,为对话生成模型的发展起到了很好的促进作用,值得研究人员持续地研究与关注。

3.1.2 引入外部文档以提升知识迁移的能力

Li等人[56]提出了一种文档驱动的对话生成模型,该模型以给定文档为依托进行对话生成。其核心思想是设计一种文档阅读器机制来定位与用户问题相关内容的文档,并在回答过程中运用复制机制来帮助对话的生成。该方法在对话生成的过程中更加关注对话的历史信息,不仅能够生成与文档更相关的信息响应,而且能够提升回答用户问题的质量。

Li等人[57]在有文档背景信息的多轮对话中,提出了基于翻译思想的对话生成模型。其基本思路是当多轮对话内容与一个文档集相关联时,模型的目标就是输出一个综合了文档知识的相关回复。因此,模型的输入既有多轮对话的历史,还有相关的文档集。其核心技术主要用于解决两个问题: 一是挖掘文档集中与对话相关的部分,二是将多轮对话中的语句与文档集中的相关部分进行统一表示。

引入外部文档可以给生成模型带来很强的移植性。它不需要基于受限的外部知识,所构造的模型也不依赖于相关领域,并且获取外部知识的方式也十分便捷。在多轮对话中,可以很好地适应聊天过程中不同的话题和领域,提升对话生成的效果。

3.2 引入改写机制以提升多轮对话中单句的信息量及可解释性

多轮对话是一个相对复杂的场景,需要克服多轮会话的指代消解和信息省略造成单句的信息量及可解释性下降问题,通过改写机制可以在一定程度上缓解或解决这些问题。

Su等人[58]通过语句改写来解决多轮对话中信息省略和引用的问题。通常来说,在多轮对话中,后面的句子会和前面的句子存在部分指代的关系,因此后面的句子经常会省略前面句子的部分信息,使得机器很难去理解对话的真实意图。因此,作者通过构建一个模型来生成补全信息后的句子,以解决指代消解或者信息省略带来的问题。

Zhou等人[59]提出利用改写的方法来帮助对上下文进行建模,将多轮对话输入改写为单轮对话输入,使用多轮对话中的上下文信息来改写最后一轮的句子,在压缩了上下文信息的同时,也保留了有用的信息。

改写机制为多轮对话生成研究提供了一个很好的操作和处理思路,其最大的贡献就是提升了单句的信息量及可解释性,为模型提供了相对丰富的信息支持,进而提升了多轮对话的生成质量。

3.3 引入代理机制以沟通合作的思想引导多轮对话生成

从本质上说,多轮对话是一个会话者沟通合作的场景,而代理机制可以很好地将多轮对话进行拆分,并且实现各个拆分部分的信息传递,形成代理之间的沟通与合作。

He等人[60]设定了两个代理场景,假定每个代理拥有自己的结构化知识库,但会话双方也有一些知识上的交集,要通过沟通对话来一起找出共同的那部分。这里的处理难点在于如何将非结构化的对话和结构化的知识结合。作者将对话的状态用一个动态知识图谱表示,然后基于知识图谱生成回复来推动对话的进行。其核心是利用信息传递实现对话上下文的更新,这种思路和多轮对话的场景十分契合。

Celikyilmaz等人[61]提出的多代理机制的核心思想是将长文本拆分为若干个部分,每个部分由一个代理来处理,同时代理之间还会互相进行信息的传递,通过每个代理内部与代理之间的注意力机制综合得到的结果,输入到解码器中,最终得到输出单词在词典上的概率分布。虽然每个代理只负责一个部分,但在编码理解的过程中,如果不能把握全局信息,就很难正确地理解各自部分中真正重要的信息。所以,只有通过多个代理之间相互沟通和合作,才能更好地完成整体的工作。多轮对话生成可以理解为多个问答对的有机融合,并且不同轮次的问答对之间存在着紧密的联系,这与多代理机制的思想十分吻合,每个问答对相当于由一个代理负责,通过不同代理之间的沟通合作,共同引导多轮对话生成。

沟通合作最重要的就是信息传递。无论是动态知识图谱还是层次化注意力机制,都在很大程度上提升了代理之间传递信息的能力,进而提升了代理之间的沟通与合作。与传统序列到序列对话生成的思想相比,沟通合作的思想更加符合多轮对话的应用场景,应该可以以沟通合作的思想作为切入点,进一步思考开放型多轮对话的生成。

4 思考与展望

本文以单轮对话到多轮对话的发展为全文的研究主线,进行了三个方面研究工作的综述。首先从回复方式驱动的角度切入进行对话技术发展的梳理。其次紧扣S2S及其改良模型在对话生成场景中的应用,对开放型对话的关键技术进行了探讨和研究。为进一步探索对话技术的未来发展趋势,在本文的最后从引入外部知识、改写机制及代理机制三个角度切入,进行相关技术针对多轮对话生成改进方向的探索与研究。通过相关内容的梳理与分析,进一步思考展望如下:

检索式和生成式算法作为对话生成模型的两种主要方法,具有各自的优缺点。检索式模型的回复往往更加可控,并且流畅性也会更加突出,总体给人的感觉是“中规中矩”,缺乏语言的多样性和个性化。生成式模型的回复多样性较强,经常会给人“眼前一亮”的感觉,但也时常会冒出一些让人摸不着头脑的话语,可控性较差。如果能将这两种对话生成方式有机结合起来,吸取各自算法上的优势,可以在一定程度上提升对话生成的质量。但如何寻找两种生成方式的合适结合点,还需要进一步研究。

对话生成模型情感的引入对于对话质量的提升有着十分显著的作用。对话系统作为一个直接与人对话的系统,若能实现对用户情绪的实时感知,会给人带来极为舒适的对话体验。如果将情感信息与强化学习相结合,可以进一步提升对话系统中情感引入的效果。强化学习时,需要机器能接受环境(Environment)的反馈来完成奖励(Reward),从而产生相应的动作(Action),该方式可增强对情感信息的实时感知。因此,情感引入与强化学习的结合研究方向,值得持续关注。

在提问方式上,人们希望的是对话系统能够找到适合自己的提问方式,有利于对话顺利进行下去。机器可能不清楚提问质量的好坏,这个就涉及到了一个重要的因素“语义理解”,也就是说,机器要理解整句话在说什么,而不是局限于某个局部,这样才能达到更好的提问效果。同时,在聊天过程中,说话者通常不是对上文中提到的东西进行提问,而是对与其相关的东西进行提问,这就要求模型在给定的话题下具有一定的知识迁移能力。外部知识的引用(基于知识库、知识图谱和文档)可以帮助系统增加“话源”并提升相关内容的迁移能力,能够 “触类旁通”,灵活地进行话题的延续和转换。所以在对话生成模型中引入外部知识就显得十分重要。其中在引入外部知识的过程中,哪些技术的运用可以更好地提升对话生成的效果体验,还需要进行深入探索。

不难发现,在对话生成领域,应用最广的依然是S2S模型及其变种模型,S2S模型是机器翻译领域的重要模型,迁移到单轮对话生成上表现尚可。因为单轮对话与传统的问答系统相似,一般表现为一问一答的形式,用户提出问题或发出请求,系统识别用户意图,做出回答或执行特定操作,这个特点与机器翻译的特点类似,有着较强的机械式对应关系。但是,多轮对话的场景则更加复杂,除了问答内容外,还有情感和场景表述,与上下文语义高度相关或不相关交错出现,导致了多轮对话的高度复杂性。同时,对话本身所包含的信息也只占总传递信息量的一小部分,更多信息来源于说话人的身份、行为、当前的时间、地点等一系列的外部知识,所以多轮对话的信息获取方式也不应当只局限于用户所说的话。因此,传统的S2S模型在多轮对话场景下就显得比较“机械”和“被动”。如果能从心理认知的角度来思考多轮对话生成,探索如何使会话双方的认知空间内容达成同步,或许能够更加满足该应用场景下的需求。

猜你喜欢

单轮检索机制
基于PLC的脚轮轴承自动装配机及控制系统设计
自制力是一种很好的筛选机制
单轮装置
道路使用条件对路面结构力学响应的影响
专利检索中“语义”的表现
破除旧机制要分步推进
注重机制的相互配合
打基础 抓机制 显成效
国际标准检索
国际标准检索