背景技术
随着计算机计算能力的提高以及大数据的应用,深度学习取得进一步的应用。基于深度学习的Neural Machine Translation越来越受到人们的关注。在NMT领域中,最常用的一种翻译模型是带有注意力机制(attention-based)的encoder-decoder模型。其主要思想是将待翻译的语句(在下文中统称为‘源语句’)经过编码器(encoder)编码成为一个向量表示,然后利用解码器(decoder)对源语句的向量表示进行解码,翻译成为其对应的译文(在下文中统称为‘目标语句’)。
在很多机器学习任务中,模型在训练时所采用的样本和模型在测试时所采用的样本分布不一致,导致了领域适应性问题。在统计机器翻译中,领域适应已有着广泛的研究,但在NMT领域中,领域适应还是一个尚在研究的问题。一些统计机器翻译中运用的方法,如数据选择、多模型联合训练等方法,可以应用在NMT中,但也有方法如训练数据带权重等在NMT中不易被使用,因为NMT不是一个线性模型或其组合。现有的NMT的领域适应方法,主要分为模型层面、数据层面。在模型层面上,有微调、模型融合等,在数据层面上,有数据选择、领域控制、加权数据训练等方法。
传统技术存在以下技术问题:
在NMT的领域适应问题上,微调是一种常用的方法,即先在领域外语料上训练翻译系统,再用领域内的数据在其基础上继续训练,提高翻译效果。
现有的将句子权重融入NMT的领域适应方法是:论文Instance weighting forneural machine translation domain adaptation.,In Proceedings of the2017Conference on Empirical Methods in Natural Language Processing,pages1482–1488.用语言模型训练工具SRILM训练领域内语料的语言模型,用领域外语料在语言模型上的交叉熵的差集,作为生成句子权重的方法,再将权重融入NMT训练。
论文余弦相似度tweighting for neural machine translation domainadaptation.In Proceedings of the First Workshop on Neural MachineTranslation,pages 40–46.训练了一个RNN的分类器,将句子用分类器生成分数,句子越接近领域内分数越高,反之越低。然后将权重融入NMT训练。
微调的方法没有考虑到,领域外的语料中,有一部分接近领域内的语料能帮助领域内的翻译,但与领域内语料相差较远的与语料可能会降低领域内的翻译效果。而且,微调的方法容易出现过拟合的问题。我们采用的将句子权重融入NMT的领域适应方法,将领域外的语料中接近领域内的语料的部分在训练中赋予较高的权重,远离领域内的语料的部分在训练中赋予较低的权重,避免其降低翻译效果。
论文“Instance weighting for neural machine translation domainadaptation.”和论文余弦相似度tweighting for neural machine translation domainadaptation.中的方法需要借助于外部的工具SRILM或分类器。
发明内容
基于此,有必要针对上述技术问题,提供一种将句子权重融入神经机器翻译的领域适应方法,只需要NMT自身的信息,并能有很好的翻译效果。
一种将句子权重融入神经机器翻译的领域适应方法,应用在基于注意力机制且采用encoder-decoder框架的NMT模型,包括:
计算out-of-domain句子与in-domain领域的相似度来赋予句子权重;
将所述句子权重信息融入NMT训练。
上述将句子权重融入神经机器翻译的领域适应方法,我们利用NMT encoder的自身信息用领域相似度的方法得到权重,并将权重融入NMT训练。这种新方法比论文“Instance weighting for neural machine translation domain adaptation.”中的方法能取得更好的翻译效果。
在另外的一个实施例中,在步骤“计算out-of-domain句子与in-domain领域的相似度来赋予句子权重;”中,利用JS散度的方法计算两者的相似度。
在另外的一个实施例中,在步骤“计算out-of-domain句子与in-domain领域的相似度来赋予句子权重;”中,利用欧式距离的方法计算两者的相似度。
在另外的一个实施例中,在步骤“计算out-of-domain句子与in-domain领域的相似度来赋予句子权重;”中,利用余弦相似度的方法计算两者的相似度。
在另外的一个实施例中,在步骤“计算out-of-domain句子与in-domain领域的相似度来赋予句子权重;”中,利用交叉熵的方法计算两者的相似度。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现任意一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现任意一项所述方法的步骤。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
首先介绍一下本申请的应用基础:基于注意力机制(attention)的NMT模型。
在神经机器翻译系统中,一般采用encoder-decoder框架来实现翻译。对训练语料中的每一个词,我们都为其初始化一个词向量,所有词的词向量构成了词向量词典。词向量,一般是一个多维的向量,向量中每一维都是一个实数,维度的大小一般根据实验过程中的结果来最终确定。例如,对于单词“咱们”,它的词向量可能是<0.12,-0.23,...,0.99>。
Encoder是由双向RNN(Recurent Neural Network)网络构成。在encoder阶段,encoder读入一个句子,将句子编码成一系列的向量。具体过程如下,首先将一个句子表示为词向量的序列,即x=<x
1,x
2,...,x
T>,其中x为输入的句子,x
j为句子中第i个词的词向量,即一个m维的向量。前向RNN根据公式h
j=f(x
j,h
j-1),我们可以获得一个由隐层向量组成的前向向量序列
反向RNN依据同样的原理,可以得到由隐层向量组层的反向向量序列
我们连接h
j和h
j,作为单词x
j经过encoder编码后的含有上下文信息的向量表示h
j=[h
j;h
j]。由隐层向量序列<h
1,h
2,...,h
T>,我们可以获得context向量c
t=q({h
1,h
2,...,h
T})。其中,其中
是时序t时的隐藏状态,f和q是非线性的激活函数,其中f一般采用GRU或者LSTM,q一般采用attention网络。
在经典的神经机器翻译系统中,context向量ct一般利用attention网络来获得,ct可以通过下面公式运算获得:
etj=a(st-1,hj)
其中,a是一个一层的前向网络,αtj是encoder是每一个隐藏状态hj的权重。
Decoder也是由RNN网络构成。在Decoder阶段,给定向量c
t,以及所有已经预测得到词{y
1,y
2,...,y
t′-1},可以继续预测y
t,通过如下定义可以逐步实现:
其中
另外,p(y
t|{y
1,y
2,...,y
t-1},c
t)=g(y
t-1,s
t,c
t),其中g是非线性激活函数,一般采用softmax函数。s
t为RNN中的隐层状态,s
t=f(y
t-1,s
t-1,c
t)。
encoder和decoder都采用RNN网络,主要是因为其特点,RNN网络的特点在于,隐层状态由当前的输入和上一个隐层状态共同决定。如在本神经机器翻译过程中,Encoder阶段隐层状态由源语端当前词的词向量和上一个隐层状态共同决定。Decoder阶段的隐层状态由前一步骤中计算得到的目标语端词向量和上一个隐层状态共同决定。
模型的训练一般采用最小化负对数似然为损失函数,采用随机梯度下降为训练方法来进行迭代训练。在训练集
上,其中x
n,y
n为平行语句对,模型训练目标函数如下:
一种将句子权重融入神经机器翻译的领域适应方法,应用在基于注意力机制且采用encoder-decoder框架的NMT模型,包括:
计算out-of-domain句子与in-domain领域的相似度来赋予句子权重;
将所述句子权重信息融入NMT训练。
上述将句子权重融入神经机器翻译的领域适应方法,我们利用NMTencoder的自身信息用领域相似度的方法得到权重,并将权重融入NMT训练。这种新方法比论文“Instanceweighting for neural machine translation domain adaptation.”中的方法能取得更好的翻译效果。
在另外的一个实施例中,在步骤“计算out-of-domain句子与in-domain领域的相似度来赋予句子权重;”中,利用JS散度的方法计算两者的相似度。
在另外的一个实施例中,在步骤“计算out-of-domain句子与in-domain领域的相似度来赋予句子权重;”中,利用欧式距离的方法计算两者的相似度。
在另外的一个实施例中,在步骤“计算out-of-domain句子与in-domain领域的相似度来赋予句子权重;”中,利用余弦相似度的方法计算两者的相似度。
在另外的一个实施例中,在步骤“计算out-of-domain句子与in-domain领域的相似度来赋予句子权重;”中,利用交叉熵的方法计算两者的相似度。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任意一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任意一项所述方法的步骤。
下面介绍一下本发明的一个具体应用场景:
在将句子权重融入神经机器翻译的领域适应方法中,我们将领域外(out-of-domain)语料的句子按照与领域内(in-domain)语料的相似程度来赋予不同的权重,与in-domain语料越接近,权重越高,越远,权重越低。
我们的计算权重的方法,是用计算out-of-domain句子与in-domain领域的相似度来赋予句子权重。参阅图1,细节如下:
out-of-domain和in-domain的句子向量表示:
NMT的Encoder生成向量代表源端句子信息,并把它当做decoder的隐层初始状态。相似度方法用欧式距离测度时,我们把这个向量作为out-of-domain和in-domain的句子向量表示s
i;相似度方法用JS散度测度时,我们把这个向量做soft-max运算后的结果作为out-of-domain和in-domain的句子向量表示
soft-max运算公式:
out-of-domain领域向量
表示用out-of-domain的中心代替,即用out-of-domain语料中每个句子的向量表示
的平均向量来表示。
in-domain的领域向量表示
表示用in-domain的中心代替,即用in-domain语料中每个句子的向量表示
的平均向量来表示。
相似度方法
本方法可以采用多种不同的相似度测量方法,如JS散度、欧式距离、余弦相似度、交叉熵等。
下面以JS散度为例说明:
步骤一:计算α时,
其中,
是out-of-domain源端句子向量表示
与out-of-domain源端中心的JS相似度;
是out-of-domain源端句子向量表示
与in-domain源端中心的JS相似度;
是out-of-domain目标端句子向量表示
与out-of-domain目标端中心的JS相似度;
是out-of-domain目标端句子向量表示
与in-domain目标端中心的JS相似度。
JS散度的计算公式为:
其中,
步骤二:将步骤一的结果α归一化,采用离差标准化,将α化成0-1之间的数作为权重P(si)。
将权重融入NMT训练
在NMT训练时,out-of-domain的句子赋上计算出的权重P(si)(0-1之间),in-domain的句子权重都为1。
将句子权重信息融入NMT的方法是,将原目标函数
,更新为:
以上是标准领域适应情景下我们提出的将句子权重融入神经机器翻译的领域适应方法。我们还把这种方法使用到伪平行语料的翻译中,能提升低资源语言的翻译效果。细节与上述方法存在一些不同,列举如下:
类比上述实验的方法,在伪平行语料的翻译中,将开发集类比为上述方法中的in-domain,将整个训练集当做上述方法中的out-of-domain。
与上述方法在两个细节上存在不同:
2.将权重融入NMT训练时:
把P(si)当做给训练集句子的奖赏。
鉴于领域外的语料中,有一部分接近领域内的语料能帮助领域内的翻译,但与领域内语料相差较远的与语料可能会降低领域内的翻译效果。我们在NMT的领域适应问题上采用将句子权重融入NMT翻译的方法。现有的这种方法需要引入如SRILM或分类器的外部工具,我们的方法只需利用NMT自身的信息,并能有更好的翻译效果。另外,我们提出的方法,还适用于伪平行语料的翻译系统、后翻译这种低资源语言的翻译情景中,能提升其翻译效果。
我们提出的将句子权重融入神经机器翻译的领域适应方法,具有以下优势,
1.能降低与in-domain语料相距较远的out-of-domain语料对in-domain翻译可能存在的有害影响。
2.不需要借助于外部的工具,利用NMT encoder的自身信息得到句子权重。
3.能取得比目前其他将句子权重融入神经机器翻译的领域适应方法更好的翻译效果。其中,用JS散度测相似度时,比其他将句子权重融入神经机器翻译的领域适应方法BLEU值最高提升1.09个点,在4个测试集上的平均值提升0.63个点;用欧式距离测相似度时,比其他将句子权重融入神经机器翻译的领域适应方法BLEU值最高提升1.92个点,在4个测试集上的平均值高出1.42个点。实验结果如下表:
同时,我们将带有权重的句子表示可视化,如图2所示(随机采样权重约为0.9、0.5、0的句子),可以看出,离in-domain中心in_core的距离越近,句子权重越大,反之越小。而且,in-domain句子表示的平均值in_core可以代表in-domain,同样,out-of-domain句子表示的平均值out_core可以代表out-of-domain。进一步证明了我们采用的权重生成方法的合理性。
4.能使用于伪平行语料的翻译,提升NMT在低资源语言上的翻译效果。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。