Artetxe - 2018EMNLP - Unsupervised Statistical Machine Translation


这是2018EMNLP上的一篇文章。
基于短语的统计机器翻译用的是文章《Statistical phrase-based translation》中的方法。face3中PBSMT用的也是该文章中的方法。

文章链接:

Unsupervised Statistical Machine Translation

代码链接:

https://github.com/artetxem/monoses

知识点

  1. 提出了一种基于短语的统计机器翻译(SMT)系统。
  2. 用到了n-gram语言模型。
  3. 用到了 Minimum Error Rate Training (MERT) 方法。

MERT方法文章链接:

Minimum Error Rate Training in Statistical Machine Translation

摘要

虽然现代机器翻译依赖于大型并行语料库,但最近的工作已设法仅使用单语种语料库训练神经机器翻译(NMT)系统。尽管这种方法在资源匮乏的环境中具有潜力,但现有系统仍远远落后于有监督的同类系统,从而限制了它们的实际利益。在本文中,我们提出了一种基于短语的统计机器翻译(SMT)系统,大大缩小了与有监督系统的差距。我们的方法受益于SMT的模块化体系结构:我们首先通过跨语言嵌入映射从单语语料库导出一个短语表,将其与n-gram语言模型结合,并通过无监督的MERT变体微调超参数。此外,迭代回译进一步改善了结果,例如,在WMT 2014 English-German和English-French中分别取得14.08和26.22 的BLEU得分,比以前的无监督系统提高了7-10 BLEU点,并且缩小与 有监督SMT(Moses trained on Europarl)的差距到2-5 个BLEU点。

引言

神经机器翻译(NMT)最近已成为机器翻译中的主流。与更严格的统计机器翻译(SMT)架构相反,NMT模型是端到端训练的,利用连续表示减轻了稀疏性问题,并通过使用不受约束的上下文克服了局部性问题。归功于这种额外的灵活性,NMT可以更有效地利用大型并行语料库,尽管在训练语料库不够大的情况下SMT仍然很出色。

有点矛盾的是,虽然大多数机器翻译研究都集中在资源丰富的环境中,其中NMT确实已经取代了SMT,最近的一些工作设法仅依靠单语语料就可以训练NMT系统而无需任何监督。考虑到大多数语言对(包括资源较少的语言,但也包括许多主要语言的组合)缺乏并行语料库,这条研究线为将有效的机器翻译引入更多场景提供了令人兴奋的机会。然而,现有的解决方案仍然远远落后于它们的监督对手,极大地限制了它们的实际可用性。

在本文中,我们探讨了SMT的刚性和模块化性质是否更适合于这些无监督的环境,并提出了一种新颖的无监督的SMT系统,该系统可以仅在单语料上进行训练。为此,我们提出了一种自然扩展的 skip-gram 模型,该模型同时学习单词和短语嵌入,然后通过自我学习将它们映射到跨语言空间。我们使用由此产生的跨语言短语嵌入来生成短语表,并将其与语言模型和基于距离的失真模型相结合,以构建基于标准短语的SMT系统。该模型的权重通过迭代式最小错误率训练变量以无监督的方式进行了调整,并且整个系统通过迭代式回译得到了进一步的改进。该系统的体系结构如图1所示。我们在WMT德语英语和法语英语数据集上的实验证明了我们的建议的有效性,在WMT 2014 English-German和English-French中分别取得14.08和26.22 的BLEU得分,比以前的无监督系统提高了7-10 BLEU点,并且缩小与 有监督SMT(Moses trained on Europarl)的差距到2-5 个BLEU点。

在这里插入图片描述

本文的其余部分结构如下。

  • 第2节介绍了基于短语的SMT。
  • 第3部分介绍了学习跨语言n-gram嵌入的无监督方法,这是我们方法的基础。
  • 第4节介绍了本文所提出的无监督SMT系统。
  • 第5节讨论了通过反向翻译进行迭代优化的方法。
  • 第6节介绍了实验运行和获得的结果。
  • 第7节讨论了与此主题相关的工作。
  • 第8节总结了论文。

背景:基于短语的SMT

虽然最初的动机是作为一个噪声信道模型,但基于短语的SMT现在被表述为几个统计模型的对数线性组合,这些统计模型为翻译候选对象打分。这些评分函数的参数是根据频率计数独立估计的,然后在单独的验证集中调整它们的权重。在推理时,解码器根据得到的组合模型寻找得分最高的翻译候选。标准SMT系统中的具体评分模型如下

Phrase table

短语表是源语言n-gram的集合,以及它们在目标语言中的可能翻译,以及每种翻译的不同得分。为了翻译更长的序列,解码器将这些部分n-gram的翻译组合起来,根据相应的分数和其余的评分函数对得到的候选序列进行排序。为了构建短语表,SMT从一个并行语料库计算两个方向上的单词对齐,使用不同的试探法对这些对齐进行对称,提取一致的短语对集合,并根据频率计数对它们进行评分。为此,标准SMT对每个短语表条目使用4个评分:直接和反向词汇权重(来自词级对齐),以及直接和反向短语翻译概率(在短语级计算)。

Language model

语言模型为目标语言中的单词序列分配一个概率。传统的SMT使用n-gram语言模型,在大型单语语料库上使用简单的频率计数,并进行回退和平滑处理。

Reordering model

重新排序模型考虑了不同语言之间的词序,根据目标语言中每个翻译短语的位置对候选翻译进行评分。标准的SMT结合了两种这样的模型:一种基于距离的失真模型,它惩罚了对单调顺序的偏离;另一种词汇重新排序模型,它合并了来自平行语料库的短语方向频率。

Word and phrase penalties

单词和短语的惩罚为每个生成的单词和短语分配一个固定的分数,可用于控制输出文本的长度以及对较短或较长短语的偏好。

在培训了所有这些不同的模型之后,将应用一个调优过程来优化它们在最终的对数线性模型中的权重,该模型通常会在单独的验证并行语料库中最大化某些评估指标。一种常见的选择是通过最小错误率训练(MERT)来优化BLEU评分(Och, 2003)。

Cross-lingual n-gram embeddings

3.1节介绍了我们建议的skip-gram扩展以学习n-gram嵌入,而3.2节介绍了如何将它们映射到共享空间以获得跨语言n-gram嵌入。

3.1 Learning n-gram embeddings

负采样skip-gram取 词-上下文对(w; c),并使用逻辑回归来预测这对样本是来自训练语料库中采样的真实分布,还是来自噪声分布中的k个样本。
在这里插入图片描述
在其基本表述中,w和c都对应于在训练语料库中某个窗口内同时出现的单词。为了学习诸如 York Times 或Toronto Maple Leafs等非组合词组的嵌入,Mikolov等人建议在预处理步骤中将它们合并为单个令牌。为了这个目的,他们基于训练语料库中的共现频率使用评分函数,折现系数δ惩罚稀有词,并反复合并阈值以上的词:
在这里插入图片描述
但是,在我们的场景中,我们还需要学习组成n-gram的表示形式,因为即使是组成短语,跨语言的n-gram也不总是1:1对应。例如,短语 he will come 通常会被翻译成 vendra(西班牙语),因此需要将整个短语表示为一个单元来恰当地建模这种关系。

一种选择是合并所有n-gram,而不考虑它们的分数,但是考虑到它们的重叠性质,这并不是一件容易的事,当考虑不同长度的n-gram时,这一点会进一步加重。 虽然我们尝试为每个句子随机生成多个一致的细分,并在生成的语料库上训练嵌入,但这在我们的初步实验中效果不佳。 我们将其归因于随机细分引起的复杂交互作用(例如,共生分布从根本上发生变化,即使对于unigram也是如此),严重加剧了稀疏性问题等。

作为一种替代方法,我们提出了一种skip-gram的泛化,它可以动态学习n-gram嵌入,并具有理想的unigram不变性:我们提出的模型学习与unigram的原始skipgram完全相同的嵌入,而同时学习更长n-gram的其他嵌入。这样,对于给定窗口内距离d处的每个词-语境对(w; c),我们用通常的负采样损耗更新其对应的嵌入w和c。除此之外,我们查看在相同距离d上的所有不同长度的n-grams p,对于每对(p; c),我们通过负采样更新嵌入p。
为了加强unigram不变性,上下文c和阴性样本cN(始终对应unigram)不更新(p;c)。这样就可以根据skip-gram建模的共生模式自然学习n-gram嵌入,而无需引入影响其基本行为的细微交互。

我们将上述过程实现为word2vec的扩展,并使用它来训练单语言n-gram嵌入,窗口大小为5,300维、10个负样本、5次迭代和禁用子抽样。为了使模型大小保持在合理的范围内,我们将词汇表限制在最常见的200,000 unigram、400,000 bigrams和400,000 trigrams。

3.2 Cross-lingual mapping

跨语言映射方法采用两种语言的独立训练的词嵌入,并学习线性变换以将它们映射到共享的跨语言空间。大多数映射方法是受监督的,并且依赖于双语词典,通常在几千个条目的范围内,尽管最近的工作已基于自我学习或对抗性训练设法以完全不受监督的方式取得了可比的结果。

在我们的案例中,我们使用《A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings》的方法使用其开源实现VecMap将n-gram嵌入映射到共享的跨语言空间。

VecMap方法链接:

A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings

该方法最初是为词嵌入设计的,该方法通过连接不同语言中嵌入项的语内相似度分布建立初始映射,并通过自学习迭代改进该解决方案。该方法采用基于频率的词汇截断,学习每种语言中2万个最频繁的词汇。我们保留了这个临界值,以学习最频繁的20,000字母组合的映射,然后将结果映射应用于整个嵌入空间,包括更长的n-gram。

本文无监督SMT

基于短语的SMT遵循模块化架构,该架构通过 log-linear 模型结合了多个评分功能。在标准SMT系统中发现的评分功能中,失真模型和单词/短语惩罚是无参数的,而语言模型是在单语语料库上进行训练的,因此它们都可以直接集成到我们的无监督系统中。根据通常在并行语料库上训练的其余模型,我们决定不考虑词法重排,因为失真模型已经解决了单词重排的问题。至于短语表,我们将学习第3节中讨论的跨语言n-gram嵌入,并使用它们来诱导和评分短语翻译对。最后,我们使用基于回译的无监督程序来调整所得对数线性模型的权重。除非特殊说明,否则我们将Moses2与默认超参数一起使用以实现系统的这些不同组件。我们使用默认情况下捆绑在Moses中的KenML来估算我们的5-gram 模型,通过修改后的 Kneser-Ney smoothing,修剪n-gram模型中单次出现大于3的。

短语表

鉴于缺乏从中提取短语翻译对的平行语料库,目标语言中的每个n-gram都可以作为源语言中每个n-gram的潜在翻译候选。为了使短语表的大小保持在合理的范围内,我们按照第3节中的说明训练了跨语言的短语嵌入,并将每个源短语的翻译候选对象限制为目标语言中与其最接近的100个近邻。

为了估计它们对应的短语翻译概率,我们将softmax函数应用于它们各自嵌入的余弦相似度。更具体地讲,给定源语言短语e^ 和翻译候选f^,它们的直接短语翻译概率,计算如下:
在这里插入图片描述
注意,在上式中,f^’ 遍历所有目标语言嵌入,并且τ是控制预测置信度的恒温参数。为了调整它,我们使用 最近邻检索 在跨语言嵌入本身引入了一个字典,并对其使用了最大似然估计。但是,在与概率预测相同的方向上引入字典会导致退化的解决方案(当τ接近0时,softmax近似于逼近最大值),因此我们在相反的方向上引入字典,并对其应用最大似然估计:
在这里插入图片描述
为了优化τ,我们使用学习率为0.0003,批次大小为200的Adam,使用PyTorch实现。为了计算词汇权重,我们将目标短语中的每个单词与最有可能生成它的源短语中的单词对齐,并取其各自翻译概率的乘积:
在这里插入图片描述

Unsupervised tuning

如第2节中所述,标准SMT在较小的并行语料库上使用MERT(《Minimum error rate training in statistical machine translation》)来调整通过其对数线性模型组合的不同评分方程的权重。鉴于我们只能使用单语语料库,我们建议通过回译生成一个合成的并行语料库,并对其应用MERT调整,在两个方向上反复重复该过程(请参见算法1)。为了达到这个目的,我们从每个单语语料库中随机保留10,000个句子,并对它们进行10次迭代,我们发现这些迭代足够收敛。

在这里插入图片描述

Iterative refinement

第4节中描述的步骤足以从单语语料库中训练一个SMT系统,正如我们在第6节中所展示的实验,它已经优于以前的无监督系统。然而,我们提出的方法仍然进行了重要的简化,可能会影响其潜在性能:它不使用任何词汇重新排序模型,它的短语表受到底层嵌入词汇的限制(例如,它不包含长于三元组的短语,参见3.1节),并且短语翻译概率和词汇权重是基于跨语言嵌入估计的。

为了克服这些限制,我们提出了一种基于回译的迭代优化程序。更具体地说,我们通过将一种语言的单语语料通过初始系统进行翻译来生成合成的并行语料库,并在相反的方向上对其进行训练和调整。注意,这个新系统没有任何初始限制:短语表是使用无约束词汇表的标准单词对齐来构建和评分的,并且还学习了词汇重新排序模型。完成之后,我们使用生成的系统来翻译另一种语言的单语语料库,并在另一个方向上训练另一个SMT系统。如算法2所示,这个过程是迭代的,直到满足某个收敛准则。

在这里插入图片描述

虽然可以预期此过程在每次迭代时都会产生更准确的模型,但它在计算上也非常昂贵。为了加速我们的实验,我们使用来自每个单语语料库的200万个句子的随机子集进行训练,此外还保留了10,000个单独的句子作为MERT调整的验证集,以上算法迭代3次 。此外,我们使用FastAlign而不是GIZA++来加快单词对齐的速度。 除此之外,通过默认设置的标准Moses工具对合成并行语料库进行训练。

实验结果

在这里插入图片描述
在这里插入图片描述

总结和工作展望

在本文中,我们提出了一种新型的无监督SMT系统,该系统可以仅在单语语料上进行训练。为此,我们扩展了skip-gram model以同时学习单词和短语嵌入,并将其映射到跨语言空间,以适应以前的无监督技术。生成的跨语言短语嵌入可用于生成短语表,再结合n-gram语言模型和基于距离的失真会生成无监督的基于短语的SMT系统。 我们使用无监督的MERT变量对权重进行微调以改善结果,并且通过迭代回译对整个系统进行再训练来获得其他方面的改进。

将来,我们希望将我们的方法扩展到使用小型并行语料库的半监督场景,我们希望这对于调整目的特别有用。

此外,我们想尝试使用NMT的混合方法,使用我们的无监督SMT系统生成合成的并行语料库,并通过迭代的反向翻译对NMT系统进行训练

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

猜你喜欢

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