208 Chapter 7. 基于短语的模型 肖桐 朱靖波
7.3 短语抽取
在基于短语的模型中,学习短语翻译是重要的步骤之一。获得短语翻译的方法
有很多种,最常用的方法是从双语平行语料中进行短语抽取(Phrase Extraction)。前
面已经介绍过短语的概念,句子中任意的连续子串都被称为短语。例如在图7.9中,用
点阵的形式来表示双语之间的对应关系,那么图中任意一个矩形框都可以构成一个
双语短语(或短语对),例如“什么/都/没”对应“learned nothing ?”。
Have
you
learned
nothing
?
EOS
你
什么
都
没
学
到
?
EOS
¯s
i
:什么 都 没
¯
t
i
:learned nothing ?
¯s
j
:到 ?
¯
t
j
:Have you learned nothing
图 7.9 无限制的短语抽取
按照上述抽取短语的方式可以找到所有可能的双语短语,但是这种不加限制的
抽取是十分低效的。一是可抽取的短语数量爆炸,二是抽取得到的大部分短语是没
有意义的,如上面的例子中抽取到“到/?”对应“Have you learned nothing”这样的
短语对在翻译中并没有什么意义。对于这个问题,一种解决方法是基于词对齐进行
短语抽取,另一种是抽取与词对齐相一致的短语。
7.3.1 与词对齐一致的短语
图7.10中大蓝色方块代表词对齐。通过词对齐信息,可以很容易地获得双语短语
“天气 ↔ The weather”。这里称其为与词对齐一致(兼容)的双语短语。具体定义如
下:
定义 7.3.1 与词对齐一致(兼容)的双语短语
对于源语言句子 s 和目标语句子 t,存在 s 和 t 之间的词对齐。如果有 (s,t) 中的双语
短语 (¯s,
¯
t),且 ¯s 中所有单词仅对齐到
¯
t 中的单词,同时
¯
t 中所有单词仅对齐到 ¯s 中的单
词,那么称 (¯s,
¯
t) 与是与词对齐一致的(兼容的)双语短语。
如图7.11所示,左边的例子中的 t
1
和 t
2
严格地对应到 s
1
、s
2
、s
3
,所以短语是
与词对齐相一致的;中间例子中的 t
2
对应到短语 s
1
和 s
2
的外面,所以短语是与词
对齐不一致的;类似的,右边的例子中短语与词对齐也是相一致的。
图7.12展示了与词对齐一致的短语抽取过程,首先判断抽取得到的双语短语是
否与词对齐保持一致,若一致,则抽取出来。在实际抽取过程中,通常需要对短语的
7.3 短语抽取 209
The
weather
is
very
good
today
.
EOS
今天
天气
真
好
。
EOS
¯s
i
:天气
¯
t
i
:The weather
¯s
j
:真 好
¯
t
j
:very good
图 7.10 与词对齐一致的短语抽取
t
1
t
2
t
3
t
4
s
1
s
2
s
3
s
4
t
1
t
2
t
3
t
4
s
1
s
2
s
3
s
4
t
1
t
2
t
3
t
4
s
1
s
2
s
3
s
4
图 7.11 词对齐一致性示例
最大长度进行限制,以免抽取过多的无用短语。比如,在实际系统中,最大短语长度
一般是 5-7 个词。
The
weather
is
very
good
today
.
EOS
今天
天气
真
好
。
EOS
与词对齐保持一致?
抽取得到的短语:
天气 ↔ The weather
天气 ↔ The weather is
天气 真 ↔ The weather is very
天气 真 好 ↔ The weather is very good
图 7.12 与词对齐一致的短语抽取
7.3.2 获取词对齐
如何获得词对齐呢?第五章和第六章介绍的 IBM 模型本身就是一个词对齐模型,
因此一种常用的方法是直接使用 IBM 模型生成词对齐。IBM 模型约定每个源语言单
词必须对应、也只能对应到一个目标语单词。因此,IBM 模型得到的词对齐结果是
不对称的。正常情况下词对齐可以是一个源语言单词对应多个目标语言单词,或者
210 Chapter 7. 基于短语的模型 肖桐 朱靖波
多对一,甚至多对多的情况。为了获得对称的词对齐,一种简单的方法是,分别进行
正向翻译和反向翻译的词对齐,然后利用启发性方法生成对称的词对齐,例如,双
向词对齐取交集、并集等。
如图7.13中,左边两个图就是正向和反向两种词对齐的结果。右边的图是融合双
向词对齐的结果,取交集是蓝色的方框,取并集是红色的方框。当然,还可以设计更
多的启发性规则生成词对齐
[275]
。
t
1
t
2
t
3
t
4
s
1
s
2
s
3
s
4
t
1
t
2
t
3
t
4
s
1
s
2
s
3
s
4
t
1
t
2
t
3
t
4
s
1
s
2
s
3
s
4
s - t t - s
交集/并集
图 7.13 词对齐的获取
除此之外,一些外部工具也可以用来获取词对齐,如 Fastalign
[252]
、Berkeley Word
Aligner
[253]
等。词对齐的质量通常使用词对齐错误率(AER)来评价
[276]
,但是词对齐
并不是一个独立的系统,它一般会服务于其他任务。因此,也可以使用下游任务来
评价词对齐的好坏。比如,改进词对齐后观察机器翻译系统性能的变化。
7.3.3 度量双语短语质量
抽取双语短语之后,需要对每个双语短语的质量进行评价。这样,在使用这些
双语短语时,可以更有效地估计整个句子翻译的好坏。在统计机器翻译中,一般用
双语短语出现的可能性大小来度量双语短语的好坏。这里,使用相对频次估计对短
语的翻译条件概率进行计算,公式如下:
P (
¯
t|¯s) =
c(¯s,
¯
t)
c(¯s)
(7.13)
给定一个双语句对 (s, t),c(¯s) 表示短语 ¯s 在 s 中出现的次数,c(¯s,
¯
t) 表示双语
短语 (¯s,
¯
t) 在 (s, t) 中被抽取出来的次数。对于一个包含多个句子的语料库,c(¯s) 和
c(¯s,
¯
t) 可以按句子进行累加。类似的,也可以用同样的方法,计算
¯
t 到 ¯s 的翻译概率,
即 P (¯s|
¯
t)。一般会同时使用 P (
¯
t|¯s) 和 P (¯s|
¯
t) 度量一个双语短语的好与坏。
当遇到低频短语时,短语翻译概率的估计可能会不准确。例如,短语 ¯s 和
¯
t 在语
料中只出现了一次,且在一个句子中共现,那么 ¯s 到
¯
t 的翻译概率为 P (
¯
t|¯s) = 1,这
显然是不合理的,因为 ¯s 和
¯
t 的出现完全可能是偶然事件。既然直接度量双语短语的
好坏会面临数据稀疏问题,一个自然的想法就是把短语拆解成单词,利用双语短语
中单词翻译的好坏间接度量双语短语的好坏。为了达到这个目的,可以使用词汇化翻
译概率(Lexical Translation Probability)。前面借助词对齐信息完成了双语短语的抽
7.3 短语抽取 211
取,可以看出,词对齐信息本身就包含了短语内部单词之间的对应关系。因此同样
可以借助词对齐来计算词汇翻译概率,公式如下:
P
lex
(
¯
t|¯s) =
|¯s|
Y
j=1
1
|{j|a(j,i) = 1}|
X
∀(j,i):a(j,i)=1
σ(t
i
|s
j
) (7.14)
它表达的意思是短语 ¯s 和
¯
t 存在词汇级的对应关系,其中 a(j,i) = 1 表示双语句
对 (s, t) 中单词 s
j
和单词 t
i
对齐,σ 表示词汇翻译概率用来度量两个单词之间翻译
的可能性大小(见第五章),作为两个词之间对应的强度。
t
1
t
2
t
3
t
4 N
s
1
s
2
s
3
s
4
P
lex
(
¯
t|¯s) = σ(t
1
|s
1
)×
1
2
(σ(t
2
|s
2
) + σ(t
3
|s
2
))×
σ(N|s
3
)×
σ(t
4
|s
4
)×
图 7.14 单词翻译概率实例
来看一个具体的例子,如图7.14所示。对于一个双语短语,将它们的词对齐关系
代入到公式(7.14)就会得到短语的单词翻译概率。对于单词翻译概率,可以使用 IBM
模型中的单词翻译表,也可以通过统计获得
[277]
。如果一个单词的词对齐为空,则用
N 表示它翻译为空的概率。和短语翻译概率一样,可以使用双向的单词化翻译概率
来评价双语短语的好坏。
经过上面的介绍,可以从双语平行语料中把双语短语抽取出来,同时得到相应
的翻译概率(即特征),组成短语表(Phrase Table)。图7.15展示了一个真实短语表的
片段。其中包括源语言短语和目标语言短语,用 ||| 进行分割。每个双语对应的得分,
包括正向和反向的单词翻译概率以及短语翻译概率,还包括词对齐信息(0-0、1-1)
等其他信息。
报告认为 ||| report holds that ||| -2.62 -5.81 -0.91 -2.85 1 0 ||| 4 ||| 0-0 1-1 1-2
,悲伤 ||| , sadness ||| -1.946 -3.659 0 -3.709 1 0 ||| 1 ||| 0-0 1-1
,北京等 ||| , beijing , and other ||| 0 -7.98 0 -3.84 1 0 ||| 2 ||| 0-0 1-1 2-2 2-3 2-4
,北京及 ||| , beijing , and ||| -0.69 -1.45 -0.92 -4.80 1 0 ||| 2 ||| 0-0 1-1 2-2
一个世界 ||| one world ||| 0 -1.725 0 -1.636 1 0 ||| 2 ||| 1-1 2-2
...
...
图 7.15 短语表实例