Artetxe - 2019ACL - An Effective Approach to Unsupervised Machine Translation


本文首先通过跨语言嵌入构建初始短语表,然后,通过合并子词信息来扩展此初始短语表,以解决先前无监督SMT系统的主要限制之一。然后对SMT系统进行微调。最后,我们使用改进的SMT系统来初始化双NMT模型,并通过即时反向翻译进一步调整。

文章链接:

An Effective Approach to Unsupervised Machine Translation

知识点

摘要

虽然机器翻译传统上依赖大量的并行语料库,但最近的一个研究项目成功地利用单语语料库训练了神经机器翻译(NMT)和统计机器翻译(SMT)系统。在这篇论文中,我们通过开发子单词信息、开发一个理论上很有基础的非监督调优方法以及合并一个联合优化过程来识别和解决现有的非监督SMT方法的几个不足之处。此外,我们使用改进的SMT系统来初始化双NMT模型,可以通过即时反向翻译进一步调整。 总之,我们在无监督机器翻译方面比以前的最新技术有了很大的改进。例如,在2014年英语到德语的WMT中,我们获得22.5个BLEU积分,比以前的最佳无监督系统高5.5分,比2014年(有监督)的共享任务获胜者高0.5点。

引言

最新出现的seq2seq模型在机器翻译领域取得了重大进展,在标准基准方面取得了巨大的进步,并且在某些情况下首次提出了人类对等的主张。不幸的是,这些系统依赖大量的并行语料库,而这些语料库仅适用于几种主要语言的语料库组合例如英语,德语和法语。

为了消除对并行数据的依赖,最近的一个研究项目已经成功地使用单语语料库来训练无监督机器翻译系统。第一个这样的系统是基于神经机器翻译(NMT),并结合去噪自编码和反向翻译,以训练使用跨语言嵌入初始化的对偶模型。然而,这些早期系统后来被基于统计机器翻译(SMT)的方法所取代,后者通过跨语言嵌入映射生成了初始短语表,将其与n-gram语言模型结合在一起,并通过迭代回译进一步改善了系统 。如《Unsupervised statistical machine translation》(2018EMNLP)、《Phrase-based & neural unsupervised machine translation》(face3)两文中提出的方法。

在本文中,我们开发了一种用于无监督SMT的更加原则化的方法,通过合并子词信息,应用理论上完善的无监督调整方法和开发联合优化程序来解决先前系统的一些缺陷。 除此之外,我们使用改进的SMT方法来初始化无监督的NMT系统,并通过即时反向翻译进一步改进了该系统。

本文的其余部分安排如下:

  1. 第2节首先讨论该主题中的相关工作。
  2. 第3节描述我们的原则性无监督SMT方法。
  3. 第4节讨论了我们与NMT的杂交方法。
  4. 第5节介绍实验结果。
  5. 第6节总结全文。

本文无监督方法

基于短语的SMT被公式化为几种统计模型的对数线性组合:翻译模型,语言模型,重新排序模型和单词/短语惩罚模型。因此,构建无监督的SMT系统需要从单语语料库中学习这些不同的组件。事实证明,对于大多数人来说,这很简单:语言模型是根据定义从单语语料库中学习的;单词和短语的惩罚是无参数的;而且可以以很小的代价放弃标准词法重排模型,而仅使用失真模型也可以,而失真模型也是无参数的。这样,剩下的挑战就是学习翻译模型,也就是说,建立词组表。

我们提出的方法首先通过跨语言嵌入映射(第3.1节)构建初始短语表。 然后,通过合并子词信息来扩展此初始短语表,以解决先前无监督SMT系统的主要限制之一(第3.2节)。完成此操作后,我们通过一种新颖的无监督调整程序(第3.3节)来调整基础对数线性模型的权重。 最后,我们通过共同改进两个相反方向的模型来进一步完善系统(第3.4节)。

3.1 Initial phrase-table(初始化短语表)

为了建立我们的初始短语表,我们使用《Unsupervised statistical machine translation》(2018EMNLP)文中的方法。并分别为每种语言学习n-gram嵌入,通过自我学习将它们映射到共享空间,并使用生成的跨语言嵌入来提取和评分短语对。

更具体地讲,我们使用phrase2vec训练 n-gram嵌入,一个简单的skip-gram扩展,它将Mikolov et al. (2013)的标准负抽样损失应用于双语法上下文和三语法上下文对,以及通常的单词上下文对。我们使用VecMap将嵌入映射到跨语言空间,并使用《A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings》(2018ACL)一文中的初始化方法,它通过对齐相同的单词构建初始解决方案,并通过自学习迭代地改进它。最后,我们通过获取每个源短语的100个最近邻来提取翻译候选词,并对它们的余弦相似度应用softmax函数对它们进行评分:
在这里插入图片描述
其中,温度τ是使用在反向方向上引出的字典上的最大似然估计来估计的。除了在两个方向上的短语翻译概率外,通过将目标短语中的每个单词与最有可能生成它的源短语中的每个单词对齐,并将它们各自的翻译概率相乘,来估计正向和反向词汇权重。更多细节看《Unsupervised statistical machine translation》(2018EMNLP)。

3.2 Adding subword information(添加子词信息)

现有无监督SMT系统的固有局限性是将单词视为原子单位,从而无法利用字符级信息。这反映在这些模型翻译命名实体的已知困难中,因为仅基于分布信息来区分相关专有名词是非常具有挑战性的,从而产生翻译错误,例如“Sunday Telegraph” !翻译为 “The Times of London” (《Unsupervised statistical machine translation》文中的例子)。

为了克服这个问题,我们建议在单词/短语级别完成初始对齐后就合并子单词信息。为此,我们在初始短语表中增加了两个附加权重,它们类似于词法加权,但是使用字符级相似度函数代替了单词翻译概率:
在这里插入图片描述
ϵ = 0.3 \epsilon = 0.3 保证了最低的相似度分数,因为我们想要在字符级别上相似的翻译候选词而不过分惩罚那些不相似的。在我们的例子中,我们使用一个简单的相似函数通过单词的长度len(·)来规范Levenshtein distance lev(·)。
在这里插入图片描述
我们把对更详细的相似函数的探索,特别是可学习的度量留到以后的工作中。

3.3 Unsupervised tuning(非监督微调)

在独立地训练了基础统计模型之后,SMT调优的目标是调整它们的最终对数-线性组合的权重,以优化一些评估指标,如并行验证语料库中的BLEU,这通常是通过最小错误率训练或MERT来完成的。不用说,这在严格的无监督环境下是做不到的,但我们认为,优化一些与测试性能相关的无监督标准仍然是可取的。不幸的是,现有的无监督SMT系统都没有这样做:《Unsupervised statistical machine translation》 (2018EMNLP)使用启发式方法在相反方向建立两个初始模型,使用其中一个通过反向翻译生成合成的平行语料库。并应用MERT在相反的方向上调整模型,直到迭代收敛为止。而 《Phrase-based & neural unsupervised machine translation》(face3)不执行任何调优。在接下来的部分中,我们提出了一种更有原则的优化方法,该方法定义了一个无监督准则和一个优化过程,该优化过程保证收敛到局部最优。

CycleGANs和**对偶学习(dual learning)**的鼓舞,我们的方法采用相反方向的两个初始模型,并定义了一个无监督的优化目标,该目标结合了两个单语言语料库E和F上的循环一致性损失和语言模型损失:
在这里插入图片描述
循环一致性损失体现了一种直觉,即译文应该接近原文。为了量化这一点,我们取源语言中的单语语料库,将其翻译成目标语言再翻译回源语言,并以原文为参考计算其BLEU分数:
在这里插入图片描述
与此同时,语言模型的损失抓住了机器翻译应该产生流利的目标语言文本的直觉。为此,我们使用n-gram语言模型估算目标语言语料库中的每个单词熵,并对机器翻译文本中较高的每个单词熵进行惩罚,如下所示
在这里插入图片描述
长度惩罚 LP = LP(E) · LP(F)用来惩罚过长时间的翻译:
在这里插入图片描述
为了最小化组合损失函数,我们采用MERT来共同优化两个模型的参数。在其基本形式中,MERT通过一个n-best列表逼近每个源语句的搜索空间,并通过高效的线性搜索方法计算每个参数的最优值,贪婪地采取步骤获得最大的收益,从而执行一种坐标下降形式。该过程重复迭代,直到收敛,在每次迭代中使用更新的参数对n-best列表进行扩充,以获得对整个搜索空间更好的近似。鉴于我们的优化目标结合了两个翻译系统 T F E ( T E F ( E ) ) T_{F\rightarrow E}\left ( T_{E\rightarrow F} \left ( E \right )\right ) ,这将需要首先为 T E F ( E ) T_{E\rightarrow F} \left ( E \right ) 生成一个n-best列表,并为其中的每个条目生成一个新的带有 T F E T_{F\rightarrow E} 的n-best列表,生成一个包含 N 2 N^{2} 个元素的n-best列表。为了提高效率,我们提出了一种交替优化方法,即固定一个模型的参数,用标准MERT对另一个模型进行优化。因此,我们不需要扩展固定模型的搜索空间,因此我们可以仅对N个条目的n-best列表进行处理。 完成此操作后,我们将固定相反模型的参数,并优化另一个模型的参数,直到迭代收敛为止。

3.4 Joint refinement(联合优化)

由于缺少平行语料库,到目前为止所描述的过程进行了重要的简化,这可能会影响其潜在的性能:它的短语表有点不自然(例如,翻译概率是通过跨语言嵌入估计的,而不是实际的频率计数),而且它完全缺乏词汇重新排序模型。为了克服这个问题,现有的无监督SMT方法通过反向翻译生成一个合成的平行语料库,并使用它从零开始训练一个标准的SMT系统,迭代直到收敛。

这种方法的一个明显的缺点是,反译方会包含不符合语法的n-gram,这些n-gram最终会出现在诱导短语表中。有人可能会说,只要源文件中有不符合语法的n-gram,这应该是无害的,因为它们不应该出现在真正的文本中,因此它们在短语中相应的条目不应该被使用。然而,不符合语法的源短语最终会影响后向翻译概率的估计,包括语法短语的反向翻译概率。例如,我们假设目标短语“dos gatos”与“two cats”对齐了10次,与“two cat”对齐了90次。虽然不应该选择不符合语法的短语表条目two cat- dos gatos,但是对two cats- dos gatos的后向概率估计仍然受到它的影响(在本例中是0.1而不是1.0)。

我们认为,最终,后向概率估计只有在所有源短语都符合语法的情况下才有意义(所以所有可信翻译的概率之和为1),同样,前向概率估计只有在所有目标短语都符合语法的情况下才有意义。根据这一观察结果,我们提出了一种联合改进两个翻译方向的替代方法。更具体地说,我们使用初始系统建立两个相反方向的合成语料库。这样做之后,我们从每个合成语料库中独立提取短语对,并通过取它们的交集来构建短语表。
在有合成源侧的并行语料库中估计前向概率,在有合成目标侧的并行语料库中估计后向概率。这不仅保证了概率估计如前所述是有意义的,而且还彻底抛弃了不符合语法的短语,因为源和目标n-gram必须出现在原始的单语文本中,才能出现在结果的短语表中。上述过程重复3次进行迭代。

NMT hybridization(NMT杂交)

虽然SMT的刚性和模块化设计为无监督机器翻译提供了一个非常合适的框架,但NMT在有监督的环境中已被证明是一个相当优秀的范例,在标准基准测试中大大优于SMT。同样,选择SMT而不是NMT也对这些方法的潜在性能施加了一个严格的限制,因为非监督的SMT系统继承了与它们的监督对手相同的限制(例如局部性和稀疏性问题)。出于这个原因,我们认为SMT提供了一个更合适的体系结构来发现语言之间的初始一致性,但是NMT最终是一个建模翻译过程的更好的体系结构。

根据这一观察,我们提出了一种混合方法,该方法使用无监督的SMT来预热通过迭代反向翻译训练的双重NMT模型。更具体地讲,我们首先按照第3节中的描述在相反的方向训练两个SMT系统,然后使用它们来帮助在相反的方向训练另外两个NMT系统。这些NMT系统是按照迭代过程进行训练的,在迭代过程中,我们在每个方向上 通过 在反向翻译构建的合成平行语料库上 执行一次遍历来交替更新每个方向上的模型。在第一次迭代中,合成平行语料库完全由SMT系统在相反的方向上生成,但是随着训练的进行和NMT模型的改进,我们逐渐切换到由反向NMT模型生成的合成平行语料库。更具体地说,迭代t使用来自反向SMT系统的
在这里插入图片描述
合成并行语句,参数 a 控制从SMT到NMT回译的转换迭代次数。剩余的 N N s m t N-N_{smt} 句由反向NMT模型生成。受Edunov等人启发。 ,我们对其中的一半使用贪心解码,这会产生更流畅和可预测的翻译,对另一半使用随机采样,会产生更多变化的翻译。在我们的实验中, N = 1 000000 和 a = 30,并且总共执行60次这样的迭代。在测试时,我们将波束搜索解码与每10次迭代中所有检查点合在一起使用。

实验结果

在这里插入图片描述
结果是相当的好啊,曾经以为这个人是水文章的,没想到是位大神啊,失敬失敬!

结论和未来工作

在这篇文章中,我们发现了之前的无监督SMT系统的几个不足之处,并提出了一种更有原则的方法,通过合并子单词信息、使用理论上有良好基础的无监督调优方法和开发联合优化过程来解决这些问题。除此之外,我们使用改进的SMT方法来初始化一个双NMT模型,这个模型将通过即时回译进一步改进。

将来,我们希望探索可学习的相似性函数,例如(McCallum et al。,2005)提出的相似性函数,以计算初始短语表中的字符级得分。除此之外,我们希望像 He et al. (2016) 一样,在NMT训练期间考虑语言模型的损失。最后,我们希望将我们的方法调整为使用多种语言和/或小型并行语料库的更轻松的场景。

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

猜你喜欢

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