一种基于熵的神经机器翻译动态解码方法及系统技术方案

技术编号:24939133 阅读:20 留言:0更新日期:2020-07-17 21:10
本发明专利技术提出一种基于熵的神经机器翻译动态解码方法及系统,通过分析句子的熵值与BLEU值之间的关系,发现BLEU值高的句子中单词的平均熵值比BLEU值低的句子中单词的平均熵值小,且熵值低的句子的BLEU值普遍比熵值高的句子的BLEU值高。通过计算句子的熵值与BLEU值之间的Pearson系数,发现两者之间存在相关性。因此,本发明专利技术提出在训练过程解码阶段的每个时间步,不仅要以一定的概率采样选择真实单词或预测单词获取上下文信息,还要根据上一个时间步的预测结果计算熵值,然后根据熵值动态调整上下文信息的权重。解决了神经机器翻译模型在解码过程中因训练和推断之间的上下文信息差异而导致的错误累积问题。

【技术实现步骤摘要】
一种基于熵的神经机器翻译动态解码方法及系统
本专利技术涉及自然语言处理及神经机器翻译
,并特别涉及一种基于熵的神经机器翻译动态解码方法及系统。
技术介绍
机器翻译是自然语言处理中的一项重要任务,近年来,随着深度神经网络的崛起,基于神经网络的机器翻译方法取得了巨大的进步,并逐渐成为了主流的机器翻译方法。神经机器翻译模型主要包含三个部分:编码器网络、解码器网络和注意力网络。编码器网络负责将源语言句子编码成隐向量列表,每个单词对应一个隐向量表示。编码器网络通常是多层的双向RNN结构,其中前向RNN顺序读入源语言句子序列(从x1到x|x|),计算得到前向隐状态序列反向RNN逆序读入源语言句子序列(从x|x|到x1),计算得到反向隐状态序列单词xi对应的隐向量表示为这样hi不仅包含前面单词的语义信息,还包含后面单词的语义信息。注意力网络根据编码器网络生成的隐向量列表(h1,…,h|x|)和当前隐层状态向量sj-1,计算出上下文向量cj,传给解码器网络。首先计算隐向量列表(h1,…,h|x|)与当前隐层状态向量sj-1之间的相关程度,得到权重列表(α1j,…,α|x|j),然后用该权重列表对隐向量列表加权求和,计算出上下文向量cj,用于下一隐层状态向量sj的计算。解码器网络通常是多层RNN结构,每个时间步都根据当前单词向量隐层状态向量sj-1和注意力网络计算出的上下文向量cj,计算出下一时间步的隐层状态向量sj,并解码出一个目标语言单词yj,直到生成特殊的句尾符号(EOS)为止。现有的神经机器翻译模型架构如图1所示。虽然现有的神经机器翻译模型已经取得了不错的效果,但仍存在一些不足之处。在现有的技术中,模型根据上下文信息依次解码出目标单词。在训练阶段,模型用真实的单词作为上下文信息进行预测,而在推断阶段,它必须从头开始生成整个序列,只能用上一个时间步的预测结果作为上下文信息进行预测。这种训练和推断之间的上下文信息差异导致了错误的累积,使得模型必须在训练阶段未见过的情况下进行预测。在现有的神经机器翻译模型中,解码过程的每个时间步都根据当前单词向量隐层状态向量sj-1和注意力网络计算出的上下文向量cj,计算出下一时间步的隐层状态向量sj,即在训练阶段,yj-1是训练语料中真实的目标语言单词而在推断阶段,yj-1是上一时间步预测出的目标语言单词为解决训练和推断之间的这种上下文信息差异,模型在训练阶段,要以一定的概率从真实序列和预测序列中采样获取上下文信息,而不仅仅是选择真实序列中的目标语言单词,即这种方法虽然在一定程度上减小了训练阶段和推断阶段之间的差异,提升了翻译效果,但当采样选择预测序列中的单词时,由于预测本身的不确定性,会使得训练过程引入预测误差,降低模型的鲁棒性。
技术实现思路
本专利技术的目的是解决神经机器翻译模型在解码过程中因训练和推断之间的上下文信息差异而导致的错误累积问题。现有技术提出了一种保持机器翻译中训练与预测一致性的方法,该方法在训练过程中,为每一个解码位置以一定的概率采样选择正确的单词或预测的单词,这样就能保持训练和预测的流程一致。然而,该方法在选择预测序列中的单词时,由于预测本身的不确定性,会使得训练过程引入预测误差,降低模型的鲁棒性。本专利技术通过分析句子的熵值和双预评估替补值(BLEU,Bilingualevaluationunderstudy)之间的相关关系,在保持机器翻译中训练与预测一致性的方法的基础上,根据熵值动态调整上下文信息的权重,降低不确定性对翻译结果的影响。具体来说本专利技术提供了一种基于熵的神经机器翻译动态解码方法,其中包括步骤1、将训练语料中源语言句子中单词的词向量传入编码器网络,得到该源语言句子的编码向量列表(h1,…,h|x|)及第j-1个时间步的隐层状态向量sj-1;步骤2、注意力网络根据该编码向量列表(h1,…,h|x|)和隐层状态向量sj-1,得到上下文向量cj;步骤3、获取训练语料中第j-1个真实的目标语言单词和第j-1个时间步预测的目标语言单词并以概率p选择真实的目标语言单词以1-p的概率选择预测的目标语言单词得到选择结果yj-1;步骤4、根据选择结果yj-1,通过以下公式得到第j-1个时间步的熵值ej-1,其中N为目标语言词典的大小,步骤5、将选择结果yj-1、隐层状态向量sj-1和上下文向量cj和熵值ej-1输入至解码器网络,得到当前第j个时间步的隐层状态向量sj,pi,j-1为第i个目标语言单词的预测概率;步骤6、根据yj-1、隐层状态向量sj和上下文向量cj,得到第j个时间步的目标语言单词步骤7、将编码向量列表(h1,…,h|x|)、第j个时间步的隐层状态向量sj、训练语料中第j个真实的目标语言单词以及第j个时间步预测的目标语言单词传入第j+1个时间步,继续解码过程,直到生成特殊的句尾符号EOS为止。所述的基于熵的神经机器翻译动态解码方法,其中该步骤2包括:通过注意力网络得到该上下文向量cj,权重αij为隐层状态hi相对于隐层状态sj-1在决定下一个隐层状态sj和预测yj中的重要度;其中x为源语言句子,Va、Wa和Ua均为神经网络中待学习的参数。所述的基于熵的神经机器翻译动态解码方法,其中该步骤3包括:其中μ是超参数,e是训练轮数。所述的基于熵的神经机器翻译动态解码方法,其中该步骤6包括:oj=Wotj;Pj=softmax(oj);其中eyj-1是j-1时间步预测词的概率分布的熵值,Wo是神经网络中待学习的参数。所述的基于熵的神经机器翻译动态解码方法,其中该步骤7包括:编码器网络计算源语言句子对应的该隐向量列表(h1,…,h|x|),是单词xi的词向量表示,是单词xi对应的隐向量表示,本专利技术还提供了一种基于熵的神经机器翻译动态解码系统,其中包括模块1、将训练语料中源语言句子中单词的词向量传入编码器网络,得到该源语言句子的编码向量列表(h1,…,h|x|)及第j-1个时间步的隐层状态向量sj-1;模块2、注意力网络根据该编码向量列表(h1,…,h|x|)和隐层状态向量sj-1,得到上下文向量cj;模块3、获取训练语料中第j-1个真实的目标语言单词和第j-1个时间步预测的目标语言单词并以概率p选择真实的目标语言单词以1-p的概率选择预测的目标语言单词得到选择结果yj-1;模块4、根据选择结果yj-1,通过以下公式得到第j-1个时间步的熵值ej-1,其中N为目标语言词典的大小,模块5、将选择结果yj-1、隐层状态向量sj-1和上下文向量cj和熵值ej-1输入至解码器网络,得到当前第j个时间步的隐层状态向量sj,pi,j-1为第i个目标语言单词的预测概率;模块6、根据yj-1、隐层状态向量sj和上下文向量cj,得到第j个时间步的目标语言单词<本文档来自技高网
...

【技术保护点】
1.一种基于熵的神经机器翻译动态解码方法,其特征在于,包括/n步骤1、将训练语料中源语言句子中单词的词向量传入编码器网络,得到该源语言句子的编码向量列表(h

【技术特征摘要】
1.一种基于熵的神经机器翻译动态解码方法,其特征在于,包括
步骤1、将训练语料中源语言句子中单词的词向量传入编码器网络,得到该源语言句子的编码向量列表(h1,…,h|x|)及第j-1个时间步的隐层状态向量sj-1;
步骤2、注意力网络根据该编码向量列表(h1,…,h|x|)和隐层状态向量sj-1,得到上下文向量cj;
步骤3、获取训练语料中第j-1个真实的目标语言单词和第j-1个时间步预测的目标语言单词并以概率p选择真实的目标语言单词以1-p的概率选择预测的目标语言单词得到选择结果yj-1;
步骤4、根据选择结果yj-1,通过以下公式得到第j-1个时间步的熵值ej-1,其中N为目标语言词典的大小,



步骤5、将选择结果yj-1、隐层状态向量sj-1和上下文向量cj和熵值ej-1输入至解码器网络,得到当前第j个时间步的隐层状态向量sj,pi,j-1为第i个目标语言单词的预测概率;
步骤6、根据yj-1、隐层状态向量sj和上下文向量cj,得到第j个时间步的目标语言单词
步骤7、将编码向量列表(h1,…,h|x|)、第j个时间步的隐层状态向量sj、训练语料中第j个真实的目标语言单词以及第j个时间步预测的目标语言单词传入第j+1个时间步,继续解码过程,直到生成特殊的句尾符号EOS为止。


2.如权利要求1所述的基于熵的神经机器翻译动态解码方法,其特征在于,该步骤2包括:
通过注意力网络得到该上下文向量cj,权重αij为隐层状态hi相对于隐层状态sj-1在决定下一个隐层状态sj和预测yj中的重要度;









其中x为源语言句子,Va、Wa和Ua均为神经网络中待学习的参数。


3.如权利要求2所述的基于熵的神经机器翻译动态解码方法,其特征在于,该步骤3包括:






其中μ是超参数,e是训练轮数。


4.如权利要求3所述的基于熵的神经机器翻译动态解码方法,其特征在于,该步骤6包括:



oj=Wotj;
Pj=softmax(oj);



其中eyj-1是j-1时间步预测词的概率分布的熵值,Wo是神经网络中待学习的参数。


5.如权利要求4所述的基于熵的神经机器翻译动态解码方法,其特征在于,该步骤7包括:
编码器网络计算源语言句子对应的该隐向量列表(h1,…,h|x|),是单词xi的词向量表示,是单词xi对应的隐向量表示,



【专利技术属性】
技术研发人员:程学旗郭嘉丰范意兴王素
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

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

1