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
15f965f0
Commit
15f965f0
authored
Dec 22, 2019
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new update
parent
8c966f51
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
101 行增加
和
55 行删除
+101
-55
Section04-Phrasal-and-Syntactic-Models/section04-test.tex
+38
-45
Section04-Phrasal-and-Syntactic-Models/section04.tex
+63
-10
没有找到文件。
Section04-Phrasal-and-Syntactic-Models/section04-test.tex
查看文件 @
15f965f0
...
...
@@ -49,7 +49,8 @@
\setbeamercolor
{
uppercol
}{
fg=white,bg=ugreen
}
\setbeamercolor
{
lowercol
}{
fg=black,bg=xtgreen
}
%\definecolor{ublue}{rgb}{0,0.298,0.525}
\definecolor
{
darkred
}{
rgb
}{
0.55, 0.0, 0.0
}
\definecolor
{
alizarin
}{
rgb
}{
0.82, 0.1, 0.26
}
\definecolor
{
ublue
}{
rgb
}{
0.152,0.250,0.545
}
\setbeamercolor
{
uppercolblue
}{
fg=white,bg=ublue
}
\setbeamercolor
{
lowercolblue
}{
fg=black,bg=blue!10
}
...
...
@@ -124,57 +125,49 @@
\section
{
基于层次短语的模型
}
%%%------------------------------------------------------------------------------------------------------------
%%%
一个完整文法的例子
\begin{frame}
{
一个完整的文法
}
%%%
文法驱动的统计机器翻译流程
\begin{frame}
{
文法驱动的机器翻译流程
}
\begin{itemize}
\item
对于一个中文-英文句对,假设可以得到如下同步上下文无关文法
\\
\vspace
{
0.3em
}
\textbf
{
源语
}
:
\ \ \
进口 大幅度 下降 了
\\
\vspace
{
0.3em
}
\textbf
{
目标语
}
:The imports have drastically fallen
\\
\vspace
{
1.0em
}
\textbf
{
SCFG
}
:
\\
\vspace
{
-1.5em
}
\begin{eqnarray}
r
_
1:
\ \ \ \textrm
{
X
}
&
\to
&
\langle\ \textrm
{
进口
}
\ \textrm
{
X
}_
1,
\ \textrm
{
The imports
}
\ \textrm
{
X
}_
1
\ \rangle
\nonumber
\\
r
_
2:
\ \ \ \textrm
{
X
}&
\to
&
\langle\ \textrm
{
X
}_
1
\ \textrm
{
下降
}
\ \textrm
{
X
}_
2,
\ \textrm
{
X
}_
2
\ \textrm
{
X
}_
1
\ \textrm
{
fallen
}
\ \rangle
\nonumber
\\
r
_
3:
\ \ \ \textrm
{
X
}
&
\to
&
\langle\ \textrm
{
大幅度
}
,
\ \textrm
{
drastically
}
\ \rangle
\nonumber
\\
r
_
4:
\ \ \ \textrm
{
X
}
&
\to
&
\langle\ \textrm
{
了
}
,
\ \textrm
{
have
}
\ \rangle
\nonumber
\end{eqnarray}
其中,规则
$
r
_
1
$
和
$
r
_
2
$
是右部含有变量的规则,这些变量可以被其它规则的右部替换;规则
$
r
_
2
$
是调序规则;规则
$
r
_
3
$
和
$
r
_
4
$
是纯词汇化规则,表示单词或者短语的翻译
\item
同步翻译文法给我们带来了新的思路:可以通过不断使用文法规则完成翻译过程。这类模型的基本流程如下:
\end{itemize}
\begin{center}
\begin{tikzpicture}
\begin{scope}
\tikzstyle
{
datanode
}
= [minimum width=10em,minimum height=1.7em,fill=ublue,rounded corners=0.7em];
\tikzstyle
{
modelnode
}
= [minimum width=10em,minimum height=1.7em,fill=darkred,rounded corners=0.2em];
\tikzstyle
{
decodingnode
}
= [minimum width=10em,minimum height=1.7em,fill=ugreen,rounded corners=0.2em];
\node
[datanode,anchor=north west] (bitext) at (0,0)
{{
\color
{
white
}
\scriptsize
{
训练用双语数据
}}}
;
\node
[modelnode, anchor=north west] (gi) at ([xshift=2em,yshift=-0.2em]bitext.south east)
{{
\color
{
white
}
\scriptsize
{
文法(规则)抽取
}}}
;
\node
[datanode,anchor=north east] (birules) at ([xshift=-2em,yshift=-0.2em]gi.south west)
{{
\color
{
white
}
\scriptsize
{
同步翻译文法
}}}
;
\node
[modelnode, anchor=north west] (training) at ([xshift=2em,yshift=-0.2em]birules.south east)
{{
\color
{
white
}
\scriptsize
{
特征值学习
}}}
;
\node
[datanode,anchor=north east] (model) at ([xshift=-2em,yshift=-0.2em]training.south west)
{{
\color
{
white
}
\scriptsize
{
翻译模型
}}}
;
\node
[decodingnode, anchor=north west] (tuning) at ([xshift=2em,yshift=-0.2em]model.south east)
{{
\color
{
white
}
\scriptsize
{
特征权重调优
}}}
;
\node
[datanode,anchor=north east] (tuningdata) at ([xshift=-2em,yshift=-0.2em]tuning.south west)
{{
\color
{
white
}
\scriptsize
{
调优用双语数据
}}}
;
\node
[decodingnode, anchor=north west] (decoding) at ([xshift=2em,yshift=-0.2em]tuningdata.south east)
{{
\color
{
white
}
\scriptsize
{
解码新句子
}}}
;
\draw
[->,very thick] ([yshift=-0.3em,xshift=0.1em]bitext.east) -- ([yshift=0.1em]gi.north west);
\draw
[->,very thick] ([yshift=-0.1em]gi.south west) -- ([yshift=0.3em,xshift=0.1em]birules.east);
\draw
[->,very thick] ([yshift=-0.3em,xshift=0.1em]birules.east) -- ([yshift=0.1em]training.north west);
\draw
[->,very thick] ([yshift=-0.1em]training.south west) -- ([yshift=0.3em,xshift=0.1em]model.east);
\draw
[->,very thick] ([yshift=-0.3em,xshift=0.1em]model.east) -- ([yshift=0.1em]tuning.north west);
\draw
[->,very thick] ([yshift=-0.1em]tuning.south) -- ([yshift=0.1em]decoding.north);
\draw
[->,very thick] ([yshift=0.3em,xshift=0.1em]tuningdata.east) -- ([yshift=-0.1em]tuning.south west);
\end{scope}
\end{tikzpicture}
\end{center}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 推导
\begin{frame}
{
翻译规则的推导
}
\begin{itemize}
\item
使用SCFG规则的过程构成了一个
\alert
{
推导
}
,每次规则的使用都会同步替换源语言和目标语言串中的一个非终结符
\\
\vspace
{
-2.0em
}
\begin{eqnarray}
&
&
\langle\ \textrm
{
X
}
,
\textrm
{
X
}
\ \rangle
\nonumber
\\
\visible
<2->
{&
\xrightarrow
[]
{
r
_
1
}
&
\langle\ \alert
{
\textrm
{
进口
}
\ \textrm
{
X
}_
1
}
,
\ \alert
{
\textrm
{
The imports
}
\ \textrm
{
X
}_
1
}
\ \rangle
\nonumber
\\
}
\visible
<3->
{&
\xrightarrow
[]
{
r
_
2
}
&
\langle\ \textrm
{
进口
}
\ \alert
{
\textrm
{
X
}_
1
\ \textrm
{
下降
}
\ \textrm
{
X
}_
2
}
,
\ \textrm
{
The imports
}
\ \alert
{
\textrm
{
X
}_
2
\ \textrm
{
X
}_
1
\ \textrm
{
fallen
}}
\ \rangle
\nonumber
\\
}
\visible
<4->
{&
\xrightarrow
[]
{
r
_
3
}
&
\langle\ \textrm
{
进口
}
\ \alert
{
\textrm
{
大幅度
}}
\ \textrm
{
下降
}
\ \textrm
{
X
}_
1,
\nonumber
\\
}
\visible
<4->
{&
&
\ \textrm
{
The imports
}
\ \textrm
{
X
}_
1
\ \alert
{
\textrm
{
drastically
}}
\ \textrm
{
fallen
}
\ \rangle
\nonumber
\\
}
\visible
<5->
{&
\xrightarrow
[]
{
r
_
3
}
&
\langle\ \textrm
{
进口
}
\ \textrm
{
大幅度
}
\ \textrm
{
下降
}
\ \alert
{
\textrm
{
了
}}
,
\nonumber
\\
}
\visible
<5->
{&
&
\ \textrm
{
The imports
}
\ \alert
{
\textrm
{
have
}}
\ \textrm
{
drastically
}
\ \textrm
{
fallen
}
\ \rangle
\nonumber
}
\end{eqnarray}
\visible
<6->
{
这里把
$
d
$
定义为由规则
$
r
_
1
, r
_
2
, r
_
3
, r
_
4
$
构成的SCFG推导,记作
\begin{displaymath}
d = r
_
1
\circ
r
_
2
\circ
r
_
3
\circ
r
_
4
\end{displaymath}
显然
$
d
$
定义了从源于句子生成目标语译文的一个过程
}
\end{itemize}
%%% 文法驱动的统计机器翻译流程
\begin{frame}
{
文法驱动的机器翻译流程
}
% Manual第42页
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
\subsection
{
同步上下文无关文法
}
...
...
Section04-Phrasal-and-Syntactic-Models/section04.tex
查看文件 @
15f965f0
...
...
@@ -46,7 +46,8 @@
\setbeamercolor
{
uppercol
}{
fg=white,bg=ugreen
}
\setbeamercolor
{
lowercol
}{
fg=black,bg=xtgreen
}
%\definecolor{ublue}{rgb}{0,0.298,0.525}
\definecolor
{
darkred
}{
rgb
}{
0.55, 0.0, 0.0
}
\definecolor
{
alizarin
}{
rgb
}{
0.82, 0.1, 0.26
}
\definecolor
{
ublue
}{
rgb
}{
0.152,0.250,0.545
}
\setbeamercolor
{
uppercolblue
}{
fg=white,bg=ublue
}
\setbeamercolor
{
lowercolblue
}{
fg=black,bg=blue!10
}
...
...
@@ -1686,11 +1687,11 @@ $d$是一个$(\textbf{s},\textbf{t})$上基于短语的翻译推导,$\textrm{P
\vspace
{
-2.0em
}
\begin{eqnarray}
&
&
\langle\ \textrm
{
X
}
,
\textrm
{
X
}
\ \rangle
\nonumber
\\
\visible
<2->
{&
\xrightarrow
[]
{
r
_
1
}
&
\langle\ \alert
{
\textrm
{
进口
}
\ \textrm
{
X
}_
1
}
,
\ \alert
{
\textrm
{
The imports
}
\ \textrm
{
X
}_
1
}
\ \rangle
\nonumber
\\
}
\visible
<3->
{&
\xrightarrow
[]
{
r
_
2
}
&
\langle\ \textrm
{
进口
}
\ \alert
{
\textrm
{
X
}_
1
\ \textrm
{
下降
}
\ \textrm
{
X
}_
2
}
,
\ \textrm
{
The imports
}
\ \alert
{
\textrm
{
X
}_
2
\ \textrm
{
X
}_
1
\ \textrm
{
fallen
}}
\ \rangle
\nonumber
\\
}
\visible
<4->
{&
\xrightarrow
[]
{
r
_
3
}
&
\langle\ \textrm
{
进口
}
\ \alert
{
\textrm
{
大幅度
}}
\ \textrm
{
下降
}
\ \textrm
{
X
}_
1
,
\nonumber
\\
}
\visible
<4->
{&
&
\ \textrm
{
The imports
}
\ \textrm
{
X
}_
1
\ \alert
{
\textrm
{
drastically
}}
\ \textrm
{
fallen
}
\ \rangle
\nonumber
\\
}
&
&
\langle\ \textrm
{
X
}
_
1,
\textrm
{
X
}_
1
\ \rangle
\nonumber
\\
\visible
<2->
{&
\xrightarrow
[]
{
r
_
1
}
&
\langle\ \alert
{
\textrm
{
进口
}
\ \textrm
{
X
}_
2
}
,
\ \alert
{
\textrm
{
The imports
}
\ \textrm
{
X
}_
2
}
\ \rangle
\nonumber
\\
}
\visible
<3->
{&
\xrightarrow
[]
{
r
_
2
}
&
\langle\ \textrm
{
进口
}
\ \alert
{
\textrm
{
X
}_
3
\ \textrm
{
下降
}
\ \textrm
{
X
}_
4
}
,
\ \textrm
{
The imports
}
\ \alert
{
\textrm
{
X
}_
4
\ \textrm
{
X
}_
3
\ \textrm
{
fallen
}}
\ \rangle
\nonumber
\\
}
\visible
<4->
{&
\xrightarrow
[]
{
r
_
3
}
&
\langle\ \textrm
{
进口
}
\ \alert
{
\textrm
{
大幅度
}}
\ \textrm
{
下降
}
\ \textrm
{
X
}_
4
,
\nonumber
\\
}
\visible
<4->
{&
&
\ \textrm
{
The imports
}
\ \textrm
{
X
}_
4
\ \alert
{
\textrm
{
drastically
}}
\ \textrm
{
fallen
}
\ \rangle
\nonumber
\\
}
\visible
<5->
{&
\xrightarrow
[]
{
r
_
3
}
&
\langle\ \textrm
{
进口
}
\ \textrm
{
大幅度
}
\ \textrm
{
下降
}
\ \alert
{
\textrm
{
了
}}
,
\nonumber
\\
}
\visible
<5->
{&
&
\ \textrm
{
The imports
}
\ \alert
{
\textrm
{
have
}}
\ \textrm
{
drastically
}
\ \textrm
{
fallen
}
\ \rangle
\nonumber
}
\end{eqnarray}
...
...
@@ -1708,14 +1709,60 @@ d = r_1 \circ r_2 \circ r_3 \circ r_4
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% glue rule
%%% glue rule
s
\begin{frame}
{
胶水规则
}
\begin{itemize}
\item
在实际系统中往往会遇到需要把两个局部翻译线性的拼接到一起的情况,因此可以在文法中引入胶水规则(glue rule)来处理,形式如下
\begin{eqnarray}
\textrm
{
S
}
&
\to
&
\langle\ \textrm
{
S
}_
1
\ \textrm
{
X
}_
2,
\ \textrm
{
S
}_
1
\ \textrm
{
X
}_
2
\ \rangle
\nonumber
\\
\textrm
{
S
}
&
\to
&
\langle\ \textrm
{
X
}_
1,
\ \textrm
{
X
}_
1
\ \rangle
\nonumber
\end{eqnarray}
\item
<2-> 本质上,胶水规则会顺序的拼接若干片段,最后整个句子会被归纳为
$
\textrm
{
S
}$
\begin{eqnarray}
\textrm
{
S
}
&
\to
&
\langle\ \textrm
{
S
}_
1
\ \textrm
{
X
}_
2,
\ \textrm
{
S
}_
1
\ \textrm
{
X
}_
2
\ \rangle
\nonumber
\\
&
\to
&
\langle\ \textrm
{
S
}_
3
\ \textrm
{
X
}_
4
\ \textrm
{
X
}_
2,
\ \textrm
{
S
}_
3
\ \textrm
{
X
}_
4
\ \textrm
{
X
}_
2
\ \rangle
\nonumber
\\
&
\to
&
...
\nonumber
\\
&
\to
&
\langle\ \textrm
{
X
}_
n
\
...
\ \textrm
{
X
}_
4
\ \textrm
{
X
}_
2,
\ \textrm
{
X
}_
n
\
...
\ \textrm
{
X
}_
4
\ \textrm
{
X
}_
2
\ \rangle
\nonumber
\end{eqnarray}
\item
<2-> 胶水规则大大提高了系统的健壮性(即使没有复杂规则,翻译可以顺序拼接),也体现了语言翻译单调性的假设
\end{itemize}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 基于句法的翻译系统流程
\begin{frame}
{
基于同步文法/句法的机器翻译流程
}
% Manual第42页
%%% 文法驱动的统计机器翻译流程
\begin{frame}
{
文法驱动的机器翻译流程
}
\begin{itemize}
\item
同步翻译文法给我们带来了新的思路:可以通过不断使用文法规则完成翻译过程。这类方法的基本流程如下:
\end{itemize}
\begin{center}
\begin{tikzpicture}
\begin{scope}
\tikzstyle
{
datanode
}
= [minimum width=10em,minimum height=1.7em,fill=ublue,rounded corners=0.7em];
\tikzstyle
{
modelnode
}
= [minimum width=10em,minimum height=1.7em,fill=darkred,rounded corners=0.2em];
\tikzstyle
{
decodingnode
}
= [minimum width=10em,minimum height=1.7em,fill=ugreen,rounded corners=0.2em];
\node
[datanode,anchor=north west] (bitext) at (0,0)
{{
\color
{
white
}
\scriptsize
{
训练用双语数据
}}}
;
\node
[modelnode, anchor=north west] (gi) at ([xshift=2em,yshift=-0.2em]bitext.south east)
{{
\color
{
white
}
\scriptsize
{
文法(规则)抽取
}}}
;
\node
[datanode,anchor=north east] (birules) at ([xshift=-2em,yshift=-0.2em]gi.south west)
{{
\color
{
white
}
\scriptsize
{
同步翻译文法
}}}
;
\node
[modelnode, anchor=north west] (training) at ([xshift=2em,yshift=-0.2em]birules.south east)
{{
\color
{
white
}
\scriptsize
{
特征值学习
}}}
;
\node
[datanode,anchor=north east] (model) at ([xshift=-2em,yshift=-0.2em]training.south west)
{{
\color
{
white
}
\scriptsize
{
翻译模型
}}}
;
\node
[decodingnode, anchor=north west] (tuning) at ([xshift=2em,yshift=-0.2em]model.south east)
{{
\color
{
white
}
\scriptsize
{
特征权重调优
}}}
;
\node
[datanode,anchor=north east] (tuningdata) at ([xshift=-2em,yshift=-0.2em]tuning.south west)
{{
\color
{
white
}
\scriptsize
{
调优用双语数据
}}}
;
\node
[decodingnode, anchor=north west] (decoding) at ([xshift=2em,yshift=-0.2em]tuningdata.south east)
{{
\color
{
white
}
\scriptsize
{
解码新句子
}}}
;
\draw
[->,very thick] ([yshift=-0.3em,xshift=0.1em]bitext.east) -- ([yshift=0.1em]gi.north west);
\draw
[->,very thick] ([yshift=-0.1em]gi.south west) -- ([yshift=0.3em,xshift=0.1em]birules.east);
\draw
[->,very thick] ([yshift=-0.3em,xshift=0.1em]birules.east) -- ([yshift=0.1em]training.north west);
\draw
[->,very thick] ([yshift=-0.1em]training.south west) -- ([yshift=0.3em,xshift=0.1em]model.east);
\draw
[->,very thick] ([yshift=-0.3em,xshift=0.1em]model.east) -- ([yshift=0.1em]tuning.north west);
\draw
[->,very thick] ([yshift=-0.1em]tuning.south) -- ([yshift=0.1em]decoding.north);
\draw
[->,very thick] ([yshift=0.3em,xshift=0.1em]tuningdata.east) -- ([yshift=-0.1em]tuning.south west);
\end{scope}
\end{tikzpicture}
\end{center}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
...
...
@@ -1728,6 +1775,12 @@ d = r_1 \circ r_2 \circ r_3 \circ r_4
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 关于文法的约束
\begin{frame}
{
文法的约束
}
% 把文法限制在合理的范围内,使得系统可以处理
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 特征
\begin{frame}
{
特征
}
% 还是David Chiang的论文
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论