Unsupervised Pivot Translation for Distant Languages


这是2019年ACL的一篇文章,是一个微软的实习生写的。文章主要解决远距离语言的翻译问题,是先将源语言先翻译为中间语言,然后再由中间语言翻译到目标语言,中间语言可以有多个。其实这种思想在其他文章中就有用到,但本文的创新之处在于用LSTM来预测翻译路径(翻译路径众多,必须选一条最优的),并取得了不错的效果。

论文点

  1. 远距离语言的翻译问题,先将源语言先翻译为中间语言,然后再由中间语言翻译到目标语言,中间语言可以有多个。
  2. 用LSTM来预测最佳翻译路径。

摘要

无监督神经机器翻译(NMT)最近引起了很多关注。尽管最新的无监督翻译方法通常在相似的语言(例如英语-德语翻译)之间表现良好,但它们在遥远的语言之间却表现不佳,因为无监督的对齐方式对于遥远的语言并不适用。在这项工作中,我们介绍了无监督的枢轴平移语言,可通过多跳将一种语言翻译成远距离语言,并且每跳上的无监督翻译比原始直接翻译相对容易。我们提出了一种LTR( learning to route)的方法来选择源语言和目标语言之间的翻译路径。LTR在其最佳翻译路径可用的语言对上进行培训,并应用于看不见的语言对以进行路径选择。在20种语言和294种远距离语言对上进行的实验证明了无监督的远距离语言枢轴翻译的优势,以及所提出的LTR在路径选择方面的有效性。具体而言,在最佳情况下,LTR与常规直接的无监督方法相比提高了5.58 BLEU点。

引言

我们观察到两种遥远的语言可以通过多个中间跃点链接,其中,考虑到每个中间跃点上的两种语言更相似,或者说单语训练数据更大,在每种跃点上两种语言的无监督翻译比两种遥距语言的直接翻译更容易。 因此,我们建议通过多个跃点来实现远程语言的无监督中枢翻译,其中每个跃点由相对简单的语言对的无监督翻译组成。例如,丹麦-加利西亚语这对遥远的语言可以由三种更简单的语言来翻译:丹麦-英语、英国-西班牙语和西班牙-加利西亚语。这样,在我们的实验中,与从丹麦语到加利西亚语的直接无监督翻译(6.56 BLEU评分)相比,无监督的枢轴翻译的准确性更高(12.14 BLEU评分)。

无监督枢轴翻译的挑战是如何选择良好的翻译路径。在给定较远的语言对X-Y的情况下,存在大量可以从X转换为Y的路径,并且不同的路径可能会产生非常不同的翻译精度。因此,如果选择了一条较差的路径,那么无监督枢轴翻译可能会比直接无监督翻译的精度低。如何选择具有良好翻译精度的路径对于确保无监督枢轴翻译的性能很重要。

一种简单的方法是计算验证集上所有可能路径的转换精度,并选择最准确的路径。但是,由于存在大量可能的路径,因此在计算上难以承受。我们提出了一种 LTR 方法,该方法采用一个路径精度预测器(一个多层LSTM)来为一个远程语言对选择一个好的路径。给定翻译路径和路径上每一跳的翻译精度,路径精度预测器可以预测沿该路径的整体翻译精度。这种预测器首先在已知总体精度的路径训练集上进行训练,然后用于预测未知路径的精度。我们在一个包含20种语言和总共294种遥远语言对的大型数据集上进行了实验,以验证该方法的有效性。
我们提出的LTR在某些语言对上实现了超过5个BLEU点的改进。

本文的贡献如下:

  1. 我们将枢轴翻译引入无人监督的NMT中,以提高远距离语言的准确性。
  2. 我们提出了LTR方法来自动选择良好的翻译路径。
  3. 在20多种语言和294种遥远的语言对上进行的大规模实验证明了我们方法的有效性。

相关工作

大部分工作已经在前面讲过了,文中提到了MASS模型,该模型在无监督机器翻译中取得了很好的效果,有时间建议时间看一下。

文章链接:

MASS: Masked Sequence to Sequence Pre-training for Language Generation

Unsupervised Pivot Translation

文中大部分使用的是3跳。

Learning to Route(LTR)

在本节中,我们首先对问题进行描述,然后介绍用于LTR的训练数据、特征和模型。

Problem Formulation

我们将路径选择公式转化为翻译精度预测问题。LTR模型会根据给定的路径中每个跃点的翻译准确度来学习预测从语言X到Y的每条路径的翻译准确度,并在所有可能的路径中选择具有最高预测翻译精度的路径作为输出。

Training Data

我们按照以下步骤构建LTR模型的训练数据:

  1. 从M语言中,选择源语言和目标语言不在同一语言分支中的远距离语言对。
    然后,我们选择远程语言对的一小部分分别作为LTR的开发/测试集,并将其余部分作为LTR的训练集。
  2. 为了获得遥远语言对的不同翻译路径的准确性,以及获得LTR的输入特征,
    我们为任何语言之间的翻译训练了无监督模型,并获得了每对语言的BLEU分数。
    对于M种语言,总共有M(M − 1)种语言对和BLEU分数,这需要M(M − 1)/ 2个无监督模型,因为一个模型可以按照无监督NMT的常规做法处理两个翻译方向
  3. 然后,根据之前步骤中训练的模型,测试开发和测试集中语言对的每种可能翻译路径的BLEU分数。这些BLEU分数被视为评估无监督枢轴翻译性能的真实数据。
  4. 我们仅获得可能路径中一小部分的BLEU分数,在训练集中用作LTR模型的训练数据。

我们将在下一段中描述训练数据的特征。

Features

我们从训练数据的路径中提取了几个特征,以进行更好的模型训练。通常,我们采用三跳路径,以X \rightarrow Z1 \rightarrow Z2 \rightarrow Y为例,并将其视为由语言和一跳组成的标记序列: X, X \rightarrow Z1, Z1, Z1 \rightarrow Z2, Z2, Z2 \rightarrow Y and Y。对于token序列,我们考虑两种特征:

  1. token ID

    上面显示的路径中总共有7个token。每个tokenID都会转换为可训练的嵌入。对于像Z1 \rightarrow Z2这样的单跳token,其嵌入只是Z1和Z2两嵌入的平均值。

  2. 每种语言和一跳的BLEU得分

    我们通过来 自于这种语言和到这种语言 的 单跳平均准确率 来获得每一种语言的BLEU得分。例如X \rightarrow Z1中目标语言Z1的BLEU得分,是 单跳翻译中 所有从其他语言到Z1的BLEU得分的 平均值。而Z1 \rightarrow Z2中源语言Z1的BLEU得分,是 单跳翻译中 所有从Z1到其他语言的BLEU得分的 平均值。对于每种语言和单跳token,我们将上述两个特征组合在一个向量中,并为每种路径获得一系列特征。路径的BLEU分数将用作LTR模型的标签。

Model

我们使用多层LSTM模型来预测翻译路径的BLEU得分。
LSTM模型的输入是上一段中描述的功能序列。
LSTM的最后隐藏部分与一维向量相乘以预测路径的BLEU分数。

对比方法

  1. Random Routing:随机选取一条路径。
  2. Prior Pivoting:根据语种优先度自己设置轴枢语言,本文选取单语数据最多的语言作为轴枢语言。
  3. Hop Average:路径中每一个单跳的平均BLEU得分作为这条路径的预测BLEU得分,我们选择BLEU得分最高的路径。LTR中用的这种方法。

Experiments Design

我们的实验通常包括两个阶段。

  1. 在第一阶段,我们需要在任何两种语言之间训练无监督的NMT模型,以获得每个单跳路径的BLEU分数。通过枢轴,我们还获得了部分多跳路径的BLEU分数,这些分数被用作第二阶段的训练和评估数据。
  2. 在第二阶段,我们根据第一阶段生成的训练数据训练LTR模型。

在本节中,我们将简要介绍无监督NMT模型训练(第一阶段)以及LTR模型训练和路径路由(第二阶段)的实验设置。

发布了52 篇原创文章 · 获赞 7 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_38937984/article/details/102316524