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
2c0d7150
Commit
2c0d7150
authored
Sep 23, 2020
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
minor updates (sec 5)
parent
9c4b49ee
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
16 行增加
和
15 行删除
+16
-15
Chapter5/Figures/figure-calculation-formula&iterative-process-of-function.tex
+2
-2
Chapter5/chapter5.tex
+14
-13
没有找到文件。
Chapter5/Figures/figure-calculation-formula&iterative-process-of-function.tex
查看文件 @
2c0d7150
...
...
@@ -10,8 +10,8 @@
\node
[anchor=west,inner sep=2pt] (eq1) at (0,0)
{$
f
(
s
_
u|t
_
v
)
$}
;
\node
[anchor=west] (eq2) at (eq1.east)
{$
=
$
\
}
;
\draw
[-] ([xshift=0.3em]eq2.east) -- ([xshift=11.6em]eq2.east);
\node
[anchor=south west] (eq3) at ([xshift=1em]eq2.east)
{$
\sum
_{
i
=
1
}^{
K
}
c
_{
\mathbb
{
E
}}
(
s
_
u|t
_
v;s
^{
[
i
]
}
,t
^{
[
i
]
}
)
$}
;
\node
[anchor=north west] (eq4) at (eq2.east)
{$
\sum
_{
s
_
u
}
\sum
_{
i
=
1
}^{
K
}
c
_{
\mathbb
{
E
}}
(
s
_
u|t
_
v;s
^{
[
i
]
}
,t
^{
[
i
]
}
)
$}
;
\node
[anchor=south west] (eq3) at ([xshift=1em]eq2.east)
{$
\sum
_{
k
=
1
}^{
K
}
c
_{
\mathbb
{
E
}}
(
s
_
u|t
_
v;s
^{
[
k
]
}
,t
^{
[
k
]
}
)
$}
;
\node
[anchor=north west] (eq4) at (eq2.east)
{$
\sum
_{
s
_
u
}
\sum
_{
k
=
1
}^{
K
}
c
_{
\mathbb
{
E
}}
(
s
_
u|t
_
v;s
^{
[
k
]
}
,t
^{
[
k
]
}
)
$}
;
{
\node
[anchor=south] (label1) at ([yshift=-6em,xshift=3em]eq1.north west)
{
利用这个公式计算
}
;
...
...
Chapter5/chapter5.tex
查看文件 @
2c0d7150
...
...
@@ -275,11 +275,11 @@ $\seq{t}$ = machine\; \underline{translation}\; is\; a\; process\; of\; generati
\parinterval
如果有更多的句子,上面的方法同样适用。假设,有
$
K
$
个互译句对
$
\{
(
\seq
{
s
}^{
[
1
]
}
,
\seq
{
t
}^{
[
1
]
}
)
$
,...,
\\
$
(
\seq
{
s
}^{
[
K
]
}
,
\seq
{
t
}^{
[
K
]
}
)
\}
$
。仍然可以使用基于相对频次的方法估计翻译概率
$
\funp
{
P
}
(
x,y
)
$
,具体方法如下:
\begin{eqnarray}
\funp
{
P
}
(x,y) =
\frac
{{
\sum
_{
i=1
}^{
K
}
c(x,y;
\seq
{
s
}^{
[i]
}
,
\seq
{
t
}^{
[i]
}
)
}}{
\sum
_{
i=1
}^{
K
}{{
\sum
_{
x',y'
}
c(x',y';
\seq
{
s
}^{
[i]
}
,
\seq
{
t
}^{
[i
]
}
)
}}}
\funp
{
P
}
(x,y) =
\frac
{{
\sum
_{
k=1
}^{
K
}
c(x,y;
\seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k]
}
)
}}{
\sum
_{
k=1
}^{
K
}{{
\sum
_{
x',y'
}
c(x',y';
\seq
{
s
}^{
[k]
}
,
\seq
{
t
}^{
[k
]
}
)
}}}
\label
{
eq:5-4
}
\end{eqnarray}
\parinterval
与公式
\ref
{
eq:5-1
}
相比,公式
\ref
{
eq:5-4
}
的分子、分母都多了一项累加符号
$
\sum
_{
i
=
1
}^{
K
}
\cdot
$
,它表示遍历语料库中所有的句对。换句话说,当计算词的共现次数时,需要对每个句对上的计数结果进行累加。从统计学习的角度,使用更大规模的数据进行参数估计可以提高结果的可靠性。计算单词的翻译概率也是一样,在小规模的数据上看,很多翻译现象的特征并不突出,但是当使用的数据量增加到一定程度,翻译的规律会很明显的体现出来。
\parinterval
与公式
\ref
{
eq:5-1
}
相比,公式
\ref
{
eq:5-4
}
的分子、分母都多了一项累加符号
$
\sum
_{
k
=
1
}^{
K
}
\cdot
$
,它表示遍历语料库中所有的句对。换句话说,当计算词的共现次数时,需要对每个句对上的计数结果进行累加。从统计学习的角度,使用更大规模的数据进行参数估计可以提高结果的可靠性。计算单词的翻译概率也是一样,在小规模的数据上看,很多翻译现象的特征并不突出,但是当使用的数据量增加到一定程度,翻译的规律会很明显的体现出来。
\parinterval
举个例子,实例
\ref
{
eg:5-2
}
展示了一个由两个句对构成的平行语料库。
...
...
@@ -1045,7 +1045,17 @@ f(s_u|t_v)=\frac{c_{\mathbb{E}}(s_u|t_v;\seq{s},\seq{t})} { \sum\limits_{s_u} c
\label
{
eq:5-45
}
\end{eqnarray}
\vspace
{
-0.5em
}
\parinterval
进一步,假设有
$
K
$
个互译的句对(称作平行语料):
$
\{
(
\seq
{
s
}^{
[
1
]
}
,
\seq
{
t
}^{
[
1
]
}
)
,...,
(
\seq
{
s
}^{
[
K
]
}
,
\seq
{
t
}^{
[
K
]
}
)
\}
$
,
$
f
(
s
_
u|t
_
v
)
$
的期望频次为:
\begin{eqnarray}
c
_{
\mathbb
{
E
}}
(s
_
u|t
_
v)=
\sum\limits
_{
k=1
}^{
K
}
c
_{
\mathbb
{
E
}}
(s
_
u|t
_
v;s
^{
[k]
}
,t
^{
[k]
}
)
\label
{
eq:5-46
}
\end{eqnarray}
\parinterval
于是有
$
f
(
s
_
u|t
_
v
)
$
的计算公式和迭代过程图
\ref
{
fig:5-27
}
所示。完整的EM算法如图
\ref
{
fig:5-28
}
所示。其中E-Step对应4-5行,目的是计算
$
c
_{
\mathbb
{
E
}}
(
\cdot
)
$
;M-Step对应6-9行,目的是计算
$
f
(
\cdot
|
\cdot
)
$
。
%----------------------------------------------
\begin{figure}
[htp]
\centering
...
...
@@ -1054,7 +1064,7 @@ f(s_u|t_v)=\frac{c_{\mathbb{E}}(s_u|t_v;\seq{s},\seq{t})} { \sum\limits_{s_u} c
\label
{
fig:5-27
}
\end{figure}
%----------------------------------------------
\vspace
{
-1em
}
%----------------------------------------------
\begin{figure}
[htp]
\centering
...
...
@@ -1064,15 +1074,6 @@ f(s_u|t_v)=\frac{c_{\mathbb{E}}(s_u|t_v;\seq{s},\seq{t})} { \sum\limits_{s_u} c
\end{figure}
%----------------------------------------------
\parinterval
进一步,假设有
$
K
$
个互译的句对(称作平行语料):
$
\{
(
\seq
{
s
}^{
[
1
]
}
,
\seq
{
t
}^{
[
1
]
}
)
,...,
(
\seq
{
s
}^{
[
K
]
}
,
\seq
{
t
}^{
[
K
]
}
)
\}
$
,
$
f
(
s
_
u|t
_
v
)
$
的期望频次为:
\begin{eqnarray}
c
_{
\mathbb
{
E
}}
(s
_
u|t
_
v)=
\sum\limits
_{
i=1
}^{
K
}
c
_{
\mathbb
{
E
}}
(s
_
u|t
_
v;s
^{
[i]
}
,t
^{
[i]
}
)
\label
{
eq:5-46
}
\end{eqnarray}
\parinterval
于是有
$
f
(
s
_
u|t
_
v
)
$
的计算公式和迭代过程图
\ref
{
fig:5-27
}
所示。完整的EM算法如图
\ref
{
fig:5-28
}
所示。其中E-Step对应4-5行,目的是计算
$
c
_{
\mathbb
{
E
}}
(
\cdot
)
$
;M-Step对应6-9行,目的是计算
$
f
(
\cdot
|
\cdot
)
$
。
\parinterval
至此,本章完成了对IBM模型1训练方法的介绍。其可以通过图
\ref
{
fig:5-27
}
所示的算法进行实现。算法最终的形式并不复杂,因为只需要遍历每个句对,之后计算
$
f
(
\cdot
|
\cdot
)
$
的期望频次,最后估计新的
$
f
(
\cdot
|
\cdot
)
$
,这个过程迭代直至
$
f
(
\cdot
|
\cdot
)
$
收敛至稳定状态。
\vspace
{
-1.5em
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论