一种生成式对话系统解码器训练方法及解码方法技术方案

技术编号:22817111 阅读:24 留言:0更新日期:2019-12-14 13:09
本发明专利技术公开了一种生成式对话系统解码器训练方法及解码方法。本方法为:1)对于问句编码集合中的每一问句编码,使用前向、后向神经网络对该问句编码进行预测分别得到一向量表示结果;2)计算前向、后向神经网络每一步预测结果的差异,作为生成式对话系统编码器的损失函数;3)计算前向、后向神经网络每一步状态的差异,作为二者的局部差异;4)计算前向、后向神经网络所生成向量表示结果的句子向量表示,并计算两句子向量表示的差异,作为二者的整体性差异;5)将局部差异和整体性差异作为惩罚项函数加入损失函数中,得到整体惩罚函数作为生成式对话系统编码器的损失函数;6)采用训练后的前向神经网络对问句编码进行预测,生成回复内容。

A decoder training method and decoding method for generative dialogue system

【技术实现步骤摘要】
一种生成式对话系统解码器训练方法及解码方法
本专利技术涉及一种基于双向递归神经网络的生成式对话系统解码器训练方法及解码方法,属于计算机软件

技术介绍
传统解码器通常会根据编码端所生成的问句的向量表示,使用LSTM等神经网络结构逐字的生成问题对应的回复。其中当前单词的生成主要依赖于句子中位于其前面的历史信息,它的主要特点是单向解码。传统的解码器已经能够很好的根据问题的向量表示生成对应的答案,然而因为该编码器是单向的,因此在生成第t个单词时只能够参考到前面的历史信息。然而通常情况下,单词的后文也是有助于当前单词的预测的,比如“天空是()的,大海也是蓝色的”,如果能够参考句子括号后面的信息,解码器就容易知道句中所缺失的单词应该是“蓝色”。而如果仅仅使用单向解码的方式对编码器生成的编码向量进行解码,则解码器容易生成错误的单词。因此如何在解码的时候能够将当前单词的前后文信息引入到解码过程中,也就是进行双向解码,是一件非常有意义的工作。
技术实现思路
本专利技术针对传统编码器的缺陷,提出了一种基于双向递归神经网络的生成式对话系统解码器训练方法及解码方法。使得解码器在生成单词时不仅考虑到单词的前文,也能充分的利用句子的后文信息,从而提高生成式对话系统生成回复的质量。本专利技术的技术关键点在于:1)本专利技术提出一种使用双向解码器来对编码器产生的向量进行解码的方法,该方法在解码时不仅可以借鉴句子的前文信息,也可以对句子的未来信息进行展望,从而使得生成式对话系统的解码质量得到极大的提高。2)本文提出两种惩罚函数来对生成式对话系统模型进行优化。首先,通过计算每一步的前向神经网络和后向神经网络的隐藏层状态编码差的F范数以及二者预测结果的交叉熵损失函数之和作为预测当前单词的差异性的度量,从而帮助前向神经网络与后向神经网络进行信息的同步。局部惩罚项函数计算如下:其中,为后向神经网络第t时刻的隐藏层状态编码,为前向神经网络第t时刻的隐藏层状态编码。CrossEntropy()为交叉熵损失函数,为前向神经网络产生的预测值,为后向神经网络产生的预测值。此外,我们还提出了一种整体损失函数。该函数首先使用注意力机制计算两个神经网络所生成回复的句子向量表示,然后利用F范式来衡量二者的整体差异性,并进行权重约束,从而防止句子过度关注于局部差异。通过注意力机制计算前向神经网络回复句子的向量表示如下:其中,k表示k时刻,n表示最后时刻,t表示t时刻,Z为对话系统中问题的编码表示,Hf为前向神经网络的整体向量表示,α为一个全连接神经网络,atf为第t个单词对于Hf的重要程度。因此,整体损失函数表示为:loss=-∑logpf(xt|x≤t)-∑logpf(xt|x≥t)+γ(∑Lt+||Hf-Hb||F)(2)其中Hb为后向神经网络的整体表示,其计算方法与前向神经网络的计算方法相同;atb为第t个单词对于Hb的重要程度,xt表示t时刻的预测值,x≤t表示t时刻之前的所有序列,x≥t表示t时刻之后的所有序列,pf()表示概率,γ为权重比例系数。本专利技术采用的技术方案如下:一种生成式对话系统解码器训练方法,其步骤包括:11)对于问句编码集合中的每一问句编码,使用前向神经网络对该问句编码从前向后进行预测得到一向量表示结果,使用后向神经网络对该问句编码从后向前进行预测得到另一向量表示结果;12)计算前向神经网络和后向神经网络每一步的预测结果的差异,作为生成式对话系统编码器的损失函数;13)计算前向神经网络和后向神经网络每一步状态的差异,作为二者的局部差异;14)计算前向神经网络与后向神经网络所生成向量表示结果的句子向量表示,并计算两句子向量表示的差异,作为二者的整体性差异;15)将步骤13)得到的局部差异和步骤14)得到的整体性差异作为惩罚项函数加入步骤12)得到的损失函数中,得到整体惩罚函数作为生成式对话系统编码器的损失函数;16)通过最小化该整体损失函数,达到前向神经网络和后向神经网络预测结果同步时结束训练。进一步的,前向神经网络和后向神经网络分别为一递归神经网络,两递归神经网络的维度相同,但参数不共享。进一步的,整体损失函数loss=-∑logpf(xt|x≤t)-∑logpf(xt|x≥t)+γ(∑Lt+||Hf-Hb||F);其中,Z为问句编码,atf为第t个单词对于Hf的重要程度,Hb为后向神经网络的整体表示,atb为第t个单词对于Hb的重要程度,Hf为前向神经网络所生成回复的句子向量表示,Hb为后向神经网络所生成回复的句子向量表示,为后向神经网络第t时刻的隐藏层状态编码,为前向神经网络第t时刻的隐藏层状态编码;CrossEntropy()为交叉熵损失函数,为前向神经网络产生的预测值,为后向神经网络产生的预测值,γ为一权重比例系数。进一步的,使用注意力机制计算前向神经网络所生成回复的句子向量表示Hf、后向神经网络所生成回复的句子向量表示Hb。进一步的,步骤12)中,使用交叉熵损失函数来计算前向神经网络和后向神经网络每一步的预测结果的差异,作为生成式对话系统编码器的损失函数。一种基于双向递归神经网络的生成式对话系统解码方法,其特征在于,采用训练后的解码器中的前向神经网络对生成式对话系统编码器所传过来的问句编码进行预测,生成回复内容。本专利技术主要包括以下步骤:1)使用前向解码器(即前向神经网络)对生成式对话系统编码器传来的问句编码的历史信息进行预测得到一向量表示结果,使用后向解码器(即后向神经网络)对生成式对话系统编码器传来的问句编码的未来信息进行预测得到另一向量表示结果。2)对前向神经网络和后向神经网络分别预测的结果进行同步。3)计算前向神经网络与后向神经网络的局部差异损失:4)计算前向神经网络与后向神经网络的整体差异损失:||Hf-Hb||F。5)将3)与4)计算出来的结果加入损失函数,在训练过程中,通过最小化损失函数,从而使得3)和4)中局部差异损失和整体差异损失最小化,达到前向神经网络和后向神经网络预测结果同步的效果,即帮助生成式对话模型进行结果同步,优化解码器的生成回复效果,损失函数公式见公式(2)。进一步地,步骤1)中,我们根据编码器传来的问句编码分别使用两个递归神经网络分别从前向和后向两个方向来对答案进行预测,其中两个递归神经网络的维度完全相同,但参数不共享。进一步地,步骤2)中,我们使用交叉熵函数作为局部损失函数来对两个神经网络的预测结果进行差异衡量,从而对前向和后向两个神经网络的预测结果进行同步,从而使得前向神经网络在预测时能在一定程度上考虑到未来信息,提高问句的解码质量。进一步地,步骤3)中,为了帮助前向神经网络与后向神经网络的预测,我们通过F范数来计算前向神经网络与后向神经网络每一步隐藏层状态的不同,并将其累加作为局部损失函数的惩罚项,从而使得二者的同步效本文档来自技高网...

【技术保护点】
1.一种生成式对话系统解码器训练方法,其步骤包括:/n11)对于问句编码集合中的每一问句编码,使用前向神经网络对该问句编码从前向后进行预测得到一向量表示结果,使用后向神经网络对该问句编码从后向前进行预测得到另一向量表示结果;/n12)计算前向神经网络和后向神经网络每一步的预测结果的差异,作为生成式对话系统编码器的损失函数;/n13)计算前向神经网络和后向神经网络每一步状态的差异,作为二者的局部差异;/n14)计算前向神经网络与后向神经网络所生成向量表示结果的句子向量表示,并计算两句子向量表示的差异,作为二者的整体性差异;/n15)将步骤13)得到的局部差异和步骤14)得到的整体性差异作为惩罚项函数加入步骤12)得到的损失函数中,得到整体损失函数作为生成式对话系统编码器的损失函数;/n16)通过最小化该整体损失函数,达到前向神经网络和后向神经网络预测结果同步时结束训练。/n

【技术特征摘要】
1.一种生成式对话系统解码器训练方法,其步骤包括:
11)对于问句编码集合中的每一问句编码,使用前向神经网络对该问句编码从前向后进行预测得到一向量表示结果,使用后向神经网络对该问句编码从后向前进行预测得到另一向量表示结果;
12)计算前向神经网络和后向神经网络每一步的预测结果的差异,作为生成式对话系统编码器的损失函数;
13)计算前向神经网络和后向神经网络每一步状态的差异,作为二者的局部差异;
14)计算前向神经网络与后向神经网络所生成向量表示结果的句子向量表示,并计算两句子向量表示的差异,作为二者的整体性差异;
15)将步骤13)得到的局部差异和步骤14)得到的整体性差异作为惩罚项函数加入步骤12)得到的损失函数中,得到整体损失函数作为生成式对话系统编码器的损失函数;
16)通过最小化该整体损失函数,达到前向神经网络和后向神经网络预测结果同步时结束训练。


2.如权利要求1所述的方法,其特征在于,前向神经网络和后向神经网络分别为一递归神经网络,两递归神经网络的维度相同,但参数不共享。


3.如权利要求1或2所述的方法,其特征在于,整体损失函数loss=-∑logpf...

【专利技术属性】
技术研发人员:林政付鹏刘欢王伟平
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1