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
4ea42ace
Commit
4ea42ace
authored
Aug 05, 2020
by
曹润柘
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'master' 到 'caorunzhe'
Master 查看合并请求
!43
parents
c3c240fc
1b4bfe82
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
13 行增加
和
10 行删除
+13
-10
Chapter7/chapter7.tex
+13
-10
没有找到文件。
Chapter7/chapter7.tex
查看文件 @
4ea42ace
...
...
@@ -82,7 +82,7 @@
\end{figure}
%-------------------------------------------
\parinterval
图
\ref
{
fig:7-3
}
展示了一个引入短语之后的翻译结果。其中的翻译表不仅包含源语言和目标语言单词之间的对应,同时也包括短语(
$
n
$
-gram)的翻译。这样,``红
\
茶''可以作为一个短语包含在翻译表中,它所对应译文是``black tea''。对于待翻译句子,可以使用单词翻译的组合得到``红
\
茶''的译文``red tea'',也可以直接使用短语翻译得到``black tea''。由于短语翻译``红
\
茶
$
\to
$
black tea''的概率更高,因此最终会输出正确的译文``black tea''。
\parinterval
图
\ref
{
fig:7-3
}
展示了一个引入短语之后的翻译结果。其中的翻译表不仅包含源语言和目标语言单词之间的对应,同时也包括短语(
$
n
$
-gram)的翻译。这样,``红
\
茶''可以作为一个短语包含在翻译表中,它所对应译文是``black tea''。对于待翻译句子,可以使用单词翻译的组合得到``红
\
茶''的译文``red tea'',也可以直接使用短语翻译得到``black tea''。由于短语翻译``红
\
茶
$
\to
$
black tea''
的概率更高,因此最终会输出正确的译文``black tea''。
\parinterval
一般来说,统计机器翻译的建模对应着一个两阶段的过程:首先,得到每个翻译单元所有可能的译文;然后,通过对这些译文的组合得到可能的句子翻译结果,并选择最佳的目标语言句子输出。如果基本的翻译单元被定义下来,机器翻译系统可以学习这些单元翻译所对应的翻译知识(对应训练过程),之后运用这些知识对新的句子进行翻译(对应解码过程)。
...
...
@@ -360,17 +360,18 @@ d = {(\bar{s}_{\bar{a}_1},\bar{t}_1)} \circ {(\bar{s}_{\bar{a}_2},\bar{t}_2)} \c
\parinterval
公式
\ref
{
eq:7-12
}
中,
$
\ \textrm
{
exp
}
(
\textrm
{
score
}
(
d,
\mathbf
{
t
}
,
\mathbf
{
s
}
))
$
表示指数化的模型得分,记为
$
\textrm
{
mscore
}
(
d,
\mathbf
{
t
}
,
\mathbf
{
s
}
)
=
\textrm
{
exp
}
(
\textrm
{
score
}
(
d,
\mathbf
{
t
}
,
\mathbf
{
s
}
))
$
。于是,翻译问题就可以被描述为找到使函数
$
\textrm
{
mscore
}
(
d,
\mathbf
{
t
}
,
\mathbf
{
s
}
)
$
达到最大的
$
d
$
。由于,
$
\textrm
{
exp
}
(
\textrm
{
score
}
(
d,
\mathbf
{
t
}
,
\mathbf
{
s
}
))
$
和
$
\textrm
{
score
}
(
d,
\mathbf
{
t
}
,
\mathbf
{
s
}
)
$
是单调一致的,因此有时也直接把
$
\textrm
{
score
}
(
d,
\mathbf
{
t
}
,
\mathbf
{
s
}
)
$
当做模型得分。
\parinterval
判别式模型最大的好处在于它可以更灵活地引入特征。系统开发者可以设计任意的特征来描述翻译,特征的设计甚至都不需要统计上的解释,比如0-1特征、计数特征等。此外,判别式模型并不需要像生成式模型那样对问题进行具有统计学意义的``分解'',更不需要对每个步骤进行严格的数学推导。相反,它直接对问题的后验概率进行建模。由于不像生成式模型那样需要引入假设来对每个生成步骤进行化简,判别式模型对问题的刻画更加直接,因此也受到自然语言处理研究者的青睐。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
%----------------------------------------------------------------------------------------
\subsection
{
机器翻译中的特征
}
\subsection
{
何为特征
}
\parinterval
判别式模型最大的好处在于它可以更灵活地引入特征。
{
\color
{
red
}
某种意义上,每个特征都是在描述翻译的某方面属性。在各种统计分类模型中,也大量使用了``特征''这个概念(见XXX章)。比如,要判别一篇新闻是体育方面的还是文化方面的,可以设计一个分类器,用词作为特征。这个分类器就会根据有能力区分``体育''和``文化''两个类别的特征,最终决定这篇文章属于哪个类别。统计机器翻译也在做类似的事情。系统研发者可以通过设计翻译相关的特征,来区分不同翻译结果的好坏。翻译模型会综合这些特征对所有可能的译文进行打分和排序,并选择得分最高的译文输出。
}
\parinterval
{
\color
{
red
}
在判别式模型中,系统开发者可以设计任意的特征来描述翻译,特征的设计甚至都不需要统计上的解释,包括0-1特征、计数特征等。比如,可以设计特征来回答``you这个单词是否出现在译文中?''。如果答案为真,这个特征的值为1,否则为0。再比如,可以设计特征来回答``译文里有多少个单词?''。这个特征相当于一个统计目标语单词数的函数,它的值即为译文的长度。此外,还可以设计更加复杂的实数特征,甚至具有概率意义的特征。在随后的内容中还将看到,翻译的调序、译文流畅度等都会被建模为特征,而机器翻译系统会融合这些特征,综合得到最优的输出译文。
}
\parinterval
此外,判别式模型并不需要像生成式模型那样对问题进行具有统计学意义的``分解'',更不需要对每个步骤进行严格的数学推导。相反,它直接对问题的后验概率进行建模。由于不像生成式模型那样需要引入假设来对每个生成步骤进行化简,判别式模型对问题的刻画更加直接,因此也受到自然语言处理研究者的青睐。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
...
...
@@ -560,7 +561,9 @@ d = {(\bar{s}_{\bar{a}_1},\bar{t}_1)} \circ {(\bar{s}_{\bar{a}_2},\bar{t}_2)} \c
\subsection
{
基于距离的调序
}
\parinterval
基于距离的调序是最简单的一种调序模型。很多时候,语言的翻译基本上都是顺序的,也就是,译文单词出现的顺序和源语言单词的顺序基本上是一致的。反过来说,如果译文和源语言单词(或短语)的顺序差别很大,就认为出现了调序。
\parinterval
基于距离的调序是最简单的一种调序模型。
{
\color
{
red
}
第XX章中所讨论的``扭曲度''本质上就是一种调序模型。只不过第XX章所涉及的扭曲度描述的单词的调序问题,而这里需要把类似的概念推广到短语。
}
\parinterval
{
\color
{
red
}
基于距离的调序的一个基本假设是:
}
语言的翻译基本上都是顺序的,也就是,译文单词出现的顺序和源语言单词的顺序基本上是一致的。反过来说,如果译文和源语言单词(或短语)的顺序差别很大,就认为出现了调序。
\parinterval
基于距离的调序方法的核心思想就是度量当前翻译结果与顺序翻译之间的差距。对于译文中的第
$
i
$
个短语,令
$
start
_
i
$
表示它所对应的源语言短语中第一个词所在的位置,
$
end
_
i
$
表示它所对应的源语言短语中最后一个词所在的位置。于是,这个短语(相对于前一个短语)的调序距离为:
\begin{eqnarray}
...
...
@@ -582,10 +585,10 @@ dr = start_i-end_{i-1}-1
\parinterval
如果把调序距离作为特征,一般会使用指数函数
$
f
(
dr
)
=
a
^{
|dr|
}$
作为特征函数(或者调序代价的函数),其中
$
a
$
是一个参数,控制调序距离对整个特征值的影响。调序距离
$
dr
$
的绝对值越大,调序代价越高。基于距离的调序模型比较适用于像法–英翻译这样的任务,因为两种语言的语序基本上是一致的。但是,对于汉–日翻译,由于句子结构存在很大差异(日语是谓词后置,而汉语中谓词放在宾语前),使用基于距离的调序会带来一些问题。因此,具体应用时应该根据语言之间的差异性有选择的使用该模型。
%----------------------------------------------------------------------------------------
% NEW SUB
SUB
-SECTION
% NEW SUB-SECTION
%----------------------------------------------------------------------------------------
\subs
ubs
ection
{
基于方向的调序
}
\subsection
{
基于方向的调序
}
\parinterval
基于方向的调序模型是另一种常用的调序模型。该模型是一种典型的词汇化调序模型,因此调序的结果会根据不同短语有所不同。简单来说,在目标语言端连续的情况下,该模型会判断两个双语短语在源语言端的调序情况,包含三种调序类型:顺序的单调翻译(M)、与前一个短语交换位置(S)、非连续翻译(D)。因此,这个模型也被称作MSD调序模型
\cite
{
Gros2008MSD
}
。
...
...
@@ -620,10 +623,10 @@ dr = start_i-end_{i-1}-1
\parinterval
具体实现时,通常使用词对齐对两个短语间的调序关系进行判断。图
\ref
{
fig:7-22
}
展示了这个过程。先判断短语的左上角和右上角是否存在词对齐,再根据其位置对调序类型进行划分。每个短语对应的调序概率都可以用相对频率估计进行计算。而MSD调序模型也相当于在短语表中的每个双语短语后添加6个特征。不过,调序模型一般并不会和短语表一起存储,因此在系统中通常会看到两个独立的模型文件,分别保存短语表和调序模型。
%----------------------------------------------------------------------------------------
% NEW SUB
SUB
-SECTION
% NEW SUB-SECTION
%----------------------------------------------------------------------------------------
\subs
ubs
ection
{
基于分类的调序
}
\subsection
{
基于分类的调序
}
\parinterval
在MSD调序中,双语短语所对应的调序概率
$
\textrm
{
P
}
(
o
_
i|
\bar
{
s
}_{
a
_
i
}
,
\bar
{
t
}_
i, a
_{
i
-
1
}
, a
_
i
)
$
是用极大似然估计方法进行计算的。但是,这种方法也会面临数据稀疏问题,同时对调序产生影响的细致特征也没有考虑进来。另一种有效的方法是直接用统计分类模型对调序进行建模,比如,可以使用最大熵、SVM等分类器输出调序概率或者得分
\cite
{
xiong2006maximum,DBLP:journals/coling/OchN04,DBLP:conf/naacl/KumarB05
}
。对于基于分类的调序模型,有两方面问题需要考虑:
...
...
@@ -668,7 +671,7 @@ dr = start_i-end_{i-1}-1
%----------------------------------------------------------------------------------------
\sectionnewpage
\s
ubs
ection
{
最小错误率训练
}
\label
{
subsection-4.2.6
}
\section
{
最小错误率训练
}
\label
{
subsection-4.2.6
}
\parinterval
除了特征设计,统计机器翻译也需要找到每个特征所对应的最优权重
$
\lambda
_
i
$
。这也就是机器学习中所说的模型训练问题。不过,需要指出的是,统计机器翻译关于模型训练的定义与传统机器学习稍有不同。在统计机器翻译中,短语抽取和翻译概率的估计被看作是
{
\small\bfnew
{
模型训练
}}
\index
{
模型训练
}
(Model Training)
\index
{
Model Training
}
,也就是说这里的模型训练是指特征函数的学习;而特征权重的训练,一般被称作
{
\small\bfnew
{
权重调优
}}
\index
{
权重调优
}
(Weight Tuning)
\index
{
Weight Tuning
}
,而这个过程才真正对应了传统机器学习(如分类任务)中的模型训练过程。在本章中,如果没有特殊说明,权重调优就是指特征权重的学习,模型训练是指短语抽取和特征函数的学习。
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论