212 Chapter 7. 基于短语的模型 肖桐 朱靖波
7.4 翻译调序建模
尽管已经知道了如何将一个源语言短语翻译成目标语言短语,但是想要获得一
个高质量的译文,仅有互译的双语短语是远远不够的。
如图7.16所示,按照从左到右的顺序对一个句子“在/桌子/上/的/苹果”进行翻
译,得到的译文“on the table the apple”的语序是不对的。虽然可以使用 n-gram 语
言模型对语序进行建模,但是此处仍然需要用更加准确的方式描述目标语短语间的
次序。一般,把这个问题称为短语调序,或者简称调序(Reordering)。通常,基于
短语的调序模型会作为判别模型的特征参与到翻译过程中来。接下来,会介绍 3 种
不同的调序方法,分别是基于距离的调序、基于方向的调序(MSD 模型)以及基于
分类的调序。
s:
在桌子上的 苹果
t:
the apple
on the table
图 7.16 基于短语翻译的调序
7.4.1 基于距离的调序
基于距离的调序是最简单的一种调序模型。第六章中所讨论的“扭曲度”本质
上就是一种调序模型。只不过第六章所涉及的扭曲度描述的是单词的调序问题,而
这里需要把类似的概念推广到短语。
基于距离的调序的一个基本假设是:语言的翻译基本上都是顺序的,也就是,译
文单词出现的顺序和源语言单词的顺序基本上是一致的。反过来说,如果译文和源
语言单词(或短语)的顺序差别很大,就认为出现了调序。
基于距离的调序方法的核心思想就是度量当前翻译结果与顺序翻译之间的差距。
对于译文中的第 i 个短语,令 start
i
表示它所对应的源语言短语中第一个词所在的位
置,end
i
表示它所对应的源语言短语中最后一个词所在的位置。于是,这个短语(相
对于前一个短语)的调序距离为:
dr = start
i
−end
i−1
−1 (7.15)
在图7.17的例子中,“the apple”所对应的调序距离为 4,“on the table”所对应的
调序距离为 −5。显然,如果两个源语短语按顺序翻译,则 start
i
= end
i−1
+ 1,这时
调序距离为 0。
如果把调序距离作为特征,一般会使用指数函数 f(dr) = a
|dr|
作为特征函数(或
者调序代价的函数),其中 a 是一个参数,控制调序距离对整个特征值的影响。调序