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
929453c8
Commit
929453c8
authored
4 years ago
by
曹润柘
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'master' 到 'caorunzhe'
Master 查看合并请求
!254
parents
34827943
f9eaf253
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
16 行增加
和
15 行删除
+16
-15
Chapter5/Figures/figure-calculation-formula&iterative-process-of-function.tex
+2
-2
Chapter5/chapter5.tex
+14
-13
Chapter9/chapter9.tex
+0
-0
没有找到文件。
Chapter5/Figures/figure-calculation-formula&iterative-process-of-function.tex
查看文件 @
929453c8
...
...
@@ -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)
{
利用这个公式计算
}
;
...
...
This diff is collapsed.
Click to expand it.
Chapter5/chapter5.tex
查看文件 @
929453c8
...
...
@@ -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
}
...
...
This diff is collapsed.
Click to expand it.
Chapter9/chapter9.tex
查看文件 @
929453c8
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论