一.Machine Translation
机器翻译(MT)是将一个句子 x 从一种语言( 源语言 )转换为另一种语言( 目标语言 )的句子 y 的任务。
1.1 1950s: Early Machine Translation
机器翻译研究始于20世纪50年代初。
- 俄语 →英语(冷战的推动)
- 系统主要是基于规则的,使用双语词典来讲俄语单词映射为对应的英语部分
1.2 1990s-2010s: Statistical Machine Translation(SMT)
- 核心想法:从数据中学习概率模型。
假设我们正在翻译法语 →英语。我们想要找到最好的英语句子 y ,给定法语句子 x
argmaxyP(y|x)
使用Bayes规则将其分解为两个组件从而分别学习
argmaxyP(x|y)P(y)
- P(x|y)--翻译模型
- 分析单词和短语应该如何翻译(逼真)
- 从并行数据中学习
-
P(y)--语言模型
- 模型如何写出好英语(流利)
- 从单语数据中学习
- SMT是一个巨大的研究领域
一个好的SMT系统,需要针对特定的语音现象设计对应的功能特性、需要编译和为维护额外的资源(比如等价短语表)、需要大量的人力来维护、针对不同的语言都需要重复操作。
SMT可用于构建基于单词或短语的翻译系统。正如你所想到的,一个简单的的基于单词的翻译系统将完全不能捕获语言之间的排序差异(例如,否定词移动,句子中的主语和动词的位置等)。
基于短语的翻译系统可以根据短语序列考虑输入和输出,相比比基于词的系统可以处理更复杂的语法。然而,在基于短语的翻译系统仍然难以捕获长距离的信息。
1.3 Neural Machine Translation (NMT)
神经机器翻译是利用单个神经网络进行机器翻译的一种方法,神经网络架构称为sequence-to-sequence (又名seq2seq),它包含两个RNNs。
- 编码器RNN生成源语句的编码。源语句的编码为解码器RNN提供初始隐藏状态
- 解码器RNN是一种以编码为条件生成目标句的语言模型
- Seq2Seq 模型通常被称为“编码器-解码器模型”。
- NMT直接计算 P(y|x)