42 Chapter 1. 机器翻译简介 肖桐 朱靖波
征。提升翻译品质往往需要大量的特征工程,这导致人工特征设计的好坏会对系统
产生决定性影响;其次,统计机器翻译的模块较多,系统研发比较复杂;再次,随着
训练数据增多,统计机器翻译的模型(比如短语翻译表)会明显增大,对系统存储资
源消耗较大。
1.5.3 神经机器翻译
随着机器学习技术的发展,基于深度学习的神经机器翻译逐渐兴起。自 2014 年
开始,它在短短几年内已经在大部分任务上取得了明显的优势
[21, 22, 23, 24, 25]
。在神经机
器翻译中,词串被表示成实数向量,即分布式向量表示。此时,翻译就不再是在离散
化的单词和短语上进行,而是在实数向量空间上计算。因此与之前的技术相比,它
在词序列表示的方式上有着本质的改变。通常,机器翻译可以被看作一个序列到另
一个序列的转化。在神经机器翻译中,序列到序列的转化过程可以由编码器-解码器
(Encoder-Decoder)框架实现。其中,编码器把源语言序列进行编码,并提取源语言
中的信息进行分布式表示,之后解码器再把这种信息转换为另一种语言的表达。
图1.15展示了一个神经机器翻译的实例。首先,通过编码器,源语言序列“我对
你感到满意”经过多层神经网络编码生成一个向量表示,即图中的向量(0.2,-1,6,
5,0.7,-2)。再将该向量作为输入送到解码器中,解码器把这个向量解码成目标语
言序列。注意,目标语言序列的生成是逐词进行的(虽然图中展示的是解码器一次
生成了整个序列,但是在具体实现时是由左至右逐个单词地生成目标语言译文),即
在生成目标序列中的某个词时,该词的生成依赖之前生成的单词。
源语言: 我 对 你 感到 满意
目标语言: I am satisfied with you
.2
-1
6
5
.7
-2
编码器(Encoder)
解码器(Decoder)
分布式
表示
输入 (Word) 输入 (Word)
表示结果 (Representation)
... ...
编码器网络示例
图 1.15 神经机器翻译的示例图(左:编码器-解码器网络;右:编码器示例网络)
与统计机器翻译相比,神经机器翻译的优势体现在其不需要特征工程,所有信
息由神经网络自动从原始输入中提取。而且,相比于统计机器翻译中所使用的离散
化的表示。神经机器翻译中词和句子的分布式连续空间表示可以为建模提供更为丰
富的信息,同时可以使用相对成熟的基于梯度的方法优化模型。此外,神经网络的
存储需求较小,天然适合小设备上的应用。当然,神经机器翻译也存在问题:
• 虽然脱离了特征工程,但神经网络的结构需要人工设计,即使设计好结构,系