166 Chapter 5. 基于词的机器翻译建模 肖桐 朱靖波
5.5 IBM 模型 1
公式(5.18)和公式(5.19)把翻译问题定义为对译文和词对齐同时进行生成的问题。
其中有两个问题:
• 首先,公式(5.18)的右端(
P
a
P (s,a|t))要求对所有的词对齐概率进行求和,但
是词对齐的数量随着句子长度是呈指数增长,如何遍历所有的对齐 a?
• 其次,公式(5.19)虽然对词对齐的问题进行了描述,但是模型中的很多参数仍
然很复杂,如何计算 P (m|t)、P (a
j
|a
j−1
1
,s
j−1
1
,m,t) 和 P (s
j
|a
j
1
,s
j−1
1
,m,t)?
针对这些问题,Brown 等人总共提出了 5 种解决方案,这也就是被后人所熟知的
5 个 IBM 翻译模型。第一个问题可以通过一定的数学或者工程技巧进行求解;第二
个问题可以通过一些假设进行化简,依据化简的层次和复杂度不同,可以分为 IBM
模型 1、IBM 模型 2、IBM 模型 3、IBM 模型 4 以及 IBM 模型 5。本节首先介绍较为
简单的 IBM 模型 1。
5.5.1 IBM 模型 1 的建模
IBM 模型 1 对公式(5.19)中的三项进行了简化。具体方法如下:
• 假设 P (m|t) 为常数 ε,即源语言句子长度的生成概率服从均匀分布,如下:
P (m|t) ≡ ε (5.21)
• 对齐概率 P (a
j
|a
j−1
1
,s
j−1
1
,m,t) 仅依赖于译文长度 l,即每个词对齐连接的生成
概率也服从均匀分布。换句话说,对于任意源语言位置 j 对齐到目标语言任意
位置都是等概率的。比如译文为“on the table”,再加上 t
0
共 4 个位置,相应
的,任意源语单词对齐到这 4 个位置的概率是一样的。具体描述如下:
P (a
j
|a
j−1
1
,s
j−1
1
,m,t) ≡
1
l + 1
(5.22)
• 源语单词 s
j
的生成概率 P (s
j
|a
j
1
,s
j−1
1
,m,t) 仅依赖与其对齐的译文单词 t
a
j
,
即单词翻译概率 f(s
j
|t
a
j
)。此时单词翻译概率满足
P
s
j
f(s
j
|t
a
j
) = 1。比如在
图5.17表示的例子中,源语单词“上”出现的概率只和与它对齐的单词“on”有
关系,与其他单词没有关系。
P (s
j
|a
j
1
,s
j−1
1
,m,t) ≡ f(s
j
|t
a
j
) (5.23)
用一个简单的例子对公式(5.23)进行说明。比如,在图5.17中,“桌子”对齐到
“table”,可被描述为 f (s
2
|t
a
2
) = f(“桌子”|“table”),表示给定“table”翻译
为“桌子”的概率。通常,f(s
2
|t
a
2
) 被认为是一种概率词典,它反应了两种语
言单词一级的对应关系。
5.5 IBM 模型 1 167
将上述三个假设和公式(5.19)代入公式(5.18)中,得到 P (s|t) 的表达式:
P (s|t) =
X
a
P (s,a|t)
=
X
a
P (m|t)
m
Y
j=1
P (a
j
|a
j−1
1
,s
j−1
1
,m,t)P (s
j
|a
j
1
,s
j−1
1
,m,t)
=
X
a
ε
m
Y
j=1
1
l + 1
f(s
j
|t
a
j
)
=
X
a
ε
(l + 1)
m
m
Y
j=1
f(s
j
|t
a
j
) (5.24)
s
1
: 在 s
2
: 桌子
s
3
: 上
t
1
:on
t
2
:the t
3
:table
t
0
图 5.17 汉译英双语句对及词对齐
在公式(5.24)中,需要遍历所有的词对齐,即
P
a
·。但这种表示不够直观,因此
可以把这个过程重新表示为如下形式:
P (s|t) =
l
X
a
1
=0
···
l
X
a
m
=0
ε
(l + 1)
m
m
Y
j=1
f(s
j
|t
a
j
) (5.25)
公式(5.25)分为两个主要部分。第一部分:遍历所有的对齐 a。其中 a 由 {a
1
,...,a
m
}
组成,每个 a
j
∈ {a
1
,...,a
m
} 从译文的开始位置 (0) 循环到截止位置 (l)。如图5.18表
示的例子,描述的是源语单词 s
3
从译文的开始 t
0
遍历到结尾 t
3
,即 a
3
的取值范围。
第二部分: 对于每个 a 累加对齐概率 P (s,a|t) =
ε
(l+1)
m
Q
m
j=1
f(s
j
|t
a
j
)。
s
1
: 在 s
2
: 桌子
s
3
: 上
t
1
:on
t
2
:the t
3
:table
t
0
图 5.18 公式(5.25)第一部分实例
这样就得到了 IBM 模型 1 中句子翻译概率的计算式。可以看出 IBM 模型 1 的假
设把翻译模型化简成了非常简单的形式。对于给定的 s,a 和 t,只要知道 ε 和 f(s
j
|t
a
j
)
就可以计算出 P (s|t)。
168 Chapter 5. 基于词的机器翻译建模 肖桐 朱靖波
5.5.2 解码及计算优化
如果模型参数给定,可以使用 IBM 模型 1 对新的句子进行翻译。比如,可以使
用5.2.5节描述的解码方法搜索最优译文。在搜索过程中,只需要通过公式(5.25)计算
每个译文候选的 IBM 模型翻译概率。但是,公式(5.25)的高计算复杂度导致这些模型
很难直接使用。以 IBM 模型 1 为例,这里把公式(5.25)重写为:
P (s|t) =
ε
(l + 1)
m
l
X
a
1
=0
...
l
X
a
m
=0
| {z }
(l+1)
m
次循环
m
Y
j=1
f(s
j
|t
a
j
)
| {z }
m次循环
(5.26)
可以看到,遍历所有的词对齐需要 (l+1)
m
次循环,遍历所有源语言位置累计 f(s
j
|t
a
j
)
需要 m 次循环,因此这个模型的计算复杂度为 O((l + 1)
m
m)。当 m 较大时,计算这
样的模型几乎是不可能的。不过,经过仔细观察,可以发现公式右端的部分有另外
一种计算方法,如下:
l
X
a
1
=0
...
l
X
a
m
=0
m
Y
j=1
f(s
j
|t
a
j
) =
m
Y
j=1
l
X
i=0
f(s
j
|t
i
) (5.27)
公式(5.27)的技巧在于把若干个乘积的加法(等式左手端)转化为若干加法结果的
乘积(等式右手端),这样省去了多次循环,把 O((l + 1)
m
m) 的计算复杂度降为
O((l + 1)m)。此外,公式(5.27)相比公式(5.26)的另一个优点在于,公式(5.27)中乘法
的数量更少,因为现代计算机中乘法运算的代价要高于加法,因此公式(5.27)的计算
机实现效率更高。图5.19 对这个过程进行了进一步解释。
α(1,0)α(2, 0) + α(1,0)α(2, 1) + α(1, 0)α(2, 2)+
α(1,1)α(2, 0) + α(1,1)α(2, 1) + α(1, 1)α(2, 2)+
α(1,2)α(2, 0) + α(1,2)α(2, 1) + α(1, 2)α(2, 2)
2
P
y
1
=0
2
P
y
2
=0
α(1,y
1
)α(2,y
2
)
=
2
P
y
1
=0
2
P
y
2
=0
2
Q
x=1
(α(1,0) + α(1 , 1) + α(1, 2))·
(α(2,0) + α(2 , 1) + α(2, 2))
=
2
Q
x=1
2
P
y =0
=
l
P
a
1
=0
...
l
P
a
m
=0
m
Q
j=1
f(s
j
|t
a
j
)
=
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
α(x,y
x
) α(x,y)
图 5.19
l
P
a
1
=0
...
l
P
a
m
=0
m
Q
j=1
f(s
j
|t
a
j
) =
m
Q
j=1
l
P
i=0
f(s
j
|t
i
) 的实例
5.5 IBM 模型 1 169
接着,利用公式(5.27)的方式,可以把公式(5.25)重写表示为:
IBM 模型 1: P (s|t) =
ε
(l + 1)
m
m
Y
j=1
l
X
i=0
f(s
j
|t
i
) (5.28)
公式(5.28)是 IBM 模型 1 的最终表达式,在解码和训练中可以被直接使用。
5.5.3 训练
在完成了建模和解码的基础上,剩下的问题是如何得到模型的参数。这也是整
个统计机器翻译里最重要的内容。下面将会对 IBM 模型 1 的参数估计方法进行介绍。
1. 目标函数
统计机器翻译模型的训练是一个典型的优化问题。简单来说,训练是指在给定
数据集(训练集)上调整参数使得目标函数的值达到最大(或最小),此时得到的参
数被称为是该模型在该目标函数下的最优解(图5.20)。
参数 x 的最优解
•
•
目标函数 f (x) 的最大值
f(x)
图 5.20 一个目标函数的最优解
在 IBM 模型中,优化的目标函数被定义为 P (s|t)。也就是,对于给定的句对 ( s, t ) ,
最大化翻译概率 P (s|t)。这里用符号 P
θ
(s|t) 表示模型由参数 θ 决定,模型训练可以
被描述为对目标函数 P
θ
(s|t) 的优化过程:
b
θ = argmax
θ
P
θ
(s|t) (5.29)
其中,argmax
θ
表示求最优参数的过程(或优化过程)。
公式(5.29)实际上也是一种基于极大似然的模型训练方法。这里,可以把 P
θ
(s|t)
看作是模型对数据描述的一个似然函数,记作 L(s, t ; θ)。也就是,优化目标是对似然
函数的优化:{
b
θ} = {arg max
θ∈Θ
L(s,t;θ)},其中 {
b
θ} 表示可能有多个结果,Θ 表示
参数空间。
回到 IBM 模型的优化问题上。以 IBM 模型 1 为例,优化的目标是最大化翻译概
170 Chapter 5. 基于词的机器翻译建模 肖桐 朱靖波
率 P (s|t)。使用公式(5.28) ,可以把这个目标表述为:
max
ε
(l + 1)
m
m
Y
j=1
l
X
i=0
f(s
j
|t
i
)
s.t. 任意单词t
y
:
X
s
x
f(s
x
|t
y
) = 1
其中,max(·) 表示最大化,
ε
(l+1)
m
Q
m
j=1
P
l
i=0
f(s
j
|t
i
) 是目标函数,f (s
j
|t
i
) 是模型的
参数,
P
s
x
f(s
x
|t
y
) = 1 是优化的约束条件,以保证翻译概率满足归一化的要求。需
要注意的是 {f(s
x
|t
y
)} 对应了很多参数,每个源语言单词和每个目标语单词的组合
都对应一个参数 f(s
x
|t
y
)。
2. 优化
可以看到,IBM 模型的参数训练问题本质上是带约束的目标函数优化问题。由
于目标函数是可微分函数,解决这类问题的一种常用手法是把带约束的优化问题转
化为不带约束的优化问题。这里用到了拉格朗日乘数法(Lagrange Multiplier Method)
,它的基本思想是把含有 n 个变量和 m 个约束条件的优化问题转化为含有 n + m 个
变量的无约束优化问题。
这里的目标是 max(P
θ
(s|t)),约束条件是对于任意的目标语单词 t
y
有
P
s
x
P (s
x
|t
y
) = 1。根据拉格朗日乘数法,可以把上述优化问题重新定义为最大化如
下拉格朗日函数的问题:
L(f,λ) =
ε
(l + 1)
m
m
Y
j=1
l
X
i=0
f(s
j
|t
i
) −
X
t
y
λ
t
y
(
X
s
x
f(s
x
|t
y
) −1) (5.30)
L(f,λ) 包含两部分,
ε
(l+1)
m
Q
m
j=1
P
l
i=0
f(s
j
|t
i
) 是原始的目标函数,
P
t
y
λ
t
y
(
P
s
x
f(s
x
|t
y
) −1) 是原始的约束条件乘以拉格朗日乘数 λ
t
y
,拉格朗日乘数
的数量和约束条件的数量相同。图5.21通过图例说明了 L(f,λ) 各部分的意义。
L(f,λ)
=
ϵ
(l+1)
m
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
−
P
t
y
λ
t
y
(
P
s
x
f(s
x
|t
y
)
−1)
L(f,λ)
=
ϵ
(l+1)
m
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
−
P
t
y
λ
t
y
(
P
s
x
f(s
x
|t
y
)
−1)
新目标函数 旧目标函数 参数:词翻译概率
参数:拉格朗日乘数
参数约束条件
图 5.21 拉格朗日函数的解释(IBM 模型 1)
5.5 IBM 模型 1 171
因为 L(f,λ) 是可微分函数,因此可以通过计算 L(f,λ) 导数为零的点得到极值点。因
为这个模型里仅有 f(s
x
|t
y
) 一种类型的参数,只需要对如下导数进行计算。
∂L(f,λ)
∂f(s
u
|t
v
)
=
∂
ε
(l+1)
m
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
∂f(s
u
|t
v
)
−
∂
P
t
y
λ
t
y
(
P
s
x
f(s
x
|t
y
) −1)
∂f(s
u
|t
v
)
=
ε
(l + 1)
m
·
∂
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
∂f(s
u
|t
v
)
−λ
t
v
(5.31)
这里 s
u
和 t
v
分别表示源语言和目标语言词表中的某一个单词。为了求
∂
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
∂f (s
u
|t
v
)
,
这里引入一个辅助函数。令 g(z) = αz
β
为变量 z 的函数,显然,
∂g(z)
∂z
= αβz
β−1
=
β
z
αz
β
=
β
z
g(z)。这里可以把
Q
m
j=1
P
l
i=0
f(s
j
|t
i
) 看做 g(z) = αz
β
的实例。首先,令
z =
P
l
i=0
f(s
u
|t
i
),注意 s
u
为给定的源语单词。然后,把 β 定义为
P
l
i=0
f(s
u
|t
i
) 在
Q
m
j=1
P
l
i=0
f(s
j
|t
i
) 中出现的次数,即源语句子中与 s
u
相同的单词的个数。
β =
m
X
j=1
δ(s
j
,s
u
) (5.32)
其中,当 x = y 时,δ(x, y) = 1,否则为 0。
根据
∂g(z)
∂z
=
β
z
g(z),可以得到
∂g(z)
∂z
=
∂
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
∂
l
P
i=0
f
(
s
u
|
t
i
)
=
m
P
j=1
δ(s
j
,s
u
)
l
P
i=0
f(s
u
|t
i
)
m
Y
j=1
l
X
i=0
f(s
j
|t
i
) (5.33)
根据
∂g(z)
∂z
和
∂z
∂f
计算的结果,可以得到
172 Chapter 5. 基于词的机器翻译建模 肖桐 朱靖波
∂
Q
m
j=1
P
l
i=0
f(s
j
|t
i
)
∂f(s
u
|t
v
)
=
∂
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
∂
l
P
i=0
f(s
u
|t
i
)
·
∂
l
P
i=0
f(s
u
|t
i
)
∂f(s
u
|t
v
)
=
m
P
j=1
δ(s
j
,s
u
)
l
P
i=0
f(s
u
|t
i
)
m
Y
j=1
l
X
i=0
f(s
j
|t
i
) ·
l
X
i=0
δ(t
i
,t
v
) (5.34)
将
∂
Q
m
j=1
P
l
i=0
f(s
j
|t
i
)
∂f (s
u
|t
v
)
进一步代入
∂L(f,λ)
∂f (s
u
|t
v
)
,得到 L(f,λ) 的导数
∂L(f,λ)
∂f(s
u
|t
v
)
=
ε
(l + 1)
m
·
∂
m
Q
j=1
l
P
i=0
f(s
j
|t
a
j
)
∂f(s
u
|t
v
)
−λ
t
v
=
ε
(l + 1)
m
P
m
j=1
δ(s
j
,s
u
) ·
P
l
i=0
δ(t
i
,t
v
)
P
l
i=0
f(s
u
|t
i
)
m
Y
j=1
l
X
i=0
f(s
j
|t
i
) −λ
t
v
(5.35)
令
∂L(f,λ)
∂f (s
u
|t
v
)
= 0,有
f(s
u
|t
v
) =
λ
−1
t
v
ε
(l + 1)
m
·
m
P
j=1
δ(s
j
,s
u
) ·
l
P
i=0
δ(t
i
,t
v
)
l
P
i=0
f(s
u
|t
i
)
m
Y
j=1
l
X
i=0
f(s
j
|t
i
) ·f(s
u
|t
v
) (5.36)
将上式稍作调整得到下式:
f(s
u
|t
v
) = λ
−1
t
v
ε
(l + 1)
m
m
Y
j=1
l
X
i=0
f(s
j
|t
i
)
m
X
j=1
δ(s
j
,s
u
)
l
X
i=0
δ(t
i
,t
v
)
f(s
u
|t
v
)
l
P
i=0
f(s
u
|t
i
)
(5.37)
可以看出,这不是一个计算 f (s
u
|t
v
) 的解析式,因为等式右端仍含有 f (s
u
|t
v
)。
不过它蕴含着一种非常经典的方法
——
期望最大化(Expectation Maximization)方法,
简称 EM 方法(或算法)。使用 EM 方法可以利用式5.37迭代地计算 f(s
u
|t
v
),使其
最终收敛到最优值。EM 方法的思想是:用当前的参数,求似然函数的期望,之后最
大化这个期望同时得到新的一组参数的值。对于 IBM 模型来说,其迭代过程就是反
复使用公式(5.37),具体如图5.22所示。
为了化简 f(s
u
|t
v
) 的计算,在此对公式(5.37)进行了重新组织,见图5.23。其中,
红色部分表示翻译概率 P(s|t);蓝色部分表示 (s
u
,t
v
) 在句对 (s,t) 中配对的总次数,
即“t
v
翻译为 s
u
”在所有对齐中出现的次数;绿色部分表示 f(s
u
|t
v
) 对于所有的 t
i
的相对值,即“t
v
翻译为 s
u
”在所有对齐中出现的相对概率;蓝色与绿色部分相乘
表示“t
v
翻译为 s
u
”这个事件出现次数的期望的估计,称之为期望频次(Expected
5.5 IBM 模型 1 173
f(s
u
|t
v
)
=
λ
−1
t
v
ε
(l+1)
m
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
m
P
j=1
δ(s
j
,s
u
)
l
P
i=0
δ(t
i
,t
v
)
f(s
u
|t
v
)
P
l
i=0
f(s
u
|t
i
)
新的参数值 旧的参数值
图 5.22 IBM 模型迭代过程示意图
Count)。
f(s
u
|t
v
)
=
λ
−1
t
v
ε
(l+1)
m
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
m
P
j=1
δ(s
j
,s
u
)
l
P
i=0
δ(t
i
,t
v
)
f(s
u
|t
v
)
P
l
i=0
f(s
u
|t
i
)
ϵ
(l+1)
m
m
Q
j=1
l
P
i=0
f(s
j
|t
i
)
m
P
j=1
δ(s
j
,s
u
)
l
P
i=0
δ(t
i
,t
v
)
f(s
u
|t
v
)
P
l
i=0
f(s
u
|t
i
)
翻译概率 P (s|t)
配对的总次数
(s
u
,t
v
) 在句对 (s, t) 中
有的 t
i
的相对值
f(s
u
|t
v
) 对于所
=
P (s|t)
“t
v
翻译为 s
u
” 这个事件
出现次数的期望的估计
称之为期望频次
图 5.23 公式(5.37)的解释
期望频次是事件在其分布下出现次数的期望。另 c
E
(X) 为事件 X 的期望频次,
其计算公式为:
c
E
(X) =
X
i
c(x
i
) ·P (x
i
) (5.38)
其中 c(x
i
) 表示 X 取 x
i
时出现的次数,P (x
i
) 表示 X = x
i
出现的概率。图5.24展示
了事件 X 的期望频次的详细计算过程。其中 x
1
、x
2
和 x
3
分别表示事件 X 出现 2
次、1 次和 5 次的情况。
x
i
c(x
i
)
x
1
2
x
2
1
x
3
5
总频次 = 8
x
i
c(x
i
) P (x
i
) c(x
i
) ·P (x
i
)
x
1
2 0.1 0.2
x
2
1 0.3 0.3
x
3
5 0.2 1.0
c
E
(X) = 0.2 + 0.3 + 1.0 = 1.5
图 5.24 总频次(左)和期望频次(右)的实例
因为在 P (s|t) 中,t
v
翻译(连接)到 s
u
的期望频次为:
c
E
(s
u
|t
v
;s,t) ≡
m
X
j=1
δ(s
j
,s
u
) ·
l
X
i=0
δ(t
i
,t
v
) ·
f(s
u
|t
v
)
l
P
i=0
f(s
u
|t
i
)
(5.39)
所以公式5.37可重写为:
f(s
u
|t
v
) = λ
−1
t
v
·P (s|t) ·c
E
(s
u
|t
v
;s,t) (5.40)
174 Chapter 5. 基于词的机器翻译建模 肖桐 朱靖波
在此如果令 λ
′
t
v
=
λ
t
v
P (s|t)
,可得:
f(s
u
|t
v
) = λ
−1
t
v
·P (s|t) ·c
E
(s
u
|t
v
;s,t)
= (λ
′
t
v
)
−1
·c
E
(s
u
|t
v
;s,t) (5.41)
又因为 IBM 模型对 f(·|· ) 的约束如下:
∀t
y
:
X
s
x
f(s
x
|t
y
) = 1 (5.42)
为了满足 f(·|·) 的概率归一化约束,易得 λ
′
t
v
为:
λ
′
t
v
=
X
s
′
u
c
E
(s
′
u
|t
v
;s,t) (5.43)
因此,f(s
u
|t
v
) 的计算式可再一步变换成下式:
f(s
u
|t
v
) =
c
E
(s
u
|t
v
;s,t)
P
s
′
u
c
E
(s
′
u
|t
v
;s,t)
(5.44)
f(s
u
|t
v
)
=
P
K
k=1
c
E
(s
u
|t
v
;s
[k]
,t
[k]
)
P
s
′
u
P
K
k=1
c
E
(s
′
u
|t
v
;s
[k]
,t
[k]
)
利用这个公式计算
新的 f(s
u
|t
v
) 值
用当前的 f(s
u
|t
v
)
计算期望频次 c
E
(·)
f(s
u
|t
v
)
反复执行
图 5.25 f(s
u
|t
v
) 的计算公式和迭代过程
进一步,假设有 K 个互译的句对(称作平行语料):{(s
[1]
,t
[1]
),...,(s
[K]
,t
[K]
)},
f(s
u
|t
v
) 的期望频次为:
c
E
(s
u
|t
v
) =
K
X
k=1
c
E
(s
u
|t
v
;s
[k]
,t
[k]
) (5.45)
于是有
f
(
s
u
|
t
v
)
的计算公式和迭代过程图5.25所示。完整的
EM
算法如图5.26所
示。其中 E-Step 对应 4-5 行,目的是计算 c
E
(·);M-Step 对应 6-9 行,目的是计算 f(·|·)。
至此,本章完成了对 IBM 模型 1 训练方法的介绍。其可以通过图5.25所示的算
法进行实现。算法最终的形式并不复杂,因为只需要遍历每个句对,之后计算 f(·|·)
的期望频次,最后估计新的 f(·|·) ,这个过程迭代直至 f (·|·) 收敛至稳定状态。
5.5 IBM 模型 1 175
IBM 模型 1 的训练(EM 算法)
输入: 平行语料 (s
[1]
,t
[1]
),...,(s
[K]
,t
[K]
)
输出: 参数 f(·|·) 的最优值
1: Function EM({(s
[1]
,t
[1]
),...,(s
[K]
,t
[K]
)})
2: Initialize f (·|·) B 比如给 f(·|· ) 一个均匀分布
3: Loop until f (·|·) converges
4: foreach k = 1 to K do
5: c
E
(s
u
|t
v
;s
[k]
,t
[k]
) =
|s
[k]
|
P
j=1
δ(s
j
,s
u
)
|t
[k]
|
P
i=0
δ(t
i
,t
v
) ·
f(s
u
|t
v
)
P
l
i=0
f(s
u
|t
i
)
6: foreach t
v
appears at least one of {t
[1]
,..., t
[K]
} do
7: λ
′
t
v
=
P
s
′
u
P
K
k=1
c
E
(s
′
u
|t
v
;s
[k]
,t
[k]
)
8: foreach s
u
appears at least one of {s
[1]
,..., s
[K]
} do
9: f(s
u
|t
v
) =
P
K
k=1
c
E
(s
u
|t
v
;s
[k]
,t
[k]
) ·(λ
′
t
v
)
−1
10: return f(·|·)
图 5.26 EM 算法流程图(IBM 模型 1)