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。
再比如,可以设计特征来回答“译文里有多少个单词?”。这个特征相当于一个统计
目标语单词数的函数,它的值即为译文的长度。此外,还可以设计更加复杂的实数特
征,甚至具有概率意义的特征。在随后的内容中还将看到,翻译的调序、译文流畅度
等都会被建模为特征,而机器翻译系统会融合这些特征,综合得到最优的输出译文。
此外,判别模型并不需要像生成模型那样对问题进行具有统计学意义的“分解”,