1 简介

最先进的机器翻译系统,包括基于短语的统计机器翻译方法、最近出现的基于神经网络的翻译方法,严重依赖于对齐的平行训练语料。然而,实际收集这些平行语料数据的代价非常大,因此语料的规模也往往有限,这将会限制相关的研究和应用。

我们知道在互联网中存在海量的单语数据,很自然的想到,能否利用它们去提升机器翻译系统的效果呢?实际上,基于这个想法,研究人员已经提出了许多不同的方法,这里可以粗略的分为两类。第一类,目标语言的单语语料被用于训练语言模型,然后集成到翻译模型(从平行双语语料中训练出)中,最终提升翻译质量。第二类,通过使用翻译模型(从对齐的平行语料中训练)从单语数据中生成伪双语句对,然后在后续的训练过程中,这些伪双语句对被用于扩充训练数据。尽管上述方法能够在一定程度上提升翻译系统的效果,但是它们依然存在一定的局限性。第一类的方法只使用了单语数据来训练语言模型,并没有解决平行训练数据不足这个问题。尽管第二类方法可以扩充平行训练数据,但是并不能保证伪双语句对的质量。

在这篇文章中,刘铁岩团队提出了一种Dual-Learning(对偶学习)机制,可以有效地利用单语数据(源语言与目标语言)。通过使用他们提出的机制,单语数据与平行双语数据扮演着相似的角色,在训练过程中,可以显著降低对平行双语数据的要求。对偶学习机制应用在机器翻译中,可以想象成两个agent(机器)在玩通信游戏,如下图所示,

万码学堂,电脑培训,计算机培训,Java培训,JavaEE开发培训,青岛软件培训,软件工程师培训

  1. 第一个机器,只理解语言A,通过噪声信道,发送一条信息(是语言A)给第二个机器,噪声信道通过翻译模型会将语言A转换成语言B;

  2. 第二个机器,只理解语言B,接收到翻译过来的信息(是语言B)。它检查这条信息,并通知第一个机器(第二个机器可能无法确认这个翻译的正确性,因为它不知道原始的消息)。然后,它通过另一个噪声信道(使用另外一个翻译模型,将接收到的消息从语言B转换为语言A)将接收到的信息发送给第一个机器。

  3. 从第二个机器接收到信息后,第一个机器会检查它,并通知第二个机器它接收到的信息是否包含它原来的信息。通过这个反馈,两个机器就可以知道这两个通信信道(也就是两个翻译模型)表现是否良好以及能否提高它们的效果。

  4. 这个游戏也可以从第二个机器开始,那么原始的消息就是语言B,这两个机器将会经过一个对称化的过程,通过反馈从而提高两个信道(翻译模型)的效果。

  5. 网友评论