一种基于自我评论序列学习的对话回复生成方法及系统与流程

文档序号:15932451发布日期:2018-11-14 01:51阅读:184来源:国知局
本发明涉及自然语言处理对话系统领域,尤其是涉及一种基于自我评论序列学习的对话回复生成方法及系统。
背景技术
近年来,对话系统作为人机交互一项重要的技术支持,受到广大来自工业界和学术界研究者的关注。而对话回复生成,一直以来都是对话系统中最为热门和棘手的任务之一。对话回复生成技术,即给定具体上下文语境,以及当前对方给出的聊天对话,机器能够通过语义理解和语义生成技术,生成符合语境,且有实质性回复内容的回复。这个技术已经广泛用于诸多人机交互系统中,例如智能客服系统,聊天机器人,个人智能助理,智能音箱等产品。传统的对话生成技术,严重依赖基于规则的模板匹配方法,需要大量的劳力和专家经验。这种方法无法支撑大规模的对话场景,只能用于某些具体领域的小规模对话语境,具有不可扩展性。同时,由于人工标注信息不能达到百分百地覆盖所有对话场景,导致某些回复因为模板不匹配而出现词不达意,答非所问现象。而目前主流的对话生成技术,主要采取由bahdanau等人在2014年在computerscience杂志上发表的文章《neuralmachinetranslationbyjointlylearningtoalignandtranslate》中提出的编码器-解码器生成框架,即seq2seq。该框架原理为:输入一句对话,框架对这句对话进行编码,得到整句话的向量表示,再通过解码器对这句话向量的解读,解码生成跟这句话向量相关的文字回复。然而,该技术也依然存在一些天生的缺陷:一是生成分布偏差,即在训练集和测试集上对话生成分布很有可能是不一样的。二是目标函数不匹配问题,无法做到训练过程直接对评价指标进行优化。无论是对于模板匹配技术,还是基于编码器-解码器,都存在不可避免的设计缺陷。研究者们为解决以上存在的问题,提出了众多解决方案。例如,在2016年国际自然语言处理经验方法大会empiricalmethodsonnaturallanguageprocessingconference上,一篇名为《sequencetosequencelearningasbeam-searchoptimization》文章提出的bso模型,结合定向搜索策略和编码器-解码器框架的主要结构,提高对话生成在评判标准下的得分。2016年美国人工智能协会associationfortheadvancementofartificialintelligence在会上收录的《buildingend-to-enddialoguesystemsusinggenerativehierarchicalneuralnetworkmodels》一文中,提出hred模型,通过将编码器进行多层结构的分解,从单词层到句子层再到对话层,使得编码器获取到的信息更加多元化。而2017年同样在美国人工智能协会上,hred模型的作者serban等人在《ahierarchicallatentvariableencoder-decodermodelforgeneratingdialogues》一文中提出hred的改进版vhred,通过引入变量结构参数,提高了对话生成的多样性。还有在2017年康奈尔大学arxiv网站上的技术文章《learningdiscourse-leveldiversityforneuraldialogmodelsusingconditionalvariationalautoencoders.》中,公布了名为cvae的模型,利用变分自动编码器方式捕捉对话多样性,从而仅仅利用贪心解码策略即可生成多样性对话回复。这些在编码器-解码器基础框架上做出的延伸,虽然一定程度上提高了对话回复生成的生成质量,但并没有从根基解决对话生成不稳定,以及生成分布偏差问题。而要想解决这两大问题,最为有效的方法还是采用强化学习算法。在2016年的第54届计算语言学协会annualmeetingoftheassociationforcomputationallinguistics上的一篇文章《deepreinforcementlearningfordialoguegeneration》提出利用三种奖励策略,提高对话系统的可扩展性的方法,名为rl-seq2seq。然而,基于强化学习的对话回复生成算法,依然存在棘手的问题:一是基于最小批梯度下降方法,存在大量变动,如果没有得到很好的正则化,很容易变得不稳定;二是在强化学习的特征下,文本生成的词空间变得异常庞大,很难能够得到良好的初始化策略。技术实现要素:本发明提供了一种基于自我评论序列学习的对话回复生成方法及系统,可以理解上下文语义信息以及当前对话所表达的意思,自我评论生成的回复是否是符合最终评判标准的正确回复,进而生成合理有逻辑并符合上下文语境的对话回复。一种基于自我评论序列学习的对话回复生成方法,包括以下步骤:(1)对当前对话的上下文语境进行建模,获得上下文语义向量;(2)根据上下文语义向量,建立基于自我评论序列学习的对话模型;(3)对对话模型进行训练和测试,分别得到训练奖励值和测试奖励值;(4)计算两个奖励值之间的差,通过计算策略梯度,优化对话模型;(5)对话模型训练完毕,输出对话回复。本发明所提出的自我评论序列学习方法,是一种改进版的强化学习演员-评论家算法,直接跳过了演员演绎过程,即不需要生成最终对话,而直接进行自我评论预测最终效果。从而使得只有那些优于目前测试基准线的输出才能得到正向权重,而劣于测试基准线的输出会被压制权重。通过这种做法,模型避免了大量不必要的操作例如奖励信号评估及正则化。同时,模型因为同步使用了训练和测试并行的策略,使得生成分布偏差这一棘手难题变得可行。本发明可以使得对话生成模型在训练过程中,能够朝着优化评判指标的方向生成更加有实质意义的回复,大幅度降低生成对话的不稳定性。步骤(1)中,采用深度循环神经网络和注意力机制相结合的方式进行上下文语境建模,所述上下文语义向量的计算公式为:其中,cu表示上下文语义向量,aj,t表示第j个单词受到第t个隐含状态影响的注意力权重,m为上下文出现的所有单词个数,wj为上下文中出现第j个单词的词向量表示,aj,t计算公式为:其中,ht为第t个当前单词的隐含状态表示,zj为第j个单词在上下文语境中的语义表示,zj的计算公式为:zj=tanh(wm-1zj-1+wm+1zj+1+bm)其中,zj-1和zj+1为前个单词和后个单词隐含表示,wm-1,wm+1,bm是训练得到的参数,tanh是正切激活函数。ht的计算公式为:ht+1=rnn(wt,ht,ct)wt+1~softmax(pθ(w|wt,ht+1))其中,ht+1是通过深度循环神经网络学习到对话的原始隐含状态,ct为对话的上下文信息,wt表示最终生成的第i个单词隐含信息,w表示一系列wt组合而成的完整表示。通过softmax函数,最终的每个生成隐含信息wt可以用来从多模态信息中采样得到ht,ht由隐含函数决定生成的单词。步骤(3)的具体步骤为:(3-1)训练过程中,输入要学习的句子并得到新生成的采样句子,从而得到在具体评判标准下的训练奖励值;(3-2)测试过程中,输入要测试的对话以及预测出的句子,得到在具体评判标准下的测试奖励值。在训练过程中,模型使用交叉熵损失函数来最大化观测序列的概率。给定一个目标序列目标函数是最小化交叉熵损失函数:其中,为基于上下文之前所有单词对当前单词的对数条件概率影响。我们选择根据当前策略采取相应行为,并在最终序列生成完毕观察整个序列奖励。因此,训练过程可以理解为最小化引入强化学习后的负期望奖励值:其中,是生成序列并且是在第t步采样得到的单词。r函数表示奖励值。步骤(4)中,所述的策略梯度的公式为:其中,为损失函数的梯度下降表示,表示每个最终生成的单词与真实单词之间的误差累积期望值,r(ws)为训练奖励值,r(wt)代表测试奖励值,pθ(ws)为单词的采样分布概率。实际上期望梯度可以通过蒙特卡洛采样法来估计得到:通过使用链式法则,模型参数可以计算成:其中,st是softmax的输入,是负奖励值的期望梯度。本发明所提出的基于自我评论序列学习算法,具有强化学习的所有优点,但是避免了通常情况下必须学习预期未来奖励的相关估计作为基准。实际中,发现所提出的算法较以往的强化学习算法,具有低得多的方差,并且可以使用sgd在小批量样品上更有效地进行训练。由于基准线是基于当前模型下的测试估计值,所以算法被迫在测试时使用推理算法以改进模型的性能。对于奖励值高于wt的模型样本将被选举出来,或提高概率,而导致奖励较低的样本将被抑制权重。这种有助于保证训练和测试时候的评判指标一致性,更重要的是,它可以直接优化序列度量。最后,本算法之所以称为自我评论,因为它避免了所有与强化学习中演员-评论家算法相关的奖励估计,也就是使得整个模型在没有演员的情况下,能够接受自我评论,利用估计价值函数而不是实际奖励值来进行训练。本发明还构建了一种基于自我评论序列学习的对话回复系统,包括计算机系统,其特征在于,所述计算机系统包括:上下文语义理解模块,利用深度循环神经网络及注意力机制,用于捕捉对话过程中的上下文信息;初始化对话状态模块,用于初始化对话模型在训练过程和测试过程中的超参数;训练评测模块,用于在对话模型训练过程中计算获得训练奖励值;测试评测模块,用于在对话模型测试过程中计算获得测试奖励值;自我评论模块,用于计算训练评测模块和测试评测模块所得到的两个奖励值之间的差,并利用策略梯度下降策略,优化目标函数;对话生成模块,用于在对话模型训练完毕之后,对外输出对话回复。本发明基于自我评论序列学习的对话回复生成算法及对话生成系统具有以下优点:1、本发明提出的自我评论强化学习算法,通过使用测试输出的参照,可以直接优化所得到的奖励函数,从而避免传统强化学习难以正则化的难题。2、本发明可以避免对奖励信号和正则化的评估,因此可以大规模缩小文本生成所需的词搜索空间,提高了文本生成效率。3、本发明通过大量实验证明,展示了优于其他基准线算法的模型性能。从实验证明了模型的优越性。附图说明图1为主流编码器-解码器文本生成框架示意图;图2为本发明方法的整体框架设计图;图3为本发明系统的具体模块流程示意图;图4为本发明方法与其他方法在不同对话长度下的bleu分值对比图;图5为本发明方法与其他方法在不同对话长度下的rouge-l分值对比图。具体实施方式下面结合附图和具体实施方式对本发明做进一步阐述和说明。如图1所示,本发明将编码器-解码器框架分为训练模块和测试模块,并将这两个模块同步放入整个模型的优化过程。其中,(a)模块为训练模块,(b)模块为测试模块,具体步骤如下:(a)为文本生成训练过程中利用交叉熵学习每个词之间的生成概率,基本步骤如下:1.初始化模型参数。对于每句输入,都有起始符<bos>,以及初始化隐含状态h0和单元c0作为输入。2.对于每个单元,输入上个单元的隐含状态hi和ci,以及新输入的单词wi,经过循环神经网络的学习,得到下一阶段的隐含状态hi+1和ci+1。例如,对于第一单元,输入句首符号<bos>,以及初始值h0和c0,通过循环神经网络,学习到下一单元的隐含状态h1和c1。同时,利用学习到的h1,利用条件概率计算基于当前状态的单词概率。最后通过交叉熵损失函数的优化,减少训练过程中单词预测与实际单词之间的误差值。3.重复第2个步骤,对于每个单元,都以上一个状态的输出以及新单词作为新单元的输入,一直学到句子最后一个词。最后得到交叉熵累积损失函数。(b)为文本生成测试过程中利用最大归一化算法来最大化目标单词生成的概率,基本步骤如下:1.与(a)第一步骤类似,对模型进行初始化,得到和2.与(a)第二步骤类似,利用循环神经网络,每个单元输入上一单元的隐含状态,学习到当前状态的状态表示。3.这一步骤与(a)第3步骤不同。在测试阶段,不是用交叉熵损失函数来学习文本生成,而是通过利用最大归一化算法,预测在当前状态下最有可能生成的单词。如图2所示,图2是在图1的基础上,引入了本发明所提出的自我评论强化学习改进版算法。其中,从模型中抽取出的单词权重,取决于所采样句子的奖励值与所估计的句子奖励值之间的差。这种基于协调和推理过程的学习,降低了强化学习过程中策略梯度的方差,从而改进训练过程,提高句子生成的稳定性。基于自我评论的强化学习步骤如下:1、通过训练模块,输入要学习的句子并得到新生成的采样句子从而得到在具体评判标准下的奖励值r(ws)。2、在测试模块中,与训练模型相似,输入要测试的对话以及预测出的句子得到在具体评判标准下的奖励值r(wt)。3、新设计的目标函数,是基于训练模块得到的奖励值r(ws)和测试模块得到的奖励值r(wt),通过计算策略梯度采用蒙特卡洛采样法优化最终目标。如图3所示,一种基于自我评论序列学习的对话回复系统,共分为六大模块,分别是上下文语义理解模块,对话状态初始化模块,训练评测模块,测试评测模块,自我评论模块,以及对话生成模块。下面将上述方法应用于下列实施例中,以体现本发明的技术效果,实施例中具体步骤不再赘述。本实施例在一个大型公开数据集dailydialog上与其他目前最前沿的对话生成方式进行对比。dailydialog是一个多轮对话的数据集,是从一些英语学习网站中,将英语学习者练习英语对话的数据爬取整理得到的。整个数据集包含13118个多轮对话,每个对话平均有8轮交互,每次交互句子长度约为15个单词。数据集分成三个部分:训练集、验证集、测试集,分别有11118、1000,1000个对话轮数。在所有实验中,单词词汇表个数限制在25000个高频词汇,所有超出词汇表的词汇,均以oov符号表示。本实施例主要在三大评判指标上进行对比,分别是:bleu,meteor,rouge。总共比较了5个目前主流的对话回复生成算法:bso,hred,vhred,cvaw以及rl-seq2seq。整体对比结果如表1所示。表1从表1可以看出,本发明提出的自我评论序列学习框架,在各大评判指标下均获得最优效果,充分展示了本发明算法的优越性。为了进一步说明本发明所提出的算法框架每一部分都是有效模块,本发明进行了全方面的拆解实验。由最开始的基于注意力机制的编码器-解码器算法,到加上上下文语境信息,到结合普通强化学习,再到强化学习结合静态基准线对比,到最后整体框架。本发明一一进行了拆解实验对比。实验结果在如表2所示。表2方法bleu-4meteorrougeattn-seq2seq2.976.2312.46ctx-attn-seq2seq3.446.8712.78rl-c-a-seq2seq3.867.6813.14rl-c-a-b-seq2seq4.088.3213.97本发明(scsl)4.368.7914.62从表2上可以看出,最后完整的整体框架,达到了所有拆解实验中最优的实验结果。同时,自上往下可以看出,每增加一个模块,模型的效果就增加一些。这些对比实验充分说明模型每一步设计的有效性。除此之外,本发明在针对生成对话的不同长度得分对比中,也侧面证明了本发明所提出的模型在对比其他前沿算法的优越性。如图3和图4所示,本发明提出的算法,在生成的不同对话长度下,均能够获得最优的评判分。这充分说明本发明所提出的算法,在生成对话回复的稳定性上,比其他模型更加优异。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1