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
49986b6f
Commit
49986b6f
authored
Aug 28, 2020
by
曹润柘
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新 chapter6.tex
parent
efeb5b14
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
50 行增加
和
47 行删除
+50
-47
Chapter6/chapter6.tex
+50
-47
没有找到文件。
Chapter6/chapter6.tex
查看文件 @
49986b6f
...
...
@@ -78,14 +78,14 @@
\label
{
eq:6-1
}
\end{eqnarray}
\parinterval
这里还用
{
\chapterthree
}
中的例子(图
\ref
{
fig:6-
4-a
}
)来进行说明。在IBM模型1中,``桌子''对齐到目标语言四个位置的概率是一样的。但在IBM模型2中,``桌子''对齐到``table''被形式化为
$
a
(
a
_
j |j,m,l
)=
a
(
3
|
2
,
3
,
3
)
$
,意思是对于源语言位置2(
$
j
=
2
$
)的词,如果它的源语言和目标语言都是3个词(
$
l
=
3
,m
=
3
$
),对齐到目标语言位置3(
$
a
_
j
=
3
$
)的概率是多少?因为
$
a
(
a
_
j|j,m,l
)
$
也是模型需要学习的参数,因此``桌子''对齐到不同目标语言单词的概率也是不一样的。理想的情况下,通过
$
a
(
a
_
j|j,m,l
)
$
,``桌子''对齐到``table''应该得到更高的概率。
\parinterval
这里还用
{
\chapterthree
}
中的例子(图
\ref
{
fig:6-
3
}
)来进行说明。在IBM模型1中,``桌子''对齐到目标语言四个位置的概率是一样的。但在IBM模型2中,``桌子''对齐到``table''被形式化为
$
a
(
a
_
j |j,m,l
)=
a
(
3
|
2
,
3
,
3
)
$
,意思是对于源语言位置2(
$
j
=
2
$
)的词,如果它的源语言和目标语言都是3个词(
$
l
=
3
,m
=
3
$
),对齐到目标语言位置3(
$
a
_
j
=
3
$
)的概率是多少?因为
$
a
(
a
_
j|j,m,l
)
$
也是模型需要学习的参数,因此``桌子''对齐到不同目标语言单词的概率也是不一样的。理想的情况下,通过
$
a
(
a
_
j|j,m,l
)
$
,``桌子''对齐到``table''应该得到更高的概率。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter6/Figures/figure-zh-en-bilingual-sentence-pairs
}
\caption
{
汉译英句对及词对齐
}
\label
{
fig:6-
4-a
}
\label
{
fig:6-
3
}
\end{figure}
%----------------------------------------------
...
...
@@ -93,22 +93,23 @@
\begin{eqnarray}
\textrm
{
P
}
(m|
\mathbf
{
t
}
)
&
\equiv
&
\varepsilon
\label
{
eq:s-len-gen-prob
}
\\
\textrm
{
P
}
(s
_
j|a
_
1
^{
j
}
,s
_
1
^{
j-1
}
,m,
\mathbf
{
t
}
)
&
\equiv
&
f(s
_
j|t
_{
a
_
j
}
)
\label
{
eq:s-word-gen-prob
}
\textrm
{
P
}
(s
_
j|a
_
1
^{
j
}
,s
_
1
^{
j-1
}
,m,
\mathbf
{
t
}
)
&
\equiv
&
f(s
_
j|t
_{
a
_
j
}
)
\label
{
eq:s-word-gen-prob
}
\end{eqnarray}
把公式
\ref
{
eq:s-len-gen-prob
}
、
\ref
{
eq:s-word-gen-prob
}
和
\ref
{
eq:6-1
}
重新带入公式
$
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)=
\textrm
{
P
}
(
m|
\mathbf
{
t
}
)
\prod
_{
j
=
1
}^{
m
}{
\textrm
{
P
}
(
a
_
j|a
_
1
^{
j
-
1
}
,s
_
1
^{
j
-
1
}
,m,
\mathbf
{
t
}
)
\textrm
{
P
}
(
s
_
j|a
_
1
^{
j
}
,s
_
1
^{
j
-
1
}
,
}$
\\
${
m,
\mathbf
{
t
}
)
}$
和
$
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)=
\sum
_{
\mathbf
{
a
}}
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
$
,可以得到IBM模型2的数学描述:
把公式
\ref
{
eq:s-len-gen-prob
}
、
\ref
{
eq:s-word-gen-prob
}
和
\ref
{
eq:6-1
}
重新带入公式
$
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)=
\textrm
{
P
}
(
m|
\mathbf
{
t
}
)
\prod
_{
j
=
1
}^{
m
}{
\textrm
{
P
}
(
a
_
j|a
_
1
^{
j
-
1
}
,s
_
1
^{
j
-
1
}
,m,
\mathbf
{
t
}
)
}$
\\
${
\textrm
{
P
}
(
s
_
j|a
_
1
^{
j
}
,s
_
1
^{
j
-
1
}
,
m,
\mathbf
{
t
}
)
}$
和
$
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)=
\sum
_{
\mathbf
{
a
}}
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
$
,可以得到IBM模型2的数学描述:
\begin{eqnarray}
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)
&
=
&
\sum
_{
\mathbf
{
a
}}{
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
}
\nonumber
\\
&
=
&
\sum
_{
a
_
1=0
}^{
l
}{
\cdots
}
\sum
_{
a
_
m=0
}^{
l
}{
\varepsilon
}
\prod
_{
j=1
}^{
m
}{
a(a
_
j|j,m,l)f(s
_
j|t
_{
a
_
j
}
)
}
\label
{
eq:6-
2
}
\label
{
eq:6-
4
}
\end{eqnarray}
\parinterval
类似于模型1,模型2的表达式
\ref
{
eq:6-
2
}
也能被拆分为两部分进行理解。第一部分:遍历所有的
$
\mathbf
{
a
}$
;第二部分:对于每个
$
\mathbf
{
a
}$
累加对齐概率
$
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
$
,即计算对齐概率
$
a
(
a
_
j|j,m,l
)
$
和词汇翻译概率
$
f
(
s
_
j|t
_{
a
_
j
}
)
$
对于所有源语言位置的乘积。
\parinterval
类似于模型1,模型2的表达式
\ref
{
eq:6-
4
}
也能被拆分为两部分进行理解。第一部分:遍历所有的
$
\mathbf
{
a
}$
;第二部分:对于每个
$
\mathbf
{
a
}$
累加对齐概率
$
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
$
,即计算对齐概率
$
a
(
a
_
j|j,m,l
)
$
和词汇翻译概率
$
f
(
s
_
j|t
_{
a
_
j
}
)
$
对于所有源语言位置的乘积。
\parinterval
同样的,模型2的解码及训练优化和模型1的十分相似,在此不再赘述,详细推导过程可以参看
{
\chapterfive
}
解码及计算优化部分。这里直接给出IBM模型2的最终表达式:
\begin{eqnarray}
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)
&
=
&
\varepsilon
\prod\limits
_{
j=1
}^{
m
}
\sum\limits
_{
i=0
}^{
l
}
a(i|j,m,l) f(s
_
j|t
_
i)
\label
{
eq:6-
3
}
\label
{
eq:6-
5
}
\end{eqnarray}
...
...
@@ -118,40 +119,40 @@
\subsection
{
隐马尔可夫模型
}
\parinterval
IBM模型把翻译问题定义为生成词对齐的问题,模型翻译质量的好坏与词对齐有着非常紧密的联系。IBM模型1假设对齐概率仅依赖于目标语言句子长度,即对齐概率服从均匀分布;IBM模型2假设对齐概率与源语言、目标语言的句子长度以及源语言位置和目标语言位置相关。虽然IBM模型2已经覆盖了一部分词对齐问题,但是该模型只考虑到了单词的绝对位置,并未考虑到相邻单词间的关系。图
\ref
{
fig:6-
5
}
展示了一个简单的实例,可以看到的是,汉语的每个单词都被分配给了英语句子中的每一个单词,但是单词并不是任意分布在各个位置上的,而是倾向于生成簇。也就是说,如果源语言的两个单词位置越近,它们的译文在目标语言句子中的位置也越近。
\parinterval
IBM模型把翻译问题定义为生成词对齐的问题,模型翻译质量的好坏与词对齐有着非常紧密的联系。IBM模型1假设对齐概率仅依赖于目标语言句子长度,即对齐概率服从均匀分布;IBM模型2假设对齐概率与源语言、目标语言的句子长度以及源语言位置和目标语言位置相关。虽然IBM模型2已经覆盖了一部分词对齐问题,但是该模型只考虑到了单词的绝对位置,并未考虑到相邻单词间的关系。图
\ref
{
fig:6-
4
}
展示了一个简单的实例,可以看到的是,汉语的每个单词都被分配给了英语句子中的每一个单词,但是单词并不是任意分布在各个位置上的,而是倾向于生成簇。也就是说,如果源语言的两个单词位置越近,它们的译文在目标语言句子中的位置也越近。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter6/Figures/figure-zh-en-sentence-alignment
}
\caption
{
汉译英句对及对齐
}
\label
{
fig:6-
5
}
\label
{
fig:6-
4
}
\end{figure}
%----------------------------------------------
\parinterval
针对此问题,基于HMM的词对齐模型抛弃了IBM模型1-2的绝对位置假设,将一阶隐马尔可夫模型用于词对齐问题
\cite
{
vogel1996hmm
}
。HMM词对齐模型认为,单词与单词之间并不是毫无联系的,对齐概率应该取决于对齐位置的差异而不是本身单词所在的位置。具体来说,位置
$
j
$
的对齐概率
$
a
_
j
$
与前一个位置
$
j
-
1
$
的对齐位置
$
a
_{
j
-
1
}$
和译文长度
$
l
$
有关,形式化的表述为:
\begin{eqnarray}
\textrm
{
P
}
(a
_{
j
}
|a
_{
1
}^{
j-1
}
,s
_{
1
}^{
j-1
}
,m,
\mathbf
{
t
}
)
\equiv\textrm
{
P
}
(a
_{
j
}
|a
_{
j-1
}
,l)
\label
{
eq:6-
4
}
\label
{
eq:6-
6
}
\end{eqnarray}
\parinterval
这里用图
\ref
{
fig:6-
5
}
的例子对公式进行说明。在IBM模型1-2中,单词的对齐都是与单词所在的绝对位置有关。但在HMM词对齐模型中,``你''对齐到``you''被形式化为
$
\textrm
{
P
}
(
a
_{
j
}
|a
_{
j
-
1
}
,l
)=
P
(
5
|
4
,
5
)
$
,意思是对于源语言位置
$
3
(
j
=
3
)
$
上的单词,如果它的译文是第5个目标语言单词,上一个对齐位置是
$
4
(
a
_{
2
}
=
4
)
$
,对齐到目标语言位置
$
5
(
a
_{
j
}
=
5
)
$
的概率是多少?理想的情况下,通过
$
\textrm
{
P
}
(
a
_{
j
}
|a
_{
j
-
1
}
,l
)
$
,``你''对齐到``you''应该得到更高的概率,并且由于源语言单词``对''和``你''距离很近,因此其对应的对齐位置``with''和``you''的距离也应该很近。
\parinterval
这里用图
\ref
{
fig:6-
4
}
的例子对公式进行说明。在IBM模型1-2中,单词的对齐都是与单词所在的绝对位置有关。但在HMM词对齐模型中,``你''对齐到``you''被形式化为
$
\textrm
{
P
}
(
a
_{
j
}
|a
_{
j
-
1
}
,l
)=
P
(
5
|
4
,
5
)
$
,意思是对于源语言位置
$
3
(
j
=
3
)
$
上的单词,如果它的译文是第5个目标语言单词,上一个对齐位置是
$
4
(
a
_{
2
}
=
4
)
$
,对齐到目标语言位置
$
5
(
a
_{
j
}
=
5
)
$
的概率是多少?理想的情况下,通过
$
\textrm
{
P
}
(
a
_{
j
}
|a
_{
j
-
1
}
,l
)
$
,``你''对齐到``you''应该得到更高的概率,并且由于源语言单词``对''和``你''距离很近,因此其对应的对齐位置``with''和``you''的距离也应该很近。
\parinterval
把公式
$
\textrm
{
P
}
(
s
_
j|a
_
1
^{
j
}
,s
_
1
^{
j
-
1
}
,m,
\mathbf
{
t
}
)
\equiv
f
(
s
_
j|t
_{
a
_
j
}
)
$
和
\ref
{
eq:6-
4
}
重新带入公式
$
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)=
\textrm
{
P
}
(
m|
\mathbf
{
t
}
)
$
\\
$
\prod
_{
j
=
1
}^{
m
}{
\textrm
{
P
}
(
a
_
j|a
_
1
^{
j
-
1
}
,s
_
1
^{
j
-
1
}
,m,
\mathbf
{
t
}
)
\textrm
{
P
}
(
s
_
j|a
_
1
^{
j
}
,s
_
1
^{
j
-
1
}
,m,
\mathbf
{
t
}
)
}$
和
$
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)=
\sum
_{
\mathbf
{
a
}}
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
$
,可得HMM词对齐模型的数学描述:
\parinterval
把公式
$
\textrm
{
P
}
(
s
_
j|a
_
1
^{
j
}
,s
_
1
^{
j
-
1
}
,m,
\mathbf
{
t
}
)
\equiv
f
(
s
_
j|t
_{
a
_
j
}
)
$
和
\ref
{
eq:6-
6
}
重新带入公式
$
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)=
\textrm
{
P
}
(
m|
\mathbf
{
t
}
)
$
\\
$
\prod
_{
j
=
1
}^{
m
}{
\textrm
{
P
}
(
a
_
j|a
_
1
^{
j
-
1
}
,s
_
1
^{
j
-
1
}
,m,
\mathbf
{
t
}
)
\textrm
{
P
}
(
s
_
j|a
_
1
^{
j
}
,s
_
1
^{
j
-
1
}
,m,
\mathbf
{
t
}
)
}$
和
$
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)=
\sum
_{
\mathbf
{
a
}}
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
$
,可得HMM词对齐模型的数学描述:
\begin{eqnarray}
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)=
\sum
_{
\mathbf
{
a
}}{
\textrm
{
P
}
(m|
\mathbf
{
t
}
)
}
\prod
_{
j=1
}^{
m
}{
\textrm
{
P
}
(a
_{
j
}
|a
_{
j-1
}
,l)f(s
_{
j
}
|t
_{
a
_
j
}
)
}
\label
{
eq:6-
5
}
\label
{
eq:6-
7
}
\end{eqnarray}
\parinterval
此外,为了使得HMM的对齐概率
$
\textrm
{
P
}
(
a
_{
j
}
|a
_{
j
-
1
}
,l
)
$
满足归一化的条件,这里还假设其对齐概率只取决于
$
a
_{
j
}
-
a
_{
j
-
1
}$
,即:
\begin{eqnarray}
\textrm
{
P
}
(a
_{
j
}
|a
_{
j-1
}
,l)=
\frac
{
\mu
(a
_{
j
}
-a
_{
j-1
}
)
}{
\sum
_{
i=1
}^{
l
}{
\mu
(i-a
_{
j-1
}
)
}}
\label
{
eq:6-
6
}
\label
{
eq:6-
8
}
\end{eqnarray}
\noindent
其中,
$
\mu
(
\cdot
)
$
是隐马尔可夫模型的参数,可以通过训练得到。
\parinterval
需要注意的是,公式
\ref
{
eq:6-
5
}
之所以被看作是一种隐马尔可夫模型,是由于其形式与标准的一阶隐马尔可夫模型无异。
$
\textrm
{
P
}
(
a
_{
j
}
|a
_{
j
-
1
}
,l
)
$
可以被看作是一种状态转移概率,
$
f
(
s
_{
j
}
|t
_{
a
_
j
}
)
$
可以被看作是一种发射概率。关于隐马尔可夫模型具体的数学描述也可参考
{
\chapterthree
}
中的相关内容。
\parinterval
需要注意的是,公式
\ref
{
eq:6-
7
}
之所以被看作是一种隐马尔可夫模型,是由于其形式与标准的一阶隐马尔可夫模型无异。
$
\textrm
{
P
}
(
a
_{
j
}
|a
_{
j
-
1
}
,l
)
$
可以被看作是一种状态转移概率,
$
f
(
s
_{
j
}
|t
_{
a
_
j
}
)
$
可以被看作是一种发射概率。关于隐马尔可夫模型具体的数学描述也可参考
{
\chapterthree
}
中的相关内容。
...
...
@@ -174,7 +175,7 @@
\parinterval
这里将会给出另一个翻译模型,能在一定程度上解决上面提到的问题
\cite
{
Peter1993The,och2003systematic
}
。该模型把目标语言生成源语言的过程分解为如下几个步骤:首先,确定每个目标语言单词生成源语言单词的个数,这里把它称为
{
\small\sffamily\bfseries
{
繁衍率
}}
\index
{
繁衍率
}
或
{
\small\sffamily\bfseries
{
产出率
}}
\index
{
产出率
}
(Fertility)
\index
{
Fertility
}
;其次,决定目标语言句子中每个单词生成的源语言单词都是什么,即决定生成的第一个源语言单词是什么,生成的第二个源语言单词是什么,以此类推。这样每个目标语言单词就对应了一个源语言单词列表;最后把各组源语言单词列表中的每个单词都放置到合适的位置上,完成目标语言译文到源语言句子的生成。
\parinterval
对于句对
$
(
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
,令
$
\varphi
$
表示产出率,同时令
${
\tau
}$
表示每个目标语言单词对应的源语言单词列表。图
{
\ref
{
fig:6-
6
}}
描述了一个英语句子生成汉语句子的过程。
\parinterval
对于句对
$
(
\mathbf
{
s
}
,
\mathbf
{
t
}
)
$
,令
$
\varphi
$
表示产出率,同时令
${
\tau
}$
表示每个目标语言单词对应的源语言单词列表。图
{
\ref
{
fig:6-
5
}}
描述了一个英语句子生成汉语句子的过程。
\begin{itemize}
\vspace
{
0.3em
}
...
...
@@ -191,7 +192,7 @@
\centering
\input
{
./Chapter6/Figures/figure-probability-translation-process
}
\caption
{
基于产出率的翻译模型执行过程
}
\label
{
fig:6-
6
}
\label
{
fig:6-
5
}
\end{figure}
%----------------------------------------------
...
...
@@ -199,10 +200,10 @@
\parinterval
可以看出,一组
$
\tau
$
和
$
\pi
$
(记为
$
<
\tau
,
\pi
>
$
)可以决定一个对齐
$
\mathbf
{
a
}$
和一个源语句子
$
\mathbf
{
s
}$
。
\noindent
相反的,一个对齐
$
\mathbf
{
a
}$
和一个源语句子
$
\mathbf
{
s
}$
可以对应多组
$
<
\tau
,
\pi
>
$
。如图
\ref
{
fig:6-
7
}
所示,不同的
$
<
\tau
,
\pi
>
$
对应同一个源语言句子和词对齐。它们的区别在于目标语单词``Scientists''生成的源语言单词``科学家''和`` 们''的顺序不同。这里把不同的
$
<
\tau
,
\pi
>
$
对应到的相同的源语句子
$
\mathbf
{
s
}$
和对齐
$
\mathbf
{
a
}$
记为
$
<
\mathbf
{
s
}
,
\mathbf
{
a
}
>
$
。因此计算
$
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
$
时需要把每个可能结果的概率加起来,如下:
\noindent
相反的,一个对齐
$
\mathbf
{
a
}$
和一个源语句子
$
\mathbf
{
s
}$
可以对应多组
$
<
\tau
,
\pi
>
$
。如图
\ref
{
fig:6-
6
}
所示,不同的
$
<
\tau
,
\pi
>
$
对应同一个源语言句子和词对齐。它们的区别在于目标语单词``Scientists''生成的源语言单词``科学家''和`` 们''的顺序不同。这里把不同的
$
<
\tau
,
\pi
>
$
对应到的相同的源语句子
$
\mathbf
{
s
}$
和对齐
$
\mathbf
{
a
}$
记为
$
<
\mathbf
{
s
}
,
\mathbf
{
a
}
>
$
。因此计算
$
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)
$
时需要把每个可能结果的概率加起来,如下:
\begin{equation}
\textrm
{
P
}
(
\mathbf
{
s
}
,
\mathbf
{
a
}
|
\mathbf
{
t
}
)=
\sum
_{{
<
\tau
,
\pi
>
}
\in
{
<
\mathbf
{
s
}
,
\mathbf
{
a
}
>
}}{
\textrm
{
P
}
(
\tau
,
\pi
|
\mathbf
{
t
}
)
}
\label
{
eq:6-
7
}
\label
{
eq:6-
9
}
\end{equation}
%----------------------------------------------
...
...
@@ -210,15 +211,15 @@
\centering
\input
{
./Chapter6/Figures/figure-example-of-t-s-generate
}
\caption
{
不同
$
\tau
$
和
$
\pi
$
对应相同的源语言句子和词对齐的情况
}
\label
{
fig:6-
7
}
\label
{
fig:6-
6
}
\end{figure}
%----------------------------------------------
\parinterval
不过
$
<
\mathbf
{
s
}
,
\mathbf
{
a
}
>
$
中有多少组
$
<
\tau
,
\pi
>
$
呢?通过图
\ref
{
fig:6-
6
}
中的例子,可以推出
$
<
\mathbf
{
s
}
,
\mathbf
{
a
}
>
$
应该包含
$
\prod
_{
i
=
0
}^{
l
}{
\varphi
_
i
!
}$
个不同的二元组
$
<
\tau
,
\pi
>
$
。 这是因为在给定源语言句子和词对齐时,对于每一个
$
\tau
_
i
$
都有
$
\varphi
_{
i
}
!
$
种排列。
\parinterval
不过
$
<
\mathbf
{
s
}
,
\mathbf
{
a
}
>
$
中有多少组
$
<
\tau
,
\pi
>
$
呢?通过图
\ref
{
fig:6-
5
}
中的例子,可以推出
$
<
\mathbf
{
s
}
,
\mathbf
{
a
}
>
$
应该包含
$
\prod
_{
i
=
0
}^{
l
}{
\varphi
_
i
!
}$
个不同的二元组
$
<
\tau
,
\pi
>
$
。 这是因为在给定源语言句子和词对齐时,对于每一个
$
\tau
_
i
$
都有
$
\varphi
_{
i
}
!
$
种排列。
\parinterval
进一步,
$
\textrm
{
P
}
(
\tau
,
\pi
|
\mathbf
{
t
}
)
$
可以被表示如图
\ref
{
fig:6-
8
}
的形式。其中
$
\tau
_{
i
1
}^{
k
-
1
}$
表示
$
\tau
_{
i
1
}
\tau
_{
i
2
}
\cdots
\tau
_{
i
(
k
-
1
)
}$
,
$
\pi
_{
i
1
}^{
k
-
1
}$
表示
$
\pi
_{
i
1
}
\pi
_{
i
2
}
\cdots
\pi
_{
i
(
k
-
1
)
}$
。可以把图
\ref
{
fig:6-8
}
中的公式分为5个部分,并用不同的序号和颜色进行标注。每部分的具体含义是:
\parinterval
进一步,
$
\textrm
{
P
}
(
\tau
,
\pi
|
\mathbf
{
t
}
)
$
可以被表示如图
\ref
{
fig:6-
7
}
的形式。其中
$
\tau
_{
i
1
}^{
k
-
1
}$
表示
$
\tau
_{
i
1
}
\tau
_{
i
2
}
\cdots
\tau
_{
i
(
k
-
1
)
}$
,
$
\pi
_{
i
1
}^{
k
-
1
}$
表示
$
\pi
_{
i
1
}
\pi
_{
i
2
}
\cdots
\pi
_{
i
(
k
-
1
)
}$
。可以把图
\ref
{
fig:6-7
}
中的公式分为5个部分,并用不同的序号和颜色进行标注。每部分的具体含义是:
%----------------------------------------------
\begin{figure}
[htp]
...
...
@@ -226,7 +227,7 @@
\input
{
./Chapter6/Figures/figure-expression
}
\caption
{{$
\textrm
{
P
}
(
\tau
,
\pi
|t
)
$}
的详细表达式
}
\setlength
{
\belowcaptionskip
}{
-0.5em
}
\label
{
fig:6-
8
}
\label
{
fig:6-
7
}
\end{figure}
%----------------------------------------------
...
...
@@ -249,33 +250,35 @@
\subsection
{
IBM 模型3
}
\parinterval
IBM模型3通过一些假设对图
\ref
{
fig:6-
8
}
所表示的基本模型进行了化简。具体来说,对于每个
$
i
\in
[
1
,l
]
$
,假设
$
\textrm
{
P
}
(
\varphi
_
i |
\varphi
_
1
^{
i
-
1
}
,
\mathbf
{
t
}
)
$
仅依赖于
$
\varphi
_
i
$
和
$
t
_
i
$
,
$
\textrm
{
P
}
(
\pi
_{
ik
}
|
\pi
_{
i
1
}^{
k
-
1
}
,
\pi
_
1
^{
i
-
1
}
,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)
$
仅依赖于
$
\pi
_{
ik
}$
、
$
i
$
、
$
m
$
和
$
l
$
。而对于所有的
$
i
\in
[
0
,l
]
$
,假设
$
\textrm
{
P
}
(
\tau
_{
ik
}
|
\tau
_{
i
1
}^{
k
-
1
}
,
\tau
_
1
^{
i
-
1
}
,
\varphi
_
0
^
l,
\mathbf
{
t
}
)
$
仅依赖于
$
\tau
_{
ik
}$
和
$
t
_
i
$
。这些假设的形式化描述为:
\parinterval
IBM模型3通过一些假设对图
\ref
{
fig:6-
7
}
所表示的基本模型进行了化简。具体来说,对于每个
$
i
\in
[
1
,l
]
$
,假设
$
\textrm
{
P
}
(
\varphi
_
i |
\varphi
_
1
^{
i
-
1
}
,
\mathbf
{
t
}
)
$
仅依赖于
$
\varphi
_
i
$
和
$
t
_
i
$
,
$
\textrm
{
P
}
(
\pi
_{
ik
}
|
\pi
_{
i
1
}^{
k
-
1
}
,
\pi
_
1
^{
i
-
1
}
,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)
$
仅依赖于
$
\pi
_{
ik
}$
、
$
i
$
、
$
m
$
和
$
l
$
。而对于所有的
$
i
\in
[
0
,l
]
$
,假设
$
\textrm
{
P
}
(
\tau
_{
ik
}
|
\tau
_{
i
1
}^{
k
-
1
}
,
\tau
_
1
^{
i
-
1
}
,
\varphi
_
0
^
l,
\mathbf
{
t
}
)
$
仅依赖于
$
\tau
_{
ik
}$
和
$
t
_
i
$
。这些假设的形式化描述为:
\begin{eqnarray}
\textrm
{
P
}
(
\varphi
_
i|
\varphi
_
1
^{
i-1
}
,
\mathbf
{
t
}
)
&
=
&{
\textrm
{
P
}
(
\varphi
_
i|t
_
i)
}
\label
{
eq:6-
8
}
\\
\textrm
{
P
}
(
\tau
_{
ik
}
= s
_
j |
\tau
_{
i1
}^{
k-1
}
,
\tau
_{
1
}^{
i-1
}
,
\varphi
_
0
^
t,
\mathbf
{
t
}
)
&
=
&
t(s
_
j|t
_
i)
\label
{
eq:6-
9
}
\\
\textrm
{
P
}
(
\pi
_{
ik
}
= j |
\pi
_{
i1
}^{
k-1
}
,
\pi
_{
1
}^{
i-1
}
,
\tau
_{
0
}^{
l
}
,
\varphi
_{
0
}^{
l
}
,
\mathbf
{
t
}
)
&
=
&
d(j|i,m,l)
\label
{
eq:6-1
0
}
\textrm
{
P
}
(
\varphi
_
i|
\varphi
_
1
^{
i-1
}
,
\mathbf
{
t
}
)
&
=
&{
\textrm
{
P
}
(
\varphi
_
i|t
_
i)
}
\label
{
eq:6-
10
}
\\
\textrm
{
P
}
(
\tau
_{
ik
}
= s
_
j |
\tau
_{
i1
}^{
k-1
}
,
\tau
_{
1
}^{
i-1
}
,
\varphi
_
0
^
t,
\mathbf
{
t
}
)
&
=
&
t(s
_
j|t
_
i)
\label
{
eq:6-
11
}
\\
\textrm
{
P
}
(
\pi
_{
ik
}
= j |
\pi
_{
i1
}^{
k-1
}
,
\pi
_{
1
}^{
i-1
}
,
\tau
_{
0
}^{
l
}
,
\varphi
_{
0
}^{
l
}
,
\mathbf
{
t
}
)
&
=
&
d(j|i,m,l)
\label
{
eq:6-1
2
}
\end{eqnarray}
\parinterval
通常把
$
d
(
j|i,m,l
)
$
称为扭曲度函数。这里
$
\textrm
{
P
}
(
\varphi
_
i|
\varphi
_
1
^{
i
-
1
}
,
\mathbf
{
t
}
)=
{
\textrm
{
P
}
(
\varphi
_
i|t
_
i
)
}$
和
${
\textrm
{
P
}
(
\pi
_{
ik
}
=
j|
\pi
_{
i
1
}^{
k
-
1
}
,
}$
$
\pi
_{
1
}^{
i
-
1
}
,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)=
d
(
j|i,m,l
)
$
仅对
$
1
\le
i
\le
l
$
成立。这样就完成了图
\ref
{
fig:6-
8
}
中第1、 3和4部分的建模。
\parinterval
通常把
$
d
(
j|i,m,l
)
$
称为扭曲度函数。这里
$
\textrm
{
P
}
(
\varphi
_
i|
\varphi
_
1
^{
i
-
1
}
,
\mathbf
{
t
}
)=
{
\textrm
{
P
}
(
\varphi
_
i|t
_
i
)
}$
和
${
\textrm
{
P
}
(
\pi
_{
ik
}
=
j|
\pi
_{
i
1
}^{
k
-
1
}
,
}$
$
\pi
_{
1
}^{
i
-
1
}
,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)=
d
(
j|i,m,l
)
$
仅对
$
1
\le
i
\le
l
$
成立。这样就完成了图
\ref
{
fig:6-
7
}
中第1、 3和4部分的建模。
\parinterval
对于
$
i
=
0
$
的情况需要单独进行考虑。实际上,
$
t
_
0
$
只是一个虚拟的单词。它要对应
$
\mathbf
{
s
}$
中原本为空对齐的单词。这里假设:要等其他非空对应单词都被生成(放置)后,才考虑这些空对齐单词的生成(放置)。即非空对单词都被生成后,在那些还有空的位置上放置这些空对的源语言单词。此外,在任何的空位置上放置空对的源语言单词都是等概率的,即放置空对齐源语言单词服从均匀分布。这样在已经放置了
$
k
$
个空对齐源语言单词的时候,应该还有
$
\varphi
_
0
-
k
$
个空位置。如果第
$
j
$
个源语言位置为空,那么
\begin{equation}
\textrm
{
P
}
(
\pi
_{
0k
}
=j|
\pi
_{
01
}^{
k-1
}
,
\pi
_
1
^
l,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)=
\frac
{
1
}{
\varphi
_
0-k
}
\label
{
eq:6-13
}
\end{equation}
否则
\begin{equation}
\textrm
{
P
}
(
\pi
_{
0k
}
=j|
\pi
_{
01
}^{
k-1
}
,
\pi
_
1
^
l,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)=0
\label
{
eq:6-14
}
\end{equation}
这样对于
$
t
_
0
$
所对应的
$
\tau
_
0
$
,就有
{
\begin{eqnarray}
\prod
_{
k=1
}^{
\varphi
_
0
}{
\textrm
{
P
}
(
\pi
_{
0k
}
|
\pi
_{
01
}^{
k-1
}
,
\pi
_{
1
}^{
l
}
,
\tau
_{
0
}^{
l
}
,
\varphi
_{
0
}^{
l
}
,
\mathbf
{
t
}
)
}
=
\frac
{
1
}{
\varphi
_{
0
}
!
}
\label
{
eq:6-1
1
}
\label
{
eq:6-1
5
}
\end{eqnarray}
}
\parinterval
而上面提到的
$
t
_
0
$
所对应的这些空位置是如何生成的呢?即如何确定哪些位置是要放置空对齐的源语言单词。在IBM模型3中,假设在所有的非空对齐源语言单词都被生成出来后(共
$
\varphi
_
1
+
\varphi
_
2
+
\cdots
{
\varphi
}_
l
$
个非空对源语单词),这些单词后面都以
$
p
_
1
$
概率随机地产生一个``槽''用来放置空对齐单词。这样,
${
\varphi
}_
0
$
就服从了一个二项分布。于是得到
...
...
@@ -285,10 +288,10 @@
\varphi
_
1+
\varphi
_
2+
\cdots
\varphi
_
l
\\
\varphi
_
0
\\
\end{array}
\big
)p
_
0
^{
\varphi
_
1+
\varphi
_
2+
\cdots
\varphi
_
l-
\varphi
_
0
}
p
_
1
^{
\varphi
_
0
}
\label
{
eq:6-1
2
}
\label
{
eq:6-1
6
}
\end{eqnarray}
}
\noindent
其中,
$
p
_
0
+
p
_
1
=
1
$
。到此为止,已经完成了图
\ref
{
fig:6-
8
}
中第2和5部分的建模。最终根据这些假设可以得到
$
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)
$
的形式为:
\noindent
其中,
$
p
_
0
+
p
_
1
=
1
$
。到此为止,已经完成了图
\ref
{
fig:6-
7
}
中第2和5部分的建模。最终根据这些假设可以得到
$
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)
$
的形式为:
{
\begin{eqnarray}
{
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)
}&
=
&{
\sum
_{
a
_
1=0
}^{
l
}{
\cdots
}
\sum
_{
a
_
m=0
}^{
l
}{
\Big
[
\big
(
\begin{array}
{
c
}
...
...
@@ -296,16 +299,16 @@ m-\varphi_0\\
\varphi
_
0
\\
\end{array}
\big
)
}
p
_
0
^{
m-2
\varphi
_
0
}
p
_
1
^{
\varphi
_
0
}
\prod
_{
i=1
}^{
l
}{{
\varphi
_
i
}
!n(
\varphi
_
i|t
_
i)
}}
\nonumber
\\
&
&
\times
{
\prod
_{
j=1
}^{
m
}{
t(s
_
j|t
_{
a
_
j
}
)
}
\times
\prod
_{
j=1,a
_
j
\neq
0
}^{
m
}{
d(j|a
_
j,m,l)
}}
\Big
]
\label
{
eq:6-1
3
}
\label
{
eq:6-1
7
}
\end{eqnarray}
}
\noindent
其中,
$
n
(
\varphi
_
i |t
_
i
)=
{
\textrm
{
P
}
(
\varphi
_
i|t
_
i
)
}$
表示产出率的分布。这里的约束条件为,
{
\begin{eqnarray}
\sum
_{
s
_
x
}
t(s
_
x|t
_
y)
&
=
&
1
\label
{
eq:6-1
4
}
\\
\sum
_{
j
}
d(j|i,m,l)
&
=
&
1
\label
{
eq:6-1
5
}
\\
\sum
_{
\varphi
}
n(
\varphi
|t
_
y)
&
=
&
1
\label
{
eq:6-
16
}
\\
p
_
0+p
_
1
&
=
&
1
\label
{
eq:6-
17
}
\sum
_{
s
_
x
}
t(s
_
x|t
_
y)
&
=
&
1
\label
{
eq:6-1
8
}
\\
\sum
_{
j
}
d(j|i,m,l)
&
=
&
1
\label
{
eq:6-1
9
}
\\
\sum
_{
\varphi
}
n(
\varphi
|t
_
y)
&
=
&
1
\label
{
eq:6-
20
}
\\
p
_
0+p
_
1
&
=
&
1
\label
{
eq:6-
21
}
\end{eqnarray}
}
...
...
@@ -317,14 +320,14 @@ p_0+p_1 & = & 1 \label{eq:6-17}
\parinterval
IBM模型3仍然存在问题,比如,它不能很好地处理一个目标语言单词生成多个源语言单词的情况。这个问题在模型1和模型2中也存在。如果一个目标语言单词对应多个源语言单词,往往这些源语言单词构成短语或搭配。但是模型1-3把这些源语言单词看成独立的单元,而实际上它们是一个整体。这就造成了在模型1-3中这些源语言单词可能会``分散''开。为了解决这个问题,模型4对模型3进行了进一步修正。
\parinterval
为了更清楚的阐述,这里引入新的术语
\ \dash
\
{
\small\bfnew
{
概念单元
}}
\index
{
概念单元
}
或
{
\small\bfnew
{
概念
}}
\index
{
概念
}
(Concept)
\index
{
Concept
}
。词对齐可以被看作概念之间的对应。这里的概念是指具有独立语法或语义功能的一组单词。依照Brown等人的表示方法
\cite
{
Peter1993The
}
,可以把概念记为cept.。每个句子都可以被表示成一系列的cept.。这里要注意的是,源语言句子中的cept.数量不一定等于目标句子中的cept.数量。因为有些cept. 可以为空,因此可以把那些空对的单词看作空cept.。比如,在图
\ref
{
fig:6-
9
}
的实例中,``了''就对应一个空cept.。
\parinterval
为了更清楚的阐述,这里引入新的术语
\ \dash
\
{
\small\bfnew
{
概念单元
}}
\index
{
概念单元
}
或
{
\small\bfnew
{
概念
}}
\index
{
概念
}
(Concept)
\index
{
Concept
}
。词对齐可以被看作概念之间的对应。这里的概念是指具有独立语法或语义功能的一组单词。依照Brown等人的表示方法
\cite
{
Peter1993The
}
,可以把概念记为cept.。每个句子都可以被表示成一系列的cept.。这里要注意的是,源语言句子中的cept.数量不一定等于目标句子中的cept.数量。因为有些cept. 可以为空,因此可以把那些空对的单词看作空cept.。比如,在图
\ref
{
fig:6-
8
}
的实例中,``了''就对应一个空cept.。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter6/Figures/figure-word-alignment
}
\caption
{
词对齐的汉译英句对及独立单词cept.的位置(记为
$
[
i
]
$
)
}
\label
{
fig:6-
9
}
\label
{
fig:6-
8
}
\end{figure}
%----------------------------------------------
...
...
@@ -335,14 +338,14 @@ p_0+p_1 & = & 1 \label{eq:6-17}
\parinterval
利用这些新引进的概念,模型4对模型3的扭曲度进行了修改。主要是把扭曲度分解为两类参数。对于
$
[
i
]
$
对应的源语言单词列表(
$
\tau
_{
[
i
]
}$
)中的第一个单词(
$
\tau
_{
[
i
]
1
}$
),它的扭曲度用如下公式计算:
\begin{equation}
\textrm
{
P
}
(
\pi
_{
[i]1
}
=j|
{
\pi
}_
1
^{
[i]-1
}
,
{
\tau
}_
0
^
l,
{
\varphi
}_
0
^
l,
\mathbf
{
t
}
)=d
_{
1
}
(j-
{
\odot
}_{
i-1
}
|A(t
_{
[i-1]
}
),B(s
_
j))
\label
{
eq:6-
18
}
\label
{
eq:6-
22
}
\end{equation}
\noindent
其中,第
$
i
$
个目标语言单词生成的第
$
k
$
个源语言单词的位置用变量
$
\pi
_{
ik
}$
表示。而对于列表(
$
\tau
_{
[
i
]
}$
)中的其他的单词(
$
\tau
_{
[
i
]
k
}
,
1
< k
\le
\varphi
_{
[
i
]
}$
)的扭曲度,用如下公式计算:
\begin{equation}
\textrm
{
P
}
(
\pi
_{
[i]k
}
=j|
{
\pi
}_{
[i]1
}^{
k-1
}
,
\pi
_
1
^{
[i]-1
}
,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)=d
_{
>1
}
(j-
\pi
_{
[i]k-1
}
|B(s
_
j))
\label
{
eq:6-
19
}
\label
{
eq:6-
23
}
\end{equation}
\parinterval
这里的函数
$
A
(
\cdot
)
$
和函数
$
B
(
\cdot
)
$
分别把目标语言和源语言的单词影射到单词的词类。这么做的目的是要减小参数空间的大小。词类信息通常可以通过外部工具得到,比如Brown聚类等。另一种简单的方法是把单词直接映射为它的词性。这样可以直接用现在已经非常成熟的词性标注工具解决问题。
...
...
@@ -357,14 +360,14 @@ p_0+p_1 & = & 1 \label{eq:6-17}
\subsection
{
IBM 模型5
}
\parinterval
模型3和模型4并不是``准确''的模型。这两个模型会把一部分概率分配给一些根本就不存在的句子。这个问题被称作IBM模型3和模型4的
{
\small\bfnew
{
缺陷
}}
\index
{
缺陷
}
(Deficiency)
\index
{
Deficiency
}
。说的具体一些,模型3和模型4 中并没有这样的约束:如果已经放置了某个源语言单词的位置不能再放置其他单词,也就是说句子的任何位置只能放置一个词,不能多也不能少。由于缺乏这个约束,模型3和模型4中在所有合法的词对齐上概率和不等于1。 这部分缺失的概率被分配到其他不合法的词对齐上。举例来说,如图
\ref
{
fig:6-
10
}
所示,``吃/早饭''和``have breakfast''之间的合法词对齐用直线表示 。但是在模型3和模型4中, 它们的概率和为
$
0
.
9
<
1
$
。 损失掉的概率被分配到像5和6这样的对齐上了(红色)。虽然IBM模型并不支持一对多的对齐,但是模型3和模型4把概率分配给这些`` 不合法''的词对齐上,因此也就产生所谓的缺陷。
\parinterval
模型3和模型4并不是``准确''的模型。这两个模型会把一部分概率分配给一些根本就不存在的句子。这个问题被称作IBM模型3和模型4的
{
\small\bfnew
{
缺陷
}}
\index
{
缺陷
}
(Deficiency)
\index
{
Deficiency
}
。说的具体一些,模型3和模型4 中并没有这样的约束:如果已经放置了某个源语言单词的位置不能再放置其他单词,也就是说句子的任何位置只能放置一个词,不能多也不能少。由于缺乏这个约束,模型3和模型4中在所有合法的词对齐上概率和不等于1。 这部分缺失的概率被分配到其他不合法的词对齐上。举例来说,如图
\ref
{
fig:6-
9
}
所示,``吃/早饭''和``have breakfast''之间的合法词对齐用直线表示 。但是在模型3和模型4中, 它们的概率和为
$
0
.
9
<
1
$
。 损失掉的概率被分配到像5和6这样的对齐上了(红色)。虽然IBM模型并不支持一对多的对齐,但是模型3和模型4把概率分配给这些`` 不合法''的词对齐上,因此也就产生所谓的缺陷。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter6/Figures/figure-word-alignment
&
probability-distribution-in-ibm-model-3
}
\caption
{
IBM模型3的词对齐及概率分配
}
\label
{
fig:6-
10
}
\label
{
fig:6-
9
}
\end{figure}
%----------------------------------------------
...
...
@@ -372,17 +375,17 @@ p_0+p_1 & = & 1 \label{eq:6-17}
\begin{eqnarray}
\textrm
{
P
}
(
\pi
_{
[i]1
}
= j |
\pi
_
1
^{
[i]-1
}
,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)
&
=
&
d
_
1(v
_
j|B(s
_
j), v
_{
\odot
_{
i-1
}}
, v
_
m-(
\varphi
_{
[i]
}
-1))
\cdot
\nonumber
\\
&
&
(1-
\delta
(v
_
j,v
_{
j-1
}
))
\label
{
eq:6-2
0
}
\label
{
eq:6-2
4
}
\end{eqnarray}
\parinterval
对于其他单词(
$
\tau
_{
[
i
]
k
}$
,
$
1
< k
\le\varphi
_{
[
i
]
}$
),有:
\begin{eqnarray}
&
&
\textrm
{
P
}
(
\pi
_{
[i]k
}
=j|
\pi
_{
[i]1
}^{
k-1
}
,
\pi
_
1
^{
[i]-1
}
,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)
\nonumber
\\
&
=
&
d
_{
>1
}
(v
_
j-v
_{
\pi
_{
[i]k-1
}}
|B(s
_
j), v
_
m-v
_{
\pi
_{
[i]k-1
}}
-
\varphi
_{
[i]
}
+k)
\cdot
(1-
\delta
(v
_
j,v
_{
j-1
}
))
\label
{
eq:6-2
0
}
\label
{
eq:6-2
5
}
\end{eqnarray}
\noindent
这里,因子
$
1
-
\delta
(
v
_
j, v
_{
j
-
1
}
)
$
是用来判断第
$
j
$
个位置是不是为空。如果第
$
j
$
个位置为空则
$
v
_
j
=
v
_{
j
-
1
}$
,这样
$
\textrm
{
P
}
(
\pi
_{
[
i
]
1
}
=
j|
\pi
_
1
^{
[
i
]-
1
}
,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)
=
0
$
。这样就从模型上避免了模型3和模型4中生成不存在的字符串的问题。这里还要注意的是,对于放置第一个单词的情况,影响放置的因素有
$
v
_
j
$
,
$
B
(
s
_
i
)
$
和
$
v
_{
j
-
1
}$
。此外还要考虑位置
$
j
$
放置了第一个源语言单词以后它的右边是不是还有足够的位置留给剩下的
$
k
-
1
$
个源语言单词。参数
$
v
_
m
-(
\varphi
_{
[
i
]
}
-
1
)
$
正是为了考虑这个因素,这里
$
v
_
m
$
表示整个源语言句子中还有多少空位置,
$
\varphi
_{
[
i
]
}
-
1
$
表示源语言位置
$
j
$
右边至少还要留出的空格数。对于放置非第一个单词的情况,主要是要考虑它和前一个放置位置的相对位置。这主要体现在参数
$
v
_
j
-
v
_{
\varphi
_{
[
i
]
}
k
-
1
}$
上。式
\ref
{
eq:6-2
0
}
的其他部分都可以用上面的理论解释,这里不再赘述。
\noindent
这里,因子
$
1
-
\delta
(
v
_
j, v
_{
j
-
1
}
)
$
是用来判断第
$
j
$
个位置是不是为空。如果第
$
j
$
个位置为空则
$
v
_
j
=
v
_{
j
-
1
}$
,这样
$
\textrm
{
P
}
(
\pi
_{
[
i
]
1
}
=
j|
\pi
_
1
^{
[
i
]-
1
}
,
\tau
_
0
^
l,
\varphi
_
0
^
l,
\mathbf
{
t
}
)
=
0
$
。这样就从模型上避免了模型3和模型4中生成不存在的字符串的问题。这里还要注意的是,对于放置第一个单词的情况,影响放置的因素有
$
v
_
j
$
,
$
B
(
s
_
i
)
$
和
$
v
_{
j
-
1
}$
。此外还要考虑位置
$
j
$
放置了第一个源语言单词以后它的右边是不是还有足够的位置留给剩下的
$
k
-
1
$
个源语言单词。参数
$
v
_
m
-(
\varphi
_{
[
i
]
}
-
1
)
$
正是为了考虑这个因素,这里
$
v
_
m
$
表示整个源语言句子中还有多少空位置,
$
\varphi
_{
[
i
]
}
-
1
$
表示源语言位置
$
j
$
右边至少还要留出的空格数。对于放置非第一个单词的情况,主要是要考虑它和前一个放置位置的相对位置。这主要体现在参数
$
v
_
j
-
v
_{
\varphi
_{
[
i
]
}
k
-
1
}$
上。式
\ref
{
eq:6-2
5
}
的其他部分都可以用上面的理论解释,这里不再赘述。
\parinterval
实际上,模型5和模型4的思想基本一致,即,先确定
$
\tau
_{
[
i
]
1
}$
的绝对位置,然后再确定
$
\tau
_{
[
i
]
}$
中剩余单词的相对位置。模型5消除了产生不存在的句子的可能性,不过模型5的复杂性也大大增加了。
%----------------------------------------------------------------------------------------
...
...
@@ -426,13 +429,13 @@ p_0+p_1 & = & 1 \label{eq:6-17}
\parinterval
IBM模型的缺陷是指翻译模型会把一部分概率分配给一些根本不存在的源语言字符串。如果用
$
\textrm
{
P
}
(
\textrm
{
well
}
|
\mathbf
{
t
}
)
$
表示
$
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)
$
在所有的正确的(可以理解为语法上正确的)
$
\mathbf
{
s
}$
上的和,即
\begin{eqnarray}
\textrm
{
P
}
(
\textrm
{
well
}
|
\mathbf
{
t
}
)=
\sum
_{
\mathbf
{
s
}
\textrm
{
\;
is
\;
well
\;
formed
}}{
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)
}
\label
{
eq:6-2
2
}
\label
{
eq:6-2
6
}
\end{eqnarray}
\parinterval
类似地,用
$
\textrm
{
P
}
(
\textrm
{
ill
}
|
\mathbf
{
t
}
)
$
表示
$
\textrm
{
P
}
(
\mathbf
{
s
}
|
\mathbf
{
t
}
)
$
在所有的错误的(可以理解为语法上错误的)
$
\mathbf
{
s
}$
上的和。如果
$
\textrm
{
P
}
(
\textrm
{
well
}
|
\mathbf
{
t
}
)+
\textrm
{
P
}
(
\textrm
{
ill
}
|
\mathbf
{
t
}
)
<
1
$
,就把剩余的部分定义为
$
\textrm
{
P
}
(
\textrm
{
failure
}
|
\mathbf
{
t
}
)
$
。它的形式化定义为,
\begin{eqnarray}
\textrm
{
P
}
(
{
\textrm
{
failure
}
|
\mathbf
{
t
}}
) = 1 -
\textrm
{
P
}
(
{
\textrm
{
well
}
|
\mathbf
{
t
}}
) -
\textrm
{
P
}
(
{
\textrm
{
ill
}
|
\mathbf
{
t
}}
)
\label
{
eq:6-2
3
}
\label
{
eq:6-2
7
}
\end{eqnarray}
\parinterval
本质上,模型3和模型4就是对应
$
\textrm
{
P
}
(
{
\textrm
{
failure
}
|
\mathbf
{
t
}}
)
>
0
$
的情况。这部分概率是模型损失掉的。有时候也把这类缺陷称为
{
\small\bfnew
{
物理缺陷
}}
\index
{
物理缺陷
}
(Physical Deficiency
\index
{
Physical Deficiency
}
)或
{
\small\bfnew
{
技术缺陷
}}
\index
{
技术缺陷
}
(Technical Deficiency
\index
{
Technical Deficiency
}
)。还有一种缺陷被称作
{
\small\bfnew
{
精神缺陷
}}
(Spiritual Deficiency
\index
{
Spiritual Deficiency
}
)或
{
\small\bfnew
{
逻辑缺陷
}}
\index
{
逻辑缺陷
}
(Logical Deficiency
\index
{
Logical Deficiency
}
),它是指
$
\textrm
{
P
}
(
{
\textrm
{
well
}
|
\mathbf
{
t
}}
)
+
\textrm
{
P
}
(
{
\textrm
{
ill
}
|
\mathbf
{
t
}}
)
=
1
$
且
$
\textrm
{
P
}
(
{
\textrm
{
ill
}
|
\mathbf
{
t
}}
)
>
0
$
的情况。模型1 和模型2 就有逻辑缺陷。可以注意到,技术缺陷只存在于模型3 和模型4 中,模型1和模型2并没有技术缺陷问题。根本原因在于模型1和模型2的词对齐是从源语言出发对应到目标语言,
$
\mathbf
{
t
}$
到
$
\mathbf
{
s
}$
的翻译过程实际上是从单词
$
s
_
1
$
开始到单词
$
s
_
m
$
结束,依次把每个源语言单词
$
s
_
j
$
对应到唯一一个目标语言位置。显然,这个过程能够保证每个源语言单词仅对应一个目标语言单词。但是,模型3 和模型4中对齐是从目标语言出发对应到源语言,
$
\mathbf
{
t
}$
到
$
\mathbf
{
s
}$
的翻译过程从
$
t
_
1
$
开始
$
t
_
l
$
结束,依次把目标语言单词
$
t
_
i
$
生成的单词对应到某个源语言位置上。但是这个过程不能保证
$
t
_
i
$
中生成的单词所对应的位置没有被其他单词占用,因此也就产生了缺陷。
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论