wenxuegeng 2018-12-10
ACL 2018 Student Research Workshop
基于递归神经网络的英日机器翻译预排序
Recursive Neural Network Based Preordering for English-to-Japanese Machine Translation
大阪大学
Osaka University
本文是大阪大学发表于 ACL 2018 的工作,我们采用递归神经网络的从原始输入学习特征,为机器翻译的源目语言语序排列提出了一个预排序方法。实验表明,该方法在不使用人工特征设计的情况下,在翻译质量上高于现有方法。
统计机器翻译(SMT)中,源语和目标语之间的语序对翻译质量有显著影响。为了解决这一问题,本文提出了在译码中调整译码顺序的模型。然而,这样的重新排序模型不能很好地执行远程重新排序。此外,它们的计算成本是昂贵的。为了解决这些问题,研究者们已经提出了预排序和后序模型。在翻译之前,预排序对源语句进行重新排序,在翻译之后,后排序对翻译的语句进行重新排序,而不考虑翻译后的词序。预排序有效地提高了翻译质量,因为它解决了远程重新排序和计算复杂性问题。
基于规则的预排序方法需要对每个语言对进行手动特征设计,代价高昂。因此,本文提出了一种基于递归神经网络的无需人工特征设计、利用子树信息的预排序方法。RvNN在源句法树中以自下而上的方式(从叶节点到根)重新排序,遍历整个子树。RvNN通过学习子树和语法类别的向量表示对句法树的节点进行重新排序。我们使用基于短语的SMT(PBSMT)和神经MT(NMT)方法对所提出的英译日方法进行评价。结果证实,所提出的方法达到了与需要手动特征设计的最新预排序方法相当的翻译质量。
2 模型
接下来我们首先讲述如何获得黄金标准标注,然后讲RvNN如何进行预排序。
预排序的黄金标准标注我们通过标记源句法树中的每个节点是否已经根据目标语句对子节点进行重新排序,创建了用于预排序的训练数据。标签通过以下方法进行计算。
其中y是与源词对齐的目标词索引的向量。
的值在[-1, 1 ]中。当它是1时,这意味着Y的序列是完全上升的顺序,即目标句子在词对齐方面与源句具有相同的词序。在每个节点,如果通过重新排序子节点
会增加,则分配“Inverted”标签;否则,分配“Straight”标签,这意味着不需要重新排序子节点。当子节点的源词没有对齐时,分配一个“Straight”标签。
预排序模型RvNN在一个二叉句法树的基础上进行构建。它预测在每个节点上节中确定的标签。RvNN通过分析子树来决定是否重新排序子节点。子树的向量是从叶节点以自下而上的方式计算的。下图显示了一个英语句子“My parents live in London.”的预排序的例子。
在对应“live in London”的VP节点,它的子节点对应于“live”和“in London”,节点的向量由下式计算。
其中f是整流器,
是权重矩阵,pl和pr分别是左右子节点的向量表示。[·;·]表示两个向量的级联。
是输出层的一个权重矩阵,b,
是偏差。由上式计算的
是每个标签的权重向量,它被输入softmax函数以计算“Straight”和“Inverted”标签的概率。叶节点计算公式如下。
其中,
是具有n个词汇量的输入单词的one-hot向量,
是嵌入矩阵,而
是其偏差。损失函数是由下式定义的交叉熵。
其中θ是模型的参数,n是句法树
的节点,K是批处理大小,
是批处理中第k个句法树中的第n个节点的标签。使用POS标签和句法类别的模型,按下式计算。
其中
代表POS标签或句法类别的向量,
是权重矩阵,
是其偏差。
的输入是POS标签或节点句法类别的one-hot向量。
我们使用APEC语料库进行了日语翻译实验。该语料库提供3M个句子对作为训练数据,1790个句子对作为开发数据,1812个句子对作为测试数据。我们使用Stanford CoreNLP进行tokenization和POS标记,使用Enju进行英语解析,使用MeCab进行日语tokenization。对于词对齐,使用MGIZA。使用IBM模型和隐马尔可夫模型计算源到目标和目标到源的词对齐,并将它们与交叉启发式跟随相结合。
本文使用Chainer实现了RvNN预排序模型。ASPEC语料库使用Utiyama和Isahara在2007年提出的句子对齐方法创建,并基于对齐置信度得分进行排序。在本文中,我们从顶部500 K句子中挑选100K句子作为训练数据进行预排序。词汇表大小N被设置为50k。本文使用Adam进行权重衰减和梯度下降优化。批量大小K设置为500。我们使用1.8M的源语句和目标语句作为机器翻译训练数据,排除了部分长度大于50个单词或源与目标长度之比大于9的句子对。
本文将我们的模型与Nakagawa提出的状态预排序方法进行比较,该方法在下文中称为BTG。
下图展示了本文预排序模型的学习曲线,其中=200。训练和开发损失均降低到2个epochs。然而,开发损失在3个epochs之后开始增加。因此,将epochs数设置为5,我们选择具有最低开发损失的模型。采用该模型对翻译评价中的源句进行预排序。
其次,本文研究了La的影响。下表展示出了具有不同La值的BLEU分数,以及没有预排序的BLEU分数。
下表显示PBSMT和NMT对1.8M句子对的整个训练数据进行训练的测试集的BLEU和RIBES分数。利用RvNN和BTG对使用预排序语句的SMT系统进行训练,其失真极限被设置为0,而没有预排序的SMT系统的失真极限被设置为6。与未经预排序的纯PBSMT相比,BLEU和RIBES随着RvNN和BTG的预排序而显著增加。这些评分在RvNN和BTG之间具有可比性(P<0.05),表明该方法达到了与BTG相当的翻译质量。与PBSMT的情况相比,没有预排序的NMT比具有RvNN和BTG预排序的NMT模型获得更高的BLEU分数。我们假设一个原因是预排序模型和NMT模型之间的隔离,其中两个模型都是使用独立的优化函数进行训练的。未来我们考虑使用一个模型统一单一的模型中的预排序和翻译。
下图显示了Kendall在原始训练数据中的分布以及RvNN和BTG预排序后的分布。在RvNN的情况下,Kendall的
的比率大大增加,这表明所提出的方法正确地学习了预排序。此外,RvNN的高Kendall比值大于BTG,表明RvNN的预排序优于BTG。
我们还手动调查了预排序和翻译结果,发现本文模型都改进了。下表展示了PBSMT的一个成功的预排序和翻译示例。语序在源句和参照句之间有显著的差异。在预排序之后,源句和参考句之间的词序变得相同。
由于RvNN依赖于句法分析,解析错误的句子一般在预排序中就会失败。例如,下图中的(1811)短语被错误地分成两个短语。因此,预排序效果才会不好。
下表显示了上图中句子的预排序和翻译示例。与没有预排序的翻译相比,预排序后的翻译质量提高了。
本文提出了一种无需手动特征设计的机器翻译预排序方法,实验证明该方法达到了与需要手动特征设计的现有预排序方法相当的翻译质量。未来作者计划开发一个模型,共同解析和预排序源句。此外,我们计划将预排序整合到NMT模型中去。
论文下载链接:
http://aclweb.org/anthology/P18-3004