欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
SCI期刊论文
当前位置:首页 > SCI期刊论文
基于深度学习的开放领域对话系统研究综述
来源:一起赢论文网     日期:2020-03-25     浏览数:1379     【 字体:

 pment trend that can bring the dialogue system research into a new frontier.Keywords  dialogue system;Chatbot;deep learning;sequence-to-sequence model;matchingmodel;dialogue system evaluation1 引 言让机器具备与人交流的能力是人工智能领域的一项重要工作,同时也是一项极具挑战的任务.1951年图灵在《计算机与智能》一文中提出用人机对话来测试机器智能水平[1],引起了研究者的广泛关注.此后,学者们尝试了各种方法研究建立对话系统.按照系统建设的目的,对话系统被分为任务驱动的限定领域对 系统[2-3].限定领域对话系统是为了完成特定任务而设计的,例如网站客服、车载助手等.开放领域对话系统也被称为聊天机器人,是无任务驱动、为了纯聊天或者娱乐而开发的,它的目的是生成有意义且相关的回复.工业界将对话系统视作下一代人机交互的主要形式,近年来投入大量人力到相关研发工作中.对话系统商业应用不断涌现,有不少产品已进入量产阶段.在 中,以 Siri和 软Cortana为代表的语音助手已通过手机、操作系统等媒介被人们广泛使用;另外,以亚马逊 Echo、百度Duer、谷歌 Home和天猫精灵为代表的虚拟助手式智能音箱也已走进千家万户.在开放领域对话系统方面,微软针对不用语种开发了聊天机器人xiaoice、rinna、Zo、Ruuh等,使用用户达到数千万.在学术界,过去很长一段时间关于对话系统的研究主要针对限定领域具体任务开展,是口语对话系统的重要分支[4-7].这些系统严格定义和限制接收的输入,并针对特定任务设计相应的规则、逻辑和回复语句[8].虽然这些方法在人机交互上取得了很大的进展,但受手工设定规则等 方面的影响,其稳健性、可扩展性和领域适应性都有缺陷,也不适用于开放领域.近年来,随着互联网上社交数据的快速增长,数据驱动的开放领域对话系统逐渐成为了学术界关注的热点,人机对话系统也由服务的角色逐步转变为情感伴侣的角色[9-12].近年来,深度学习技术的应用使得开放领域对话系统取得了突破性进展,但由于研究时间短、新的研究成果不断出现,已有的综述都未能全面而深入进行总结.Chen 等人[3]针对所有对 话系统进 行综述,但是基于深度学习的开放领域对话系统仅为其中的一部分,无论是模型还是关键问题都未能进行深入描述和分析.张伟男等人[13]仅对对话系统的评价方法进行综述.Yan[2]对基于深度学习的开放领域对话系统进行综述,但是受篇幅限制未能从深度学习模型的角度进行详细地分类整理.本文以开放领域对话系统为研究对象,对基于深度学习的实现方法进行全面的回顾和分析,并详尽梳理开放领域对话系统中的关键性问题及解决方案,整理评价指标,廊清本领域的发展状况,展望发展方向,为未来的研究工作奠定基础.1.1 问题描述本文的研究对象是开放领域的对话系统,首先将其形式化描述为:在历史对话信息背景下,人将无领域限制的话语作为查询(也可称为消息或问题等)输入计算机,计算机返回对应的回复语句(也可称为响应或回答).以场景设置为标准,对话系统可以分为单轮对话系统和多轮对话系统.单轮对话系统将对话问题简化,只考虑找到给定查询的回复.多轮对话系统需要综合考虑对话上下文(包括历史对话信息和查询),建立对话的长期依赖关系,给出更加符合对话逻辑的回复.假设q表示作为查询的话语,r表示回复话语,c代表历史对话信息,(1)单轮对话:以q为前提,得到语句r作为回复;(2)多轮对话:在c的背景下,以q为前提,得到语句r作为回复.表1给出中英文对话示例.表 1 中英文对话示例中文 英语你今天好吗? How are you today?不错啊.你呢? Not bad.How about you?我很好. Pretty good.那太好了. That is great.1.2 数据收集传统的基于规则/模板的开放领域对话系统[8]0441 计  算  机  学  报 2019年定规则,不需要大规模训练集.而数据驱动的方法需要收集大量的对话数据.目前,互联网上已经有大量记录人类交流的数据,其中的大部分数据在经过预处理后,都可以被用到开放领域对话系统的训练中.Luong等人[14]将对话数据分成人机对话和人人对话.现有的人机对话语料库主要是面向任务的对话.本文主要针对开放领域对话,所以接下来主要梳理人人对话数据资源.人人对话数据可以进一步分为口语对话和书面对话:(1)口语对话.口语对话具有通俗、口语化特点,说话者通常用对方的思路和方式讲话,倾向于使用较短的单词和短语.其中比较有代表性的数据集包括Switchboard电话对话数据集[15]、DSTC4-5的skype通信数据集[16-17]、康奈尔电影对话语料库[18]、OpenSubtitles网站①上的 OpenSubtitles数据集[19];(2)书面对话.书面对话在书面交流中产生,它的特点是用户可以在发送消息前反思他们正在写的东西.书面对话语料可以进一步从来源进行区分.例如文献[20-22]从 Twitter② 网站上搜集数据构造对话语料.Shang等人[12]从新浪微博③网站上搜集对话语料进行实验.文献[23-24]从聊天软件中收集关于 Ubuntu使用中遇到的问题和相关回答.Song等人[25]从豆瓣论坛④中收集发帖和回复.相比其他来源的语料,社交网站的对话数据容易获取,使用者更多.但是这些数据存在不足,常常包含拼写错误、缩略语等,还可能包含口语对话中不会出现的场景表述.例如,用户可能会写“再见并离开”,而不 是 像 口 语 表 述 时 简 单 的 说 “再 见”[10].另外,社交网站的书面对话还包含近期热门事件或者固定使用的标签,如果不具备相关知识库,计算机将很难理解.1.3 本文框架本文第2节概述相关深度学习技术;第3节介绍基于深度学习的开放领域对话系统主要方法;第4节梳理基于深度学习的开放领域对话系统关键问题;第5节分类介绍开放领域对话系统的评测方法;第6节展望基于深度学习的开放领域对话系统的未来研究趋势;第7节是总结.2 深度学习技术深度学习是机器学习的分支,是试图使用包含复杂结构或由多重非线性变换构成的多处理层计算模型对数据进行高层抽象的一类算法.深度学习技术已被广泛应用到图像处理、语音处理、自然语言处理等多个领域,取得了重大突破[26].2.1 神经网络语言模型语言模型 (Language Model,LM)把 语 料 库 当作一个随机变量,对给定前面的词语预测下一个词语的任务建模来计算句子概率.神经网络语言模型(Neural Network Language Model,NNLM)最早由Bengio等人[27]提出,其核心思路是用一个 K 维的向量来表示词语,被称为词向量(Word Embedding),使得语 义 相 似 的 词 在 向 量 空 间 中 处 于 相 近 的 位置,并基于 神 经 网 络 模 型 将 输 入 的 上 下 文 词 向 量序列转换 成 成 固 定 长 度 的 上 下 文 隐 藏 向 量,使 得语言模型不必存储所有不同词语的排列组合信息,从而改进传统语言模型受词典规模限制的不足.如图1所示.图 1 神经网络语言模型示意图2.2 自编码器自编码器(Autoencoder,AE)是一种无监督的学习模型,由 Rumelhart等人[28]最早提出.自编码器由编码器和解码器两部分组成,先用编码器对输入数据进行压缩,将高维数据映射到低维空间,再用解码器解压缩,对输入数据进行还原,从而来实现输入到输出的复现.如图2所示,自编码器的训练目标是,使得输出 X^尽可能地还原输入 X.其中,编码器和解码器基于神经网络构建.图 2 自编码器结构示意图为了改进基本模型中容易陷7期 陈 晨等:基于深度学习的开放领域对话系统研究综述1441①②③④http://www.opensubtitles.orghttp://twitter.comhttp://weibo.comhttp://www.douban.com:2018-09-10;在线出版日期:2019-03-28.本课题得到国家自然科学基金(61876196)资助.陈 晨,博士研究生,助理研究员,主要研究方向为自然语言处理.E-mail:chenchen@pku.edu.cn.朱晴晴,博士研究生,主要研究方向为自然语言处理.严 睿,博士,助理教授,中国计算机学会(CCF)会员,主要研究方向为自然语言处理.柳军飞,博士,教授,主要研究领域为软件过程.基于深度学习的开放领域对话系统研究综述陈 晨1),4) 朱晴晴1) 严 睿2) 柳军飞3)1)(北京大学软件与微电子学院 北京 100871)2)(北京大学计算机科学技术研究所 北京 100871)3)(北京大学软件工程国家工程研究中心 北京 100871)4)(北京大学网络安全和信息化委员会办公室 北京 100871)摘 要 人机对话系统能够让机器通过人类语言与人进行交互,是人工智能领域的一项重要工作.因其在虚拟助手和社交聊天机器人等领域的商业价值而广受工业界和学术界的关注.近年来,互联网社交数据快速增长促进了数据驱动的开放领域对话系统的研究,尤其是将深度学习技术应用到其中取得了突破性进展.基于深度学习的开放领域对话系统使用海量社交对话数据,通过检索或者生成的方法建立对话模型学习对话模式.将深度学习融入检索式系统中研究提高对话匹配模型的效果,将深度学习融入生成式系统中构建更高质量的生成模型,成为了基于深度学习的开放领域对话系统的主要任务.本文对近几年基于深度学习的开放领域对话系统研究进展进行综述,梳理、比较和分析主要方法,整理其中的关键问题和已有解决方案,总结评测指标,展望未来研究趋势.关键词 对话系统;聊天机器人;深度学习;序列到序列模型;匹配模型;对话系统评测中图法分类号 TP18   DOI号 10.11897/SP.J.1016.2019.01439Survey on Deep Learning Based Open Domain Dialogue SystemCHEN Chen1),4) ZHU Qing-Qing1) YAN Rui 2) LIU Jun-Fei 3)1)(School of Software and Microelectronics,Peking University,Beijing 100871)2)(Institute of Computer Science and Technology,Peking University,Beijing 100871)3)(National Engineering Research Center for Software Engineering (Peking University),Beijing 100871)4)(Office of the Cyberspace Affairs Commission of Peking University,Beijing 100871)Abstract  The human-machine dialogue system enables easy interaction interface betweenhumans and computers using natural languages,which is of growing significance in artificialintelligence.Owing to its commercial value in the fields of virtual assistants and social Chatbots,it has been widely concerned by business and academia.Dialogue systems can be classified asdomain-specific and open-domain models.Recently,along with the fast prosperity of social mediaon the internet,research of data-driven open domain dialogue systems has been promoted.Inparticular,as a major breakthrough,deep learning has proven to be an extremely powerful tool inthis field.The deep learning based open domain dialogue system directly constructs a dialoguemodel from query to reply by applying end-to-end deep learning techniques to processing massivedialogue data.Our paper starts by summarizing the background and follows by introducing thestate-of-the-art methods of implementing the open domain dialogue system:retrieval-based,generation-based and the combination of both.Then,we review the methods that can addressseveral critical problems on this domain.After that,the evaluation procedures of the opendomain dialogue system are detailed.Finally,we end up with analyzing and forecasting the future节上的差异,但总体思想基本相同.具体来说,序列到序列模型就是输入一个序列,输出另一个序列,它是一个通用的框架,适用于各种序列的生成任务.其基本模型利用两个循环神经网络:一个循环神经网络作为编码器,将输入序列转换成定长的向量,将向量视为输入序列的语义表示;另一个循环神经网络作为解码器,根据输入序列的语义表示生成输出序列,如图6所示.图 6 序列到序列模型示意图层次序列到序列模型在序列到序列模型基础上定义了多层结构的编码器.首先,每个句子将其包含的词序列向量表示输入循环神经网络得到该句子的向量表示;然后,每个段落将其包含的句子序列向量表示输入另一个循环神经网络得到该段落向量表示.2.6 注意力机制通用的序列到序列模型,只使用到编码器的最终状态来初始化解码器的初始状态,导致编码器无法学习到句子内的长期依赖关系,同时解码器隐藏变量会随着不断预测出的新词,稀释源输入句子的影响.为了解决这个问题,Bahdanau 等人[39]提出了注意力机制(Attention Mechanism).注意力机制可以理解为回溯策略.它在当前 解码时刻,将解码器RNN 前一个时刻的隐藏向量与输入序列关联起来,计算输入的每一步对当前解码 的影响程度作为权重,如图7所示.其中,前一时刻隐藏向量和输入序列的关联方式有点乘[39]、向量级联方法[14]等.最后,通过softmax函数归一化,得到概率分布权重对输入序列做加权,重点考虑输入数据中对当前解码影响最大的输入词.图 7 注意力机制模型示意图随着研究的深入,Vaswani等人[40]将注意力机制定义为一个查询到一组键值对的映射过程,并提出了 自 注 意 力 机 制 (Self-Attention),即 其 中 的 查询、键、值是同一个句子,减少对外部信息的依赖,捕捉数据内部的相关性.如图8所示,V、K、Q 分别代表值、键、查 询,若 模 型 为 自 注 意 力 则 V =K =Q.Vaswani等人[40]还提出了多头注意力机制,即分多次计算注意力,在不同的表示子空间学习信息.多头注意力机制先对输入做划分,依次经过线性变换和点积后再拼接作为输出.图 8 多头注意力机制模型示意图2.7 记忆网络记忆网络(Memory Network)[41]是指通过在外部存储器模块中存储重要信息来增强神经网络的一类模型.外部存储器模块具有内容可读写、信息可检索和重用的特点.Sukhbaatar等人[42]提出了一个用于问答 键 值 存 储 的 端 到 端 记 忆 网 络 架 构 (End-to-End Memory Networks,MemN2N).其中外部存储器以键-值对结构存储问答知识,可以检索与输入相关的信息,得到相关度权值,然后获取将对应的值加权求和作为输出.如图9所示.图 9 端到端记忆网络模型示意图相对于其他的神经网络模型,记忆网络的外部存储器可以构建具有长期记忆的模块(如知识库、历7期 陈 晨等:基于深度学习的开放领域对话系统研究综述3441的情况,深度自编码器模型被提出[29-30].其中,变分自编码器和条件变分自编码器被用到开放领域的对话系统中,对回复生成的多样性进行控制,示意图如图3.变分自编码器[31](Variational Au-to-Encoder,VAE)是一种生成模型,它引入统计思想在基础的自编码器模型基础上加入正则约束项,使得隐藏层z满足某个分布,并从z 中自动生成数据.条 件 变 分 自 编 码 器[31](Conditional VariationalAuto-Encoders,CVAE)是在变分自编码器之上再加一些额外信息为条件的一类模型.其模型训练和测试时候均以该额外信息c为条件.图3 变分自编码器(上)和条件变分自编码器(下)模型示意图2.3 卷积神经网络卷积 神 经 网 络 (Convolutional Neural Network,CNN)是人工神经网络的一种.其核心思想是设计局部特征抽取器运用到全局,利用空间相对关系共享参数,来提高训练性能.早期主要运用于图像处理领域,后来被应用到自然语言处理中[32-33].卷积层和池化层是卷积神经网络的重要组成部分.其中,卷积层的作用是从固定大小的窗口中读取输入层数据,经过卷积计算,实现特征提取.卷积神经网络在同一层共享卷积计算模型来 控制参数规模,降低模型复杂度.池化层的作用是对特征信号进行抽象,用于缩减输入数据的规模,按一定方法将特征压缩.池化的方法包括加和池化、最大池化、均值池化、最小值池化和随机池化.最后一个池化层通常连接到全连接层,来计算最终的输出.不同研究中的卷积网络模型会有细微差别.以文本表示为例,卷积神经网络在能从文本中提取隐藏特征,形成低维向量表示.如图4所示,模型利用局部特征抽取器通过滑动窗口获取变长序列的隐藏特征,并经过池化得到定长输出.图 4 卷积神经网络应用示意图2.4 循环神经网络循 环 神 经 网 络 (Recurrent Neural Network,RNN)是专门设计用于处理序列数据的神经网络架构,它利用时间相对关系减少参数数目以提高训练性能,已经成功地用于自然语言处理中[34].循环神经网络具有自环的网络结构.一个简单的循环神经网络如图5所示,左边为压缩表示,右边是按时间展开的表示.其中,自环的网络对前面的信息进行记忆并应用于当前输出的计算中,即当前时刻隐藏层的输入包括输入层变量和上一时刻的隐藏层变量.由于可以无限循环,所以理论上循环神经网络能够对任何长度的序列数据进行处理.循环神经网络在实际应用时有梯度消失等问题.后续研究针对该问题提出带存储单元的循环神经网络长短时记忆网络(Long Short-Term Memory,LSTM)[35]和门控循环单元(Gated Recurrent Unit,GRU)[36].图 5 循环神经网络模型示意图循环神经网络在开放领域对话系统中可用于文本表示,即将词向量按词语在文本中的顺序逐个输入到网络中,末节点的隐藏向量可以作为该话语的语义向量表示.随着技术的发展,其扩展模型双向循环神经网络(Bi-LSTM)、密集循环神经网络(DenseRNN)等都相继被引入到开放领域对话系统中.2.5 序列到序列模型序列到 序 列 (Sequence to Sequence,Seq2Seq)模型在2014年被 Cho和Sutskever先后提出,前者将该模型命名为编码器-解码器模型(Encoder-DecoderModel)[37],后者将其命名为序列到序列模型[38].两2441 计  算  机  学  报 2019年基于深度神经网络构建端到端的对话模型,来学习输入与回复之间的 对应模式.在预测阶段,系统根据对话模型计算输入语义向量,再逐个生成词语组成回复话语.(3)检索与生成相结合的方法.还有一些系统不限于使用单一方法,而是将检索式和生成式方法相结合构造开放领域对话系统.本节对深度学习在每类方法中的应用情况进行详细整理和分析比较.3.1 深度学习在单轮检索模型的应用基于检索方法的开放领域单轮对话系统与基于检索方法的问答系统类似,对用户输入的查询先检索再重排序给出最佳回复.单轮检索模型的核心步骤是构建查询-回复的匹配模型,其中包含语义表示模型和语义融合模型.语义表示模型将查询和回复映射到语义向量;语义融合模型是对查询语义向量和回复语义向量融合过程建模.将深度学习引入到匹配模型中,可以增强匹配模型中语义表示和语义融合计算的能力.Guo等人[47]将匹配模型分为以表示为中心和以融合为中心.本文发现还有一类系统同时建立表示和融合为中心的匹配模型,最后结合两者来计算匹配分数.相关文献分类整理如表2.表 2 深度学习在单轮检索模型的应用分类 文献 深度学习模型以表示为中心的框架Shen等人[48],Hu等人[32]卷积神经网络Wan等人[49]循环神经网络Tan等人[50]循环神经网络、卷积神经网络、注意力机制Yin等人[51]卷积神经网络、注意力机制Kim 等人[52]循环神经网络、注意力机制、自编码器以融合为中心的框架Lu等人[53]深度神经网络Hu等人[32],Pang等人[54]卷积神经网络Liu等人[55]循环神经网络、记忆网络Wang等人[56]循环神经网络,注意力机制Wan等人[57]空间递归神经网络表示与融合相结合的框架 Mitra等人[58],Yu等人[59]卷积神经网络3.1.1 以表示为中心的框架在表示为中心的单轮检索对话中,深度学习技术被用于构建文本的语义表示模型,目的是基于查询和回复的词向量矩阵输入捕捉句子隐含语义空间的特征信息.框架如图14所示,其中q 和r 分别表示查询和回复,s表示匹配分数.图 14 以表示为中心的单轮检索模型框架示意图基于卷积神经网络.Shen等 人[48]基 于卷积神经网络将查询和候选回复的词向量输入通过卷积、池化操作,得到其定长的语义表示向量,再使用余弦相似度函数衡量查询和回复的 匹配度.与 之类似,Hu等人[32]提出的 ARC-I模型将查询和候选回复输入到卷积神经网络中计算出语义表示向量,然后用多层感知器(Multi-Layer Perception,MLP)计算匹配分数.基于循环神经网络.Wan等人[49]采用 Bi-LSTM计算句子表示向量.其主要思想是,双向 LSTM 的隐藏向量序列可以从不同位置表示该的句子语义,使得语义融合过程考察不同位置语境下语义表示的匹配,从而实现多位置匹配分数计算.作者在语义融合时共使用了三种相似度计算算法:余弦值相似度函数、双线性(Bilinear)和带张量参数的算法.最终匹配分数计算是从匹配矩阵中挑选 K 个最大的特征,再经 MLP进行维度压缩得到.基于循环神经网络+卷积神经网络/注意力机制.Tan等人[50]针对查询-回复匹 配任务的提 出 四种基于 LSTM 的语义表示模型:(1)QA-LSTM.将查询和回复分别输入 Bi-LSTM 后,再经过池化得到二者的表示向量;(2)Convolutional-pooling LSTM.将查询和回复分别输入 Bi-LSTM 后,再经过 CNN模型得到二者 的 表 示 向 量;(3)Convolution-basedLSTMs.将查询和回复先经过 CNN 计算,然后输入 Bi-LSTM 模 型,再 经 过 池 化 得 到 表 示 向 量;(4)Attentive LSTMs.先 将 查 询 和 回 复 输 入 Bi-7期 陈 晨等:基于深度学习的开放领域对话系统研究综述5441等)来增强神经模型.2.8 生成对抗网络生成 对 抗 网 络 (Generative Adversarial Net-works,GAN)[43]是 Goodfellow 等人于2014年提出的一种深度学习模型.它包含两个模块:生成模型和判别模型.生成模型的训练目标是生成与训练集中真实数据相似的数据.判别模型是一个二分类器,用来判断这个样本是真实训练样本,还是生成模型生成的样本,其训练目标是尽可能地区分真实数据和生成数据.如图10所示,G 代表生成模型,D 代表判别模型.图 10 生成对抗网络模型示意图GAN 最早被用在图像处理领域,后来也被用到自然语言处理领域中.与图灵测试的思想类似,在开放领域对话系统中使用生成对抗网络的目标是生成与人类回复无差别的回复.2.9 强化学习机器学习按学习范式可以分为有监督学习、无监督 学 习 和 强 化 学 习.强 化 学 习 (ReinforcementLearning)[44]是指智能体通 过和环境 交 互,序 列 化地做出决策和采取动作,并获得奖赏指导行为的学习机制.经典的强化学习建模框架如图11所示:在每个时刻t,智能体接收一个观察值ot,收到一个奖励值rt,并执行一个动作at;从环境的角度,它接收智能体动作at,给出下一个时刻观察值ot+1及对应的奖赏rt+1.由此,观察值、动作和奖赏一起构成的序列就是智能体获得的经验数据,智能体的目标则是依据经验获取最大累计奖励.图 11 强化学习系统模型示意图近年,深度强化学习的诞生打破早期强化学习模型不稳定难收敛的瓶颈,在人机博弈、无人驾驶、视频游戏等很多任务上取得很好的效果.深度强化学习的发展主要有两种路线:一种是以 DQN(DeepQ-Learning)[45]为代表的算法;另一种是策略梯度方法(Policy Gradient Methods)[46].策略梯度方法通过梯度下降来学习预期奖励的策略参数,将策略搜索转化成优化问题,并根据目标函数最优值确定最优策略.相比而言,策略梯度方法更适合在自然语言处理领域应用.3 基于深度学习的开放领域对话系统基于深度学习的开放领域对话系统以大规模对话语料库作为训练语料,利用深度学习算法学习对话模式.本文通过调研,将基于深度学习的开放领域对话系统的描绘如图12分类.除了按输入是否考虑历史对话信息分为单轮对话系统和多轮对话系统,还可以根据构建方法可分为检索式、生成式和检索与生成相结合的方法:12 基于深度学习的开放领域对话框架示意图(1)检索式方法.检索式方法首先构建一个供检索的对话语料库,将用户输入的话语视为对该索引系统的查询,从中选择一个回复.具体来说,当用户在线输入话语后,系统首先检索并初步召回一批候选回复列表,再根据对话匹配模型对候选列表做重排序并输出最佳回复.该方法重点在于让匹配模型克服查询和回复之间的语义差异.流程框架如图13.图 13 基于检索式方法的对话系统示意图(2)生成式方法.受到神经机器翻译的启发,生成式方法的对话系统首先收集大规模对话语料作为4441 计  算  机  学  报 2019年池化方法先计算查询的语义表示向量,再利用注意力模型根据查询表示向量计算回复的表示向量,使得回复的向量表示包含更多与查询相关的信息量.上述四个模型中,Attentive LSTMs模型效果最好,其模型示意图如图15所示.15 Tan等人[50]提出的 Attentive LSTMs模型示意图基于卷积神经网络+注意力机制.Yin等人[51]提出的 ABCNN 系列模型在用卷积神经网络进行语义表示后,再使用注意力机制基于一个句子表示来获得另外一个句子的表示,拓展表示信息.他们共提出三种模型:(1)ABCNN-1.在卷积前计算句子间注意力权重矩阵,然后与原句子矩阵相乘得到其注 意力特征映射的矩阵,将这两个矩阵都传给卷积层;(2)ABCNN-2.在池化层前采用与 ABCNN-1类似的方法,基于原句子矩阵计算含注意力特征的矩阵,再将两个矩阵输入给池化层;(3)ABCNN-3.将ABCNN-1和 ABCNN-2叠加,即卷积和池化前都增加句子间注意力特征矩阵作为输入.基于循环神经网络+注意力机制+自编码器.Kim 等 人[52]受 到 DenseNet[60]的 启 发 提 出 基 于DenseRNN 的通用框架匹配模型DRCN.如图16所示,DRCN 模型包含多层 RNN+Attention结构,其中每层 RNN 的输入都是前面所有层输出的并集,每层 RNN 的输出向量又都被直接传给语义融合前的池化层作为输入.总的来说,该模型中句子语义表示采用 冗 余 的 密 集 连 接 方 式,整 合 所 有 RNN+Attention层的输出,相当于每层输出都直接连接到损失函数,可以缓解模型层数增加带来的梯度消失问题.DRCN 模型在合并输入时采用拼接的方法将前面层输入和当前层包含注意力特征的表示向量相结合.由于拼接操作会导致特征向量维度不断增加,DRCN 模型还采用自编码器算法对输入降维,每次将固定长度的向量传递给下一层,同时还起到了正则化的作用.图 16 Kim 等人[52]提出的 DRCN 模型示意图3.1.2 以融合为中心的框架以融合为中心的单轮检索对话用深度学习方法对回复和查询语义融合过程建模,着力捕捉回复和查询之 间 的 语 义 融 合 信 息,框 架 示 意 图 如 图17所示.基于深度神经网络.Lu和 Li[53]最早使用深度神经网络应实现以融合为中心的 DeepMatch匹配模型.其方法核心是,用语料预训练不同抽象层级的话题模型,并根据这些话题模型检测待匹配文本的共现话题,衡量查询和回复之间的共现关系,构造语义融合矩阵,最后用深度神经网络计算匹配分数.基于卷积神经网络.Hu等人[32]提出以语义融合为中心的 ARC-II模型.该模型分为两层:第一层为卷积层,将查询和回复分别做一维卷积,然后针对两者卷积得到的向量构造对应的特征组合,得到一个二维的特征组合矩阵;第二层是池化层,对特征组合矩阵进行最大池化操作.最后经过多次的卷积和池化操作,得到两个句子语义融合的向量表示,输入到 MLP 中,计算出匹配分数.作者的实验表明,以融合为中心的 ARC-II模型的匹配效果要优于以表示为中心的 ARC-I模型.受卷积神经网络在图像识别领域的启发,Pang6441 计  算  机  学  报 2019年以融合为中心的单轮检索模型框架示意图等人[54]提出 MatchPyramid模型.其主要思路是将文本匹配任务类比为图像识别任务,首先基于词语之间的相似性构造匹配矩阵,再利用卷积层和池化层逐层捕获融合信息,计算匹配分数.基于循环神经网络.Liu等人[55]基于递归匹配思路提出深度融合的 LSTM 匹配模型(DF-LSTM),来模拟两个文本的强相互作用.具体来说,DF-LSTM由两个相互依赖的 LSTM 模型组成,这两个 LSTM分别用于捕捉两个词序列内部和外部的语义表示和融合信息.假设,给定两个文本词序列 x1:m和y1:n,DF-LSTM 根据位置(i,j)之前的语义融合信息来计算x1:i和y1:j的语义融合信息hi,j.受记忆网络模型的启发,该模型还引入两个外部存储器来保存前面的语义融合信息.作者认为 DF-LSTM 不仅能对相近词语之间语义进行融合匹配,还可以捕捉复杂、长距离的匹配关系.Wang等人[56]基于循环神经网络提出了双边多视角匹配模型(BiMPM).给定句子 P 和Q,BiMPM模型首先使用 Bi-LSTM 编码器 对句 子 进 行 编 码,再进行 P 到Q 和Q 到P 两个方向的匹配,然后用另一个 Bi-LSTM 将 匹 配 结 果 聚 合 成 固 定 长 度 向量,通过全连接层得到最终的匹配分数.BiMPM 一共提出四种匹配方式,如图18所示.包括(1)完全匹配:每个词语与待匹配句子的最后一个隐藏层输出向量计算匹配度;(2)最大池化匹配:每个词语与待匹配句子的每一个单词进行匹配度计算,再取最大值;(3)注意力匹配:每个词语与待匹配句子的每个单词计算余弦相似度,然后用Softmax归一化,作为注意力权重加权求和得到注意力向量表示,与词语计算匹配度;(4)最大注意力匹配:每个单词与待匹配句子中的每个单词计算图 18 Wang等人[56]提出的匹配模型示意图余弦相似度.然后用Softmax归一化,作为注意力权重,取最大值,得到的结果再与词语计算匹配度.作者将这四种匹配方式组合在一起得到最好的实验效果.基于递归 神 经 网 络.Wan 等 人 提 出 的 Match-SRNN[57]模型基于空间递归神经网络(Spatial RNN)进行文本语义融合计算.该模型将文本融合计算看作一个递归的过程,即每个位置的两个文本的相互作用是它们的前缀之间的语义融合以及当前位置的单词语义 融 合 结 果 的 组 合.作 者 在 实 验 中 还 尝 试结合 从 前 往 后 和 从 后 往 前 两 个 方 向 的 匹 配 模 型(Bi-Match-SRNN),达到了最优的效果.3.1.3 表示与融合相结合的框架一些模型分别实现以表示中心的模型和以融合为中心的模型,再将其组合起来.基于卷积神经网络.Mitra等人[58]提出包含两个子匹配模型的排序模型.其中,基于单词精确匹配的子模型被称为本地模型,属于以融合为中心的模型;基于词向量的子模型被称为分布式模型,是以表示为中心的模型.两个子模型联合训练,分别通过卷积、池化等深度学习技术计算匹配分数,再将两个子模型的匹配分数相加作为最终匹配分数.Yu等人[59]基 于 组 合 表 示 和 融 合 相 结 合 的 模型,实现了检索式问答匹配的跨领域迁移学习,利用已有的标注数据来优化其他领域小规模数据的检索对话效果.模型中的匹配分数计算结合以表示为中心的模型和以融合为中心的模型.如图19所示,左7期 陈 晨等:基于深度学习的开放领域对话系统研究综述7441序 模 型.其 基 本 思 想 是,用 构 建 两 层RNN,一层用于提取文本向量表示,在另一层用于候选回复排序.基于卷积神经网络和 循 环 神 经 网 络.Zhou 等人[62]提出了多视角的多轮对话检索模型.该模型将对话上下文信息作为输入,并从词序列和话语序列两个视角来计算匹配分数,最终结合两个分数来选择回复.其中,基于词序列的视角将文本中所有词按顺序输入到一个 GRU 中,将其隐藏向量作为文本的语义表示;话语序列的视角则基于卷积神经网络,先通过卷积和池化得到每个话语的表示,再输入到另一个 GRU 中输入文本的表示.Yan等人[63]提出用历史对话信息来重构查询的思路实现多轮检索对话.其主要思路是:基于历史对话重构的查询可以捕捉历史对话中不同方面的特征信息,在回复选择时综合考虑原始查询和重构的查询,可以增强回复与历史对话语境的相关性.假设历史对话信息c中有N 个句子,作者用5种方法重构新查询集合:(1)无历史对话:不加入c中的句子;(2)全部历史对话:加入c中全部的句子;(3)加一条:每次加一个c中的句子;(4)减一条:每次加 N-1个c中的句子;(5)上述四种方法结合.具体来说,该模型首先将句子的词序列输入到 Bi-LSTM 中,再使用卷积神经网络具体得到句子的向量表示.并根据重构方法得到重构查询集合,将集合中的重构查询与候选回复、先前帖子、原始查询的向量表示分别拼接,经过 MLP后整合成最终的匹配分数.3.2.2 以融合为中心的框架以融合为中心的多轮检索模型着力于计算回复与对话上下文中话语的语义匹配特征.相比以表示为中心的模型,该框架计算回复与每个话语的融合信息,在更细的语义融合粒度上计算对话上下文信息与回复的匹配分数.如图21所示.图 21 以融合为中心的多轮检索模型示意图基于卷积神经网络和循环神经网络.Wu等人[64]提出序列匹配网络(Sequence Matching Network,SMN)框架实现了以语义融合为中心的多轮检索对话系统,如图22所示.序列匹配网络的主要思想是:首先对候选回复与上下文中的每个话语分别计算语义融合得到匹配矩阵,再用卷积和池化操作提取每个话语-回复对的重要匹配信息;然后按话语在上下文中的顺序依次输入到一个 GRU 中累计这些匹配信息,从而得到整个上下文和候选回复之间的匹配关系;最后,基于 RNN 的隐藏层向量计算最终的匹配分数.图 22 Wu等人[64]提出的序列匹配模型示意图7期 陈 晨等:基于深度学习的开放领域对话系统研究综述9441基于循 环 神 经 网 络 和 注 意 力 机 制.Zhang 等人[65]提出的多轮检索对话模型中,语义表示和语义融合过程均用深度学习模型.在语义表示过程中,模型首先将查询分别与对话历史话语和回复拼接,并先后采用自注意力机制和 GRU 得到每个话语的语义表示;语义融合过程则是基于词粒度和句粒度两个匹配矩阵,用卷积、最大池化和扁平化方法计算出每个话语与查询的匹配特征向量.最后,将话语和查询的匹配特征向量按顺序输入到 GRU 中计算出最终的候选回复匹配分数.基于自注意力机制.受到机器翻译系统 Trans-former[40]的启发,Zhou等人[66]打破循环神经网络和卷积神经网络结构,仅基于注意力机制实现了多轮检索对话的匹配模型.该模型的语义表示基于多层的自注意力机制,即将句子的词向量矩阵经过多次自注意力计算得到一组句子表示矩阵.其语义融合的过程构建两种匹配矩阵来提取上下文和查询的匹配特征:(1)自注意力匹配(self-attention-match),直接将自注意力得到的话语和回复表示矩阵点乘得到匹配矩阵;(2)交叉注意力匹配(cross-attention-match),计算话语投影到回复的表示矩阵和回复投影到话语的表示矩阵.这两个表示矩阵能够捕捉话语和回复语义结构,使得有依赖关系的段在表示中相互接近,从而得到基于依赖关系的匹配矩阵.最后将匹配矩阵组合起来,经过最大池化和感知机得到最终的匹配分数.3.2.3 基于重排序的框架深度重排序模型.Yan 等 人[67]提出一种排序-重排序模型,先根据查询检索出候选回复,再根据历史对话信息,对候选回复进行重新排序,使得最终给出的回复不仅和查询相关,也和历史对话语境相关.该文中句子建模可采用循环神经网络、卷积神经网络等深度学习模型.这种方法中,粗粒度地候选回复筛选仅与查询有关,历史对话信息对回复的影响有限,相关研究也很少.3.2.4 分析比较从框架层面看,以表示为中心的多轮检索对话模型,在语义表示计算过程与回复独立,会丢失一些特征.以融合为中心的多轮检索对话模型能够提取和保留上下文中对匹配回复有用的信息,较前者匹配效果更好,但是算法更复杂、计算量更大.从深度学习技术的具体应用来看:(1)多轮检索对话中的深度学习语义表示模型用到循环神经网络、卷积神经网络、注意力机制.与单轮对话不同,多轮检索对话需要对历史对话话语和 查 询 的 组 合 方 式 建 模,其 组 合 方 式 可 以 分 为:① 直接拼接为词序列:由于不同历史对话与查询的相关性不同,直接拼接会引入噪音;② 合并为话语序列:将历史对话和查询视作话语序列,这种方法也降低了查询对回复的影响;③ 根据历史对话对查询进行扩展:这种方法复杂度较高,很难穷举所有的对话历史选择可能性,而仅扩展有限的查询组合提升性能有限;④ 基于注意力机制将查询与对话历史话语逐一组合:该方法能够弥补前面方法的不足,根据对话历史话语与查询的相关性,计算对话上下文的语义表示,减少噪音影响.(2)随着研究的深入,多轮检索对话中的语义融合计算越来越复杂,使用的深度语义融合模型包括循环神经网络、卷 积神经网络 和注意力 机制.其中,循环神经网络可根据上下文话语顺序来计算匹配度,卷积神经网络则直接根据匹配矩阵提取特征.近期研究表明,应用自注意力机制的模型达到了当前最优的匹配性能[64].3.3 深度学习在单轮生成模型中的应用受到基于短 语 的 统 计 机 器 翻 译 技 术[68]启 发,2011年 Ritter等人[69]提出一个生成回复的概率模型.它将生成回复视为翻译任务,即将输入查询 翻译成回复.但是由于对话回复多样性的 特点,该 任务比翻译 任 务 要 更 困 难,所 以 直 到 基 于 深 度 神 经网络模型 的 成 功,才 真 正 激 发 学 者 们 对 生 成 式 对话系统的研究热情.根据系统实现的基础 框 架,本文将单轮 生 成 模 型 序 列 到 序 列 模 型 框 架、神 经 语言模型框 架 和 强 化 学 习 框 架 三 类,相 关 文 献 整 理如表4.表 4 深度学习在单轮生成模型的应用分类 文献 深度学习模型序列到序列模型框架Shang等人[12],Shao等人[70],Wang等人[71],Wu等人[72],Shang等人[73]序列到序列模型、循环神经网络、注意力机制神经语言模型框架 Mei等人[74]神经语言模型、循环神经网络、注意力机制强化学习框架Li等人[75], 强化学习、序列到序列模型Li等人[76],Xu等人[77]生成对抗网络、序列到序列模型0541 计  算  机  学  报 2019年为中心的模型,右边为以融合为中心的模型,均基于卷积神经网络技术实现.图 19 Yu等人[59]提出的表示和融合相结合的模型示意图3.1.4 分析比较从框架层面看,早期研究中以语义融合为中心的模型能够充分地保留查询与回复之间的语义融合匹配信息,匹配效果要好于以表示为中心的单轮检索模型.就计算效率而言,以表示为中心的模型能够通过预训练将回复语料库提前表示成向量,且语义融合计算较简单,比以融合为中心的模型更适合在线检索回复的任务.近期,随着注意力机制的深入研究,融入注意力机制以表示为中心的模型[52]达到了最先进的性能.除此之外,还有一些系统同时构建以表 示为中心和以融合为中心两个自子系统,捕捉不同方面的匹配度,来提升系统性能.从在语义表示和融合的具体应用来看:(1)深度学习在单轮检索对话中的语义表示应用主要基于卷积神经网络、循环神经网络和注意力机制.其中,卷积神经网络的层级结构具有较好的特征选取能力,可以并行计算,运行速度快,但无法捕捉长距离依赖关系;循环神经网络能够捕捉长距离依赖关系,更适合序列建模,但特征提取能力稍弱.注意力机制则可与卷积神经网络、循环神经网络相结合,对关键信息进行筛选,提升语义的表达性能.(2)单轮对话检索方法的深度语义融合最早基于深度神经网络,后来提出的模型包括卷积神经网络、循环神经网络和递归神经网络.卷积神经网络直接基于匹配矩阵提取句子级别匹配特征;循环神经网络的匹配模型则有多种匹配方式,其中递归匹配的方式较符合序列匹配思路,被多个研究采用.3.2 深度学习在多轮检索模型中的应用与单轮检索对话模型类似,多轮检索模型同样遵循检索-匹配-重排序的操作流程.相关研究 大 多将深度学习技术应用在匹配过程中,少数用在重排序步骤.与单轮模型最大的区别在于,多轮对话系统需要整合当前的查询和历史对话信息作为输入,目标是选择既与查询相关,又符合历史对话语境的语句作为回复.下面将对话的多轮检索模型分为以表示为中心、以融合为中心和面向重排序三类框架展开介绍.相关文献分类整理如表3.表 3 深度学习在多轮检索模型的应用分类 文献 深度学习模型以表示为中心的框架Lowe等人[24],Inaba等人[61]循环神经网络Zhou等人[62],Yan等人[63]卷积神经网络、循环神经网络以融合为中心的框架Wu等人[64]卷积神经网络、循环神经网络Zhang等人[65]循环神经网络、注意力机制Zhou等人[66]注意力机制基于重排序的框架 Yan等人[67]卷积神经网络、循环神经网络3.2.1 以表示为中心的框架以表示为中心的多轮检索模型着力于用深度学习模型将对话上下文信息表示成语义向量,再计算其与回复的匹配分数,框架示意图如图20.其中,u1,u2,u3表示对话上下文话语,r表示候选回复.基于循环神经网络.Lowe等人[24]在发布Ubuntu多轮 对 话 数 据 集 的 同 时 提 出 基 于 RNN 的 基 准模型(Baseline Model).该 模 型 不 区 分 历 史 对 话 信息和查 询,将 其 拼 接 在 一 起 作 为 输 入,首 先 基 于TF-IDF模型 找 出 相 似 度 最 高 的 候 选 回 复,再 用图 20 以表示为中心的多轮检索模型示意图RNN/LSTM 模型将句子转为向量表示计算匹配分数.Inaba等人[61]提出了基 于 RNN 编码器框 架 的8441 计  算  机  学  报 2019年

[返回]
上一篇:基于特征和实例迁移的加权多任务聚类
下一篇:基于融合结构的在线广告点击率预测模型