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
a86a6c8f
Commit
a86a6c8f
authored
Aug 28, 2020
by
曹润柘
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'master' 到 'caorunzhe'
Master 查看合并请求
!113
parents
407e57f6
1a33f97f
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
69 行增加
和
39 行删除
+69
-39
Chapter1/Figures/comparison-between-interlingua-based-and-transfer-based-translation.tex
+4
-4
ChapterAppend/chapterappend.tex
+62
-32
ChapterPreface/chapterpreface.tex
+1
-1
mt-book-xelatex.tex
+2
-2
没有找到文件。
Chapter1/Figures/comparison-between-interlingua-based-and-transfer-based-translation.tex
查看文件 @
a86a6c8f
...
@@ -14,10 +14,10 @@
...
@@ -14,10 +14,10 @@
\node
[datanode,anchor=north] (s4) at ([yshift=-4.5em]s3.south)
{{
\small
{
语言4
}}}
;
\node
[datanode,anchor=north] (s4) at ([yshift=-4.5em]s3.south)
{{
\small
{
语言4
}}}
;
\node
[circle,anchor=north west,inner sep=2pt,fill=blue!20] (m1) at ([xshift=0.8em,yshift=-0.5em]s1.south east)
{{
\small
{
中间语言
}}}
;
\node
[circle,anchor=north west,inner sep=2pt,fill=blue!20] (m1) at ([xshift=0.8em,yshift=-0.5em]s1.south east)
{{
\small
{
中间语言
}}}
;
\draw
[<->,very thick] (s1.south) -- (m1.
west
);
\draw
[<->,very thick] (s1.south) -- (m1.
170
);
\draw
[<->,very thick] (s2.north) -- (m1.
west
);
\draw
[<->,very thick] (s2.north) -- (m1.
190
);
\draw
[<->,very thick] (s3.south) -- (m1.
east
);
\draw
[<->,very thick] (s3.south) -- (m1.
10
);
\draw
[<->,very thick] (s4.north) -- (m1.
east
);
\draw
[<->,very thick] (s4.north) -- (m1.
-10
);
\node
[anchor=north] (l) at ([xshift=5em,yshift=-1em]s2.south)
{
\footnotesize
{
(a) 基于中间语言的方法
}}
;
\node
[anchor=north] (l) at ([xshift=5em,yshift=-1em]s2.south)
{
\footnotesize
{
(a) 基于中间语言的方法
}}
;
...
...
ChapterAppend/chapterappend.tex
查看文件 @
a86a6c8f
...
@@ -172,26 +172,56 @@
...
@@ -172,26 +172,56 @@
% NEW SECTION
% NEW SECTION
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
\section
{
IBM模型2训练方法
}
IBM模型2与模型1的训练过程完全一样,本质上都是EM方法,因此可以直接复用
{
\chapterfive
}
中训练模型1的流程。对于句对
$
(
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
,
$
m
=
|
\mathbf
{
s
}
|
$
,
$
l
=
|
\mathbf
{
t
}
|
$
,E-Step的计算公式如下,其中参数
$
f
(
s
_
j|t
_
i
)
$
与IBM模型1 一样:
\begin{eqnarray}
c(s
_
u|t
_
v;
\mathbf
{
s
}
,
\mathbf
{
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;
\mathbf
{
s
}
,
\mathbf
{
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}
\parinterval
M-Step的计算公式如下,其中参数
$
a
(
i|j,m,l
)
$
表示调序概率:
\begin{eqnarray}
f(s
_
u|t
_
v)
&
=
\frac
{
c(s
_
u|t
_
v;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
}
{
\sum
_{
s
_
u
}
c(s
_
u|t
_
v;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
}
\\
a(i|j,m,l)
&
=
\frac
{
c(i|j;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
}
{
\sum
_{
i
}
c(i|j;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
}
\label
{
eq:append-2
}
\end{eqnarray}
对于由
$
K
$
个样本组成的训练集
$
\{
(
\mathbf
{
s
}^{
[
1
]
}
,
\mathbf
{
t
}^{
[
1
]
}
)
,...,
(
\mathbf
{
s
}^{
[
K
]
}
,
\mathbf
{
t
}^{
[
K
]
}
)
\}
$
,可以将M-Step的计算调整为:
\begin{eqnarray}
f(s
_
u|t
_
v)
&
=
\frac
{
\sum
_{
k=0
}^{
K
}
c
_{
\mathbb
{
E
}}
(s
_
u|t
_
v;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
}
{
\sum
_{
s
_
u
}
\sum
_{
k=0
}^{
K
}
c
_{
\mathbb
{
E
}}
(s
_
u|t
_
v;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
}
\\
a(i|j,m,l)
&
=
\frac
{
\sum
_{
k=0
}^{
K
}
c
_{
\mathbb
{
E
}}
(i|j;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
}
{
\sum
_{
i
}
\sum
_{
k=0
}^{
K
}
c
_{
\mathbb
{
E
}}
(i|j;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
}
\label
{
eq:append-3
}
\end{eqnarray}
%----------------------------------------------------------------------------------------
% NEW SECTION
%----------------------------------------------------------------------------------------
\section
{
IBM模型3训练方法
}
\section
{
IBM模型3训练方法
}
\parinterval
模型3的参数估计与模型1和模型2采用相同的方法。这里直接给出辅助函数。
\parinterval
IBM
模型3的参数估计与模型1和模型2采用相同的方法。这里直接给出辅助函数。
\begin{eqnarray}
\begin{eqnarray}
h(t,d,n,p,
\lambda
,
\mu
,
\nu
,
\zeta
)
&
=
&
\
textrm
{
P
}_{
\theta
}
(
\mathbf
{
s
}
|
\mathbf
{
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
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)-
\sum
_{
t
}
\lambda
_{
t
}
\big
(
\sum
_{
s
}
t(s|t)-1
\big
)
\nonumber
\\
&
&
-
\sum
_{
i
}
\mu
_{
iml
}
\big
(
\sum
_{
j
}
d(j|i,m,l)-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
}
\nu
_{
t
}
\big
(
\sum
_{
\varphi
}
n(
\varphi
|t)-1
\big
)-
\zeta
(p
^
0+p
^
1-1)
\label
{
eq:1.1
}
\label
{
eq:1.1
}
\end{eqnarray}
\end{eqnarray}
\parinterval
由于篇幅所限这里略去了推导步骤直接给出
一些用于参数估计的等
式。
\parinterval
由于篇幅所限这里略去了推导步骤直接给出
具体公
式。
\begin{eqnarray}
\begin{eqnarray}
c(s|t,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
textrm
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times \sum_{j=1}^{m} (\delta(s_j,s) \cdot \delta(t_{a_{j}},t))\big]
\label
{
eq:1.2
}
\\
c(s|t,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
funp
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{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;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
textrm
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times \delta(i,a_j)\big]
\label
{
eq:1.3
}
\\
c(j|i,m,l;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
funp
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times \delta(i,a_j)\big]
\label
{
eq:1.3
}
\\
c(
\varphi
|t;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
textrm
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times \sum_{i=1}^{l}\delta(\varphi,\varphi_{i})\delta(t,t_i)\big]
c(
\varphi
|t;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
funp
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times \sum_{i=1}^{l}\delta(\varphi,\varphi_{i})\delta(t,t_i)\big]
\label
{
eq:1.4
}
\label
{
eq:1.4
}
\end{eqnarray}
\end{eqnarray}
\begin{eqnarray}
\begin{eqnarray}
c(0|
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
textrm
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times (m-2\varphi_0) \big]
\label
{
eq:1.5
}
\\
c(0|
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
funp
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times (m-2\varphi_0) \big]
\label
{
eq:1.5
}
\\
c(1|
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
textrm
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times \varphi_0 \big]
\label
{
eq:1.6
}
c(1|
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
funp
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times \varphi_0 \big]
\label
{
eq:1.6
}
\end{eqnarray}
\end{eqnarray}
\parinterval
进一步,对于由
$
K
$
个样本组成的训练集,有:
\parinterval
进一步,对于由
$
K
$
个样本组成的训练集,有:
...
@@ -202,9 +232,9 @@ n(\varphi|t) & = & \nu_{t}^{-1} \times \sum_{s=1}^{K}c(\varphi |t;\mathbf{s}^{[k
...
@@ -202,9 +232,9 @@ n(\varphi|t) & = & \nu_{t}^{-1} \times \sum_{s=1}^{K}c(\varphi |t;\mathbf{s}^{[k
p
_
x
&
=
&
\zeta
^{
-1
}
\sum
_{
k=1
}^{
K
}
c(x;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
\label
{
eq:1.10
}
p
_
x
&
=
&
\zeta
^{
-1
}
\sum
_{
k=1
}^{
K
}
c(x;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
\label
{
eq:1.10
}
\end{eqnarray}
\end{eqnarray}
\parinterval
在模型3中,因为
产出率的引入,并不能像模型1和模型2那样,在保证正确性的情况下加速参数估计的过程。这就使得每次迭代过程中,都不得不面对大小为
$
(
l
+
1
)
^
m
$
的词对齐空间。遍历所有
$
(
l
+
1
)
^
m
$
个词对齐所带来的高时间复杂度显然是不能被接受的。因此就要考虑能否仅利用词对齐空间中的部分词对齐对这些参数进行估计。比较简单且直接的方法就是仅利用Viterbi对齐来进行参数估计
\footnote
{
Viterbi词对齐可以被简单的看作搜索到的最好词对齐。
}
。 遗憾的是,在模型3中并没有方法直接获得Viterbi对齐。这样只能采用一种折中的策略,即仅考虑那些使得
$
\textrm
{
P
}_{
\theta
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
$
达到较高值的词对齐。这里把这部分词对齐组成的集合记为
$
S
$
。式
\ref
{
eq:1.2
}
可以被修改为:
\parinterval
在模型3中,因为
繁衍率的引入,并不能像模型1和模型2那样,在保证正确性的情况下加速参数估计的过程。这就使得每次迭代过程中,都不得不面对大小为
$
(
l
+
1
)
^
m
$
的词对齐空间。遍历所有
$
(
l
+
1
)
^
m
$
个词对齐所带来的高时间复杂度显然是不能被接受的。因此就要考虑能否仅利用词对齐空间中的部分词对齐对这些参数进行估计。比较简单的方法是仅使用Viterbi对齐来进行参数估计,这里Viterbi 词对齐可以被简单的看作搜索到的最好词对齐。遗憾的是,在模型3中并没有方法直接获得Viterbi对齐。这样只能采用一种折中的策略,即仅考虑那些使得
$
\funp
{
P
}_{
\theta
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
$
达到较高值的词对齐。这里把这部分词对齐组成的集合记为
$
S
$
。式
\ref
{
eq:1.2
}
可以被修改为:
\begin{eqnarray}
\begin{eqnarray}
c(s|t,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
\approx
\sum
_{
\mathbf
{
a
}
\in
\mathbf
{
S
}}
\big
[\textrm
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times \sum_{j=1}^{m}(\delta(s_j,\mathbf{s}) \cdot \delta(t_{a_{j}},\mathbf{t})) \big]
c(s|t,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
\approx
\sum
_{
\mathbf
{
a
}
\in
S
}
\big
[\funp
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times \sum_{j=1}^{m}(\delta(s_j,\mathbf{s}) \cdot \delta(t_{a_{j}},\mathbf{t})) \big]
\label
{
eq:1.11
}
\label
{
eq:1.11
}
\end{eqnarray}
\end{eqnarray}
...
@@ -217,15 +247,15 @@ S = N(b^{\infty}(V(\mathbf{s}|\mathbf{t};2))) \cup (\mathop{\cup}\limits_{ij} N(
...
@@ -217,15 +247,15 @@ S = N(b^{\infty}(V(\mathbf{s}|\mathbf{t};2))) \cup (\mathop{\cup}\limits_{ij} N(
\parinterval
为了理解这个公式,先介绍几个概念。
\parinterval
为了理解这个公式,先介绍几个概念。
\begin{itemize}
\begin{itemize}
\item
$
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)
$
表示Viterbi词对齐,
$
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
,
1
)
$
、
$
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
,
2
)
$
和
$
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
,
3
)
$
就分别对应了模型1、2 和3 的Viterbi 词对齐;
\item
$
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)
$
表示Viterbi词对齐,
$
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
,
1
)
$
、
$
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
,
2
)
$
和
$
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
,
3
)
$
就分别对应了模型1、2 和3 的Viterbi 词对齐;
\item
把那些满足第
$
j
$
个源语言单词对应第
$
i
$
个目标语言单词(
$
a
_
j
=
i
$
)的词对齐构成的集合记为
$
\mathbf
{
A
}_{
i
\leftrightarrow
j
}
(
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
。通常称这些对齐中
$
j
$
和
$
i
$
被``钉''在了一起。在
$
\mathbf
{
A
}_{
i
\leftrightarrow
j
}
(
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
中使
$
\
textrm
{
P
}
(
\mathbf
{
a
}
|
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
达到最大的那个词对齐被记为
$
V
_{
i
\leftrightarrow
j
}
(
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
;
\item
把那些满足第
$
j
$
个源语言单词对应第
$
i
$
个目标语言单词(
$
a
_
j
=
i
$
)的词对齐构成的集合记为
$
\mathbf
{
A
}_{
i
\leftrightarrow
j
}
(
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
。通常称这些对齐中
$
j
$
和
$
i
$
被``钉''在了一起。在
$
\mathbf
{
A
}_{
i
\leftrightarrow
j
}
(
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
中使
$
\
funp
{
P
}
(
\mathbf
{
a
}
|
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
达到最大的那个词对齐被记为
$
V
_{
i
\leftrightarrow
j
}
(
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
;
\item
如果两个词对齐,通过交换两个词对齐连接就能互相转化,则称它们为邻居。一个词对齐
$
\mathbf
{
a
}$
的所有邻居记为
$
N
(
\mathbf
{
a
}
)
$
。
\item
如果两个词对齐,通过交换两个词对齐连接就能互相转化,则称它们为邻居。一个词对齐
$
\mathbf
{
a
}$
的所有邻居记为
$
N
(
\mathbf
{
a
}
)
$
。
\end{itemize}
\end{itemize}
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\parinterval
公式
\ref
{
eq:1.12
}
中,
$
b
^{
\infty
}
(
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
;
2
))
$
和
$
b
_{
i
\leftrightarrow
j
}^{
\infty
}
(
V
_{
i
\leftrightarrow
j
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
,
2
))
$
分别是对
$
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
;
3
)
$
和
$
V
_{
i
\leftrightarrow
j
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
,
3
)
$
的估计。在计算
$
S
$
的过程中,需要知道一个对齐
$
\bf
{
a
}$
的邻居
$
\bf
{
a
}^{
'
}$
的概率,即通过
$
\
textrm
{
P
}_{
\theta
}
(
\mathbf
{
a
}
,
\mathbf
{
s
}
|
\mathbf
{
t
}
)
$
计算
$
\textrm
{
p
}_{
\theta
}
(
\mathbf
{
a
}
',
\mathbf
{
s
}
|
\mathbf
{
t
}
)
$
。在模型3中,如果
$
\bf
{
a
}$
和
$
\bf
{
a
}
'
$
仅区别于某个源语单词对齐到的目标位置上(
$
a
_
j
\neq
a
_{
j
}
'
$
),那么
\parinterval
公式
\ref
{
eq:1.12
}
中,
$
b
^{
\infty
}
(
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
;
2
))
$
和
$
b
_{
i
\leftrightarrow
j
}^{
\infty
}
(
V
_{
i
\leftrightarrow
j
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
,
2
))
$
分别是对
$
V
(
\mathbf
{
s
}
|
\mathbf
{
t
}
;
3
)
$
和
$
V
_{
i
\leftrightarrow
j
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
,
3
)
$
的估计。在计算
$
S
$
的过程中,需要知道一个对齐
$
\bf
{
a
}$
的邻居
$
\bf
{
a
}^{
'
}$
的概率,即通过
$
\
funp
{
P
}_{
\theta
}
(
\mathbf
{
a
}
,
\mathbf
{
s
}
|
\mathbf
{
t
}
)
$
计算
$
\funp
{
P
}_{
\theta
}
(
\mathbf
{
a
}
',
\mathbf
{
s
}
|
\mathbf
{
t
}
)
$
。在模型3中,如果
$
\bf
{
a
}$
和
$
\bf
{
a
}
'
$
仅区别于某个源语单词对齐到的目标位置上(
$
a
_
j
\neq
a
_{
j
}
'
$
),那么
\begin{eqnarray}
\begin{eqnarray}
\
textrm
{
P
}_{
\theta
}
(
\mathbf
{
a
}
',
\mathbf
{
s
}
|
\mathbf
{
t
}
)
&
=
&
\textrm
{
P
}_{
\theta
}
(
\mathbf
{
a
}
,
\mathbf
{
s
}
|
\mathbf
{
t
}
)
\cdot
\nonumber
\\
\
funp
{
P
}_{
\theta
}
(
\mathbf
{
a
}
',
\mathbf
{
s
}
|
\mathbf
{
t
}
)
&
=
&
\funp
{
P
}_{
\theta
}
(
\mathbf
{
a
}
,
\mathbf
{
s
}
|
\mathbf
{
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
{
\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)
}
&
&
\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
}
\label
{
eq:1.13
}
...
@@ -233,7 +263,7 @@ S = N(b^{\infty}(V(\mathbf{s}|\mathbf{t};2))) \cup (\mathop{\cup}\limits_{ij} N(
...
@@ -233,7 +263,7 @@ S = N(b^{\infty}(V(\mathbf{s}|\mathbf{t};2))) \cup (\mathop{\cup}\limits_{ij} N(
\parinterval
如果
$
\bf
{
a
}$
和
$
\bf
{
a
}
'
$
区别于两个位置
$
j
_
1
$
和
$
j
_
2
$
的对齐上,
$
a
_{
j
_{
1
}}
=
a
_{
j
_{
2
}^{
'
}}$
且
$
a
_{
j
_{
2
}}
=
a
_{
j
_{
1
}^{
'
}}$
,那么
\parinterval
如果
$
\bf
{
a
}$
和
$
\bf
{
a
}
'
$
区别于两个位置
$
j
_
1
$
和
$
j
_
2
$
的对齐上,
$
a
_{
j
_{
1
}}
=
a
_{
j
_{
2
}^{
'
}}$
且
$
a
_{
j
_{
2
}}
=
a
_{
j
_{
1
}^{
'
}}$
,那么
\begin{eqnarray}
\begin{eqnarray}
\
textrm
{
P
}_{
\theta
}
(
\mathbf
{
a'
}
,
\mathbf
{
s
}
|
\mathbf
{
t
}
) =
\textrm
{
P
}_{
\theta
}
(
\mathbf
{
a
}
,
\mathbf
{
s
}
|
\mathbf
{
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
}
(
\mathbf
{
a'
}
,
\mathbf
{
s
}
|
\mathbf
{
t
}
) =
\funp
{
P
}_{
\theta
}
(
\mathbf
{
a
}
,
\mathbf
{
s
}
|
\mathbf
{
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)
}
\label
{
eq:1.14
}
\label
{
eq:1.14
}
\end{eqnarray}
\end{eqnarray}
...
@@ -247,15 +277,15 @@ S = N(b^{\infty}(V(\mathbf{s}|\mathbf{t};2))) \cup (\mathop{\cup}\limits_{ij} N(
...
@@ -247,15 +277,15 @@ S = N(b^{\infty}(V(\mathbf{s}|\mathbf{t};2))) \cup (\mathop{\cup}\limits_{ij} N(
\parinterval
模型4的参数估计基本与模型3一致。需要修改的是扭曲度的估计公式,对于目标语第
$
i
$
个cept.生成的第一单词,可以得到(假设有
$
K
$
个训练样本):
\parinterval
模型4的参数估计基本与模型3一致。需要修改的是扭曲度的估计公式,对于目标语第
$
i
$
个cept.生成的第一单词,可以得到(假设有
$
K
$
个训练样本):
\begin{eqnarray}
\begin{eqnarray}
d
_
1(
\Delta
_
j|ca,cb
;
\mathbf
{
s
}
,
\mathbf
{
t
}
) =
\mu
_{
1cacb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_
1(
\Delta
_
j|ca,cb;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
d
_
1(
\Delta
_
j|ca,cb) =
\mu
_{
1cacb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_
1(
\Delta
_
j|ca,cb;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
\label
{
eq:1.15
}
\label
{
eq:1.15
}
\end{eqnarray}
\end{eqnarray}
其中,
其中,
\begin{eqnarray}
\begin{eqnarray}
c
_
1(
\Delta
_
j|ca,cb;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
textrm
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times s_1(\Delta_j|ca,cb;\mathbf{a},\mathbf{s},\mathbf{t})\big]
\label
{
eq:1.16
}
\\
c
_
1(
\Delta
_
j|ca,cb;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\
funp
{P}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times s_1(\Delta_j|ca,cb;\mathbf{a},\mathbf{s},\mathbf{t})\big]
\label
{
eq:1.16
}
\\
s
_
1(
\Delta
_
j|ca,cb;
\rm
{
a
}
,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\big
[
\varepsilon
(
\phi
_
i)
\cdot
\delta
(
\pi
_{
i1
}
-
\odot
_{
i
}
,
\Delta
_
j)
\cdot
\nonumber
\\
s
_
1(
\Delta
_
j|ca,cb;
\rm
{
a
}
,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\big
[
\varepsilon
(
\
var
phi
_
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
}
&
&
\delta
(A(t
_{
i-1
}
),ca)
\cdot
\delta
(B(
\tau
_{
i1
}
),cb)
\big
]
\label
{
eq:1.17
}
\end{eqnarray}
\end{eqnarray}
...
@@ -272,7 +302,7 @@ s_1(\Delta_j|ca,cb;\rm{a},\mathbf{s},\mathbf{t}) & = & \sum_{i=1}^l \big[\vareps
...
@@ -272,7 +302,7 @@ s_1(\Delta_j|ca,cb;\rm{a},\mathbf{s},\mathbf{t}) & = & \sum_{i=1}^l \big[\vareps
对于目标语第
$
i
$
个cept.生成的其他单词(非第一个单词),可以得到:
对于目标语第
$
i
$
个cept.生成的其他单词(非第一个单词),可以得到:
\begin{eqnarray}
\begin{eqnarray}
d
_{
>1
}
(
\Delta
_
j|cb
;
\mathbf
{
s
}
,
\mathbf
{
t
}
) =
\mu
_{
>1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_{
>1
}
(
\Delta
_
j|cb;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
d
_{
>1
}
(
\Delta
_
j|cb) =
\mu
_{
>1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_{
>1
}
(
\Delta
_
j|cb;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
\label
{
eq:1.18
}
\label
{
eq:1.18
}
\end{eqnarray}
\end{eqnarray}
...
@@ -280,7 +310,7 @@ d_{>1}(\Delta_j|cb;\mathbf{s},\mathbf{t}) = \mu_{>1cb}^{-1} \times \sum_{k=1}^{K
...
@@ -280,7 +310,7 @@ d_{>1}(\Delta_j|cb;\mathbf{s},\mathbf{t}) = \mu_{>1cb}^{-1} \times \sum_{k=1}^{K
\begin{eqnarray}
\begin{eqnarray}
c
_{
>1
}
(
\Delta
_
j|cb;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\textrm{p}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times s_{>1}(\Delta_j|cb;\mathbf{a},\mathbf{s},\mathbf{t}) \big]
\label
{
eq:1.19
}
\\
c
_{
>1
}
(
\Delta
_
j|cb;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\big
[\textrm{p}_{\theta}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times s_{>1}(\Delta_j|cb;\mathbf{a},\mathbf{s},\mathbf{t}) \big]
\label
{
eq:1.19
}
\\
s
_{
>1
}
(
\Delta
_
j|cb;
\mathbf
{
a
}
,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\big
[\varepsilon(\
phi_i-1)\sum_{k=2}^{\
phi_i}\delta(\pi_{[i]
k
}
-
\pi
_{
[i]k-1
}
,
\Delta
_
j)
\cdot
\nonumber
ß
\\
s
_{
>1
}
(
\Delta
_
j|cb;
\mathbf
{
a
}
,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\big
[\varepsilon(\
varphi_i-1)\sum_{k=2}^{\var
phi_i}\delta(\pi_{[i]
k
}
-
\pi
_{
[i]k-1
}
,
\Delta
_
j)
\cdot
\nonumber
ß
\\
&
&
\delta
(B(
\tau
_{
[i]k
}
),cb)
\big
]
\label
{
eq:1.20
}
&
&
\delta
(B(
\tau
_{
[i]k
}
),cb)
\big
]
\label
{
eq:1.20
}
\end{eqnarray}
\end{eqnarray}
...
@@ -291,7 +321,7 @@ s_{>1}(\Delta_j|cb;\mathbf{a},\mathbf{s},\mathbf{t}) & = & \sum_{i=1}^l \big[\va
...
@@ -291,7 +321,7 @@ s_{>1}(\Delta_j|cb;\mathbf{a},\mathbf{s},\mathbf{t}) & = & \sum_{i=1}^l \big[\va
\label
{
eq:1.22
}
\label
{
eq:1.22
}
\end{eqnarray}
\end{eqnarray}
\parinterval
对于一个对齐
$
\mathbf
{
a
}$
,可用模型3对它的邻居进行排名,即按
$
\
textrm
{
P
}_{
\theta
}
(
b
(
\mathbf
{
a
}
)
|
\mathbf
{
s
}
,
\mathbf
{
t
}
;
3
)
$
排序,其中
$
b
(
\mathbf
{
a
}
)
$
表示
$
\mathbf
{
a
}$
的邻居。
$
\tilde
{
b
}
(
\mathbf
{
a
}
)
$
表示这个排名表中满足
$
\textrm
{
P
}_{
\theta
}
(
\mathbf
{
a
}
'|
\mathbf
{
s
}
,
\mathbf
{
t
}
;
4
)
>
\textrm
{
P
}_{
\theta
}
(
\mathbf
{
a
}
|
\mathbf
{
s
}
,
\mathbf
{
t
}
;
4
)
$
的最高排名的
$
\mathbf
{
a
}
'
$
。同理可知
$
\tilde
{
b
}_{
i
\leftrightarrow
j
}^{
\infty
}
(
\mathbf
{
a
}
)
$
的意义。这里之所以不用模型3中采用的方法直接利用
$
b
^{
\infty
}
(
\mathbf
{
a
}
)
$
得到模型4中高概率的对齐,是因为模型4中,要想获得某个对齐
$
\mathbf
{
a
}$
的邻居
$
\mathbf
{
a
}
'
$
,
必须做很大调整,比如:调整
$
\tau
_{
[
i
]
1
}$
和
$
\odot
_{
i
}$
等等。这个过程要比模型3的相应过程复杂得多。因此在模型4中只能借助于模型3的中间步骤来进行参数估计。
\parinterval
对于一个对齐
$
\mathbf
{
a
}$
,可用模型3对它的邻居进行排名,即按
$
\
funp
{
P
}_{
\theta
}
(
b
(
\mathbf
{
a
}
)
|
\mathbf
{
s
}
,
\mathbf
{
t
}
;
3
)
$
排序,其中
$
b
(
\mathbf
{
a
}
)
$
表示
$
\mathbf
{
a
}$
的邻居。
$
\tilde
{
b
}
(
\mathbf
{
a
}
)
$
表示这个排名表中满足
$
\funp
{
P
}_{
\theta
}
(
\mathbf
{
a
}
'|
\mathbf
{
s
}
,
\mathbf
{
t
}
;
4
)
>
\funp
{
P
}_{
\theta
}
(
\mathbf
{
a
}
|
\mathbf
{
s
}
,
\mathbf
{
t
}
;
4
)
$
的最高排名的
$
\mathbf
{
a
}
'
$
。 同理可知
$
\tilde
{
b
}_{
i
\leftrightarrow
j
}^{
\infty
}
(
\mathbf
{
a
}
)
$
的意义。这里之所以不用模型3中采用的方法直接利用
$
b
^{
\infty
}
(
\mathbf
{
a
}
)
$
得到模型4中高概率的对齐,是因为模型4中要想获得某个对齐
$
\mathbf
{
a
}$
的邻居
$
\mathbf
{
a
}
'
$
必须做很大调整,比如:调整
$
\tau
_{
[
i
]
1
}$
和
$
\odot
_{
i
}$
等等。这个过程要比模型3的相应过程复杂得多。因此在模型4中只能借助于模型3的中间步骤来进行参数估计。
\setlength
{
\belowdisplayskip
}{
3pt
}
%调整空白大小
\setlength
{
\belowdisplayskip
}{
3pt
}
%调整空白大小
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
...
@@ -299,45 +329,45 @@ s_{>1}(\Delta_j|cb;\mathbf{a},\mathbf{s},\mathbf{t}) & = & \sum_{i=1}^l \big[\va
...
@@ -299,45 +329,45 @@ s_{>1}(\Delta_j|cb;\mathbf{a},\mathbf{s},\mathbf{t}) & = & \sum_{i=1}^l \big[\va
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
\section
{
IBM模型5训练方法
}
\section
{
IBM模型5训练方法
}
\parinterval
模型5的参数估计过程也
与模型3
的过程基本一致,二者的区别在于扭曲度的估计公式。在模型5中,对于目标语第
$
i
$
个cept.生成的第一单词,可以得到(假设有
$
K
$
个训练样本):
\parinterval
模型5的参数估计过程也
模型4
的过程基本一致,二者的区别在于扭曲度的估计公式。在模型5中,对于目标语第
$
i
$
个cept.生成的第一单词,可以得到(假设有
$
K
$
个训练样本):
\begin{eqnarray}
\begin{eqnarray}
d
_
1(
\Delta
_
j|cb
;
\mathbf
{
s
}
,
\mathbf
{
t
}
) =
\mu
_{
1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_
1(
\Delta
_
j|cb;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
d
_
1(
\Delta
_
j|cb) =
\mu
_{
1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_
1(
\Delta
_
j|cb;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
\label
{
eq:1.23
}
\label
{
eq:1.23
}
\end{eqnarray}
\end{eqnarray}
其中,
其中,
\begin{eqnarray}
\begin{eqnarray}
c
_
1(
\Delta
_
j|cb,v
_
x,v
_
y;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\Big
[ \
textrm
{P}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times s_1(\Delta_j|cb,v_x,v_y;\mathbf{a},\mathbf{s},\mathbf{t}) \Big]
\label
{
eq:1.24
}
\\
c
_
1(
\Delta
_
j|cb,v
_
x,v
_
y;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\Big
[ \
funp
{P}(\mathbf{s},\mathbf{a}|\mathbf{t}) \times s_1(\Delta_j|cb,v_x,v_y;\mathbf{a},\mathbf{s},\mathbf{t}) \Big]
\label
{
eq:1.24
}
\\
s
_
1(
\Delta
_
j|cb,v
_
x,v
_
y;
\mathbf
{
a
}
,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\Big
[
\varepsilon
(
\phi
_
i)
\cdot
\delta
(v
_{
\pi
_{
i1
}}
,
\Delta
_
j)
\cdot
\delta
(v
_{
\odot
_{
i-1
}}
,v
_
x)
\nonumber
\\
s
_
1(
\Delta
_
j|cb,v
_
x,v
_
y;
\mathbf
{
a
}
,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\Big
[
\varepsilon
(
\
var
phi
_
i)
\cdot
\delta
(v
_{
\pi
_{
i1
}}
,
\Delta
_
j)
\cdot
\delta
(v
_{
\odot
_{
i-1
}}
,v
_
x)
\nonumber
\\
&
&
\cdot
\delta
(v
_
m-
\phi
_
i+1,v
_
y)
\cdot
\delta
(v
_{
\pi
_{
i1
}}
,v
_{
\pi
_{
i1
}
-1
}
)
\Big
]
\label
{
eq:1.25
}
&
&
\cdot
\delta
(v
_
m-
\
var
phi
_
i+1,v
_
y)
\cdot
\delta
(v
_{
\pi
_{
i1
}}
,v
_{
\pi
_{
i1
}
-1
}
)
\Big
]
\label
{
eq:1.25
}
\end{eqnarray}
\end{eqnarray}
对于目标语第
$
i
$
个cept.生成的其他单词(非第一个单词),可以得到:
对于目标语第
$
i
$
个cept.生成的其他单词(非第一个单词),可以得到:
\begin{eqnarray}
\begin{eqnarray}
d
_{
>1
}
(
\Delta
_
j|cb,v
;
\mathbf
{
s
}
,
\mathbf
{
t
}
) =
\mu
_{
>1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_{
>1
}
(
\Delta
_
j|cb,v;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
d
_{
>1
}
(
\Delta
_
j|cb,v) =
\mu
_{
>1cb
}^{
-1
}
\times
\sum
_{
k=1
}^{
K
}
c
_{
>1
}
(
\Delta
_
j|cb,v;
\mathbf
{
s
}^{
[k]
}
,
\mathbf
{
t
}^{
[k]
}
)
\label
{
eq:1.26
}
\label
{
eq:1.26
}
\end{eqnarray}
\end{eqnarray}
其中,
其中,
\begin{eqnarray}
\begin{eqnarray}
c
_{
>1
}
(
\Delta
_
j|cb,v;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\Big
[\
textrm
{P}(\mathbf{a},\mathbf{s}|\mathbf{t}) \times s_{>1}(\Delta_j|cb,v;\mathbf{a},\mathbf{s},\mathbf{t}) \Big]
\label
{
eq:1.27
}
\\
c
_{
>1
}
(
\Delta
_
j|cb,v;
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}
\Big
[\
funp
{P}(\mathbf{a},\mathbf{s}|\mathbf{t}) \times s_{>1}(\Delta_j|cb,v;\mathbf{a},\mathbf{s},\mathbf{t}) \Big]
\label
{
eq:1.27
}
\\
s
_{
>1
}
(
\Delta
_
j|cb,v;
\mathbf
{
a
}
,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\Big
[\varepsilon(\
phi_i-1)\sum_{k=2}^{\
phi_i} \big[\delta(v_{\pi_{ik}}-v_{\pi_{[i]
k
}
-1
}
,
\Delta
_
j)
\nonumber
\\
s
_{
>1
}
(
\Delta
_
j|cb,v;
\mathbf
{
a
}
,
\mathbf
{
s
}
,
\mathbf
{
t
}
)
&
=
&
\sum
_{
i=1
}^
l
\Big
[\varepsilon(\
varphi_i-1)\sum_{k=2}^{\var
phi_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)
}}
-
\phi
_
i+k,v)
\nonumber
\\
&
&
\cdot
\delta
(B(
\tau
_{
[i]k
}
) ,cb)
\cdot
\delta
(v
_
m-v
_{
\pi
_{
i(k-1)
}}
-
\
var
phi
_
i+k,v)
\nonumber
\\
&
&
\cdot
\delta
(v
_{
\pi
_{
i1
}}
,v
_{
\pi
_{
i1
}
-1
}
)
\big
]
\Big
]
\label
{
eq:1.28
}
&
&
\cdot
\delta
(v
_{
\pi
_{
i1
}}
,v
_{
\pi
_{
i1
}
-1
}
)
\big
]
\Big
]
\label
{
eq:1.28
}
\end{eqnarray}
\end{eqnarray}
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\parinterval
从式
(
\ref
{
eq:1.24
}
)中可以看出因子
$
\delta
(
v
_{
\pi
_{
i
1
}}
,v
_{
\pi
_{
i
1
}
-
1
}
)
$
保证了,即使对齐
$
\mathbf
{
a
}$
不合理(一个源语位置对应多个目标语
位置)也可以避免在这个不合理的对齐上计算结果。需要注意的是因子
$
\delta
(
v
_{
\pi
_{
p
1
}}
,v
_{
\pi
_{
p
1
-
1
}}
)
$
,确保了
$
\mathbf
{
a
}$
中不合理的部分不产生坏的影响,而
$
\mathbf
{
a
}$
中其他正确的部分仍会参与迭代。
\parinterval
从式
\ref
{
eq:1.24
}
中可以看出因子
$
\delta
(
v
_{
\pi
_{
i
1
}}
,v
_{
\pi
_{
i
1
}
-
1
}
)
$
保证了,即使对齐
$
\mathbf
{
a
}$
不合理(一个源语言位置对应多个目标语言
位置)也可以避免在这个不合理的对齐上计算结果。需要注意的是因子
$
\delta
(
v
_{
\pi
_{
p
1
}}
,v
_{
\pi
_{
p
1
-
1
}}
)
$
,确保了
$
\mathbf
{
a
}$
中不合理的部分不产生坏的影响,而
$
\mathbf
{
a
}$
中其他正确的部分仍会参与迭代。
\parinterval
不过上面的参数估计过程与IBM前4个模型的参数估计过程并不完全一样。IBM前4个模型在每次迭代中,可以在给定
$
\mathbf
{
s
}$
、
$
\mathbf
{
t
}$
和一个对齐
$
\mathbf
{
a
}$
的情况下直接计算并更新参数。但是在模型5的参数估计过程中(如公式
\ref
{
eq:1.24
}
),需要模拟出由
$
\mathbf
{
t
}$
生成
$
\mathbf
{
s
}$
的过程才能得到正确的结果,因为从
$
\mathbf
{
t
}$
、
$
\mathbf
{
s
}$
和
$
\mathbf
{
a
}$
中是不能直接得到 的正确结果的。具体说,就是要从目标语言句子的第一个单词开始到最后一个单词结束,依次生成每个目标语言单词对应的源语言单词,每处理完一个目标语言单词就要暂停,然后才能计算式
\ref
{
eq:1.24
}
中求和符号里面的内容。这也就是说即使给定了
$
\mathbf
{
s
}$
、
$
\mathbf
{
t
}$
和一个对齐
$
\mathbf
{
a
}$
,也不能直接在它们上进行计算,必须重新模拟
$
\mathbf
{
t
}$
到
$
\mathbf
{
s
}$
的生成过程。
\parinterval
不过上面的参数估计过程与IBM前4个模型的参数估计过程并不完全一样。IBM前4个模型在每次迭代中,可以在给定
$
\mathbf
{
s
}$
、
$
\mathbf
{
t
}$
和一个对齐
$
\mathbf
{
a
}$
的情况下直接计算并更新参数。但是在模型5的参数估计过程中(如公式
\ref
{
eq:1.24
}
),需要模拟出由
$
\mathbf
{
t
}$
生成
$
\mathbf
{
s
}$
的过程才能得到正确的结果,因为从
$
\mathbf
{
t
}$
、
$
\mathbf
{
s
}$
和
$
\mathbf
{
a
}$
中是不能直接得到 的正确结果的。具体说,就是要从目标语言句子的第一个单词开始到最后一个单词结束,依次生成每个目标语言单词对应的源语言单词,每处理完一个目标语言单词就要暂停,然后才能计算式
\ref
{
eq:1.24
}
中求和符号里面的内容。这也就是说即使给定了
$
\mathbf
{
s
}$
、
$
\mathbf
{
t
}$
和一个对齐
$
\mathbf
{
a
}$
,也不能直接在它们上进行计算,必须重新模拟
$
\mathbf
{
t
}$
到
$
\mathbf
{
s
}$
的生成过程。
\parinterval
从前面的分析可以看出,虽然模型5比模型4更精确,但是模型5过于复杂以至于给参数估计增加了计算量(对于每组
$
\mathbf
{
t
}$
、
$
\mathbf
{
s
}$
和
$
\mathbf
{
a
}$
都要模拟
$
\mathbf
{
t
}$
生成
$
\mathbf
{
s
}$
的翻译过程)。因此模型5的
开发对于
系统实现是一个挑战。
\parinterval
从前面的分析可以看出,虽然模型5比模型4更精确,但是模型5过于复杂以至于给参数估计增加了计算量(对于每组
$
\mathbf
{
t
}$
、
$
\mathbf
{
s
}$
和
$
\mathbf
{
a
}$
都要模拟
$
\mathbf
{
t
}$
生成
$
\mathbf
{
s
}$
的翻译过程)。因此模型5的系统实现是一个挑战。
\parinterval
在模型5中同样需要定义一个词对齐集合
$
S
$
,使得每次迭代都在
$
S
$
上进行。可以对
$
S
$
进行如下定义
\parinterval
在模型5中同样需要定义一个词对齐集合
$
S
$
,使得每次迭代都在
$
S
$
上进行。可以对
$
S
$
进行如下定义
\begin{eqnarray}
\begin{eqnarray}
...
@@ -346,7 +376,7 @@ s_{>1}(\Delta_j|cb,v;\mathbf{a},\mathbf{s},\mathbf{t}) & = & \sum_{i=1}^l\Big[\v
...
@@ -346,7 +376,7 @@ s_{>1}(\Delta_j|cb,v;\mathbf{a},\mathbf{s},\mathbf{t}) & = & \sum_{i=1}^l\Big[\v
\end{eqnarray}
\end{eqnarray}
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\
parinterval
这里
$
\tilde
{
\tilde
{
b
}}
(
\mathbf
{
a
}
)
$
借用了模型4中
$
\tilde
{
b
}
(
\mathbf
{
a
}
)
$
的概念。不过
$
\tilde
{
\tilde
{
b
}}
(
\mathbf
{
a
}
)
$
表示在利用模型3进行排名的列表中满足
$
\textrm
{
P
}_{
\theta
}
(
\mathbf
{
a
}
'|
\mathbf
{
s
}
,
\mathbf
{
t
}
;
5
)
$
的最高排名的词对齐
。
\
noindent
其中,
$
\tilde
{
\tilde
{
b
}}
(
\mathbf
{
a
}
)
$
借用了模型4中
$
\tilde
{
b
}
(
\mathbf
{
a
}
)
$
的概念。不过
$
\tilde
{
\tilde
{
b
}}
(
\mathbf
{
a
}
)
$
表示在利用模型3进行排名的列表中满足
$
\funp
{
P
}_{
\theta
}
(
\mathbf
{
a
}
'|
\mathbf
{
s
}
,
\mathbf
{
t
}
;
5
)
$
的最高排名的词对齐,这里
$
\mathbf
{
a
}
'
$
表示
$
\mathbf
{
a
}$
的邻居
。
\end{appendices}
\end{appendices}
...
...
ChapterPreface/chapterpreface.tex
查看文件 @
a86a6c8f
...
@@ -38,7 +38,7 @@
...
@@ -38,7 +38,7 @@
最初,笔者的想法仅仅是将机器翻译的技术内容做成资料供人阅读。但是,朋友、同事们一直鼓励将内容正式出版。虽然担心书的内容不够精致,无法给同行作为参考,但是最终还是下定决心重构内容。所幸,得到电子工业出版社的支持,形成新版,共十八章。
最初,笔者的想法仅仅是将机器翻译的技术内容做成资料供人阅读。但是,朋友、同事们一直鼓励将内容正式出版。虽然担心书的内容不够精致,无法给同行作为参考,但是最终还是下定决心重构内容。所幸,得到电子工业出版社的支持,形成新版,共十八章。
写作中,每当笔者翻起以前的资料,都会想起当年的一些故事。与其说这部书是写给读者,还不如说这本书是写给笔者自己,写给所有同笔者一样,经历过或正在经历机器翻译蓬勃发展年代的人。希望本书可以作为一个时代的记录,但是这个时代
未并
结束,还将继续,并更加美好。
写作中,每当笔者翻起以前的资料,都会想起当年的一些故事。与其说这部书是写给读者,还不如说这本书是写给笔者自己,写给所有同笔者一样,经历过或正在经历机器翻译蓬勃发展年代的人。希望本书可以作为一个时代的记录,但是这个时代
并未
结束,还将继续,并更加美好。
\vspace
{
1.0em
}
\vspace
{
1.0em
}
...
...
mt-book-xelatex.tex
查看文件 @
a86a6c8f
...
@@ -136,7 +136,7 @@
...
@@ -136,7 +136,7 @@
%\include{Chapter3/chapter3}
%\include{Chapter3/chapter3}
%\include{Chapter4/chapter4}
%\include{Chapter4/chapter4}
%\include{Chapter5/chapter5}
%\include{Chapter5/chapter5}
\include
{
Chapter6/chapter6
}
%
\include{Chapter6/chapter6}
%\include{Chapter7/chapter7}
%\include{Chapter7/chapter7}
%\include{Chapter8/chapter8}
%\include{Chapter8/chapter8}
%\include{Chapter9/chapter9}
%\include{Chapter9/chapter9}
...
@@ -149,7 +149,7 @@
...
@@ -149,7 +149,7 @@
%\include{Chapter16/chapter16}
%\include{Chapter16/chapter16}
%\include{Chapter17/chapter17}
%\include{Chapter17/chapter17}
%\include{Chapter18/chapter18}
%\include{Chapter18/chapter18}
%
\include{ChapterAppend/chapterappend}
\include
{
ChapterAppend/chapterappend
}
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论