1 简介
最先进的机器翻译系统,包括基于短语的统计机器翻译方法、最近出现的基于神经网络的翻译方法,严重依赖于对齐的平行训练语料。然而,实际收集这些平行语料数据的代价非常大,因此语料的规模也往往有限,这将会限制相关的研究和应用。
我们知道在互联网中存在海量的单语数据,很自然的想到,能否利用它们去提升机器翻译系统的效果呢?实际上,基于这个想法,研究人员已经提出了许多不同的方法,这里可以粗略的分为两类。第一类,目标语言的单语语料被用于训练语言模型,然后集成到翻译模型(从平行双语语料中训练出)中,最终提升翻译质量。第二类,通过使用翻译模型(从对齐的平行语料中训练)从单语数据中生成伪双语句对,然后在后续的训练过程中,这些伪双语句对被用于扩充训练数据。尽管上述方法能够在一定程度上提升翻译系统的效果,但是它们依然存在一定的局限性。第一类的方法只使用了单语数据来训练语言模型,并没有解决平行训练数据不足这个问题。尽管第二类方法可以扩充平行训练数据,但是并不能保证伪双语句对的质量。
在这篇文章中,刘铁岩团队提出了一种Dual-Learning(对偶学习)机制,可以有效地利用单语数据(源语言与目标语言)。通过使用他们提出的机制,单语数据与平行双语数据扮演着相似的角色,在训练过程中,可以显著降低对平行双语数据的要求。对偶学习机制应用在机器翻译中,可以想象成两个agent(机器)在玩通信游戏,如下图所示,

第一个机器,只理解语言A,通过噪声信道,发送一条信息(是语言A)给第二个机器,噪声信道通过翻译模型会将语言A转换成语言B;
第二个机器,只理解语言B,接收到翻译过来的信息(是语言B)。它检查这条信息,并通知第一个机器(第二个机器可能无法确认这个翻译的正确性,因为它不知道原始的消息)。然后,它通过另一个噪声信道(使用另外一个翻译模型,将接收到的消息从语言B转换为语言A)将接收到的信息发送给第一个机器。
从第二个机器接收到信息后,第一个机器会检查它,并通知第二个机器它接收到的信息是否包含它原来的信息。通过这个反馈,两个机器就可以知道这两个通信信道(也就是两个翻译模型)表现是否良好以及能否提高它们的效果。
这个游戏也可以从第二个机器开始,那么原始的消息就是语言B,这两个机器将会经过一个对称化的过程,通过反馈从而提高两个信道(翻译模型)的效果。
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
延伸阅读
学习是年轻人改变自己的最好方式