自然语言处理

好文分享

Facebook利用跨字嵌入实现无监督机器翻译

本文转载自公众号 微软研究院AI头条,原文地址

现有的机器翻译需要大量的翻译文本做训练样本,这使得机器翻译只在一小部分样本数量充足的语言上表现良好,但如何在没有源翻译的情况下训练机器翻译模型,即无监督训练,成为了目前热门的研究话题。Facebook在EMNLP 2018上的论文《Phrase-Based & Neural Unsupervised Machine Translation》利用跨字嵌入(Cross Word Embedding),提升了高达11 BLEU,那么Facebook是如何实现的呢?

第一步是让系统学习双语词典。系统首先为每种语言中的每个单词训练词嵌入,训练词嵌入通过上下文来预测给定单词周围的单词。不同语言的词嵌入具有相似的邻域结构,因此可以通过对抗训练等方法让系统学习旋转变换一种语言的词嵌入,以匹配另一种语言的词嵌入。基于这些信息,就可以得到一个相对准确的双语词典,并基本可以实现逐字翻译。在得到语言模型和初始的逐字翻译模型之后,就可以构建翻译系统的早期版本。

然后将系统翻译出的语句作为标注过的真实数据进行处理,训练反向机器翻译系统,得到一个更加流畅和语法正确的语言模型,并将反向翻译中人工生成的平行句子与该语言模型提供的校正相结合,以此来训练这个翻译系统。

通过对系统的训练,形成了反向翻译的数据集,从而改进原有的机器翻译系统。随着一个系统得到改进,可以使用它以迭代方式在相反方向上为系统生成训练数据,并根据需要进行多次迭代。

逐字嵌入初始化、语言建模和反向翻译是无监督机器翻译的三个重要原则。将基于这些原理得到的翻译系统应用于无监督的神经模型和基于计数的统计模型,从训练好的神经模型开始,使用基于短语模型的其它反向翻译句子对其进行训练,最终得到了一个既流畅,准确率又高的模型。

对于无监督机器翻译,微软亚洲研究院自然语言计算组也进行了探索。研究人员利用后验正则(Posterior Regularization)的方式将SMT(统计机器翻译)引入到无监督NMT的训练过程中,并通过EM过程交替优化SMT和NMT模型,使得无监督NMT迭代过程中的噪音能够被有效去除,同时NMT模型也弥补了SMT模型在句子流畅性方面的不足。相关论文《Unsupervised Neural Machine Translation with SMT as Posterior Regularization》已被AAAI 2019接收。