Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mtbookv2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
NiuTrans
mtbookv2
Commits
50b371ea
Commit
50b371ea
authored
Jan 09, 2021
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wording (sec appendix)
parent
744f5d78
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
55 行增加
和
57 行删除
+55
-57
ChapterAppend/chapterappend.tex
+55
-57
没有找到文件。
ChapterAppend/chapterappend.tex
查看文件 @
50b371ea
...
...
@@ -234,104 +234,102 @@
\section
{
IBM模型2训练方法
}
\parinterval
IBM模型2与模型1的训练过程完全一样,本质上都是EM方法,因此可以直接复用
{
\chapterfive
}
中训练模型1的流程。对于源语言句子
$
\
mathbi
{
s
}
=
\{
s
_
1
,
\dots
,s
_
m
\}
$
和目标语言句子
$
\mathbi
{
t
}
=
\{
t
_
1
,
\dots
,t
_
l
\}
$
,E-Step的计算公式如下:
\parinterval
IBM模型2与模型1的训练过程完全一样,本质上都是EM方法,因此可以直接复用
{
\chapterfive
}
中训练模型1的流程。对于源语言句子
$
\
seq
{
s
}
=
\{
s
_
1
,
\dots
,s
_
m
\}
$
和目标语言句子
$
\seq
{
t
}
=
\{
t
_
1
,
\dots
,t
_
l
\}
$
,E-Step的计算公式如下:
\begin{eqnarray}
c(s
_
u|t
_
v;
\
mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum\limits
_{
j=1
}^{
m
}
\sum\limits
_{
i=0
}^{
l
}
\frac
{
f(s
_
u|t
_
v)a(i|j,m,l)
\delta
(s
_
j,s
_
u)
\delta
(t
_
i,t
_
v)
}
{
\sum
_{
k=0
}^{
l
}
f(s
_
u|t
_
k)a(k|j,m,l)
}
\\
c(i|j,m,l;
\
mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\frac
{
f(s
_
j|t
_
i)a(i|j,m,l)
}
{
\sum
_{
k=0
}^{
l
}
f(s
_
j|t
_
k)a(k,j,m,l)
}
c(s
_
u|t
_
v;
\
seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum\limits
_{
j=1
}^{
m
}
\sum\limits
_{
i=0
}^{
l
}
\frac
{
f(s
_
u|t
_
v)a(i|j,m,l)
\delta
(s
_
j,s
_
u)
\delta
(t
_
i,t
_
v)
}
{
\sum
_{
k=0
}^{
l
}
f(s
_
u|t
_
k)a(k|j,m,l)
}
\\
c(i|j,m,l;
\
seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\frac
{
f(s
_
j|t
_
i)a(i|j,m,l)
}
{
\sum
_{
k=0
}^{
l
}
f(s
_
j|t
_
k)a(k,j,m,l)
}
\label
{
eq:append-1
}
\end{eqnarray}
\noindent
M-Step的计算公式如下:
\begin{eqnarray}
f(s
_
u|t
_
v)
&
=
&
\frac
{
c(s
_
u|t
_
v;
\
mathbi
{
s
}
,
\mathbi
{
t
}
)
}
{
\sum
_{
s
_
u
}
c(s
_
u|t
_
v;
\mathbi
{
s
}
,
\mathbi
{
t
}
)
}
\\
a(i|j,m,l)
&
=
&
\frac
{
c(i|j,m,l;
\
mathbi
{
s
}
,
\mathbi
{
t
}
)
}
{
\sum
_{
i
}
c(i|j,m,l;
\mathbi
{
s
}
,
\mathbi
{
t
}
)
}
f(s
_
u|t
_
v)
&
=
&
\frac
{
c(s
_
u|t
_
v;
\
seq
{
s
}
,
\seq
{
t
}
)
}
{
\sum
_{
s'
_
u
}
c(s'
_
u|t
_
v;
\seq
{
s
}
,
\seq
{
t
}
)
}
\\
a(i|j,m,l)
&
=
&
\frac
{
c(i|j,m,l;
\
seq
{
s
}
,
\seq
{
t
}
)
}
{
\sum
_{
i'
}
c(i'|j,m,l;
\seq
{
s
}
,
\seq
{
t
}
)
}
\label
{
eq:append-2
}
\end{eqnarray}
\noindent
其中,
$
f
(
s
_
u|t
_
v
)
$
与IBM模型1 一样表示目标语言单词
$
t
_
v
$
到源语言单词
$
s
_
u
$
的翻译概率,
$
a
(
i|j,m,l
)
$
表示调序概率。
\parinterval
对于由
$
K
$
个样本组成的训练集
$
\{
(
\
mathbi
{
s
}^{
[
1
]
}
,
\mathbi
{
t
}^{
[
1
]
}
)
,...,
(
\mathbi
{
s
}^{
[
K
]
}
,
\mathbi
{
t
}^{
[
K
]
}
)
\}
$
,可以将M-Step的计算调整为:
\parinterval
对于由
$
K
$
个样本组成的训练集
$
\{
(
\
seq
{
s
}^{
[
1
]
}
,
\seq
{
t
}^{
[
1
]
}
)
,...,
(
\seq
{
s
}^{
[
K
]
}
,
\seq
{
t
}^{
[
K
]
}
)
\}
$
,可以将M-Step的计算调整为:
\begin{eqnarray}
f(s
_
u|t
_
v)
&
=
&
\frac
{
\sum
_{
k=1
}^{
K
}
c(s
_
u|t
_
v;
\
mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
}
{
\sum
_{
s
_
u
}
\sum
_{
k=1
}^{
K
}
c(s
_
u|t
_
v;
\mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
}
\\
a(i|j,m,l)
&
=
&
\frac
{
\sum
_{
k=1
}^{
K
}
c(i|j,m
^{
[k]
}
,l
^{
[k]
}
;
\
mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
}
{
\sum
_{
i
}
\sum
_{
k=1
}^{
K
}
c(i|j,m
^{
[k]
}
,l
^{
[k]
}
;
\mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
}
f(s
_
u|t
_
v)
&
=
&
\frac
{
\sum
_{
k=1
}^{
K
}
c(s
_
u|t
_
v;
\
seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
}
{
\sum
_{
s'
_
u
}
\sum
_{
k=1
}^{
K
}
c(s'
_
u|t
_
v;
\seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
}
\\
a(i|j,m,l)
&
=
&
\frac
{
\sum
_{
k=1
}^{
K
}
c(i|j,m
^{
[k]
}
,l
^{
[k]
}
;
\
seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
}
{
\sum
_{
i'
}
\sum
_{
k=1
}^{
K
}
c(i'|j,m
^{
[k]
}
,l
^{
[k]
}
;
\seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
}
\label
{
eq:append-3
}
\end{eqnarray}
\noindent
其中,
$
m
^{
[
k
]
}
=
|
\
mathbi
{
s
}^{
[
k
]
}
|
$
,
$
l
^{
[
k
]
}
=
|
\mathbi
{
t
}^{
[
k
]
}
|
$
。
\noindent
其中,
$
m
^{
[
k
]
}
=
|
\
seq
{
s
}^{
[
k
]
}
|
$
,
$
l
^{
[
k
]
}
=
|
\seq
{
t
}^{
[
k
]
}
|
$
。
%----------------------------------------------------------------------------------------
% NEW SECTION
%----------------------------------------------------------------------------------------
\section
{
IBM模型3训练方法
}
\parinterval
IBM模型3的参数估计与模型1和模型2采用相同的方法
。这里直接给出辅助函数。
\parinterval
IBM模型3的参数估计与模型1和模型2采用相同的方法
,辅助函数被定义如下:
\begin{eqnarray}
h(t,d,n,p,
\lambda
,
\mu
,
\nu
,
\zeta
)
&
=
&
\funp
{
P
}_{
\theta
}
(
\
mathbi
{
s
}
|
\mathbi
{
t
}
)-
\sum
_{
t
}
\lambda
_{
t
}
\big
(
\sum
_{
s
}
t(s|t
)-1
\big
)
\nonumber
\\
h(t,d,n,p,
\lambda
,
\mu
,
\nu
,
\zeta
)
&
=
&
\funp
{
P
}_{
\theta
}
(
\
seq
{
s
}
|
\seq
{
t
}
)-
\sum
_{
t
_
v
}
\lambda
_{
t
_
v
}
\big
(
\sum
_{
s
_
u
}
t(s
_
u|t
_
v
)-1
\big
)
\nonumber
\\
&
&
-
\sum
_{
i
}
\mu
_{
iml
}
\big
(
\sum
_{
j
}
d(j|i,m,l)-1
\big
)
\nonumber
\\
&
&
-
\sum
_{
t
}
\nu
_{
t
}
\big
(
\sum
_{
\varphi
}
n(
\varphi
|t)-1
\big
)-
\zeta
(p
^
0+p
^
1-1)
&
&
-
\sum
_{
t
_
v
}
\nu
_{
t
_
v
}
\big
(
\sum
_{
\varphi
}
n(
\varphi
|t
_
v)-1
\big
)-
\zeta
(p
_
0+p
_
1-1)
\label
{
eq:1.1
}
\end{eqnarray}
\parinterval
由于篇幅所限这里略去了推导步骤直接给出具体公式。
\parinterval
这里略去推导步骤,直接给出不同参数对应的期望频次为:
\begin{eqnarray}
c(s|t,
\mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
\mathbi
{
a
}}
\big
[\funp{P}_{\theta}(\mathbi{s},\mathbi{a}|\mathbi{t}) \times \sum_{j=1}^{m} (\delta(s_j,s) \cdot \delta(t_{a_{j}},t))\big]
\label
{
eq:1.2
}
\\
c(j|i,m,l;
\mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
\mathbi
{
a
}}
\big
[\funp{P}_{\theta}(\mathbi{s},\mathbi{a}|\mathbi{t}) \times \delta(i,a_j)\big]
\label
{
eq:1.3
}
\\
c(
\varphi
|t;
\mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
\mathbi
{
a
}}
\big
[\funp{P}_{\theta}(\mathbi{s},\mathbi{a}|\mathbi{t}) \times \sum_{i=1}^{l}\delta(\varphi,\varphi_{i})\delta(t,t_i)\big]
\label
{
eq:1.4
}
\end{eqnarray}
\begin{eqnarray}
c(0|
\mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
\mathbi
{
a
}}
\big
[\funp{P}_{\theta}(\mathbi{s},\mathbi{a}|\mathbi{t}) \times (m-2\varphi_0) \big]
\label
{
eq:1.5
}
\\
c(1|
\mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
\mathbi
{
a
}}
\big
[\funp{P}_{\theta}(\mathbi{s},\mathbi{a}|\mathbi{t}) \times \varphi_0 \big]
\label
{
eq:1.6
}
c(s
_
u|t
_
v,
\seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
\seq
{
a
}}
\big
[\funp{P}_{\theta}(\seq{s},\seq{a}|\seq{t}) \times \sum_{j=1}^{m} (\delta(s_j,s_u) \cdot \delta(t_{a_{j}},t_v))\big]
\label
{
eq:1.2
}
\\
c(j|i,m,l;
\seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
\seq
{
a
}}
\big
[\funp{P}_{\theta}(\seq{s},\seq{a}|\seq{t}) \times \delta(i,a_j)\big]
\label
{
eq:1.3
}
\\
c(
\varphi
|t
_
v;
\seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
\seq
{
a
}}
\big
[\funp{P}_{\theta}(\seq{s},\seq{a}|\seq{t}) \times \sum_{i=1}^{l}\delta(\varphi,\varphi_{i})\delta(t_v,t_i)\big]
\label
{
eq:1.4
}
\\
c(0|
\seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
\seq
{
a
}}
\big
[\funp{P}_{\theta}(\seq{s},\seq{a}|\seq{t}) \times (m-2\varphi_0) \big]
\label
{
eq:1.5
}
\\
c(1|
\seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
\seq
{
a
}}
\big
[\funp{P}_{\theta}(\seq{s},\seq{a}|\seq{t}) \times \varphi_0 \big]
\label
{
eq:1.6
}
\end{eqnarray}
\parinterval
进一步,对于由
$
K
$
个样本组成的训练集,有:
\begin{eqnarray}
t(s
|t)
&
=
&
\lambda
_{
t
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c(s|t;
\mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
\label
{
eq:1.7
}
\\
d(j|i,m,l)
&
=
&
\mu
_{
iml
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c(j|i,m,l;
\
mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
\label
{
eq:1.8
}
\\
n(
\varphi
|t
)
&
=
&
\nu
_{
t
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c(
\varphi
|t;
\mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
\label
{
eq:1.9
}
\\
p
_
x
&
=
&
\zeta
^{
-1
}
\sum
_{
k=1
}^{
K
}
c(x;
\
mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
\label
{
eq:1.10
}
t(s
_
u|t
_
v)
&
=
&
\lambda
_{
t
_
v
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c(s
_
u|t
_
v;
\seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
\label
{
eq:1.7
}
\\
d(j|i,m,l)
&
=
&
\mu
_{
iml
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c(j|i,m,l;
\
seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
\label
{
eq:1.8
}
\\
n(
\varphi
|t
_
v)
&
=
&
\nu
_{
t
_
v
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c(
\varphi
|t
_
v;
\seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
\label
{
eq:1.9
}
\\
p
_
x
&
=
&
\zeta
^{
-1
}
\sum
_{
k=1
}^{
K
}
c(x;
\
seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
\label
{
eq:1.10
}
\end{eqnarray}
\parinterval
在模型3中,因为繁衍率的引入,并不能像模型1
和模型2那样,在保证正确性的情况下加速参数估计的过程。这就使得每次迭代过程中,都不得不面对大小为
$
(
l
+
1
)
^
m
$
的词对齐空间。遍历所有
$
(
l
+
1
)
^
m
$
个词对齐所带来的高时间复杂度显然是不能被接受的。因此就要考虑能否仅利用词对齐空间中的部分词对齐对这些参数进行估计。比较简单的方法是仅使用Viterbi对齐来进行参数估计,这里Viterbi 词对齐可以被简单的看作搜索到的最好词对齐。遗憾的是,在模型3中并没有方法直接获得Viterbi对齐。这样只能采用一种折中的策略,即仅考虑那些使得
$
\funp
{
P
}_{
\theta
}
(
\mathbi
{
s
}
,
\mathbi
{
a
}
|
\mathbi
{
t
}
)
$
达到较高值的词对齐。这里把这部分词对齐组成的集合记为
$
S
$
。式
\ref
{
eq:1.2
}
可以被修改为:
\parinterval
在模型3中,因为繁衍率的引入,并不能像模型1
那样,通过简单的数学技巧加速参数估计的过程(见
{
\chapterfive
}
)。因此在计算公式
\eqref
{
eq:1.2
}
-
\eqref
{
eq:1.6
}
时,我们不得不面对大小为
$
(
l
+
1
)
^
m
$
的词对齐空间。遍历所有
$
(
l
+
1
)
^
m
$
个词对齐所带来的高时间复杂度显然是不能被接受的。因此就要考虑能否仅利用词对齐空间中的部分词对齐对这些参数进行估计。比较简单的方法是仅使用Viterbi对齐来进行参数估计,这里Viterbi 词对齐可以被简单的看作搜索到的最好词对齐。遗憾的是,在模型3中并没有方法直接获得Viterbi对齐。这样只能采用一种折中的策略,即仅考虑那些使得
$
\funp
{
P
}_{
\theta
}
(
\seq
{
s
}
,
\seq
{
a
}
|
\seq
{
t
}
)
$
达到较高值的词对齐。这里把这部分词对齐组成的集合记为
$
S
$
。以公式
\eqref
{
eq:1.2
}
为例,它
可以被修改为:
\begin{eqnarray}
c(s
|t,
\mathbi
{
s
}
,
\mathbi
{
t
}
)
&
\approx
&
\sum
_{
\mathbi
{
a
}
\in
S
}
\big
[\funp{P}_{\theta}(\mathbi{s},\mathbi{a}|\mathbi{t}) \times \sum_{j=1}^{m}(\delta(s_j,\mathbi{s}) \cdot \delta(t_{a_{j}},\mathbi{t}
)) \big]
c(s
_
u|t
_
v,
\seq
{
s
}
,
\seq
{
t
}
)
&
\approx
&
\sum
_{
\seq
{
a
}
\in
S
}
\big
[\funp{P}_{\theta}(\seq{s},\seq{a}|\seq{t}) \times \sum_{j=1}^{m}(\delta(s_j,s_u) \cdot \delta(t_{a_{j}},t_v
)) \big]
\label
{
eq:1.11
}
\end{eqnarray}
\parinterval
同理可以获得式
\ref
{
eq:1.3
}
-
\
ref
{
eq:1.6
}
的修改结果。进一步,在IBM模型3中,可以定义
$
S
$
如下:
\parinterval
可以以同样的方式修改公式
\eqref
{
eq:1.3
}
-
\eq
ref
{
eq:1.6
}
的修改结果。进一步,在IBM模型3中,可以定义
$
S
$
如下:
\begin{eqnarray}
S
&
=
&
N(b
^{
\infty
}
(V(
\
mathbi
{
s
}
|
\mathbi
{
t
}
;2)))
\cup
(
\mathop
{
\cup
}
\limits
_{
ij
}
N(b
_{
i
\leftrightarrow
j
}^{
\infty
}
(V
_{
i
\leftrightarrow
j
}
(
\mathbi
{
s
}
|
\mathbi
{
t
}
,2))))
S
&
=
&
N(b
^{
\infty
}
(V(
\
seq
{
s
}
|
\seq
{
t
}
;2)))
\cup
(
\mathop
{
\cup
}
\limits
_{
ij
}
N(b
_{
i
\leftrightarrow
j
}^{
\infty
}
(V
_{
i
\leftrightarrow
j
}
(
\seq
{
s
}
|
\seq
{
t
}
,2))))
\label
{
eq:1.12
}
\end{eqnarray}
\parinterval
为了理解这个公式,先介绍几个概念。
\begin{itemize}
\item
$
V
(
\
mathbi
{
s
}
|
\mathbi
{
t
}
)
$
表示Viterbi词对齐,
$
V
(
\mathbi
{
s
}
|
\mathbi
{
t
}
,
1
)
$
、
$
V
(
\mathbi
{
s
}
|
\mathbi
{
t
}
,
2
)
$
和
$
V
(
\mathbi
{
s
}
|
\mathbi
{
t
}
,
3
)
$
就分别对应了模型1、2 和3 的Viterbi 词对齐;
\item
把那些满足第
$
j
$
个源语言单词对应第
$
i
$
个目标语言单词(
$
a
_
j
=
i
$
)的词对齐构成的集合记为
$
\
mathbi
{
A
}_{
i
\leftrightarrow
j
}
(
\mathbi
{
s
}
,
\mathbi
{
t
}
)
$
。通常称这些对齐中
$
j
$
和
$
i
$
被``钉''在了一起。在
$
\mathbi
{
A
}_{
i
\leftrightarrow
j
}
(
\mathbi
{
s
}
,
\mathbi
{
t
}
)
$
中使
$
\funp
{
P
}
(
\mathbi
{
a
}
|
\mathbi
{
s
}
,
\mathbi
{
t
}
)
$
达到最大的那个词对齐被记为
$
V
_{
i
\leftrightarrow
j
}
(
\mathbi
{
s
}
,
\mathbi
{
t
}
)
$
;
\item
如果两个词对齐,通过交换两个词对齐连接就能互相转化,则称它们为邻居。一个词对齐
$
\
mathbi
{
a
}$
的所有邻居记为
$
N
(
\mathbi
{
a
}
)
$
。
\item
$
V
(
\
seq
{
s
}
|
\seq
{
t
}
)
$
表示Viterbi词对齐,
$
V
(
\seq
{
s
}
|
\seq
{
t
}
,
1
)
$
、
$
V
(
\seq
{
s
}
|
\seq
{
t
}
,
2
)
$
和
$
V
(
\seq
{
s
}
|
\seq
{
t
}
,
3
)
$
就分别对应了模型1、2 和3 的Viterbi 词对齐;
\item
把那些满足第
$
j
$
个源语言单词对应第
$
i
$
个目标语言单词(
$
a
_
j
=
i
$
)的词对齐构成的集合记为
$
\
seq
{
a
}_{
i
\leftrightarrow
j
}
(
\seq
{
s
}
,
\seq
{
t
}
)
$
。通常称这些对齐中
$
j
$
和
$
i
$
被``钉''在了一起。在
$
\seq
{
a
}_{
i
\leftrightarrow
j
}
(
\seq
{
s
}
,
\seq
{
t
}
)
$
中使
$
\funp
{
P
}
(
\seq
{
a
}
|
\seq
{
s
}
,
\seq
{
t
}
)
$
达到最大的那个词对齐被记为
$
V
_{
i
\leftrightarrow
j
}
(
\seq
{
s
}
|
\seq
{
t
}
)
$
;
\item
如果两个词对齐,通过交换两个词对齐连接就能互相转化,则称它们为邻居。一个词对齐
$
\
seq
{
a
}$
的所有邻居记为
$
N
(
\seq
{
a
}
)
$
。
\end{itemize}
\vspace
{
0.5em
}
\parinterval
公式
\
ref
{
eq:1.12
}
中,
$
b
^{
\infty
}
(
V
(
\mathbi
{
s
}
|
\mathbi
{
t
}
;
2
))
$
和
$
b
_{
i
\leftrightarrow
j
}^{
\infty
}
(
V
_{
i
\leftrightarrow
j
}
(
\mathbi
{
s
}
|
\mathbi
{
t
}
,
2
))
$
分别是对
$
V
(
\mathbi
{
s
}
|
\mathbi
{
t
}
;
3
)
$
和
$
V
_{
i
\leftrightarrow
j
}
(
\mathbi
{
s
}
|
\mathbi
{
t
}
,
3
)
$
的估计。在计算
$
S
$
的过程中,需要知道一个对齐
$
\bf
{
a
}$
的邻居
$
\bf
{
a
}^{
'
}$
的概率,即通过
$
\funp
{
P
}_{
\theta
}
(
\mathbi
{
a
}
,
\mathbi
{
s
}
|
\mathbi
{
t
}
)
$
计算
$
\funp
{
P
}_{
\theta
}
(
\mathbi
{
a
}
',
\mathbi
{
s
}
|
\mathbi
{
t
}
)
$
。在模型3中,如果
$
\bf
{
a
}$
和
$
\bf
{
a
}
'
$
仅区别于某个源语单词对齐到的目标位置上(
$
a
_
j
\neq
a
_{
j
}
'
$
)
,那么
\parinterval
公式
\
eqref
{
eq:1.12
}
中,
$
b
^{
\infty
}
(
V
(
\seq
{
s
}
|
\seq
{
t
}
;
2
))
$
和
$
b
_{
i
\leftrightarrow
j
}^{
\infty
}
(
V
_{
i
\leftrightarrow
j
}
(
\seq
{
s
}
|
\seq
{
t
}
,
2
))
$
分别是对
$
V
(
\seq
{
s
}
|
\seq
{
t
}
;
3
)
$
和
$
V
_{
i
\leftrightarrow
j
}
(
\seq
{
s
}
|
\seq
{
t
}
,
3
)
$
的估计。在计算
$
S
$
的过程中,需要知道一个对齐
$
\seq
{
a
}$
的邻居
$
\seq
{
a
}
'
$
的概率,即通过
$
\funp
{
P
}_{
\theta
}
(
\seq
{
a
}
,
\seq
{
s
}
|
\seq
{
t
}
)
$
计算
$
\funp
{
P
}_{
\theta
}
(
\seq
{
a
}
',
\seq
{
s
}
|
\seq
{
t
}
)
$
。在模型3中,如果
$
\seq
{
a
}$
和
$
\seq
{
a
}
'
$
仅区别于某个源语单词
$
s
_
j
$
对齐从
$
a
_
j
$
变到
$
a
_{
j
}
'
$
,且
$
a
_
j
$
和
$
a'
_
j
$
均不为零,令
$
a
_
j
=
i
$
,
$
a'
_{
j
}
=
i'
$
,那么
\begin{eqnarray}
\funp
{
P
}_{
\theta
}
(
\
mathbi
{
a
}
',
\mathbi
{
s
}
|
\mathbi
{
t
}
)
&
=
&
\funp
{
P
}_{
\theta
}
(
\mathbi
{
a
}
,
\mathbi
{
s
}
|
\mathbi
{
t
}
)
\cdot
\nonumber
\\
\funp
{
P
}_{
\theta
}
(
\
seq
{
a
}
',
\seq
{
s
}
|
\seq
{
t
}
)
&
=
&
\funp
{
P
}_{
\theta
}
(
\seq
{
a
}
,
\seq
{
s
}
|
\seq
{
t
}
)
\cdot
\nonumber
\\
&
&
\frac
{
\varphi
_{
i'
}
+1
}{
\varphi
_
i
}
\cdot
\frac
{
n(
\varphi
_{
i'
}
+1|t
_{
i'
}
)
}{
n(
\varphi
_{
i'
}
|t
_{
i'
}
)
}
\cdot
\frac
{
n(
\varphi
_{
i
}
-1|t
_{
i
}
)
}{
n(
\varphi
_{
i
}
|t
_{
i
}
)
}
\cdot
\nonumber
\\
&
&
\frac
{
t(s
_
j|t
_{
i'
}
)
}{
t(s
_{
j
}
|t
_{
i
}
)
}
\cdot
\frac
{
d(j|i',m,l)
}{
d(j|i,m,l)
}
\label
{
eq:1.13
}
\end{eqnarray}
\parinterval
如果
$
\
bf
{
a
}$
和
$
\bf
{
a
}
'
$
区别于两个位置
$
j
_
1
$
和
$
j
_
2
$
的对齐上,
$
a
_{
j
_{
1
}}
=
a
_{
j
_{
2
}^{
'
}}$
且
$
a
_{
j
_{
2
}}
=
a
_{
j
_{
1
}^{
'
}}$
,那么
\parinterval
如果
$
\
seq
{
a
}$
和
$
\seq
{
a
}
'
$
区别于两个位置
$
j
_
1
$
和
$
j
_
2
$
的对齐,即
$
a
_{
j
_{
1
}}
=
a'
_{
j
_{
2
}}$
且
$
a
_{
j
_{
2
}}
=
a'
_{
j
_{
1
}}$
,那么
\begin{eqnarray}
\funp
{
P
}_{
\theta
}
(
\mathbi
{
a'
}
,
\mathbi
{
s
}
|
\mathbi
{
t
}
)
&
=
&
\funp
{
P
}_{
\theta
}
(
\mathbi
{
a
}
,
\mathbi
{
s
}
|
\mathbi
{
t
}
)
\cdot
\frac
{
t(s
_{
j
_{
2
}}
|t
_{
a
_{
j
_{
2
}}}
)
}{
t(s
_{
j
_{
1
}}
|t
_{
a
_{
j
_{
1
}}}
)
}
\cdot
\frac
{
d(j
_{
2
}
|a
_{
j
_{
2
}}
,m,l)
}{
d(j
_{
1
}
|a
_{
j
_{
1
}}
,m,l)
}
\funp
{
P
}_{
\theta
}
(
\seq
{
a
}
',
\seq
{
s
}
|
\seq
{
t
}
)
&
=
&
\funp
{
P
}_{
\theta
}
(
\seq
{
a
}
,
\seq
{
s
}
|
\seq
{
t
}
)
\cdot
\nonumber
\\
&
&
\frac
{
t(s
_{
j
_{
1
}}
|t
_{
a
_{
j
_{
2
}}}
)
}{
t(s
_{
j
_{
1
}}
|t
_{
a
_{
j
_{
1
}}}
)
}
\cdot
\frac
{
t(s
_{
j
_{
2
}}
|t
_{
a
_{
j
_{
1
}}}
)
}{
t(s
_{
j
_{
2
}}
|t
_{
a
_{
j
_{
2
}}}
)
}
\cdot
\nonumber
\\
&
&
\frac
{
d(j
_{
1
}
|a
_{
j
_{
2
}}
,m,l)
}{
d(j
_{
1
}
|a
_{
j
_{
1
}}
,m,l)
}
\cdot
\frac
{
d(j
_{
2
}
|a
_{
j
_{
1
}}
,m,l)
}{
d(j
_{
2
}
|a
_{
j
_{
2
}}
,m,l)
}
\label
{
eq:1.14
}
\end{eqnarray}
\parinterval
相比整个词对齐空间,
$
S
$
只是一个非常小的子集,因此
运算复杂度可以被大大降低。可以看到,模型3的参数估计过程是建立在模型1和模型2的参数估计结果上的。这不仅是因为模型3要利用模型2的Viterbi对齐,而且还因为模型3参数的初值也要直接利用模型2的参数。从这个角度说,模型1,2,3是有序的且向前依赖的。单独的对模型3的参数进行估计是极其
困难的。实际上IBM的模型4和模型5也具有这样的性质,即它们都可以利用前一个模型参数估计的结果作为自身参数的初始值。
\parinterval
相比整个词对齐空间,
$
S
$
只是一个非常小的子集,因此
计算时间可以被大大降低。可以看到,模型3的参数估计过程是建立在模型1和模型2的参数估计结果上的。这不仅是因为模型3要利用模型2的Viterbi对齐,而且还因为模型3参数的初值也要直接利用模型2的参数。从这个角度说,模型1、2、3是有序的且向前依赖的。单独的对模型3的参数进行估计是较为
困难的。实际上IBM的模型4和模型5也具有这样的性质,即它们都可以利用前一个模型参数估计的结果作为自身参数的初始值。
%----------------------------------------------------------------------------------------
% NEW SECTION
...
...
@@ -341,15 +339,15 @@ S &=& N(b^{\infty}(V(\mathbi{s}|\mathbi{t};2))) \cup (\mathop{\cup}\limits_{ij}
\parinterval
模型4的参数估计基本与模型3一致。需要修改的是扭曲度的估计公式,对于目标语第
$
i
$
个cept.生成的第一单词,可以得到(假设有
$
K
$
个训练样本):
\begin{eqnarray}
d
_
1(
\Delta
_
j|ca,cb)
&
=
&
\mu
_{
1cacb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_
1(
\Delta
_
j|ca,cb;
\
mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
d
_
1(
\Delta
_
j|ca,cb)
&
=
&
\mu
_{
1cacb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_
1(
\Delta
_
j|ca,cb;
\
seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
\label
{
eq:1.15
}
\end{eqnarray}
其中,
\begin{eqnarray}
c
_
1(
\Delta
_
j|ca,cb;
\
mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
\mathbi
{
a
}}
\big
[\funp{P}_{\theta}(\mathbi{s},\mathbi{a}|\mathbi{t}) \times s_1(\Delta_j|ca,cb;\mathbi{a},\mathbi{s},\mathbi
{t})\big]
\label
{
eq:1.16
}
\\
s
_
1(
\Delta
_
j|ca,cb;
\rm
{
a
}
,
\
mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\big
[
\varepsilon
(
\varphi
_
i)
\cdot
\delta
(
\pi
_{
i1
}
-
\odot
_{
i
}
,
\Delta
_
j)
\cdot
\nonumber
\\
c
_
1(
\Delta
_
j|ca,cb;
\
seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
\seq
{
a
}}
\big
[\funp{P}_{\theta}(\seq{s},\seq{a}|\seq{t}) \times s_1(\Delta_j|ca,cb;\seq{a},\seq{s},\seq
{t})\big]
\label
{
eq:1.16
}
\\
s
_
1(
\Delta
_
j|ca,cb;
\rm
{
a
}
,
\
seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\big
[
\varepsilon
(
\varphi
_
i)
\cdot
\delta
(
\pi
_{
i1
}
-
\odot
_{
i
}
,
\Delta
_
j)
\cdot
\nonumber
\\
&
&
\delta
(A(t
_{
i-1
}
),ca)
\cdot
\delta
(B(
\tau
_{
i1
}
),cb)
\big
]
\label
{
eq:1.17
}
\end{eqnarray}
...
...
@@ -366,26 +364,26 @@ s_1(\Delta_j|ca,cb;\rm{a},\mathbi{s},\mathbi{t}) & = & \sum_{i=1}^l \big[\vareps
对于目标语第
$
i
$
个cept.生成的其他单词(非第一个单词),可以得到:
\begin{eqnarray}
d
_{
>1
}
(
\Delta
_
j|cb)
&
=
&
\mu
_{
>1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_{
>1
}
(
\Delta
_
j|cb;
\
mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
d
_{
>1
}
(
\Delta
_
j|cb)
&
=
&
\mu
_{
>1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_{
>1
}
(
\Delta
_
j|cb;
\
seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
\label
{
eq:1.18
}
\end{eqnarray}
其中,
\begin{eqnarray}
c
_{
>1
}
(
\Delta
_
j|cb;
\
mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
\mathbi
{
a
}}
\big
[\textrm{p}_{\theta}(\mathbi{s},\mathbi{a}|\mathbi{t}) \times s_{>1}(\Delta_j|cb;\mathbi{a},\mathbi{s},\mathbi
{t}) \big]
\label
{
eq:1.19
}
\\
s
_{
>1
}
(
\Delta
_
j|cb;
\
mathbi
{
a
}
,
\mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\big
[\varepsilon(\varphi_i-1)\sum_{k=2}^{\varphi_i}\delta(\pi_{[i]
k
}
-
\pi
_{
[i]k-1
}
,
\Delta
_
j)
\cdot
\nonumber
ß
\\
c
_{
>1
}
(
\Delta
_
j|cb;
\
seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
\seq
{
a
}}
\big
[\funp{P}_{\theta}(\seq{s},\seq{a}|\seq{t}) \times s_{>1}(\Delta_j|cb;\seq{a},\seq{s},\seq
{t}) \big]
\label
{
eq:1.19
}
\\
s
_{
>1
}
(
\Delta
_
j|cb;
\
seq
{
a
}
,
\seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\big
[\varepsilon(\varphi_i-1)\sum_{k=2}^{\varphi_i}\delta(\pi_{[i]
k
}
-
\pi
_{
[i]k-1
}
,
\Delta
_
j)
\cdot
\nonumber
ß
\\
&
&
\delta
(B(
\tau
_{
[i]k
}
),cb)
\big
]
\label
{
eq:1.20
}
\end{eqnarray}
\noindent
这里,
$
ca
$
和
$
cb
$
分别表示目标语言和源语言的某个词类。模型4需要像模型3一样,通过定义一个词对齐集合
$
S
$
,使得每次迭代都在
$
S
$
上进行,进而降低运算量。模型4中
$
S
$
的定义为:
\begin{eqnarray}
S
&
=
&
N(
\tilde
{
b
}^{
\infty
}
(V(
\
mathbi
{
s
}
|
\mathbi
{
t
}
;2)))
\cup
(
\mathop
{
\cup
}
\limits
_{
ij
}
N(
\tilde
{
b
}_{
i
\leftrightarrow
j
}^{
\infty
}
(V
_{
i
\leftrightarrow
j
}
(
\mathbi
{
s
}
|
\mathbi
{
t
}
,2))))
S
&
=
&
N(
\tilde
{
b
}^{
\infty
}
(V(
\
seq
{
s
}
|
\seq
{
t
}
;2)))
\cup
(
\mathop
{
\cup
}
\limits
_{
ij
}
N(
\tilde
{
b
}_{
i
\leftrightarrow
j
}^{
\infty
}
(V
_{
i
\leftrightarrow
j
}
(
\seq
{
s
}
|
\seq
{
t
}
,2))))
\label
{
eq:1.22
}
\end{eqnarray}
\parinterval
对于一个对齐
$
\
mathbi
{
a
}$
,可用模型3对它的邻居进行排名,即按
$
\funp
{
P
}_{
\theta
}
(
b
(
\mathbi
{
a
}
)
|
\mathbi
{
s
}
,
\mathbi
{
t
}
;
3
)
$
排序,其中
$
b
(
\mathbi
{
a
}
)
$
表示
$
\mathbi
{
a
}$
的邻居。
$
\tilde
{
b
}
(
\mathbi
{
a
}
)
$
表示这个排名表中满足
$
\funp
{
P
}_{
\theta
}
(
\mathbi
{
a
}
'|
\mathbi
{
s
}
,
\mathbi
{
t
}
;
4
)
>
\funp
{
P
}_{
\theta
}
(
\mathbi
{
a
}
|
\mathbi
{
s
}
,
\mathbi
{
t
}
;
4
)
$
的最高排名的
$
\mathbi
{
a
}
'
$
。 同理可知
$
\tilde
{
b
}_{
i
\leftrightarrow
j
}^{
\infty
}
(
\mathbi
{
a
}
)
$
的意义。这里之所以不用模型3中采用的方法直接利用
$
b
^{
\infty
}
(
\mathbi
{
a
}
)
$
得到模型4中高概率的对齐,是因为模型4中要想获得某个对齐
$
\mathbi
{
a
}$
的邻居
$
\mathbi
{
a
}
'
$
必须做很大调整,比如:调整
$
\tau
_{
[
i
]
1
}$
和
$
\odot
_{
i
}$
等等。这个过程要比模型3的相应过程复杂得多。因此在模型4中只能借助于模型3的中间步骤来进行参数估计。
\parinterval
对于一个对齐
$
\
seq
{
a
}$
,可用模型3对它的邻居进行排名,即按
$
\funp
{
P
}_{
\theta
}
(
b
(
\seq
{
a
}
)
|
\seq
{
s
}
,
\seq
{
t
}
;
3
)
$
排序,其中
$
b
(
\seq
{
a
}
)
$
表示
$
\seq
{
a
}$
的邻居。
$
\tilde
{
b
}
(
\seq
{
a
}
)
$
表示这个排名表中满足
$
\funp
{
P
}_{
\theta
}
(
\seq
{
a
}
'|
\seq
{
s
}
,
\seq
{
t
}
;
4
)
>
\funp
{
P
}_{
\theta
}
(
\seq
{
a
}
|
\seq
{
s
}
,
\seq
{
t
}
;
4
)
$
的最高排名的
$
\seq
{
a
}
'
$
。 同理可知
$
\tilde
{
b
}_{
i
\leftrightarrow
j
}^{
\infty
}
(
\seq
{
a
}
)
$
的意义。这里之所以不用模型3中采用的方法直接利用
$
b
^{
\infty
}
(
\seq
{
a
}
)
$
得到模型4中高概率的对齐,是因为模型4中要想获得某个对齐
$
\seq
{
a
}$
的邻居
$
\seq
{
a
}
'
$
必须做很大调整,比如:调整
$
\tau
_{
[
i
]
1
}$
和
$
\odot
_{
i
}$
等等。这个过程要比模型3的相应过程复杂得多。因此在模型4中只能借助于模型3的中间步骤来进行参数估计。
\setlength
{
\belowdisplayskip
}{
3pt
}
%调整空白大小
%----------------------------------------------------------------------------------------
...
...
@@ -396,15 +394,15 @@ S &=& N(\tilde{b}^{\infty}(V(\mathbi{s}|\mathbi{t};2))) \cup (\mathop{\cup}\limi
\parinterval
模型5的参数估计过程也模型4的过程基本一致,二者的区别在于扭曲度的估计公式。在模型5中,对于目标语第
$
i
$
个cept.生成的第一单词,可以得到(假设有
$
K
$
个训练样本):
\begin{eqnarray}
d
_
1(
\Delta
_
j|cb)
&
=
&
\mu
_{
1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_
1(
\Delta
_
j|cb;
\
mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
d
_
1(
\Delta
_
j|cb)
&
=
&
\mu
_{
1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_
1(
\Delta
_
j|cb;
\
seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
\label
{
eq:1.23
}
\end{eqnarray}
其中,
\begin{eqnarray}
c
_
1(
\Delta
_
j|cb,v
_
x,v
_
y;
\
mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
\mathbi
{
a
}}
\Big
[ \funp{P}(\mathbi{s},\mathbi{a}|\mathbi{t}) \times s_1(\Delta_j|cb,v_x,v_y;\mathbi{a},\mathbi{s},\mathbi
{t}) \Big]
\label
{
eq:1.24
}
\\
s
_
1(
\Delta
_
j|cb,v
_
x,v
_
y;
\
mathbi
{
a
}
,
\mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\Big
[
\varepsilon
(
\varphi
_
i)
\cdot
\delta
(v
_{
\pi
_{
i1
}}
,
\Delta
_
j)
\cdot
\delta
(v
_{
\odot
_{
i-1
}}
,v
_
x)
\nonumber
\\
c
_
1(
\Delta
_
j|cb,v
_
x,v
_
y;
\
seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
\seq
{
a
}}
\Big
[ \funp{P}(\seq{s},\seq{a}|\seq{t}) \times s_1(\Delta_j|cb,v_x,v_y;\seq{a},\seq{s},\seq
{t}) \Big]
\label
{
eq:1.24
}
\\
s
_
1(
\Delta
_
j|cb,v
_
x,v
_
y;
\
seq
{
a
}
,
\seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\Big
[
\varepsilon
(
\varphi
_
i)
\cdot
\delta
(v
_{
\pi
_{
i1
}}
,
\Delta
_
j)
\cdot
\delta
(v
_{
\odot
_{
i-1
}}
,v
_
x)
\nonumber
\\
&
&
\cdot
\delta
(v
_
m-
\varphi
_
i+1,v
_
y)
\cdot
\delta
(v
_{
\pi
_{
i1
}}
,v
_{
\pi
_{
i1
}
-1
}
)
\Big
]
\label
{
eq:1.25
}
\end{eqnarray}
...
...
@@ -412,35 +410,35 @@ s_1(\Delta_j|cb,v_x,v_y;\mathbi{a},\mathbi{s},\mathbi{t}) & = & \sum_{i=1}^l \Bi
对于目标语第
$
i
$
个cept.生成的其他单词(非第一个单词),可以得到:
\begin{eqnarray}
d
_{
>1
}
(
\Delta
_
j|cb,v)
&
=
&
\mu
_{
>1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_{
>1
}
(
\Delta
_
j|cb,v;
\
mathbi
{
s
}^{
[k]
}
,
\mathbi
{
t
}^{
[k]
}
)
d
_{
>1
}
(
\Delta
_
j|cb,v)
&
=
&
\mu
_{
>1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_{
>1
}
(
\Delta
_
j|cb,v;
\
seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
\label
{
eq:1.26
}
\end{eqnarray}
其中,
\begin{eqnarray}
c
_{
>1
}
(
\Delta
_
j|cb,v;
\
mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
\mathbi
{
a
}}
\Big
[\funp{P}(\mathbi{a},\mathbi{s}|\mathbi{t}) \times s_{>1}(\Delta_j|cb,v;\mathbi{a},\mathbi{s},\mathbi
{t}) \Big]
\label
{
eq:1.27
}
\\
s
_{
>1
}
(
\Delta
_
j|cb,v;
\
mathbi
{
a
}
,
\mathbi
{
s
}
,
\mathbi
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\Big
[\varepsilon(\varphi_i-1)\sum_{k=2}^{\varphi_i} \big[\delta(v_{\pi_{ik}}-v_{\pi_{[i]
k
}
-1
}
,
\Delta
_
j)
\nonumber
\\
c
_{
>1
}
(
\Delta
_
j|cb,v;
\
seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
\seq
{
a
}}
\Big
[\funp{P}(\seq{a},\seq{s}|\seq{t}) \times s_{>1}(\Delta_j|cb,v;\seq{a},\seq{s},\seq
{t}) \Big]
\label
{
eq:1.27
}
\\
s
_{
>1
}
(
\Delta
_
j|cb,v;
\
seq
{
a
}
,
\seq
{
s
}
,
\seq
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\Big
[\varepsilon(\varphi_i-1)\sum_{k=2}^{\varphi_i} \big[\delta(v_{\pi_{ik}}-v_{\pi_{[i]
k
}
-1
}
,
\Delta
_
j)
\nonumber
\\
&
&
\cdot
\delta
(B(
\tau
_{
[i]k
}
) ,cb)
\cdot
\delta
(v
_
m-v
_{
\pi
_{
i(k-1)
}}
-
\varphi
_
i+k,v)
\nonumber
\\
&
&
\cdot
\delta
(v
_{
\pi
_{
i1
}}
,v
_{
\pi
_{
i1
}
-1
}
)
\big
]
\Big
]
\label
{
eq:1.28
}
\end{eqnarray}
\vspace
{
0.5em
}
\parinterval
从式
\ref
{
eq:1.24
}
中可以看出因子
$
\delta
(
v
_{
\pi
_{
i
1
}}
,v
_{
\pi
_{
i
1
}
-
1
}
)
$
保证了,即使对齐
$
\
mathbi
{
a
}$
不合理(一个源语言位置对应多个目标语言位置)也可以避免在这个不合理的对齐上计算结果。需要注意的是因子
$
\delta
(
v
_{
\pi
_{
p
1
}}
,v
_{
\pi
_{
p
1
-
1
}}
)
$
,确保了
$
\mathbi
{
a
}$
中不合理的部分不产生坏的影响,而
$
\mathbi
{
a
}$
中其他正确的部分仍会参与迭代。
\parinterval
从式
\ref
{
eq:1.24
}
中可以看出因子
$
\delta
(
v
_{
\pi
_{
i
1
}}
,v
_{
\pi
_{
i
1
}
-
1
}
)
$
保证了,即使对齐
$
\
seq
{
a
}$
不合理(一个源语言位置对应多个目标语言位置)也可以避免在这个不合理的对齐上计算结果。需要注意的是因子
$
\delta
(
v
_{
\pi
_{
p
1
}}
,v
_{
\pi
_{
p
1
-
1
}}
)
$
,确保了
$
\seq
{
a
}$
中不合理的部分不产生坏的影响,而
$
\seq
{
a
}$
中其他正确的部分仍会参与迭代。
\parinterval
不过上面的参数估计过程与IBM前4个模型的参数估计过程并不完全一样。IBM前4个模型在每次迭代中,可以在给定
$
\
mathbi
{
s
}$
、
$
\mathbi
{
t
}$
和一个对齐
$
\mathbi
{
a
}$
的情况下直接计算并更新参数。但是在模型5的参数估计过程中(如公式
\ref
{
eq:1.24
}
),需要模拟出由
$
\mathbi
{
t
}$
生成
$
\mathbi
{
s
}$
的过程才能得到正确的结果,因为从
$
\mathbi
{
t
}$
、
$
\mathbi
{
s
}$
和
$
\mathbi
{
a
}$
中是不能直接得到 的正确结果的。具体说,就是要从目标语言句子的第一个单词开始到最后一个单词结束,依次生成每个目标语言单词对应的源语言单词,每处理完一个目标语言单词就要暂停,然后才能计算式
\ref
{
eq:1.24
}
中求和符号里面的内容。这也就是说即使给定了
$
\mathbi
{
s
}$
、
$
\mathbi
{
t
}$
和一个对齐
$
\mathbi
{
a
}$
,也不能直接在它们上进行计算,必须重新模拟
$
\mathbi
{
t
}$
到
$
\mathbi
{
s
}$
的生成过程。
\parinterval
不过上面的参数估计过程与IBM前4个模型的参数估计过程并不完全一样。IBM前4个模型在每次迭代中,可以在给定
$
\
seq
{
s
}$
、
$
\seq
{
t
}$
和一个对齐
$
\seq
{
a
}$
的情况下直接计算并更新参数。但是在模型5的参数估计过程中(如公式
\ref
{
eq:1.24
}
),需要模拟出由
$
\seq
{
t
}$
生成
$
\seq
{
s
}$
的过程才能得到正确的结果,因为从
$
\seq
{
t
}$
、
$
\seq
{
s
}$
和
$
\seq
{
a
}$
中是不能直接得到 的正确结果的。具体说,就是要从目标语言句子的第一个单词开始到最后一个单词结束,依次生成每个目标语言单词对应的源语言单词,每处理完一个目标语言单词就要暂停,然后才能计算式
\ref
{
eq:1.24
}
中求和符号里面的内容。这也就是说即使给定了
$
\seq
{
s
}$
、
$
\seq
{
t
}$
和一个对齐
$
\seq
{
a
}$
,也不能直接在它们上进行计算,必须重新模拟
$
\seq
{
t
}$
到
$
\seq
{
s
}$
的生成过程。
\parinterval
从前面的分析可以看出,虽然模型5比模型4更精确,但是模型5过于复杂以至于给参数估计增加了计算量(对于每组
$
\
mathbi
{
t
}$
、
$
\mathbi
{
s
}$
和
$
\mathbi
{
a
}$
都要模拟
$
\mathbi
{
t
}$
生成
$
\mathbi
{
s
}$
的翻译过程)。因此模型5的系统实现是一个挑战。
\parinterval
从前面的分析可以看出,虽然模型5比模型4更精确,但是模型5过于复杂以至于给参数估计增加了计算量(对于每组
$
\
seq
{
t
}$
、
$
\seq
{
s
}$
和
$
\seq
{
a
}$
都要模拟
$
\seq
{
t
}$
生成
$
\seq
{
s
}$
的翻译过程)。因此模型5的系统实现是一个挑战。
\parinterval
在模型5中同样需要定义一个词对齐集合
$
S
$
,使得每次迭代都在
$
S
$
上进行。可以对
$
S
$
进行如下定义
\begin{eqnarray}
S
&
=
&
N(
\tilde
{
\tilde
{
b
}}^{
\infty
}
(V(
\
mathbi
{
s
}
|
\mathbi
{
t
}
;2)))
\cup
(
\mathop
{
\cup
}
\limits
_{
ij
}
N(
\tilde
{
\tilde
{
b
}}_{
i
\leftrightarrow
j
}^{
\infty
}
(V
_{
i
\leftrightarrow
j
}
(
\mathbi
{
s
}
|
\mathbi
{
t
}
,2))))
S
&
=
&
N(
\tilde
{
\tilde
{
b
}}^{
\infty
}
(V(
\
seq
{
s
}
|
\seq
{
t
}
;2)))
\cup
(
\mathop
{
\cup
}
\limits
_{
ij
}
N(
\tilde
{
\tilde
{
b
}}_{
i
\leftrightarrow
j
}^{
\infty
}
(V
_{
i
\leftrightarrow
j
}
(
\seq
{
s
}
|
\seq
{
t
}
,2))))
\label
{
eq:1.29
}
\end{eqnarray}
\vspace
{
0.5em
}
\noindent
其中,
$
\tilde
{
\tilde
{
b
}}
(
\
mathbi
{
a
}
)
$
借用了模型4中
$
\tilde
{
b
}
(
\mathbi
{
a
}
)
$
的概念。不过
$
\tilde
{
\tilde
{
b
}}
(
\mathbi
{
a
}
)
$
表示在利用模型3进行排名的列表中满足
$
\funp
{
P
}_{
\theta
}
(
\mathbi
{
a
}
'|
\mathbi
{
s
}
,
\mathbi
{
t
}
;
5
)
$
的最高排名的词对齐,这里
$
\mathbi
{
a
}
'
$
表示
$
\mathbi
{
a
}$
的邻居。
\noindent
其中,
$
\tilde
{
\tilde
{
b
}}
(
\
seq
{
a
}
)
$
借用了模型4中
$
\tilde
{
b
}
(
\seq
{
a
}
)
$
的概念。不过
$
\tilde
{
\tilde
{
b
}}
(
\seq
{
a
}
)
$
表示在利用模型3进行排名的列表中满足
$
\funp
{
P
}_{
\theta
}
(
\seq
{
a
}
'|
\seq
{
s
}
,
\seq
{
t
}
;
5
)
$
的最高排名的词对齐,这里
$
\seq
{
a
}
'
$
表示
$
\seq
{
a
}$
的邻居。
\end{appendices}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论