204 Chapter 7. 基于短语的模型 肖桐 朱靖波
7.2 数学建模
对于统计机器翻译,其目的是找到输入句子的可能性最大的译文:
ˆ
t = argmax
t
P (t|s) (7.2)
其中,s 是输入的源语言句子,t 是一个目标语言译文。P (t|s) 被称为翻译模型,
描述了把 s 翻译为 t 的可能性。通过 argmaxP (t|s) 可以找到使 P (t|s) 达到最大的 t
这里第一问题何定 P (t|s)接描 P (t|s) 非常难的, s
t 分别对应巨大的样空间,而在练数据中能观到的只是间中的一
分样本。直接用有限的训练数据描述这两个空间中样本的对应关系会面临着严重
数据稀疏问题。对于这个问题,常用的解决办法是把复杂的问题转化为容易计算
简单问题。
7.2.1 基于翻译推导的建模
基于短语的翻模型假设 s t 的翻译可以用翻推导进行述,这些翻
导都是由双语短语组成。于是,两个句子之间的映射就可以被看作是一个个短语
映射。显然短语翻译的建模要比整个句子翻译的建模简单得多。从模型上看,可
把翻译推导 d 作是 s t 翻译的一种隐含结构。这种结构定义了对问题的一种
描述,即翻译由一系列短语组成。根据这个假设,可以把句子的翻译概率定义为:
P (t|s) =
X
d
P (d, t|s) (7.3)
公式(7.3)中,P (d, t|s) 表示翻译推导的概率。公式(7.3)把翻译问题转化为翻译推
导的生成问题。但是,由于翻译推导的数量十分巨大
3
,公式(7.3)的右端需要对所有
可能的推导进行枚举并求和,这几乎是无法计算的。
对于这个问题,常用的一种解决办法是利用一个化简的模型来近似完整的模型。
如果把翻译推导的全体看作一个空间 D,可以从 D 中选取一部分样本参与计算,
不是对整个 D 进行计算。比如,可以用最好的 n 个翻译推导来代表整个空间 D
D
n-best
表示最好的 n 个翻译推导所构成的空间,于是可以定义:
P (t|s)
X
dD
n-best
P (d, t|s) (7.4)
进一步,把公式(7.4)带入公式(7.2),可以得到翻译的目标为:
ˆ
t = arg max
t
X
dD
n-best
P (d, t|s) (7.5)
3
如果把推导看作是一种树结构,推导的数量与词串的长度成指数关系。
7.2 数学建模 205
另一种常用的方法是直接 P (d,t|s) 的最大值代表整个翻译推导的概率和。这
种方法假设翻译概率是非常尖锐的,“最好”的推导会占有概率的主要部分。它被形
式化为:
P (t|s) max P (d, t|s) (7.6)
于是,翻译的目标可以被重新定义:
ˆ
t = argmax
t
(maxP (d,t|s)) (7.7)
值得注意的是,翻译推导中蕴含着译文信息,因此每个翻译推导都与一个
文对应。因此可以把公式(7.7)所描述的问题重新定义为:
ˆ
d = argmax
d
P (d, t|s) (7.8)
也就是,给定一个输入句子 s,找到从它出发的最优翻译推导
ˆ
d把这个翻译推
导所对应的目标语词串看作优的译文。假设函数 t(·) 以返回一推导的目标语
词串,则最优译文也可以被看作是:
ˆ
t = t(
ˆ
d) (7.9)
注意,公式(7.8)-(7.9)公式(7.7)质上一样的。它们也构成统计机器翻译
中最用的
——
Viterbi 方法
[274]
。在面机翻译码中会看们的
用。而公式(7.5)也被称作 n-best 方法,常常作为 Viterbi 方法的一种改进。
7.2.2 对数线性模型
对于如何定义 P(d,t|s) 有很多种思路,比如,可以 d 解为若干步骤,然后
对这些步骤分别建模,最后形成描述 d 的生成模型。这种方法在第五章和第六章
IBM 模型中也大量使用。但是,生成模型的每一步推导需要有严格的概率解释,这
也限制了研究人员从更多的角度对 d 进行描述。这里,可以使用另外一种方法
——
判别模型来对 P (d,t|s) 进行描述
[113]
。其模型形式如下:
P (d, t|s) =
exp(score(d,t,s))
P
d
,t
exp(score(d
,t
,s))
(7.10)
其中,
206 Chapter 7. 基于短语的模型 肖桐 朱靖波
score(d,t,s) =
M
X
i=1
λ
i
·h
i
(d,t,s) (7.11)
公式(7.11)是一种典型的对数线性模型Log-linear Model所谓“对数线性”
exp(·)法。
(7.10)作。子部分可以被翻译推导 d
数线性建模。具体来说,对于每个 d,用 M 个特征对其进行描述,每个特征用函数
h
i
(d,t,s) 示,它对应一个权重 λ
i
,表示特征 i 重要性。
P
M
i=1
λ
i
·h
i
(d,t,s)
了对这些特征的线性加权和,值越大表示模型得分越高,相应的 d t 的质量越高。
公式(7.10)的分母部分实际上不需要计算,因为其值与求解最佳推导的过程无关。
公式(7.10)带入公式(7.8)得到:
ˆ
d = arg max
d
exp(score(d,t,s))
P
d
,t
exp(score(d
,t
,s))
= argmax
d
exp(score(d,t,s)) (7.12)
公式(7.12)中, exp(score(d, t,s)) 表示指数化的模型得分,记为 mscore(d,t,s) =
exp(score(d,t,s))于是,翻译问题就可以被描述为:找到使函数 mscore(d,t,s ) 达到
最大的 d由于,exp(score( d, t,s )) score(d, t,s) 是单调一致的,因此有时也直接把
score(d,t,s) 当做模型得分。
7.2.3 判别模型中的特征
判别模型最大的好处在于它可以更灵地引入特征。某种意义上,每个特征
是在描述翻译的某方面属性。在各种统分类模型中,也大量使用了“特征”这
概念(见第三章)比如,要判别一篇新闻是体育方面的还是文化方面的,可以设计
一个分类器,用词作为特征。这个分类器就会有能力区分“体育”“文化”两个类
别的特征,最终决定这篇文章属于哪个类别。统计机器翻译也在做类似的事情。
统研发者可以通过设计翻译相关的特征,来区分不同翻译结果的好坏。翻译模型
综合这些特征对所有可能的译文进行打分和排序,并选择得分最高的译文输出。
在判别模型中,系统开发者可以设计任的特征来描述翻译,特征的设计甚
都不要统上的释,包 0-1 特征、计特征等。如,可设计征来
you 这个单词是否出现在译文中?。如果答案为真,这个特征的值为 1,否则为 0
再比如,可以设计特征来回答“译文里有多少个单词?这个特征相当于一个统计
目标语单词数的函数,它的值即为译文的长度。此外,还可以设计更加复杂的实数特
征,甚至具有概率意义的特征。在随后的内容中还将看到,翻译的调序、译文流畅度
等都会被建模为特征,而机器翻译系统会融合这些特征,综合得到最优的输出译文。
此外,判别模型并不需要像生成模型那样对问题进行具有统计学意义的“分解”
7.2 数学建模 207
更不需要对每个步骤进行严格的数学推导。相反,它直接对问题的后验概率进行
模。由于不像生成模型那样需要引入假设来对每个生成步骤进行化简,判别模型
问题的刻画更加直接,因此也受到自然语言处理研究者的青睐。
7.2.4 搭建模型的基本流程
对于翻译的判别建模,需要回答两个问题:
如何设计特征函数 {h
i
(d,t|s)}?
如何获得最好的特征权重 {λ
i
}?
在基于短语的翻译模型中,通常包含三类特征:短语翻译特征、调序特征、语言
模型相关的特征。这些特征都需要从训练数据中学习。
7.8展示了一个基于短语的机器翻译模型的搭建流程。其中的训练数据包括双
语平行语料和目标语言单语语料。首先,需要从双语平行数据中学习短语的翻译,
形成一个短语翻译表;然后,再从双语平行数据中学习调序模型;最后,从目标语单
语数据中学习语言模型。短语翻译表、调序模型、语言模型都会作为特征被送入
别模型,由解码器完成对新句子的翻译。而这些特征的权重可以在额外的开发集
进行调优。关于短语抽取、调序模型和翻译特征的学习,会在本章的7.3-7.6节进行介
绍。
训练用双语数据
短语抽取及打分
调序建模 语言建模
目标语单语数据
短语表
调序模型 语言模型
解码器
7.8 基于短语的机器翻译的系统流程