1.4 基于规则的方法 35
1.4 基于规则的方法
机器翻译技术大体上可以分为两种方法,分别为基于规则的机器翻译方法以及
数据驱动的机器翻译方法。进一步,数据驱动的机器翻译方法又可以分为统计机器
翻译方法以及神经机器翻译方法。第一代机器翻译技术是主要使用基于规则的机器
翻译方法,其主要思想是通过形式文法定义的规则引入源语言和目标语言中的语言
学知识。此类方法在机器翻译技术诞生之初就被人所关注,特别是在上世纪 70 年代,
以基于规则方法为代表的专家系统是人工智能中最具代表性的研究领域。甚至到了
统计机器翻译时代,很多系统中也大量地使用了基于规则的翻译知识表达形式。
早期,基于规则的机器翻译大多依赖人工定义及书写的规则。主要有两类方
法
[
13, 14, 15]
:一类是基于转换规则的机器翻译方法,简称转换法。另一类是基于中间
语言的方法。它们都以词典和人工书写的规则库作为翻译知识,用一系列规则的组
合完成翻译。
1.4.1 规则的定义
规则就像语言中的“If-then”语句,如果满足条件,则执行相应的语义动作。比
如,可以将待翻译句子中的某个词,使用目标语言单词进行替换,但是这种替换并
非随意的,而是在语言学知识的指导下进行的。
1: If 源 = 我, then 译 = I
2: If 源 = 你, then 译 = you
3: If 源 = 感到 满意,
then 译 = be satisfied with
4: If 源 = 对... 动词 [表态度]
then 调序 [动词 + 对象]
5: If 译文主语是 I
then be 动词为 am/was
6: If 源语是主谓结构
then 译文为主谓结构
资源:规则库
我
对
你 感到
满意
I
you
be satisfied with
be satisfied with you
I be satisfied with you
I am satisfied with you
规则 5
图 1.8 基于规则的机器翻译的示例图(左:规则库;右:规则匹配结果)
图1.8展示了一个使用转换法进行翻译的实例。这里,利用一个简单的汉译英规
则库完成对句子“我对你感到满意”的翻译。当翻译“我”时,从规则库中找到规则
1,该规则表示遇到单词“我”就翻译为“I”;类似地,也可以从规则库中找到规则 4,
该规则表示翻译调序,即将单词“you”放到“be satisfied with”后面。这种通过规则
表示单词之间对应关系的方式,也为统计机器翻译方法提供了思路。如统计机器翻
译中,基于短语的翻译模型使用短语对对原文进行替换,详细描述可以参考第七章。
在上述例子中可以发现,规则不仅仅可以翻译句子之间单词的对应,如规则 1,
还可以表示句法甚至语法之间的对应,如规则 6。因此基于规则的方法可以分成多个
层次,如图1.9所示。图中不同的层次表示采用不同的知识来书写规则,进而完成机
36 Chapter 1. 机器翻译简介 肖桐 朱靖波
器翻译过程。对于翻译问题,可以构建不同层次的基于规则的机器翻译系统。这里
包括四个层次,分别为:词汇转换、句法转换、语义转换和中间语言层。其中,上层
可以继承下层的翻译知识,比如说句法转换层会利用词汇转换层知识。早期基于规
则的方法属于词汇转换层。
源语言词串
源语言
句法结构
源语言
语义结构
中间语言(知识表示)
目标语言
语义结构
目标语言
句法结构
目标语言词串
语义 转换
句法 转换
词汇 转换
分析部分 生成部分
图 1.9 基于规则的机器翻译方法的四个层次
[16]
1.4.2 转换法
通常一个典型的基于转换规则的机器翻译(Transfer-based Translation)的过程可以
被视为“独立分析-相关转换-独立生成”的过程
[17]
。
源文句子
源语词法分析
源文词串
源语句法分析
源文结构
译文句子
目标语词法生成
译文词串
目标语句法生成
译文结构
源语-目标语单词转换
源语-目标语结构转换
图 1.10 基于转换规则的机器翻译的过程
如图1.10所示,这些过程可以分成六个步骤,其中每一个步骤都是通过相应的翻
译规则来完成。比如,第一个步骤中需要构建源语言词法分析规则,第二个步骤中
1.4 基于规则的方法 37
需要构建源语言句法分析规则,第三个和第四个步骤中需要构建转换规则,其中包
括源语言-目标语言单词和结构转换规则等等。
转换法的目标就是使用规则定义的词法和句法,将源语言句子分解成为一个蕴
含语言学标志的结构。如一个汉语句子“她把一束花放在桌上。”,经过词法和句法
分析之后可以被表示成如图1.11 所示的结构,这个结构就是图1.10中的源文结构。这
种使用语言学提取句子结构化表示,并使用某种规则匹配源语言结构和目标语言结
构的方式也为第八章将要介绍的基于语言学句法的模型提供了思路。
IP
PU
。
VP
IP
VP
LCP
LC
上
NP
NN
桌
VV
放在
NP
NP
NN
花
QP
CLP
M
束
CD
一
BA
把
NP
PN
她
图 1.11 一个汉语句子的结构表示(句法树)
在转换法中,翻译规则通常会分成两类:通用规则和个性规则。所谓通用的规
则主要用于句法分析、语义分析、结构转换和句法生成等,是不具体依赖于某个源
语言或者目标语言单词而设计的翻译规则;个性规则通常以具体源语言单词来做索
引,比如图1.8中规则 5 就是针对主语是“I”的个性规则,它直接针对某个具体单词
进行分析和翻译。
1.4.3 基于中间语言的方法
基于转换的方法可以通过词汇层、句法层和语义层完成从源语言到目标语言的
转换过程,虽然采用了独立分析和独立生成两个子过程,但中间包含一个从源语言
到目标语言的相关转换过程。这就会导致一个实际问题,假设需要实现 N 个语言之
间互译的机器翻译系统,采用基于转换的方法,需要构建 N (N −1) 个不同的机器翻
译系统,这个构建代价是非常高的。为了解决这个问题,一种有效的解决方案是使
用
基于中间语言的机器翻译
(
Interlingua-based Translation
)方法。
如图1.12所示,基于中间语言方法的最大特点就是采用了一个称之为“中间语
言”的知识表示结构,将“中间语言”作为独立源语言分析和独立目标语言生成的
桥梁,真正实现独立分析和独立生成。并且在基于中间语言的方法中不涉及“相关
38 Chapter 1. 机器翻译简介 肖桐 朱靖波
转换”这个过程,这一点与基于转换的方法有很大区别。
语言 1
语言 3
语言 2
语言 4
中间语言
(a) 基于中间语言的方法
语言 1
语言 3
语言 2
语言 4
(b) 基于转换的方法
图 1.12 基于中间语言的方法 (a) 与基于转换的方法 (b)
从图1.9可以发现,中间语言(知识表示)处于最顶端,本质上是独立于源语言
和目标语言的,这也是基于中间语言的方法可以将分析过程和生成过程分开的原因。
虽然基于中间语言的方法有上述优点,但如何定义中间语言是一个关键问题。严
格上说,所谓中间语言本身是一种知识表示结构,承载着源语言句子的分析结果,应
该包含和体现尽可能多的源语言知识。如果中间语言的表示能力不强,会导致源语
言句子信息丢失,这自然会影响目标语言生成结果。
在基于规则的机器翻译方法中,构建中间语言结构的知识表示方式有很多,比
较常见的是语法树、语义网、逻辑结构表示或者多种结构的融合等。但不管哪种方
法,实际上都无法充分地表达源语言句子所携带的信息。因此,在早期的基于规则
的机器翻译研究中,基于中间语言的方法明显弱于基于转换的机器翻译方法。不过,
近些年随着神经机器翻译等方法的兴起,使用统一的中间表示来刻画句子又受到了
广泛关注。但是,神经机器翻译中的“中间表示”并不是规则系统中的中间语言,二
者有着本质区别,这部分内容将会在第十章进行介绍。
1.4.4 规则方法的优缺点
在基于规则的机器翻译时代,机器翻译技术研究有一个特点就是语法(Grammer)
和算法(Algorithm)分开,相当于是把语言分析和程序设计分开。传统方式使用程
序代码来实现翻译规则,并把所谓的翻译规则隐含在程序代码实现中。其中最大问
题是一旦翻译规则发生修改,程序代码也需要进行相应修改,导致维护代价非常高。
此外书写翻译规则的语言学家与编代码的程序员沟通代价也非常高,有时候会出现
鸡同鸭讲的感觉。把语法和算法分开对于基于规则的机器翻译技术来说最大好处就
是可以将语言学家和程序员的工作分开,各自发挥自己的优势。
这种语言分析和程序设计分开的实现方式也使得基于人工书写翻译规则的机器
翻译方法非常直观,语言学家可以很容易地将翻译知识利用规则的方法表达出来,并
且不需要修改系统代码。例如:1991 年,东北大学自然语言处理实验室王宝库教授
提出的规则描述语言(CTRDL)
[18]
。以及 1995 年,同为东北大学自然语言处理实验
1.4 基于规则的方法 39
室的姚天顺教授提出的词汇语义驱动算法
[19]
,都是在这种思想上对机器翻译方法的
一种改进。此外,使用规则本身就具有一定的优势:
• 翻译规则的书写颗粒度具有很大的可伸缩性。
• 较大颗粒度的翻译规则有很强的概括能力,较小颗粒度的翻译规则具有精细的
描述能力。
• 翻译规则便于处理复杂的句法结构和进行深层次的语义理解,比如解决翻译过
程中的长距离依赖问题。
通过图1.8中规则的翻译实例中可以看出,规则的使用和人类进行翻译时所使用
的思想非常类似,可以说基于规则的方法实际上在试图描述人类进行翻译的思维过
程。虽然直接模仿人类的翻译方式对翻译问题建模是合理的,但是这一定程度上也
暴露了基于规则的方法的弱点。基于规则的机器翻译方法中,人工书写翻译规则的
主观因素重,有时与客观事实有一定差距。并且人工书写翻译规则的难度大,代价
非常高,这也成为了后来基于数据驱动的机器翻译方法主要改进的方向。