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
3604de75
Commit
3604de75
authored
Jan 05, 2020
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pages of features
parent
d5ac0ef2
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
141 行增加
和
20 行删除
+141
-20
Section04-Phrasal-and-Syntactic-Models/section04-test.tex
+59
-17
Section04-Phrasal-and-Syntactic-Models/section04.tex
+82
-3
没有找到文件。
Section04-Phrasal-and-Syntactic-Models/section04-test.tex
查看文件 @
3604de75
...
...
@@ -149,28 +149,70 @@
\subsection
{
引入双语句法信息
}
%%%------------------------------------------------------------------------------------------------------------
%%% 翻译特征
\begin{frame}
{
特征
}
\subsection
{
规则匹配
}
%%%------------------------------------------------------------------------------------------------------------
%%% 基于树的解码 vs 基于串的解码
\begin{frame}
{
基于树的解码 vs 基于串的解码
}
\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
_
h,
\beta
_
h
\ \rangle
\to
\langle\ \alpha
_
r,
\beta
_
r,
\sim\ \rangle
$
的形式
\begin{itemize}
\item
$
\alpha
_
h
$
和
$
\beta
_
h
$
是规则左部的源语和目标语部分,对应树结构的根节点
\item
$
\alpha
_
r
$
和
$
\beta
_
r
$
是规则右部的源语和目标语部分,对应树结构
\item
$
\sim
$
表示
$
\alpha
_
r
$
和
$
\beta
_
r
$
中叶子非终结符的对应
\item
此外,定义
$
r
(
\alpha
_
r
)
$
和
$
r
(
\beta
_
r
)
$
为源语和目标语树结构的叶子节点序列。例如,对于规则
$
\langle\ \textrm
{
VP
}
,
\textrm
{
VP
}
\ \rangle
\to
\langle\ \textrm
{
VP
(
PP
}_{
1
}
\ \textrm
{
VP
(
VV
(
表示
)
NN
}_{
2
}
))
,
\textrm
{
VP
(
VBZ
(
was
)
VP
(
VBZ
}_{
2
}
\ \textrm
{
PP
}_{
1
}
))
$
,有
\\
\vspace
{
-1.5em
}
\begin{eqnarray}
r(
\alpha
_
r)
&
=
&
\textrm
{
PP
}_
1
\ \textrm
{
表示 NN
}_
2
\nonumber
\\
r(
\beta
_
r)
&
=
&
\textrm
{
was
}
\ \textrm
{
VBZ
}_
2
\ \textrm
{
PP
}_
1
\nonumber
\end{eqnarray}
\end{itemize}
\item
前面的公式本质上描述了一种基于串的解码,即对输入的源语言句子通过句法模型进行翻译,得到译文串。不过,搜索所有的推导导致巨大的解码空间。对于树到串和树到树翻译来说,源语言句法树是可见的,因此可以使用另一种解码方法 - 基于树的解码,即把输出入的源语句法树翻译为目标语串
\\
\end{itemize}
\centering
\begin{tabular}
{
l | l l
}
\textbf
{
对比
}
&
\textbf
{
基于树的解码
}
&
\textbf
{
基于串的解码
}
\\
\hline
解码方法
&
\parbox
{
0.35
\textwidth
}{
\begin{equation}
\hat
{
d
}
=
\argmax
_{
d
\in
D
_{
\textrm
{
tree
}}}
\textrm
{
score
}
(d)
\nonumber
\end{equation}
}
&
\parbox
{
0.35
\textwidth
}{
\begin{equation}
\hat
{
d
}
=
\argmax
_{
d
\in
D
}
\textrm
{
score
}
(d)
\nonumber
\end{equation}
}
\\
\hline
搜索空间
&
与输入的源语句法树
&
所有推导
$
D
$
\\
&
兼容的推导
$
D
_{
\textrm
{
tree
}}$
&
\\
\hline
适用模型
&
树到串、树到树
&
所有句法模型
\\
\hline
解码算法
&
CYK + 规则二叉化
&
chart解码
\\
\hline
速度
&
快
&
一般较慢
\end{tabular}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
\subsection
{
规则匹配
}
%%% 基于串的解码
\begin{frame}
{
二叉化+CKY
}
% NiuTrans Manual 和我EMNLP的论文,还有以前的文档
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 基于树的解码
\begin{frame}
{
基于树的解码
}
% 我COLING的文章、博士论文、NiuTrans Manual
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
\subsection
{
改进方法
}
%%%------------------------------------------------------------------------------------------------------------
%%% 改进1
\begin{frame}
{
改进:基于森林的翻译模型
}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 改进2
\begin{frame}
{
改进:句法软约束和模糊匹配
}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 改进3
\begin{frame}
{
改进:控制句法信息使用的程度
}
\end{frame}
\end{CJK}
\end{document}
Section04-Phrasal-and-Syntactic-Models/section04.tex
查看文件 @
3604de75
...
...
@@ -4381,21 +4381,100 @@ NP-BAR(NN$_1$ NP-BAR$_2$) $\to$ NN$_1$ NP-BAR$_2$
\item
$
\alpha
_
h
$
和
$
\beta
_
h
$
是规则左部的源语和目标语部分,对应树结构的根节点
\item
$
\alpha
_
r
$
和
$
\beta
_
r
$
是规则右部的源语和目标语部分,对应树结构
\item
$
\sim
$
表示
$
\alpha
_
r
$
和
$
\beta
_
r
$
中叶子非终结符的对应
\item
此外,定义
$
r(
\alpha
_
r)
$
和
$
r
(
\beta
_
r)
$
为源语和目标语树结构的叶子节点序列。例如,对于规则
$
\langle\ \textrm
{
VP
}
,
\textrm
{
VP
}
\ \rangle
\to
\langle\ \textrm
{
VP(PP
}_{
1
}
\ \textrm
{
VP(VV(表示) NN
}_{
2
}
)),
\textrm
{
VP(VBZ(was) VP(VBZ
}_{
2
}
\ \textrm
{
PP
}_{
1
}
))
$
,有
\\
\item
此外,定义
$
\tau
(
\alpha
_
r)
$
和
$
\tau
(
\beta
_
r)
$
为源语和目标语树结构的叶子节点序列。例如,对于规则
$
\langle\ \textrm
{
VP
}
,
\textrm
{
VP
}
\ \rangle
\to
\langle\ \textrm
{
VP(PP
}_{
1
}
\ \textrm
{
VP(VV(表示) NN
}_{
2
}
)),
\textrm
{
VP(VBZ(was) VP(VBZ
}_{
2
}
\ \textrm
{
PP
}_{
1
}
))
$
,有
\\
\vspace
{
-
1
.
5
em
}
\begin
{
eqnarray
}
r
(
\alpha
_
r
)
&
=
&
\textrm
{
PP
}_
1
\ \textrm
{
表示 NN
}_
2
\nonumber
\\
r
(
\beta
_
r
)
&
=
&
\textrm
{
was
}
\ \textrm
{
VBZ
}_
2
\ \textrm
{
PP
}_
1
\nonumber
\tau
(
\alpha
_
r
)
&
=
&
\textrm
{
PP
}_
1
\ \textrm
{
表示 NN
}_
2
\nonumber
\\
\tau
(
\beta
_
r
)
&
=
&
\textrm
{
was
}
\ \textrm
{
VBZ
}_
2
\ \textrm
{
PP
}_
1
\nonumber
\end
{
eqnarray
}
\end
{
itemize
}
\end
{
itemize
}
\end
{
frame
}
%%%------------------------------------------------------------------------------------------------------------
%%% 翻译特征(续)
\begin
{
frame
}{
特征
(
续
)
}
\begin
{
itemize
}
\item
\textbf
{
特征
1
-
2
: 短语翻译概率
}
,即正向翻译概率
$
\textrm
{
P
}
(
\tau
(
\beta
_
r)|
\tau
(
\alpha
_
r))
$
和反向翻译概率
$
\textrm
{
P
}
(
\tau
(
\alpha
_
r)|
\tau
(
\beta
_
r))
$
。这里,
$
\tau
(
\alpha
_
r)
$
和
$
\tau
(
\beta
_
r)
$
都被看做短语,因此可以直接复用短语系统的方法进行计算。
\item
\textbf
{
特征
3
-
4
: 词汇翻译概率
}
,即
$
\textrm
{
P
}_{
\textrm
{
lex
}}
(
\tau
(
\beta
_
r)|
\tau
(
\alpha
_
r))
$
和
$
\textrm
{
P
}_{
\textrm
{
lex
}}
(
\tau
(
\alpha
_
r)|
\tau
(
\beta
_
r))
$
。可以用短语系统中的词汇翻译概率描述源语和目标语单词对应的情况。
\item
<
2
-
>
\textbf
{
特征
5
:
$
n
$
-
gram语言模型
}
,即
$
\textrm
{
P
}_{
\textrm
{
lm
}}
(
\textbf
{
t
}
)
$
。度量译文的流畅度,可以使用大规模目标语单语数据得到。
\item
<
2
-
>
\textbf
{
特征
6
:译文长度
}
,即
$
|
\textbf
{
t
}
|
$
。避免模型倾向于短译文,同时让系统自动学习对译文长度的偏好。
\item
<
2
-
>
\textbf
{
特征
7
:翻译规则数量
}
。这个特征是为了避免模型仅仅使用少量特征构成翻译推导
(
因为翻译概率相乘,因子少结果一般会大一些
)
,同时让系统自动学习对使用规则数量的偏好。
\end
{
itemize
}
\end
{
frame
}
%%%------------------------------------------------------------------------------------------------------------
%%% 翻译特征(续)
\begin
{
frame
}{
特征
(
续
2
)
}
\begin
{
itemize
}
\item
\textbf
{
特征
8
:源语言被翻译为空的单词数量
}
。注意,空翻译规则
(
或特征
)
有时也被称作evil feature,这类特征在一些数据集上对BLEU有很好的提升作用,但是会造成人工评价的下降,因此需要谨慎使用。
\item
<
2
-
>
\textbf
{
特征
9
: 翻译规则生成概率
}
,即
$
\textrm
{
P
}_{
\textrm
{
rule
}}
(
\alpha
_
r,
\beta
_
r,
\sim
|
\alpha
_
h,
\beta
_
h)
$
。这个特征可以被看做是生成翻译推导的概率。
\item
<
2
-
>
\textbf
{
特征
10
:组合规则的数量
}
。学习使用组合规则
(
或最小规则
)
的偏好。
\item
<
2
-
>
\textbf
{
特征
11
:词汇化规则的数量
}
。学习使用含有终结符规则的偏好。
\item
<
2
-
>
\textbf
{
特征
12
:低频规则的数量
}
。学习使用训练数据中出现频次低于
3
的规则的偏好。低频规则大多并不可靠,这个特征本质上也是为了区分不同质量规则。
\item
<
3
-
>
\alert
{
注意!
}
特征
9
-
12
也被看做是句法特征。当然,还有很多很多特征,感兴趣可以自己设计或查阅相关论文。
\end
{
itemize
}
\end
{
frame
}
%%%------------------------------------------------------------------------------------------------------------
\subsection
{
规则匹配
}
%%%------------------------------------------------------------------------------------------------------------
%%% 解码模型
\begin
{
frame
}{
解码
}
\begin
{
itemize
}
\item
翻译时可以用如下式子计算每个推导的模型得分
\\
\vspace
{
-
1
em
}
\begin
{
eqnarray
}
\textrm
{
score
}
(
d,
\textbf
{
t
}
,
\textbf
{
s
}
)
&
=
&
\sum
_{
r
\in
d
}
\log
(
\textrm
{
score
}
(
r
))
+
\lambda
_{
\textrm
{
lm
}}
\log
(
\textrm
{
P
}_{
\textrm
{
lm
}}
(
\textbf
{
t
}
))
+
\lambda
_{
l
}
|
\textbf
{
t
}
|
\nonumber
\end
{
eqnarray
}
其中,
$
\textrm
{
score
}
(r)
$
表示每条规则的得分,由特征
1
-
4
和特征
7
-
12
共同计算得到,因此也可以把特征
1
-
4
和特征
7
-
12
看做是规则特征
\item
<
2
-
>
\alert
{
解码
}
是要找到使
$
\textrm
{
score
}
(d)
$
达到最大的翻译推导
$
d
$
\\
\begin
{
displaymath
}
\hat
{
d
}
=
\argmax
_{
d
\in
D
}
\textrm
{
score
}
(
d
)
\end
{
displaymath
}
其中
$
D
$
表示所有可能的推导构成的搜索空间。广义上来说,由于句法系统引入了非终结符和复杂的规则,它的推导空间会远大于短语系统,因此句法模型的解码器的好坏对性能影响很大
\end
{
itemize
}
\end
{
frame
}
%%%------------------------------------------------------------------------------------------------------------
%%% 基于树的解码 vs 基于串的解码
\begin
{
frame
}{
基于树的解码 vs 基于串的解码
}
\begin
{
itemize
}
\item
前面的公式本质上描述了一种基于串的解码,即对输入的源语言句子通过句法模型进行翻译,得到译文串。不过,搜索所有的推导导致巨大的解码空间。对于树到串和树到树翻译来说,源语言句法树是可见的,因此可以使用另一种解码方法
-
基于树的解码,即把输出入的源语句法树翻译为目标语串
\\
\end
{
itemize
}
\centering
\begin
{
tabular
}
{
l | l l
}
\textbf
{
对比
}
&
\textbf
{
基于树的解码
}
&
\textbf
{
基于串的解码
}
\\
\hline
解码方法
&
\parbox
{
0
.
35
\textwidth
}{
\begin
{
equation
}
\hat
{
d
}
=
\argmax
_{
d
\in
D
_{
\textrm
{
tree
}}}
\textrm
{
score
}
(
d
)
\nonumber
\end
{
equation
}
}
&
\parbox
{
0
.
35
\textwidth
}{
\begin
{
equation
}
\hat
{
d
}
=
\argmax
_{
d
\in
D
}
\textrm
{
score
}
(
d
)
\nonumber
\end
{
equation
}
}
\\
\hline
搜索空间
&
与输入的源语句法树
&
所有推导
$
D
$
\\
&
兼容的推导
$
D
_{
\textrm
{
tree
}}$
&
\\
\hline
适用模型
&
树到串、树到树
&
所有句法模型
\\
\hline
解码算法
&
CYK
+
规则二叉化
&
chart解码
\\
\hline
速度
&
快
&
一般较慢
\end
{
tabular
}
\end
{
frame
}
%%%------------------------------------------------------------------------------------------------------------
%%% 基于串的解码
\begin
{
frame
}{
二叉化
+
CKY
}
% NiuTrans Manual 和我EMNLP的论文,还有以前的文档
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论