Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
Toy-MT-Introduction
概览
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
单韦乔
Toy-MT-Introduction
Commits
1c621906
You need to sign in or sign up before continuing.
Commit
1c621906
authored
Feb 10, 2020
by
姜雨帆
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update herarchical phrase-based translation
parent
83476203
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
313 行增加
和
1 行删除
+313
-1
Section04-Phrasal-and-Syntactic-Models/section04.tex
+313
-1
没有找到文件。
Section04-Phrasal-and-Syntactic-Models/section04.tex
查看文件 @
1c621906
...
...
@@ -3586,12 +3586,77 @@ d = r_1 \circ r_2 \circ r_3 \circ r_4
%%% 关于文法的约束
\begin{frame}
{
文法的约束
}
% 把文法限制在合理的范围内,使得系统可以处理
\begin{itemize}
\item
按照上面的方法可以抽取到大量的规则,规则太多会降低训练和解码的效率,甚至影响翻译性能,因此需要加入一些
\alert
{
约束
}
来限制文法规则的数目
\vspace
{
0.3em
}
\begin{center}
\begin{tikzpicture}
\begin{scope}
[minimum height = 18pt]
%\node[anchor=east] (s0) at (0, 0) {$\textrm{X} \ \to \ <\textrm{X}_1\ \textrm{希望}\ \textrm{X}_2,\ \textrm{X}_1\ \textrm{wish to}\ \textrm{X}_2>$};
\node
[anchor=north west]
(s1) at (0, 0)
{$
\textrm
{
X
}
\ \to
\
<
\textrm
{
X
}_
1
\ \textrm
{
X
}_
2
\ \textrm
{
之一
}
,
\ \textrm
{
one of
}
\ \textrm
{
X
}_
1
\ \textrm
{
X
}_
2
>
$}
;
\node
[anchor=north west]
(s2) at ([yshift=0.1em]s1.south west)
{$
\textrm
{
X
}
\ \to
\
<
\textrm
{
X
}_
1
\ \textrm
{
X
}_
2
\ \textrm
{
是
}
\ \textrm
{
X
}_
3
,
\ \textrm
{
X
}_
1
\ \textrm
{
X
}_
2
\ \textrm
{
is
}
\ \textrm
{
X
}_
3
>
$}
;
\node
[anchor=north west]
(s3) at ([yshift=0.1em]s2.south west)
{$
\textrm
{
X
}
\ \to
\
<
\textrm
{
X
}_
1
\ \textrm
{
希望...
}
\ \textrm
{
X
}_
2
,
\ \textrm
{
X
}_
1
\ \textrm
{
wish to...
}
\ \textrm
{
X
}_
2
>
$}
;
\draw
[decorate,decoration={brace,amplitude=0.4em,mirror},red,thick]
([xshift=1.3em,yshift=0.3em]s3.south) -- ([xshift=8.0em,yshift=0.3em]s3.south);
\node
[anchor=north]
(wi) at ([xshift=4.7em,yshift=-0.0em]s3.south)
{
\scriptsize
{
\alert
{
超过10个词
}}}
;
\visible
<2->
{
\draw
[-,red]
(s1.west)--(s1.east);
\draw
[-,red]
(s2.west)--(s2.east);
\draw
[-,red]
(s3.west)--(s3.east);
}
\end{scope}
\end{tikzpicture}
\end{center}
\vspace
{
-0.5em
}
\visible
<2->
{
具体包含如下约束
}
\begin{enumerate}
\item
<2-> 规则中的非终结符不可以连续的出现
\item
<2-> 每条规则最多包含两个非终结符
\item
<2-> 抽取规则最多可以跨越10个单词
\end{enumerate}
\item
<3-> 除此之外,不同的语言会有不同的文法约束,可参考
\visible
<3->
{
\textbf
{
Hierarchical Phrase-Based Translation
}
\\
\textbf
{
Chiang, Computational Linguistics, 2007
}
}
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 特征
\begin{frame}
{
特征
}
% 还是David Chiang的论文
\begin{itemize}
\item
与短语模型一样,层次短语模型也使用判别式模型进行建模 -
$
\textrm
{
P
}
(
d,
\textbf
{
t
}
|
\textbf
{
s
}
)
=
\frac
{
\exp
(
\sum
_{
i
=
1
}^{
M
}
\lambda
_
i
\cdot
h
_
i
(
d,
\textbf
{
s
}
,
\textbf
{
t
}
))
}{
\sum
_{
d',t'
}
\exp
(
\sum
_{
i
=
1
}^{
M
}
\lambda
_
i
\cdot
h
_
i
(
d',
\textbf
{
s
}
,
\textbf
{
t
}
'
))
}$
。其中特征权重
$
\{\lambda
_
i
\}
$
可以使用最小错误率训练进行调优,特征函数
$
\{
h
_
i
\}
$
需要用户定义。
\item
<2-> 这里,所有层次短语规则满足
$
\langle\ \alpha
,
\beta
,
\sim\ \rangle
$
的形式
\begin{itemize}
\item
$
\alpha
$
和
$
\beta
$
表示源语和目标语的规则串,
$
\sim
$
表示他们的对应关系
\item
此外,定义
$
\tau
(
\alpha
)
$
和
$
\tau
(
\beta
)
$
为源语端和目标语端的规则序列。例如
\vspace
{
-0.8em
}
\begin{eqnarray}
\tau
(
\alpha
)
&
=
&
\textrm
{
对
}
\ \textrm
{
X
}_
1
\ \textrm
{
感到
}
\ \textrm
{
X
}_
2
\nonumber
\\
\tau
(
\beta
)
&
=
&
\textrm
{
be
}
\ \textrm
{
X
}_
2
\ \textrm
{
with
}
\ \textrm
{
X
}_
1
\nonumber
\end{eqnarray}
\end{itemize}
\item
<3->
\textbf
{
特征1-2: 短语翻译概率
}
,即正向翻译概率
$
\Pr
(
\tau
(
\alpha
)
|
\tau
(
\beta
))
$
和反向翻译概率
$
\Pr
(
\tau
(
\alpha
)
|
\tau
(
\beta
))
$
。这里,
$
\tau
(
\alpha
)
$
和
$
\tau
(
\beta
)
$
都被看做短语,因此可以直接复用短语系统的方法,使用极大似然估计进行计算。
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 特征
\begin{frame}
{
特征(续)
}
% 给出特征列表
\begin{itemize}
\item
\textbf
{
特征3-4: 词汇翻译概率
}
,即正向词汇翻译概率
$
\Pr
_{
lex
}
(
\bar
{
t
}
|
\bar
{
s
}
)
$
和反向词汇翻译概率
$
\Pr
_{
lex
}
(
\bar
{
s
}
|
\bar
{
t
}
)
$
。用来描述短语对中源语端单词和目标语端单词的对应关系
\item
\textbf
{
特征5:
$
n
$
-gram语言模型
}
,即
$
\textrm
{
P
}_{
\textrm
{
lm
}}
(
\textbf
{
t
}
)
$
。度量译文的流畅度,可以使用大规模目标语单语数据得到。
\item
<2->
\textbf
{
特征6:译文长度
}
,即
$
|
\textbf
{
t
}
|
$
。避免模型倾向于短译文,同时让系统自动学习对译文长度的偏好。
\item
<2->
\textbf
{
特征7:翻译规则数量
}
。这个特征是为了避免模型仅仅使用少量特征构成翻译推导(因为翻译概率相乘,因子少结果一般会大一些),同时让系统自动学习对使用规则数量的偏好。
\item
<2->
\textbf
{
特征8:源语言被翻译为空的单词数量
}
。注意,空翻译规则(或特征)有时也被称作evil feature,这类特征在一些数据集上对BLEU有很好的提升作用,但是会造成人工评价的下降,因此需要谨慎使用。
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
...
...
@@ -3601,6 +3666,129 @@ d = r_1 \circ r_2 \circ r_3 \circ r_4
%%% CYK解码
\begin{frame}
{
CYK解码
}
% 看NiuTrans Manual
\begin{itemize}
\item
基于层次短语的翻译解码与基于短语的模型类似,都是要找到使
$
\textrm
{
score
}
(
d
)
$
达到最大的翻译推导
$
d
$
\vspace
{
-0.5em
}
\begin{displaymath}
\hat
{
d
}
=
\argmax
_{
d
\in
D
}
\textrm
{
score
}
(d)
\end{displaymath}
\vspace
{
-0.8em
}
\begin{itemize}
\item
由于翻译推导由SCFG构成,使用CYK算法进行解码
\item
CYK算法解码是一个用来判定任意给定的字符串 是否属于一个上下文无关文法的算法,具体流程如下
\end{itemize}
\vspace
{
0.5em
}
\begin{center}
\begin{tikzpicture}
\node
[anchor=south west,rectangle,draw=ublue,thick,inner sep=0.4em,fill=white,drop shadow] (sourceG) at (0,0)
{{
\color
{
ublue
}
\footnotesize
{
\textbf
{
S端文法
}}}}
;
\node
[anchor=west,rectangle,draw=ublue,thick,inner sep=0.4em,fill=white,drop shadow] (chom) at ([xshift=3.5em]sourceG.east)
{{
\color
{
ublue
}
\footnotesize
{
\textbf
{
乔姆斯基范式
}}}}
;
\node
[anchor=west,rectangle,draw=ublue,thick,inner sep=0.4em,fill=white,drop shadow] (targetG) at ([xshift=3.5em]chom.east)
{{
\color
{
ublue
}
\footnotesize
{
\textbf
{
T端文法
}}}}
;
\draw
[->,very thick]
([xshift=0.1em]sourceG.east) -- ([xshift=-0.1em]chom.west);
\draw
[->,very thick]
([xshift=-0.1em]targetG.west) -- ([xshift=0.1em]chom.east);
\node
[anchor=north west,rectangle,draw=ublue,thick,inner sep=0.4em,fill=white,drop shadow,minimum height=1.2cm] (sourceS) at ([yshift=-1em]sourceG.south west)
{{
\color
{
ublue
}
\footnotesize
{
\textbf
{
S端句子
}}}}
;
\node
[anchor=north west,rectangle,draw=ublue,thick,inner sep=0.4em,fill=white,drop shadow,minimum height=1.2cm] (targetS) at ([yshift=-1em]targetG.south west)
{{
\color
{
ublue
}
\footnotesize
{
\textbf
{
T端句子
}}}}
;
\node
[anchor=north,rectangle,draw=ublue,thick,inner sep=0.4em,fill=white,drop shadow,minimum height=1.2cm] (parse) at ([yshift=-1em]chom.south)
{{
\color
{
ublue
}
\footnotesize
{
\textbf
{
解析得到最好的翻译
}}}}
;
\draw
[->,very thick]
([xshift=0.1em]sourceS.east) -- ([xshift=-0.1em]parse.west);
\draw
[->,very thick]
([xshift=0.1em]parse.east) -- ([xshift=-0.1em]targetS.west);
\draw
[->,very thick]
([yshift=-0.1em]chom.south) -- ([yshift=0.1em]parse.north);
\end{tikzpicture}
\end{center}
\vspace
{
0.3em
}
\item
由于对文法中的非终结符进行了限制,可以直接使用CYK算法进行解码,无需转换成乔姆斯基范式
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% CYK解码
\begin{frame}
{
CYK解码(续)
}
% 看NiuTrans Manual
\begin{itemize}
\item
CYK解码提出了一种cell的数据结构,用来记录所有可能出现的翻译假设。
\begin{itemize}
\item
<2-> 对于每个源语句子,使用短语规则表初始化它的cell
\item
<3-> 自底向上对cell中的每个子cell进行重新组合(正向、反向)
\item
<4-> 计算每个推导的得分并记录下来,最终选择最优推导所对应的译文作为输出
\end{itemize}
\end{itemize}
\vspace
{
-0.8em
}
\begin{center}
\begin{tikzpicture}
\visible
<2->
{
\node
[anchor=west] (s1) at (0,0)
{
\small
{
\textbf
{
进口
}}}
;
\node
[anchor=west] (s2) at ([xshift=4em]s1.east)
{
\small
{
\textbf
{
大幅度
}}}
;
\node
[anchor=west] (s3) at ([xshift=2.8em]s2.east)
{
\small
{
\textbf
{
下降
}}}
;
\node
[anchor=west] (s4) at ([xshift=2.8em]s3.east)
{
\small
{
\textbf
{
了
}}}
;
\node
[anchor=north] (t11) at ([yshift=-0.4em]s1.south)
{
\scriptsize
{
Imports
}}
;
\node
[anchor=west] (t12) at ([yshift=-1em]t11.west)
{
\scriptsize
{
The imports
}}
;
\node
[anchor=west] (t13) at ([yshift=-0.7em]t12.west)
{
\scriptsize
{
...
}}
;
\node
[anchor=north] (t21) at ([yshift=-0.4em]s2.south)
{
\scriptsize
{
drastically
}}
;
\node
[anchor=west] (t22) at ([yshift=-1em]t21.west)
{
\scriptsize
{
substantially
}}
;
\node
[anchor=west] (t23) at ([yshift=-0.7em]t22.west)
{
\scriptsize
{
...
}}
;
\node
[anchor=north] (t31) at ([yshift=-0.4em]s3.south)
{
\scriptsize
{
fall
}}
;
\node
[anchor=west] (t32) at ([yshift=-1em]t31.west)
{
\scriptsize
{
fallen
}}
;
\node
[anchor=west] (t33) at ([yshift=-0.7em]t32.west)
{
\scriptsize
{
...
}}
;
\node
[anchor=north] (t41) at ([yshift=-0.4em]s4.south)
{
\scriptsize
{
have
}}
;
\node
[anchor=west] (t42) at ([yshift=-1em]t41.west)
{
\scriptsize
{
had
}}
;
\node
[anchor=west] (t43) at ([yshift=-0.7em]t42.west)
{
\scriptsize
{
...
}}
;
}
\visible
<3->
{
\node
[anchor=west] (t51) at ([xshift=2em,yshift=-1.8em]t23.west)
{
\scriptsize
{
drastically
\
fallen
}}
;
\node
[anchor=west] (t53) at ([yshift=-0.7em]t51.west)
{
\scriptsize
{
...
}}
;
}
\visible
<4->
{
\node
[anchor=west] (t61) at ([xshift=3em,yshift=-1.8em]t53.west)
{
\scriptsize
{
have
\
drastically
\
fallen
}}
;
\node
[anchor=west] (t62) at ([yshift=-0.7em]t61.west)
{
\scriptsize
{
...
}}
;
\node
[anchor=west] (t71) at ([xshift=-6em,yshift=-1.8em]t62.west)
{
\scriptsize
{
The
\
imports
}}
;
\node
[anchor=west] (t72) at ([xshift=0.2em]t71.east)
{
\scriptsize
{
have
\
drastically
\
fallen
}}
;
\node
[anchor=west] (t73) at ([yshift=-0.7em]t71.west)
{
\scriptsize
{
...
}}
;
}
\begin{pgfonlayer}
{
background
}
\visible
<2->
{
\node
[rectangle,inner sep=0.05em,fill=red!20] [fit = (t11) (t12) (t13)] (box1)
{}
;
\node
[rectangle,inner sep=0.05em,fill=green!20] [fit = (t21) (t22) (t23)] (box2)
{}
;
\node
[rectangle,inner sep=0.05em,fill=blue!20,minimum width=3em] [fit = (t31) (t32) (t33)] (box3)
{}
;
\node
[rectangle,inner sep=0.05em,fill=orange!20,minimum width=3em] [fit = (t41) (t42) (t43)] (box4)
{}
;
}
\visible
<3->
{
\node
[rectangle,inner sep=0.05em,fill=purple!20] [fit = (t51) (t53)] (box5)
{}
;
}
\visible
<4->
{
\node
[rectangle,inner sep=0.05em,fill=yellow!20] [fit = (t61) (t62)] (box6)
{}
;
\node
[rectangle,inner sep=0.05em,fill=black!10] [fit = (t71) (t72) (t73)] (box7)
{}
;
}
\end{pgfonlayer}
\visible
<2->
{
\node
[anchor=south east,inner sep=1pt,fill=black] (tl1) at (box1.south east)
{
\tiny
{{
\color
{
white
}
\textbf
{
1
}}}}
;
\node
[anchor=south east,inner sep=1pt,fill=black] (tl2) at (box2.south east)
{
\tiny
{{
\color
{
white
}
\textbf
{
2
}}}}
;
\node
[anchor=south east,inner sep=1pt,fill=black] (tl3) at (box3.south east)
{
\tiny
{{
\color
{
white
}
\textbf
{
3
}}}}
;
\node
[anchor=south east,inner sep=1pt,fill=black] (tl4) at (box4.south east)
{
\tiny
{{
\color
{
white
}
\textbf
{
4
}}}}
;
}
\visible
<3->
{
\draw
[->,thick] (t22.south) .. controls +(south:0.5) and +(north:0.5) .. (t51.north);
\draw
[->,thick] (t32.south) .. controls +(south:0.5) and +(north:0.5) .. (t51.north);
\node
[anchor=south east,inner sep=1pt,fill=black] (tl5) at (box5.south east)
{
\tiny
{{
\color
{
white
}
\textbf
{
2-3
}}}}
;
}
\visible
<4->
{
\draw
[->,thick] (t51.south) .. controls +(south:0.5) and +(north:0.5) .. (t61.north);
\draw
[->,thick] (t42.south) .. controls +(south:2) and +(north:0.5) .. (t61.north);
\draw
[->,thick] (t61.south) .. controls +(south:0.5) and +(north:0.5) .. (t72.north);
\draw
[->,thick] (t12.south) .. controls +(south:2.5) and +(north:0.8) .. (t71.north);
\node
[anchor=south east,inner sep=1pt,fill=black] (tl6) at (box6.south east)
{
\tiny
{{
\color
{
white
}
\textbf
{
2-4
}}}}
;
\node
[anchor=south east,inner sep=1pt,fill=black] (tl7) at (box7.south east)
{
\tiny
{{
\color
{
white
}
\textbf
{
1-4
}}}}
;
}
\end{tikzpicture}
\end{center}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
...
...
@@ -3611,14 +3799,138 @@ d = r_1 \circ r_2 \circ r_3 \circ r_4
\begin{frame}
{
立方剪枝(Cube Pruning)
}
% 问题
% 解决方法
\begin{itemize}
\item
前面介绍的解码方法由于搜索空间非常大,速度很慢,通常使用剪枝的方法来加速这个过程
\begin{itemize}
\item
解码时对来自不同的cell进行合并时,第一个cell包含
$
n
$
个条目,第二个cell包含
$
m
$
个条目,就会产生
$
n
\times
m
$
个新条目
\vspace
{
0.8em
}
\begin{center}
\begin{tikzpicture}
\node
[anchor=west] (s1) at (0,0)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
从
}
\ \textrm
{
X
}_
1
,
\ \textrm
{
from
}
\ \textrm
{
X
}_
1
>
$}}
;
\node
[anchor=east] (s2) at ([yshift=-2em]s1.east)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
从
}
\ \textrm
{
X
}_
1
,
\ \textrm
{
since
}
\ \textrm
{
X
}_
1
>
$}}
;
\node
[anchor=east] (s3) at ([yshift=-2em]s2.east)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
从
}
\ \textrm
{
X
}_
1
,
\ \textrm
{
from the
}
\ \textrm
{
X
}_
1
>
$}}
;
\node
[anchor=east] (s4) at ([yshift=-2em]s3.east)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
从
}
\ \textrm
{
X
}_
1
,
\ \textrm
{
through
}
\ \textrm
{
X
}_
1
>
$}}
;
\node
[anchor=west] (t1) at ([xshift=2.5em]s1.east)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
计划
}
,
\ \textrm
{
plan
}
>
$}}
;
\node
[anchor=west] (t2) at ([xshift=2.5em]s2.east)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
方案
}
,
\ \textrm
{
scheme
}
>
$}}
;
\node
[anchor=west] (t3) at ([xshift=2.5em]s3.east)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
项目
}
,
\ \textrm
{
project
}
>
$}}
;
\node
[anchor=west] (t4) at ([xshift=2.5em]s4.east)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
时期
}
,
\ \textrm
{
times
}
>
$}}
;
\foreach
\x
in
{
1,2,...,4
}
\foreach
\y
in
{
1,2,...,4
}
\draw
[->]
([xshift=0.1em]s
\x
.east) -- ([xshift=-0.1em]t
\y
.west);
\begin{pgfonlayer}
{
background
}
\node
[rectangle,inner sep=0.3em,fill=red!20] [fit = (s1) (s3) (s4)] (box1)
{}
;
\node
[rectangle,inner sep=0.3em,fill=green!20] [fit = (t1) (t2) (t3) (t4)] (box2)
{}
;
\end{pgfonlayer}
\end{tikzpicture}
\end{center}
\vspace
{
0.3em
}
\item
当
$
n
$
和
$
m
$
都很大时,会产生很多新的条目,可以通过限制栈的大小来舍弃大部分条目
\item
另一个思路就是如何只生成有机会被选中的条目,这就是
\alert
{
立方剪枝(cube pruning)
}
的思想
\end{itemize}
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 立方剪枝
\begin{frame}
{
立方剪枝(Cube Pruning)(续)
}
% 问题
% 解决方法
\begin{itemize}
\item
不是考虑所有可能的组合,而是从
\alert
{
最优
}
候选开始选择
\begin{itemize}
\item
根据代价估计对每个cell中的条目进行排序,最好的候选在最顶层,次优候选排在后面
\item
<2-> 计算所有邻居的代价,选择最优的条目,再计算其邻居的代价,不断进行迭代
\item
<3-> 直到产生的条目达到一定的数量(如栈容量)或者新加入的条目被其他剪枝策略丢弃,则终止算法
\end{itemize}
\end{itemize}
\begin{center}
\begin{tikzpicture}
\tikzstyle
{
alignmentnode
}
= [rectangle,fill=blue!30,minimum size=0.4em,text=white,inner sep=0.1pt]
\tikzstyle
{
selectnode
}
= [rectangle,fill=green!20,minimum height=1.5em,minimum width=1.5em,inner sep=1.2pt]
\tikzstyle
{
srcnode
}
= [rotate=45,anchor=south west]
\begin{scope}
[scale=0.85]
\node
[anchor=west] (s1) at (0,0)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
从
}
\ \textrm
{
X
}_
1
,
\ \textrm
{
from
}
\ \textrm
{
X
}_
1
>
$}}
;
\node
[anchor=east] (s2) at ([yshift=-2em]s1.east)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
从
}
\ \textrm
{
X
}_
1
,
\ \textrm
{
since
}
\ \textrm
{
X
}_
1
>
$}}
;
\node
[anchor=east] (s3) at ([yshift=-2em]s2.east)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
从
}
\ \textrm
{
X
}_
1
,
\ \textrm
{
from the
}
\ \textrm
{
X
}_
1
>
$}}
;
\node
[anchor=east] (s4) at ([yshift=-2em]s3.east)
{
\footnotesize
{$
\textrm
{
X
}
\to
<
\textrm
{
从
}
\ \textrm
{
X
}_
1
,
\ \textrm
{
through
}
\ \textrm
{
X
}_
1
>
$}}
;
\node
[anchor=center,alignmentnode] (alig1) at ([xshift=2.5em]s1.east)
{}
;
\node
[anchor=center,alignmentnode] (alig11) at ([xshift=2.2em]alig1.center)
{}
;
\node
[anchor=center,alignmentnode] (alig12) at ([xshift=2.2em]alig11.center)
{}
;
\node
[anchor=center,alignmentnode] (alig13) at ([xshift=2.2em]alig12.center)
{}
;
\node
[anchor=center,alignmentnode] (alig2) at ([xshift=2.5em]s2.east)
{}
;
\node
[anchor=center,alignmentnode] (alig21) at ([xshift=2.2em]alig2.center)
{}
;
\node
[anchor=center,alignmentnode] (alig22) at ([xshift=2.2em]alig21.center)
{}
;
\node
[anchor=center,alignmentnode] (alig23) at ([xshift=2.2em]alig22.center)
{}
;
\node
[anchor=center,alignmentnode] (alig3) at ([xshift=2.5em]s3.east)
{}
;
\node
[anchor=center,alignmentnode] (alig31) at ([xshift=2.2em]alig3.center)
{}
;
\node
[anchor=center,alignmentnode] (alig32) at ([xshift=2.2em]alig31.center)
{}
;
\node
[anchor=center,alignmentnode] (alig33) at ([xshift=2.2em]alig32.center)
{}
;
\node
[anchor=center,alignmentnode] (alig4) at ([xshift=2.5em]s4.east)
{}
;
\node
[anchor=center,alignmentnode] (alig41) at ([xshift=2.2em]alig4.center)
{}
;
\node
[anchor=center,alignmentnode] (alig42) at ([xshift=2.2em]alig41.center)
{}
;
\node
[anchor=center,alignmentnode] (alig43) at ([xshift=2.2em]alig42.center)
{}
;
\node
[srcnode]
(c1) at ([yshift=1em]alig1.north)
{
\footnotesize
{
plan
}}
;
\node
[srcnode]
(c2) at ([yshift=1em]alig11.north)
{
\footnotesize
{
scheme
}}
;
\node
[srcnode]
(c3) at ([yshift=1em]alig12.north)
{
\footnotesize
{
project
}}
;
\node
[srcnode]
(c4) at ([yshift=1em]alig13.north)
{
\footnotesize
{
times
}}
;
\visible
<2->
{
\node
[anchor=center,selectnode] (c1) at (alig1.center)
{
\footnotesize
{
2.1
}}
;
}
\visible
<3->
{
\node
[anchor=center,selectnode,fill=red!20] (c2) at (alig11.center)
{
\footnotesize
{
5.1
}}
;
\node
[anchor=center,selectnode,fill=red!20] (c3) at (alig2.center)
{
\footnotesize
{
5.5
}}
;
}
\visible
<4->
{
\node
[anchor=center,selectnode] (c2) at (alig11.center)
{
\footnotesize
{
5.1
}}
;
\node
[anchor=center,selectnode] (c3) at (alig2.center)
{
\footnotesize
{
5.5
}}
;
\node
[anchor=center,selectnode,fill=red!20] (c4) at (alig12.center)
{
\footnotesize
{
8.2
}}
;
\node
[anchor=center,selectnode,fill=red!20] (c5) at (alig21.center)
{
\footnotesize
{
8.5
}}
;
\node
[anchor=center,selectnode,fill=red!20] (c6) at (alig3.center)
{
\footnotesize
{
7.7
}}
;
}
\end{scope}
\end{tikzpicture}
\end{center}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% BLEU等评价
\begin{frame}
{
效果
}
% 实验结果
\end{frame}
\begin{itemize}
\item
从实验结果中可以看出,基于层次短语的翻译模型性能要优于基于短语的翻译模型
\item
选择使用层次短语信息实际上增加了模型的复杂度,但是可以通过借鉴基于短语的翻译模型模型以及CYK解码和立方剪枝等技术来解决
\item
可以考虑加入更多句法信息来进一步提升模型性能
\end{itemize}
%\vspace{-1em}
\begin{center}
\begin{tabular}
{
l | l | l | l
}
\multicolumn
{
2
}{
c|
}{
模型
}
&
开发集
&
测试集
\\
\multicolumn
{
2
}{
c|
}{}
&
(BLEU[
\%
])
&
(BLEU[
\%
])
\\
\hline
\multicolumn
{
2
}{
l|
}{
短语(Moses)
}
&
36.51
&
34.93
\\
\multicolumn
{
2
}{
l|
}{
短语(NiuTrans)
}
&
36.99
&
35.29
\\
\hline
\multicolumn
{
2
}{
l|
}{
层次短语(Moses)
}
&
36.65
&
34.79
\\
\multicolumn
{
2
}{
l|
}{
层次短语(NiuTrans)
}
&
37.41
&
35.35
\\
\hline
\end{tabular}
\end{center}
\vspace
{
-0.5em
}
\scriptsize
{
* 以上结果来自 NiuTrans: An Open Source Toolkit for Phrase-based Machine Translation
}
\\
\scriptsize
{
* 开发集:NIST MT03,测试集:NIST MT05
}
\\
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
\section
{
基于语言学句法的模型
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论