一种译文重对齐的循环神经网络跨语言机器翻译方法转让专利

申请号 : CN201910976757.7

文献号 : CN110717345B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苏依拉范婷婷仁庆道尔吉

申请人 : 内蒙古工业大学

摘要 :

一种译文重对齐的循环神经网络的跨语言机器翻译方法,基于编码器‑解码器架构,其特征在于,编码器的循环神经网络和解码器的LSTM建模时,通过使用局部注意力方法生成的可变上下文向量和序列引导网络生成的序列引导向量,并配合重对齐方法,给出最符合原文语义的翻译序列。本发明翻译过程涉及上下文语境,并配合重对齐方法,可以得到更加接近人工翻译效果的目标语言文本。

权利要求 :

1.一种译文重对齐的循环神经网络跨语言机器翻译方法,采用基于局部注意力机制的编码器-解码器架构,在所述架构上添加一个额外的使用局部注意力机制的序列引导网络,编码器对源语言语句进行编码,表示为一个长度固定的上下文向量,解码器依据上下文向量以及序列引导网络给出的序列引导向量,给出目标语言语句,其中所述编码器由一个基于局部注意力机制的循环神经网络(Recurrent neural networks,RNN)组成,所述循环神经网络包含隐藏层h和输出层,隐藏层h将输入的源语言序列编码为隐藏状态,每一j时刻源侧隐藏层特征hj的计算公式为:(hh) (hx)

hj=σ(W hj-1+W xj)

其中,xj是j时刻的输入单词向量,为序列x中的一个向量,x={x1,……,xj-1,xj,xj+1,……,xT},是T容量的输入源语言序列;W(hx)是输入xj的权重矩阵;W(hh)是前一时刻隐藏层输出hj-1的权重矩阵;hj-1是j-1时刻非线性激活函数的输出;σ是非线性激活函数;

即,每一j时刻源侧隐藏层的输出特征hj都是基于前一时刻隐藏层的输出特征hj-1及当前输入的单词向量xj的;

所述序列引导网络是一个LSTM,在每个时间步t,基于先前引导向量gt-1和当前引导输入信号zt,生成当前引导向量gt:gt=f(zt;gt-1)

每一时刻的引导输入信号zt由先前注意力向量 和属性特征A结合计算而成;

最终依据当前引导向量gt生成解码输入dt:

dt=Wctct+Wgtgt

Wzt,Wct,Wgt均是权重矩阵,f是解码器LSTM单元内的递归函数;

其特征在于,所述解码器是使用局部注意力的LSTM,使用输入-反馈方式,每一个时间步的对齐决策结合了先前时刻的对齐决策,即t-1时刻的注意力向量 和下一个时间步t时刻的输入ct结合共同进入到解码器中,其每一t时刻注意力向量的计算公式为:其中,ct是编码器输出的上下文向量,解码器每个时刻更新其目标隐藏状态ht;

解码器通过以下方程进行计算:

mt=ft⊙mt-1+it⊙c′t

ht=ot⊙tanh(mt)

其中,σ是激活函数,xt是t时刻的输入,mt和ht分别是t时刻记忆单元和隐藏状态,it、ft、ot、c′t分别是t时刻输入门,遗忘门,输出门,候选记忆单元, 和bz分别是参数矩阵和偏差;

注意力向量 输入到softmax层,输出预测分布,其计算公式为:其中, 是目标语言单词,W(S)是权重。

2.根据权利要求1所述译文重对齐的循环神经网络跨语言机器翻译方法,其特征在于,所述非线性激活函数使用sigmoid函数。

3.根据权利要求1所述译文重对齐的循环神经网络跨语言机器翻译方法,其特征在于,所述序列引导网络设置在解码器端。

说明书 :

一种译文重对齐的循环神经网络跨语言机器翻译方法

技术领域

[0001] 本发明属于机器翻译技术领域,特别涉及一种译文重对齐的循环神经网络跨语言机器翻译方法。

背景技术

[0002] 随着计算机在人们生活中的使用越来越多样化,研究者们把目光投向了自然语言领域,其中,机器翻译是很具有研究价值和实用价值的一个方面。机器翻译(Machine Translation,简称MT),它研究的是如何利用计算机将一种语言文字/语音片段翻译转换成另一种语言文字/语音片段,对于人类来说非常自然拿手的这项技能,对于计算机而言,就并不如它在数值计算方面那么容易了。而随着国际化的逐步推进,机器翻译的研究势在必行。
[0003] 最初的机器翻译即短语型系统,只能翻译短语,单词,而涉及到更加深入内涵的领域就显得捉襟见肘。随后,语言模型建立。
[0004] 语言模型用来计算一个特定序列中一系列单词出现的可能性。传统的语言模型基于马尔科夫假设,即一个词的出现仅仅依赖于它前面出现的有限的一个词或者几个词,故有N-gram结构,例如三元语法(trigram)结构,一个词的出现仅依赖于其前两个词,其概率可表示为:
[0005]
[0006] 基于此,语言翻译系统会出现若干可供选择的单词序列,系统需要对这些序列进行评估,将所有的选择通过概率函数进行计算,得出每个选择的“分数”(即概率),得分最高的即是最有可能的翻译序列。输入法即用这种语言模型。但在机器翻译领域,很多时候有限的一个或几个词并不足以描述语境,也会和整句,整段的语境相关联。因此,我们需要能基于完整语境进行翻译的方法。

发明内容

[0007] 为了克服上述现有技术的缺点,本发明的目的在于提供一种译文重对齐的循环神经网络跨语言机器翻译方法,本发明翻译过程涉及上下文语境,并配合重对齐方法,可以使翻译结果更加接近人工翻译效果,得到更符合语境的,语序正常的目标语言文本。
[0008] 为了实现上述目的,本发明采用的技术方案是:
[0009] 一种译文重对齐的循环神经网络跨语言机器翻译方法,采用基于局部注意力机制的编码器-解码器架构,其特征在于,在所述架构上添加一个额外的使用局部注意力机制的序列引导网络,编码器对源语言语句进行编码,表示为一个长度固定的上下文向量,解码器依据上下文向量以及序列引导网络给出的序列引导向量,给出目标语言语句。
[0010] 所述编码器由一个基于局部注意力机制的循环神经网络(Recurrent neural networks,RNN)组成,所述循环神经网络包含隐藏层h和输出层,隐藏层将输入的源语言序列编码为隐藏状态,每一j时刻源侧隐藏层hj的计算公式为:
[0011] hj=σ(W(hh)hj-1+W(hx)xj)
[0012] 其中,xj是j时刻的输入单词向量,为序列x中的一个向量,x={x1,……,xj-1,xj,xj+1,……,xT},是T容量的输入源语言序列;W(hx)是约束输入xj的权重矩阵;W(hh)是约束前一时刻隐藏层输出hj-1的权重矩阵;hj-1是j-1时刻非线性激活函数的输出;σ是非线性激活函数;
[0013] 即,每一j时刻隐藏层的输出特征hj都是基于前一时刻隐藏层的输出特征hj-1及当前输入的单词向量xj的。
[0014] 所述非线性激活函数使用sigmoid函数。
[0015] 所述局部注意力机制指生成每个目标单词时,仅对源语言语句的一个窗口进行关注,窗口以对齐位置pt为中心,D为半径,即窗口大小为[pt-D,pt+D],D根据经验选择。对齐位置pt的计算公式如下:
[0016]
[0017] 其中,S是源语言语句长度,vp和Wp为模型参数,T表示转置,ht是目标侧隐藏状态,计算后得到的pt取值范围为[0,S];
[0018] 之后根据窗口生成当前目标单词所需要的上下文向量,是窗口内所有值的有权平均,其计算公式为:
[0019]
[0020] 其中, 表示所有的源侧隐藏状态,at是局部对齐向量,在以pt为中心的窗口放置一个正态分布,使pt周围的对齐点都可以被包含在内,因此,局部对齐向量at的计算公式为:
[0021]
[0022] 其中,pt是一个实数,s是以pt为中心的窗口内的一个整数,σ一般设为 计算at需要用到pt,那么就可以进行反向梯度计算,对vp和Wp进行学习.
[0023] score的计算公式为:
[0024]
[0025] 所述序列引导网络设置在解码器端,是一个LSTM,在每个时间步t,基于先前引导向量gt-1和当前引导输入信号zt,生成当前引导向量gt:
[0026] gt=f(zt;gt-1)
[0027] 每一时刻的引导输入信号zt由先前注意力向量 和属性特征A结合计算而成;
[0028]
[0029] 最终依据当前引导向量gt生成解码输入dt:
[0030] dt=Wctct+Wgtgt
[0031] Wzt,Wct,Wgt均是权重矩阵,f是解码器LSTM单元内的递归函数。
[0032] 所述解码器是使用局部注意力的LSTM,使用输入-反馈方式,每一个时间步的对齐决策结合了先前时刻的对齐决策,即t-1时刻的注意力向量 和下一个时间步t时刻的输入ct结合共同进入到解码器中,其每一t时刻注意力向量的计算公式为:
[0033]
[0034] 其中,σ是激活函数,ct是编码器输出的上下文向量,解码器每个时刻更新其目标隐藏状态ht;
[0035] 解码器通过以下方程进行计算:
[0036]
[0037]
[0038]
[0039]
[0040] mt=ft⊙mt-1+it⊙c′t
[0041] ht=ot⊙tanh(mt)
[0042] 其中,xt是t时刻的输入,mt和ht分别是t时刻记忆单元和隐藏状态,it、ft、ot、c′t分别是t时刻输入门,遗忘门,输出门,候选记忆单元,, 和bz分别是参数矩阵和偏差;
[0043] 注意力向量 输入到softmax层,输出预测分布,其计算公式为:
[0044]
[0045] 其中, 是目标语言单词,W(S)是权重。
[0046] 与现有技术相比,本发明的有益效果是:RNN适合处理一维序列数据,应用到机器翻译领域,它将基于完整语境给出翻译结果,比起传统翻译模型,基于RNN的机器翻译系统能选择更符合当前语境的词语,得到更通顺流畅,更准确的翻译结果。

附图说明

[0047] 图1是本发明整体架构图。
[0048] 图2是本发明序列引导网络架构图。

具体实施方式

[0049] 下面结合附图和实施案例详细说明本发明的实施方式。
[0050] 本发明为一种译文重对齐的循环神经网络跨语言机器翻译方法,基于局部注意力序列引导网络的编码器-解码器架构,在基本的使用局部注意力的编码器-解码器结构上,添加一个额外的同样使用局部注意力的序列引导网络。翻译时将源语言语句输入到编码器中,编码器对源语言语句进行编码,转换成词向量序列,经过循环神经网络的隐藏层计算,得到源侧隐藏状态序列,根据对齐向量,计算上下文向量,表示为上下文向量序列,解码器依据动态生成的上下文向量生成注意力向量,结合序列引导网络给出的序列引导向量,共同生成目标语言序列。
[0051] 本发明中,编码器可由一个基于局部注意力机制的循环神经网络(Recurrent neural networks,简称RNN)组成,带有序列引导网络;所述局部注意力指生成每个目标单词时,注意力只关注源语言语句的一个窗口,本发明首先对每个目标单词生成对齐位置pt:文本的上下文向量作为一个有权均值在源隐藏状态集合的窗口[pt-D,pt+D]生成,D根据经
2D+1
验选择,局部对齐向量at∈R ;对齐位置pt的计算公式如下:
[0052]
[0053] 其中,S是源句长度,vp和Wp为模型参数。
[0054] 局部对齐向量at的计算公式如下:
[0055]
[0056] 其中,score的计算公式为:
[0057]
[0058] 序列中每一个单词x顺序输入编码器,编码器的循环神经网络的隐藏层根据公式进行循环计算,读完序列的最后一个单词,隐藏层得到一个关于整个序列的上下文向量ct,编码器完成工作。
[0059] 本发明的解码器是使用局部注意力的LSTM,使用输入-反馈方式,每一个时间步的对齐决策结合了先前时刻的对齐决策,即t-1时刻的注意力向量 和下一个时间步t时刻的输入ct结合共同进入到解码器中,其每一t时刻注意力向量的计算公式为:
[0060]
[0061] 其中,σ是激活函数,ct是编码器输出的上下文向量,解码器每个时刻更新其目标隐藏状态ht;
[0062] 解码器通过以下方程进行计算:
[0063]
[0064]
[0065]
[0066]
[0067] mt=ft⊙mt-1+it⊙c′t
[0068] ht=ot⊙tanh(mt)
[0069] 本发明序列引导网络是基于LSTM,在每个时间步t,基于先前引导向量,当前注意力向量,属性特征,生成当前引导向量。属性特征设定为调序规则。
[0070] 将输入的源语言语句进行分词和词性标注,并对句法树进行分析,之后根据目标语言语序对源语言语句进行调序,使源语言语句在语序上尽量靠近目标语言的语序。
[0071] 以汉蒙翻译为例,源语言为汉语,目标语言为蒙语,设输入源语言文本向量为X=(x1,x2,……,xn),目标文本向量为Y=(y1,y2,……,ym)。为了处理方便,蒙语使用拉丁转写方式进行处理。具体步骤如下:
[0072] 1.将源语言序列X=(x1,x2,……,xn)输入进模型中,模型对其进行处理[0073] 2.编码器,解码器分别生成隐藏状态,生成第一个目标单词y1
[0074] 3.序列引导网络依据预先输入的调序规则(即属性特征A),以及输入序列xt,生成当前序列引导向量gt(如图1所示),输入到解码器中
[0075] 4.模型生成目标单词和输入序列的对齐位置pt,并依据对齐位置,编码器生成上下文向量ct
[0076] 5.解码器依据序列中当前输入,前一个生成单词,以及序列引导向量,上下文向量,生成当前对应的目标单词yt
[0077] 6.之后,解码器和编码器重复这个过程,直到序列结束。