资源经验分享无监督神经机器翻译Unsupervised Statistical Machine Translation

无监督神经机器翻译Unsupervised Statistical Machine Translation

2019-10-08 | |  106 |   0

原标题:无监督神经机器翻译Unsupervised Statistical Machine Translation

原文来自:CSDN      原文链接:https://blog.csdn.net/weixin_38937984/article/details/102238335



Unsupervised Statistical Machine Translation


这是2018EMNLP上的一篇文章。


文章链接:

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节总结了论文。

Cross-lingual n-gram embeddings

这部分反复提到《Distributed representations of words and phrases and their compositionality》这篇文章,有时间一定要认真看一下。

Cross-lingual mapping部分作者使用了他自己提出的 VecMap方法(已开源)。

方法介绍在博客

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

中。

本文无监督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^,它们的直接短语翻译概率,计算如下:
a1.png
注意,在上式中,f^’ 遍历所有目标语言嵌入,并且τ是控制预测置信度的恒温参数。为了调整它,我们使用 最近邻检索 在跨语言嵌入本身引入了一个字典,并对其使用了最大似然估计。但是,在与概率预测相同的方向上引入字典会导致退化的解决方案(当τ接近0时,softmax近似于逼近最大值),因此我们在相反的方向上引入字典,并对其应用最大似然估计:
a2.png
为了优化τ,我们使用学习率为0.0003,批次大小为200的Adam,使用PyTorch实现。为了计算词汇权重,我们将目标短语中的每个单词与最有可能生成它的源短语中的单词对齐,并取其各自翻译概率的乘积:
a5.png

Unsupervised tuning

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

a3.png

Iterative refinement

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

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

a4.png

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

总结和工作展望

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

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

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

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:结合OpenCV与TensorFlow进行人脸识别

下一篇:无监督机器翻译Bilingual Lexicon Induction through Unsupervised Machine Translation

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...