40 Chapter 1. 机器翻译简介 肖桐 朱靖波
1.5 数据驱动的方法
虽然基于规则的方法有种种优势,但是该方法人工代价过高。所以研究者们开
始尝试,是否可以更好地利用数据,从数据中学习到某些规律,而不是完全依靠人
类来制定规则。在这样的思想下,基于数据驱动的方法诞生了。
1.5.1 基于实例的机器翻译
使上,1.4使中,
比如受限词汇集的翻译。针对基于规则的方法存在的问题,基于实例的机器翻译于
上世纪
80
年代中期被提出
[11]
该方法的基本思想是在双语句库中找到与待翻译句子
相似的实例,之后对实例的译文进行修改,如对译文进行替换、增加、删除等一系
列操作,从而得到最终译文。这个过程可以类比人类学习并运用语言的过程:人会
先学习一些翻译实例或者模板,当遇到新的句子时,会用以前的实例和模板作对比,
之后得到新的句子的翻译结果。这也是一种举一反三的思想。
1.13展示机器程。单的
词典完成对句子“我对你感到满意”的翻译。首先,使用待翻译句子的源语言端在
翻译实例库中进行比较,根据相似度大小找到相似的实例“我对他感到失望”然后,
标记实例中不匹配的部分,即“你”和“他”“满意”和“失望”。再查询翻译词典
得到词“你”和“满意”所对应的翻译结果“you”和“satisfied,用这两个词分别
替换实例中的“him”和“disappointed,从而得到最终译文。
输出翻译结果
1: = 什么 时候 开始
= When will it start
2: = 感到 失望
= I am disappointed with him
...
资源 1:翻译实例库
examplebaselab
1: I | me
2: you
3: 满意satisfy| satisfied ...
...
资源 2:翻译词典
感到
满意
感到
失望
I
am
disappointed
with
him
相似实例
不匹配
不匹配
用“你”替换“他”
感到
失望
I
am
disappointed
with
you
用“满意”替换“失望”
感到
满意
I
am
satisfied
with
you
1.13 基于实例的机器翻译的示例图(左:实例库;右:翻译结果)
当然,基于实例的机器翻译也并不完美:
这种方法对翻译实例的精确度要求非常高,一个实例的错误可能会导致一个句
型都无法翻译正确。
1.5 数据驱动的方法 41
实例维护较为困难,实例库的构建通常需要单词级对齐的标注,而保证词对齐
的质量是非常困难的工作,这也大大增加了实例库维护的难度。
尽管可以通过实例或者模板进行翻译,但是其覆盖度仍然有限。在实际应用中,
很多句子无法找到可以匹配的实例或者模板。
1.5.2 统计机器翻译
统计机器翻译兴起于上世纪 90 年代
[9, 20]
,它利用统计模型从单/双语语料中自动
学习翻译知识。具体来说,可以使用单语语料学习语言模型,使用双语平行语料学
习翻译模型,并使用这些统计模型完成对翻译过程的建模。整个过程不需要人工编
写规则,也不需要从实例中构建翻译模板。无论是词还是短语,甚至是句法结构,
计机器翻译系统都可以自动学习。人更多的是定义翻译所需的特征和基本翻译单元
的形式,而翻译知识都保存在模型的参数中。
1.14展示了一个统计机器翻译系统运行的简单实例。整个系统需要两个模型:
翻译模型和语言模型。其中,翻译模型从双语平行语料中学习翻译知识,得到短语
表,短语表包含了各种单词的翻译及其概率,这样可以度量源语言和目标语言片段
之间互为翻译的可能性大小;语言模型从单语语料中学习目标语言的词序列生成规
律,来衡量目标语言译文的流畅性。最后,将这两种模型联合使用,通过翻译引擎来
搜索尽可能多的翻译结果,并计算不同翻译结果的可能性大小,最后将概率最大的
译文作为最终结果输出。这个过程并没有显性地使用人工翻译规则和模板,译文的
生成仅仅依赖翻译模型和语言模型中的统计参数。
1: =
= Where is he
2: = 真高兴
= I’m so happy
3: = 出发
= Let’s go
...
资源 1: 双语平行语料
1: What is NiuTrans
2: Are you fulfilled
3: You are right
...
资源 2: 单语语料
Pr( I) = 0.7
Pr( me) = 0.3
Pr( you) = 0.9
Pr(开心 happy)
= 0.5
Pr(满意 satisfied)
= 0.4
...
翻译模型
Pr(I) = 0.0001
Pr(I am) = 0.623
Pr(I was) = 0.21
...
语言模型
学习
学习
我对你感到满意
翻译假设 概率
I to you happy 0.01
You satisfied 0.02
I satisfied with you 0.10
I’m satisfied with you 0.46
I satisfied you, what 0.23
You can have it 0.01
You and me 0.02
翻译引擎
枚举所有可能
计算翻译可能性
输出
1.14 统计机器翻译的示例图(左:语料资源;中:翻译模型与语言模型;右:翻译假设与翻译引擎)
由于没有对翻译过程进行过多的限制,统计机器翻译有很灵活的译文生成方式,
因此系统可以处理更加多样的句子。但是这种方法也带来了一些问题:首先,虽然
并不需要人工定义翻译规则或模板,但统计机器翻译系统仍然需要人工定义翻译特
42 Chapter 1. 机器翻译简介 肖桐 朱靖波
征。提升翻译品质往往需要大量的特征工程,这导致人工特征设计的好坏会对系统
产生决定性影响;其次,统计机器翻译的模块较多,系统研发比较复杂;再次,随着
训练数据增多,统计机器翻译的模型(比如短语翻译表)会明显增大,对系统存储资
源消耗较大。
1.5.3 神经机器翻译
随着机器学习技术的发展,基于深度学习的神经机器翻译逐渐兴起。 2014
开始,它在短短几年内已经在大部分任务上取得了明显的优势
[21, 22, 23, 24, 25]
。在神经机
器翻译中,词串被表示成实数向量,即分布式向量表示。此时,翻译就不再是在离散
化的单词和短语上进行,而是在实数向量空间上计算。因此与之前的技术相比,它
在词序列表示的方式上有着本质的改变。通常,机器翻译可以被看作一个序列到另
一个列的化。在神机器中,序序列转化可以码器-
Encoder-Decoder框架实现。其中,编码器把源语言序列进行编码,并提取源语言
中的信息进行分布式表示,之后解码器再把这种信息转换为另一种语言的表达。
1.15展示了一个神经机器翻译的实例。首先,通过编码器,源语言序列“我对
你感到满意”经过多层神经网络编码生成一个向量表示,即图中的向量0.2-16
50.7-2。再将该向量作为输入送到解码器中,解码器把这个向量解码成目标语
言序列。注意,目标语言序列的生成是逐词进行的(虽然图中展示的是解码器一次
生成了整个序列,但是在具体实现时是由左至右逐个单词地生成目标语言译文)
在生成目标序列中的某个词时,该词的生成依赖之前生成的单词。
源语言: 我 对 你 感到 满意
目标语言: I am satisfied with you
.2
-1
6
5
.7
-2
编码器(Encoder
解码器(Decoder
分布式
表示
输入 Word 输入 Word
表示结果 Representation
... ...
编码器网络示例
1.15 神经机器翻译的示例图(左:编码器-解码器网络;右:编码器示例网络)
与统计机器翻译相比,神经机器翻译的优势体现在其不需要特征工程,所有信
息由神经网络自动从原始输入中提取。而且,相比于统计机器翻译中所使用的离散
化的表示。神经机器翻译中词和句子的分布式连续空间表示可以为建模提供更为丰
富的信息,同时可以使用相对成熟的基于梯度的方法优化模型。此外,神经网络的
存储需求较小,天然适合小设备上的应用。当然,神经机器翻译也存在问题:
虽然脱离了特征工程,但神经网络的结构需要人工设计,即使设计好结构,
1.5 数据驱动的方法 43
统的调优、超参数Hyperparameter)的设置等仍然依赖大量的实验。
神经机器翻译现在缺乏可解释性,其过程和人的认知差异很大,通过人的先验
知识干预的程度差。
神经机器翻译对数据的依赖很大,数据规模、质量对性能都有很大影响,特别
是在数据稀缺的情况下,充分训练神经网络很有挑战性。
1.5.4 对比分析
不同机器翻译方法有不同的特点。表1.1对比了这些方法,不难看出:
规则系统需要人工书写规则并维护,人工代价较高。统计和神经网络方法仅需
要设计特征或者神经网络结构,对人工依赖较少(语言相关的)
基于实例、统计和神经网络的方法都需要依赖语料库(数据),其中统计和
经网络方法具有一定的抗噪声能力,因此也更适合具有大规模数据的机器翻译
系统的研发。
基于规则和基于实例的方法在受限领域下有较好的精度,但是在通用领域的翻
译上统计和神经网络方法更具优势。
1.1 不同机器翻译方法的对比
规则
实例
统计 神经
人工写规则
人工代价 一般 几乎没有 几乎没有
数据驱动
依赖数据质量 N/A 较低
抗噪声能力 较高
使用范围 受限领域 受限领域 通用领域 通用领域
翻译精度 较高 不确定 不确定
从现在机器翻译的研究和应用情况来看,基于统计建模的方法(统计机器翻译
和神经机器翻译)是主流。这主要是由于它们的系统研发周期短,通过搜集一定量的
数据即可实现快速原型。但是随着互联网等信息的不断开放,低成本的数据获取让
神经机器翻译系统更快得以实现。因此最近神经机器翻译凭借其高质量的译文,受
到越来越多研究人员和开发者的青睐。当然,对不同方法进行融合也是有价值的研
究方向,也有很多有趣的探索,比如无指导机器翻译中会同时使用统计机器翻译和
神经机器翻译方法,这也是一种典型的融合多种方法的思路。