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 Table7.15展示了一个真实短语表的
片段。其中包括源语言短语和目标语言短语,用 ||| 进行分割。每个双语对应的得分,
包括正向和反向的单词翻译概率以及短语翻译概率,还包括词对齐信息(0-01-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 短语表实例