APP下载

基于神经网络的统计机器翻译的预调序模型

2016-05-04杨南李沐

中文信息学报 2016年3期
关键词:源语言语料排序

杨南,李沐

(1.中国科学技术大学信息科学技术学院,安徽合肥 230026;2. 微软亚洲研究院,北京 100080)

基于神经网络的统计机器翻译的预调序模型

杨南1,李沐2

(1.中国科学技术大学信息科学技术学院,安徽合肥 230026;2. 微软亚洲研究院,北京 100080)

长距离调序是统计机器翻译的一个主要挑战。之前的研究工作表明预调序是解决这个问题的一个可能的途径。在该工作中,我们沿着预调序这个研究方向,将神经网络建模结合到线性排序的框架之下,提出了一个基于神经网络的预调序模型。这个的预调序模型能够利用从海量未标注数据中抽取的句法和语意信息,从而更好的对不同语言之间的语序差异进行预测。我们在中文到英文以及日文到英文的机器翻译任务上进行了实验,实验结果表明了该方法的有效性。

统计机器翻译;预调序;神经网络

1 引言

对源语言和目标语言之间语序的差异进行建模是统计机器翻译研究的一个主要问题。基于短语的统计机器翻译模型[1]将短语对作为一个基本的翻译单元,自动的记录了局部的调序现象,但对于长距离的调序现象缺乏有效的描述。为了解决长距离调序的问题,研究人员进行了多种尝试,提出了不同的方法。例如,Xiong等[2]提出了基于最大熵的词汇化的调序模型,利用词汇信息对语序进行更好的刻画;Chiang[3]等考虑语言的层级结构对调序进行建模。

在语序差异显著的语言对之间,例如,主—谓—宾(S-V-O)结构的英文与主—宾—谓(S-O-V)结构的日文,长距离调序的问题更加明显,在基于短语的翻译系统中难以得到很好的解决。基于句法的语法系统,例如,Liu等[4]的工作,将源语言句法树的信息直接放入翻译模型,能在一定程度上对长距离调序进行描述,但同时也带来了翻译模型中翻译规则数量巨大,翻译解码时间较长等问题。另一种方法称为预调序,它只用源语言段的词汇或者句法的信息,在翻译解码之前将输入源语言的句子调整为接近目标语言的语序,然后用一个标准的基于短语的机器翻译系统对调序之后的句子进行翻译。这种预调序方法,一方面能够有效的利用源语言的词汇和句法信息帮助解决调序问题;另一方面又保留了基于短语的翻译系统的简洁性,在实践中得到了较好的效果。基于预调序的主要工作有Tromble和Eisner[5]等。

本工作沿着预调序这一研究方向,提出了一种基于神经网络的统计机器翻译预调序模型。本方法利用神经网络语言模型[6]的方法,从未标注文本学习词汇的抽象表示,然后利用一个多层神经网络,将这个词汇表示和其他特征结合起来,融入到一个线性排序的模型中;我们从自动对齐或者人工标注对齐的双语平行语料获取词排序模型需要的训练样本,用随机梯度下降的方法进行判别训练。为了验证此方法的有效性,我们在中文到英文以及日文到英文的机器翻译任务上进行了实验。实验结果表明,相比于基准系统,本文提出的基于神经网络的预调序模型在测试数据集上能显著提高机器翻译系统性能。

2 相关工作

调序问题一直是机器翻译研究的重难点[7-8]。在机器翻译预调序方向上,一些工作提出了基于句法树手写调序规则的方法,例如,Collins等[9]针对德语和英语之间的词序问题定制了一系列规则。Xu等[10]设计了一种基于优先级概念的调序规则,处理了英语到几种SOV语言的调序问题。手工规则的缺点是它依赖于专家知识,对于不同的语言对需要特别的制定对应的规则。

部分研究人员也探讨过从数据自动学习预调序模型。其中,Tromble和Eisner[5]提出了一种基于线性排序的预调序模型;Yang等[11]提出了基于排序的预调序模型;Visweswariah等[12]将预调序问题看成是一个非对称旅行商 (ATS) 问题。这些工作中的模型采用基于稀疏特征的线性模型,可能遇到数据稀疏的问题。

利用神经网络处理机器翻译调序问题的主要工作是Li等[13]。此工作提出用递归神经网络对机器翻译的调序过程进行描述。与这个工作不同的是,我们是在预调序的框架下利用神经网络解决翻译调序问题的。

3 模型

在本章中,我们首先介绍用神经网络学习词汇的向量表示;然后阐述线性排序模型;最后提出基于神经网络的预调序模型。

3.1 词汇的向量表示

为了改善这一问题,Bengio等[6]提出了基于神经网络的语言模型。在他们的工作中,一个神经网络模型将高维的词汇特征转化为低维的、稠密的向量表示;通过在大量文本上进行判别训练,该模型能将上下文相似的词汇映射到低维向量空间上相近的点。沿着这一方向,Collobert等[14]提出了一种基于负抽样(negative-sampling)的更快速的学习方法,有效的在大规模的语料上学习到了大量词汇的向量表示。Collobert等的神经网络的结构如图1所示。

图1 学习词汇向量表示的神经网络结构图

s(w-n,…,w0,…,wn)=l2·tanh·

l1·LOOKUP(w-n,…,w0,…,wn)

(1)

其中:

(2)

Mikolov等[15]提出了另一种基于Skip-ngram快速学习词汇表示的方法。在这种方法中,一个前馈神经网络被用来建立词w和它上下文中的词c(w)的条件概率模型,如式(3)所示。

(3)

其中l是一个线性层,输入长度为词汇表示的长度,输出长度为词表的大小;softmax将l的输出归一化为概率。为了加速归一化,Mikolov提出了采用基于哈夫曼树的层级softmax方法进行加速。Skip-ngram的训练采用随机梯度下降对此条件概率做训练数据的最大似然估计。

以上学习词汇表示的方法还可以推广到对词汇n元(n-gram)进行学习。我们将词汇n元x看成一个整体,用神经网络建立它和上下文的词汇c(w)(上下文依然是词汇,不是词汇n元)的条件概率模型,如式(4)所示。

(4)

词汇n元表示的训练方法与词汇表示训练方法完全相同。由于我们的模型上下文依然是词汇,训练词汇n元的低维表示与训练词汇表示的计算量是相同的;不同的是n元数量远多于词汇,需要更多的数据才能进行准确估计。词汇n元能够包含无法用词汇表示组合出的信息。

通过在大量文本上进行训练,神经网络学到的词汇向量表示能将语法、语意上相近的词映射到低维空间相近的位置。将这种词汇向量表示作为特征作为调序模型的输入,我们能自动的利用其中蕴含的信息,学到更好的调序模型。

3.2 线性排序模型

(5)

(6)

也就是说,(i,j)在置换中保持相对顺序不变,那么它们的分数是s(i,j,0);如果他们的相对顺序倒转,则分数是s(i,j,1)。

(7)

(8)

其中f是一个特征向量,θ是对应的特征权重向量。

在这个调序模型的框架下,机器翻译预调序的问题被转化为了一个寻找最高分置换的搜索过程,如式(9)所示。

(9)

影响此模型性能的一个关键因素是能否设计合适的特征f。在Tromble的工作中,他采用了大量的高维词汇特征。由于词汇特征难以推广,他们又引入了词类,词性标注等粗粒度特征进行平滑。

3.3 基于神经网络的预调序模型

神经网络学习到的词汇向量表示蕴含丰富的语法、语意信息;我们认为,这种信息能够帮助预测机器翻译的词序。为此,我们提出以下基于神经网络的预调序模型。此模型是建立在线性调序的框架下,将词汇调序问题分解为句子中词的两两排序问题,对于其中每一对词的排序,我们用一个多层神经网络对它进行打分。

(10)

ssparse是普通的稀疏特征计算出的分数,sNN是一个神经网络计算的分数,如式(11)所示。

(11)

神经网络将第i词和第j词的上下文窗口中的词汇和词汇n元(n-gram)作为输入,通过查找层LOOKUP将他们转化为向量化表示,再依次通过线性层l1,双曲正切层tanh以及第二个线性层l2得到输出sNN。输出结果sNN是一个二维向量,sNN[0]表示(i,j)在置换中保持相对顺序不变的分数,sNN[1]表示(i,j)在置换中相对顺序倒转的分数。图2给出了这个神经网络的结构。

图2 预调序模型中的神经网络结构图

此外,我们可以在sNN的最后输出层加入稀疏特征,用以补充神经网络中由向量化词汇表示难以描述的信息,如两个词之间的距离等。

在应用这个模型进行预调序的时候,我们将搜索如下的模型最优解作为输出,如式(12)所示。

(12)

4 训练

训练我们的模型有两个工作,一是从双语平行语料中获取排序模型所需的训练数据;二是基于获得的训练数据,对模型进行统计参数学习。

4.1 调序训练数据的获取

我们的模型的训练样本从有词对齐的双语平行语料中获取。 对于一个有词对齐信息的双语句对(e,f,a),其中e是源语言句子,f是目标语言句子,a是它们之间的词对齐关系,e的长度是n。我们想得到一个源语言句子e的重排序π*,使它和目标语言句子的语序最相似。在这里,我们沿用Yang等[11]法,采用一个叫做交叉连接数 (crosslink) 的标准作为衡量调序结果好坏的标准。我们用一个数对(i,j)表示一个词对齐连接,它表示从源语言第i个词连接到目标语言第j个词。我们称两个词对齐链接(i1,j1)和(i2,j2)是交叉的,如果它们满足:

如果我们定义:

那么源语言一种重排序π的交叉连接数如式(13)所示。

(13)

我们采用交叉连接数最少的重排序π*作为训练时的目标排序,如式(14)所示。

(14)

4.2 参数学习

(15)

其中π-是不同于π*的所有排序中分数最高的一个重排序。此损失函数是一种带边界的合页损失,促使模型对目标重排序π*给出更高的分数。

我们采用标准的随机梯度下降算法对此进行优化。对于双语语料中的所有句对,我们依次抽取其中一个句对,用当前的参数值对它进行CKY解码,取得π-,并和最优的π*进行对比。如果对比之下损失不为0,那么我们将针对此损失求梯度,并对参数进行更新:

其中γ是一个大于0的学习率,L(θ)是对应的梯度。稀疏特征的特征权重的参数的梯度如式(16)所示。

(16)

其中fsparse是稀疏特征的特征向量。对于神经网络中的参数,我们可以通过标准的反向传播算法(back-propagation)[6]计算得到。

在模型参数初始化的时候,我们将从大量文本学习到的词汇向量化表示作为神经网络的查找层参数的初始值;对神经网络中两个线性层的参数,我们随机的把它们初始化到一个小的区间;对于稀疏特征的特征权重,我们统一初始化为0。

5 实验及分析

为了验证基于神经网络的预调序方法的有效性,我们在中文到英文以及日文到英文上进行了实验。

5.1 实验数据

我们的实验数据分为三个部分: 一是用于训练词汇向量表示和语言模型的单语文本;二是用于进行预调序模型和翻译模型训练的双语数据;三是用于评测翻译效果的测试数据。

(1) 单语语料: 我们的单语文本是从互联网上抓取的单语文本。经过正规化、去重等处理,我们得到了约十亿句英文文本,四亿句中文文本,两亿句日文文本。其中,英文作为目标语言,用于训练语言模型;中文和日文作为源语言,用于训练词汇的向量化表示。

(2) 双语平行语料: 我们的平行语料是从互联网上自动抓取的。在本次实验中,我们使用的中文到英文数据包含约2 600万句对,日文到英文数据包含约1 500万句对。我们使用这些语料训练预调序模型以及翻译模型。

(3) 机器翻译实验测试数据: 对于中文到英文,我们采用标准的NIST机器翻译评测测试集,其中NIST05作为开发集,NIST06和NIST08作为测试集。对于日文到英文的实验,我们采用自己人工翻译的5 000句新闻语料,其中2 500句作为开发集,2 500句作为测试集。

5.2 实现细节和基准系统

本工作的翻译系统是一个基于最大熵的词汇化调序的BTG短语机器翻译系统[2]。除了词汇化的调序特征外,它还具有一般短语翻译系统的主要特征,例如,正向反向短语、词汇翻译概率,4-gram语言模型,词汇、短语惩罚等。我们的4-gram语言模型是自己基于Trie树实现的Katz-backoff[17]的语言模型。

本工作的基准系统有两个: 一个是未经过预调序的翻译系统,它用于验证使用预调序技术对于翻译系统的影响;第二个是对于输入做基于稀疏特征的预调序的翻译系统,它用于验证使用向量化词汇表示的神经网络预调序模型对于翻译结果的影响。

本文中使用的稀疏特征包括词汇特征,词性标记,词与词之间距离,词与词之间依存句法关系等。

对神经网络模型,我们使用的词汇向量表示的长度是100,神经网络输入层的窗口大小是5,中间隐含层的长度是50。在学习的过程中,初始的学习率设置为0.1,并随着训练的进行逐渐减小。我们在单语数据上学习词汇向量的方法是按照Mikolov等[14]的方法实现的,并使用AdaptiveGradient方法加速训练过程。我们的实验中,中文和日文是源语言,因此我们只需对中文和日文的表示进行学习。对中文和日文,我们都只保留词汇表中最高频的50万个词。对于词汇n元,我们采用长度为64的低维表示;我们对单语语料中频率高于50的2—4元学习低维表示,其中中文约有1.2亿个n元,而日文有0.6亿个n元。

对于使用预调序的系统,我们会在未预调序的系统上进行词对齐,在此基础上训练预调序模型;预调序模型训练好后,我们用它对整个训练语料的源语言进行预调序,然后再在调整之后的双语句对上进行词对齐,翻译模型抽取等工作。这样,我们能保持训练和测试时使用的翻译模型的一致性,从而取得更好的效果[10]。我们的词对齐是使用GIZA++[18]生成的IBM-4词对齐,使用grow-diag-final[1]的启发式规则进行双向合并。由于自动生成的词对齐有噪声,会影响预调序模型的训练,我们手工定制了一些规则去除了关于一些停用词 (如“the”等) 的对齐。

5.3 机器翻译实验结果

我们在中英和日英的数据集上进行了实验,实验结果的评测采用大小写无关的BLEU-4[19]作为评价标准(表1、表2)。我们用“NoPR”表示没有使用需调序的翻译系统,“SparsePR”表示只使用稀疏特征预调序的翻译系统,“NNPR”表示基于神经网络预调序的翻译系统。

表1 中文到英文翻译结果

表2 日语到英语翻译结果

可以看出,我们提出的预调序方法在两种语言都比未使用预调序的翻译系统取得了显著的提高。

在日英数据集上,使用神经网络的预调序模型和只使用稀疏特征的模型相比取得了相当的结果;而在中英数据集上,神经网络的预调序模型比只使用稀疏特征的模型相比有一定的提高。出现这种现象的原因是,日英间的调序主要由语法决定,这些语法信息在词性标记等特征上已经得到了一定的体现;而对于中英文间的翻译,调序更依赖于一些词汇化的模式,神经网络模型使用的向量化的词汇表示能够发现这些模式之间的相似性,从而能更好的推广到测试数据上。

5.4 预调序结果的衡量

除了机器翻译的结果,我们想衡量预调序在调整语序这个任务上的性能。为此,我们采用源语言和目标语言间的词对齐交叉连接数进行评价。调序过的源语言与目标语言的语序越一致,他们之间的词对齐交叉连接数就应该越小,说明预调序的效果越好。由于自动生成的词对齐可能会有错误,我们在中英和日英的数据集上各选择了500个句对进行了词对齐标注,然后在这500个句对上进行测试。

从表3、表4中可以看出,预调序能帮助减少词对齐的交叉连接数。在日英数据集上,预调序对于语序的改善非常明显。在中英数据集上,预调序也取得了一定的效果,并且基于神经网络的预调序模型比基于稀疏特征的预调序模型取得了更好的效果。这些实验结果与机器翻译性能的实验结果的趋势是一致的: 词对齐交叉连接数较小的系统,翻译性能会相对好一些。

表3 中文到英文词每个句对对齐交叉连接数平均值

表4 日文到英文词每个句对对齐交叉连接数平均值

5.5 与其他预调序方法的比较

预调序看作线性排序(LO)问题外,还可以被形式化为非对称旅行商(ATS)问题[12]或一般排序(Ranking)问题[11]。在这里,我们实现了基于稀疏特征的非对称旅行商方法和一般排序方法的预调序系统,实验结果如表5和表6所示。

表5 中文到英文不同预调序方法比较

表6 日语到英语不同预调序方法比较

从实验结果中我们发现,不同形式化的预调序模型的结果非常接近。在日文到英文的实验中,三种采用稀疏特征的预调序模型和神经网络的预调序模型的结果相当;在中文到英文的实验中,三种采用稀疏特征的预调序模型结果相当,而使用神经网络的线性排序模型结果好于只采用稀疏特征的模型。这说明在我们的实验中,预调序模型的不同形式化在输入特征相同的情况下效果区别不大。

5.6 预训练的作用

神经网络模型的一个优势是能通过预训练,自动的从单语数据中学习特征表示。为了验证单语数据预训练的作用,我们在中文到英文上做了对比实验。在对比实验中,我们随机的初始化词汇和词汇n元的低维表示,并直接在双语数据上进行模型训练(表7)。

表7 词汇表示预训练的作用

实验结果表明,如果不做预训练,神经网络模型相较使用稀疏特征的线性模型并没有显著的优势。我们认为这是由于我们的神经网络模型采用了词汇和词汇n元的低维表示,它们数量巨大,只用双语数据的源语言部分很难对他们进行准确的估计;而通过在单语数据的训练,我们能更好的利用低频n元和高频n元的相似性,从而得到更好的效果。

为了进一步说明这一点,我们展示几个词汇n元在低维空间中的最近邻的方式。表8列出了几个词汇n元在词汇空间中的最近邻。由于这些词汇n元在双语数据中出现次数很少,直接从双语数据学习的低维表示不能很好的对它们进行聚类。但由于我们使用了大量的单语数据进行预训练,这些低频n元仍然能被很好的聚类。例如,对低频二元“卡伊达 组织”,我们可以发现它与相对高频的“基地 组织”非常接近;神经网络的预调序模型能够利用这样的相似性,避免了将这个专有名词在预调序时切割开来,而基于稀疏特征的模型没有这样的信息,难以对这样的情况进行正确处理。

表8 词汇n元在低维空间中的最近邻

6 结论

本文提出了一种基于神经网络的统计机器翻译预调序模型。本方法利用神经语言模型的方法,从未标注文本学习词汇的向量表示,然后利用一个多层神经网络,将这个词汇表示和其他特征结合起来,融入到一个线性排序的模型中。在中文到英文以及日文到英文的实验结果表明,相比于基准系统,本文提出的基于神经网络的预调序模型能显著提高机器翻译系统性能。

沿着现在的方向,我们在将来打算探索短语的向量表示方法,以及这种表示对机器翻译预调序的作用。此外,我们计划考察在基于句法系统中本文的方法的表现,以及研究如何对更加抽象的语法树片段进行向量表示的学习。

[1] Philipp Koehn,Franz Josef Och,Daniel Marcu. Statistical phrase-based translation[C]//Proceedings of the 2003 Conference of the North American Chapter of the Association for Computational Linguistics on Human Language Technology.2003,1: 48-54.

[2] Deyi Xiong,Qun Liu,Shouxun Lin. Maximum entropy based phrase reordering model for statistical machine translation[C]//Proceedings of the 21st International Conference on Computational Linguistics and the 44th annual meeting of the Association for Computational Linguistics.2006: 521-528.

[3] David Chiang. A hierarchical phrase-based model for statistical machine translation[C]//Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics.2005: 263-270.

[4] Yang Liu,Qun Liu,Shouxun Lin. Tree-to-string alignment template for statistical machine translation[C]// Proceedings of the 21st International Conference on Computational Linguistics and the 44th annual meeting of the Association for Computational Linguistics.2006: 609-616.

[5] Roy Tromble,Jason Eisner. Learning linear ordering problems for better translation[C]//Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing.2009,1: 1007-1016.

[6] Yoshua Bengio,Holger Schwenk,Jean-Sébastien Senécal,et al. Neural probabilistic language models[J]. Innovations in Machine Learning,2006,194: 137-186.

[7] 冯洋,张冬冬,刘群. 层次短语翻译模型的介词短语调[J]. 中文信息学报,2012,26(1): 31-37.

[8] 肖欣延,刘洋,刘群,林守勋. 面向层次短语翻译的词汇化调序方法研究[J]. 中文信息学报,2012,26(1): 37-41.

[9] Michael Collins,Philipp Koehn,Ivona Kucerova. Clause restructuring for statistical machine translation[C]//Proceedings of the 43rd annual meeting on association for computational linguistics.2005: 531-540.

[10] Peng Xu,Jaeho Kang,Michael Ringgaard,et al. Using a dependency parser to improve SMT for subject-object-verb languages[C]//Proceedings of human language technologies: The 2009 annual conference of the North American chapter of the association for computational linguistics.2009: 245-253.

[11] Nan Yang,Mu Li,Dongdong Zhang et al. A ranking-based approach to word reordering for statistical machine translation[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics.2013,1: 912-920.

[12] Karthik Visweswariah,Rajakrishnan Rajkumar,Ankur Gandhe,et al. A word reordering model for improved machine translation[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing.2011: 486-496.

[13] Peng Li,Yang Liu,Maosong Sun. Recursive Autoencoders for ITG-based Translation[C]//Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing.2013: 567-577.

[14] Ronan Collobert,Jason Weston,Léon Bottou,et al. Natural language processing (almost) from scratch[J]. The Journal of Machine Learning Research 2011,12(1): 2493-2537.

[15] Tomas Mikolov,Ilya Sutskever,Kai Chen,et al. Distributed representations of words and phrases and their compositionality[C]//Proceedings of Advances in Neural Information Processing Systems,2013: 3111-3119.

[16] Dekai Wu. Stochastic inversion transduction grammars and bilingual parsing of parallel corpora[J]. Computational linguistics,1997: 377-403.

[17] Franz Josef Och,Hermann Ney. GIZA++: Training of statistical translation models[Z]. 2000.

[18] Kishore Papineni,Salim Roukos,Todd Ward,et al. BLEU: a method for automatic evaluation of machine translation[C]//Proceedings of the 40th annual meeting on association for computational linguistics.2002: 311-318.

[19] Slava Katz. Estimation of probabilities from sparse data for the language model component of a speech recognizer[J]. IEEE Transactions on Acoustics,Speech and Signal Processing,1987,35(3): 400-401.

A Neural Pre-reordering Model for Statistical MT

YANG Nan1,LI Mu2

(1. School of Information Science and Technology,University of Science and Technology of China,Hefei,Anhui 230026,China;2. Microsoft Research Asia,Beijing 100080,China)

Long distance reordering is a major challenge in statistical machine translation. Previous work has shown that pre-reordering is a promising way to tackle this problem. In this work,we extend this line of research and propose a neural network based pre-reorder model,which integrates neural network modeling into a linear ordering framework. The neural network based model can leverage syntactic and semantic information extracted from unlabeled data to predict the word order difference between languages. Experiments on Chinese-English,and Japanese-English machine translation tasks show the effectiveness of our approach.

statistical machine translation; pre-reorder; neural network

杨南(1985—),博士,主要研究领域为统计机器翻译,自然语言处理,深度学习。E⁃mail:nyang.ustc@gmail.com李沐(1972—),博士,主要研究领域为统计机器翻译,自然语言处理,深度学习。E⁃mail:muli@microsoft.com

2014-04-07 定稿日期: 2014-08-10

1003-0077(2016)03-00103-08

TP391

A

猜你喜欢

源语言语料排序
基于归一化点向互信息的低资源平行语料过滤方法*
作者简介
恐怖排序
林巍《知识与智慧》英译分析
节日排序
浅析日语口译译员素质
以口译实例谈双语知识的必要性
《苗防备览》中的湘西语料
从目的论角度看《红高粱》中文化负载词的翻译
国内外语用学实证研究比较:语料类型与收集方法