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
d248635b
Commit
d248635b
authored
Aug 12, 2020
by
曹润柘
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'master' 到 'caorunzhe'
Master 查看合并请求
!53
parents
23482cdc
02a256f0
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
51 行增加
和
46 行删除
+51
-46
Chapter7/chapter7.tex
+11
-46
Chapter8/chapter8.tex
+39
-0
mt-book-xelatex.tex
+1
-0
没有找到文件。
Chapter7/chapter7.tex
查看文件 @
d248635b
...
...
@@ -26,11 +26,20 @@
\parinterval
机器翻译的一个问题是要定义翻译的基本单元是什么。比如,可以像第三章介绍的那样,以单词为单位进行翻译,即把句子的翻译看作是单词之间对应关系的一种组合。基于单词的模型是符合人类对翻译问题的认知的,因为单词本身就是人类加工语言的一种基本单元。另一方面,在进行翻译时也可以使用一些更``复杂''的知识。比如,很多词语间的搭配需要根据语境的变化进行调整,而且对于句子结构的翻译往往需要更上层的知识,如句法知识。因此,在对单词翻译进行建模的基础上,需要探索其他类型的翻译知识,使得搭配和结构翻译等问题可以更好地被建模。
\parinterval
本章会介绍基于短语和基于句法的翻译模型。在过去二十年中,它们一直是机器翻译的主流方法。相比于基于单词的翻译模型,基于短语和基于句法的模型可以更好地对单词之间的依赖关系进行描述,同时可以对句子的上层结构进行有效的表示。这些方法也在相当长的一段时期内占据着机器翻译的统治地位。虽然近些年随着神经机器翻译的崛起,基于短语和基于句法的统计翻译模型有些``降温'',但是它仍然是机器翻译的主要框架之一,其中的思想和很多技术手段对今天的机器翻译研究仍然有很好的借鉴意义。
%----------------------------------------------------------------------------------------
% NEW SECTION
%----------------------------------------------------------------------------------------
\sectionnewpage
\section
{
翻译中的结构信息
}
\section
{
翻译中的短语信息
}
不难发现,基于单词的模型并不能很好地捕捉单词间的搭配关系。相比之下,使用更大颗粒度的翻译单元是一种对搭配进行处理的方法。下面一起来看看,基于单词的模型所产生的问题以及如何使用短语缓解该问题。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
%----------------------------------------------------------------------------------------
\subsection
{
基于词的翻译所带来的问题
}
\parinterval
首先,回顾一下基于单词的统计翻译模型是如何完成翻译的。图
\ref
{
fig:7-1
}
展示了一个实例。其中,左侧是一个单词的``翻译表'',它记录了源语言(中文)单词和目标语言(英文)单词之间的对应关系,以及这种对应的可能性大小(用P表示)。在翻译时,会使用这些单词一级的对应,生成目标语言译文。比如,图
\ref
{
fig:7-1
}
右侧就展示了一个基于词的模型生成的翻译结果,其中
$
\mathbf
{
s
}$
和
$
\mathbf
{
t
}$
分别表示源语言和目标语言句子,单词之间的连线表示两个句子中单词一级的对应。
...
...
@@ -108,52 +117,8 @@
\end{figure}
%-------------------------------------------
\parinterval
实际上,单词本身也是一种短语。从这个角度说,基于单词的翻译模型是包含在基于短语的翻译模型中的。而这里的所说的短语包括多个连续的单词,可以直接捕捉翻译中的一些局部依赖。而且,由于引入了更多样翻译单元,可选择的翻译路径数量也大大增加。本质上,引入更大颗粒度的翻译单元给建模增加了灵活性,同时增大了翻译假设空间。如果建模合理,更多的翻译路径会增加找到高质量译文的机会。在
\ref
{
section-4.2
}
节还将看到,基于短语的模型会从多个角度对翻译问题进行描述,包括基础数学建模、调序等等。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
%----------------------------------------------------------------------------------------
\subsection
{
句子的结构信息
}
\parinterval
使用短语的优点在于可以捕捉具有完整意思的连续词串,因此能够对局部上下文信息进行建模。当单词之间的搭配和依赖关系出现在连续词串中时,短语可以很好地对其进行描述。但是,当单词之间距离很远时,使用短语的``效率''很低。同
$
n
$
-gram语言模型一样,当短语长度变长时,数据会变得非常稀疏。比如,很多实验已经证明,测试数据中超过5个的连续单词在训练数据中往往是很低频的现象,更长的短语甚至都很难在训练数据中找到。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter7/Figures/figure-long-distance-dependence-in-zh2en-translation
}
\caption
{
汉英翻译中的长距离依赖
}
\label
{
fig:7-6
}
\end{figure}
%-------------------------------------------
\parinterval
当然,可以使用平滑算法对长短语的概率进行估计,但是使用过长的短语在实际系统研发中仍然不现实。图
\ref
{
fig:7-6
}
展示了一个汉语到英语的翻译实例。源语言的两个短语(蓝色和红色高亮)在译文中产生了调序。但是,这两个短语在源语言句子中横跨11个单词。如果直接使用这个11个单词构成的短语进行翻译,显然会有非常严重的数据稀疏问题,因为很难期望在训练数据中见到一模一样的短语。
\parinterval
如果仅仅使用连续词串不能处理所有的翻译问题,根本的原因在于句子的表层串很难描述片段之间大范围的依赖。一个新的思路是使用句子的结构信息进行建模。第二章已经介绍了句子的句法表示形式。对于每个句子,都可以用句法树描述它的结构。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter7/Figures/figure-chinese-syntax-tree
}
\caption
{
一个英文句法树(短语结构树)
}
\label
{
fig:7-7
}
\end{figure}
%-------------------------------------------
\parinterval
图
\ref
{
fig:7-7
}
就展示了一棵英文句法树(短语结构树)。句法树描述了一种递归的结构,每个句法结构都可以用一个子树来描述,子树之间的组合可以构成更大的子树,最终完成整个句子的表示。相比线性的序列模型,树结构更容易处理大片段之间的关系。比如,两个在序列中距离``很远''的单词,在树结构中可能会``很近''。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter7/Figures/figure-example-of-translation-use-syntactic-structure
}
\caption
{
使用句法结构进行机器翻译的实例
}
\label
{
fig:7-8
}
\end{figure}
%-------------------------------------------
\parinterval
句法树结构可以赋予机器翻译一种对语言进一步抽象的能力,这样,并不需要使用连续词串,而是通过句法结构来对大范围的译文生成和调序进行建模。图
\ref
{
fig:7-8
}
是一个在翻译中融入源语言(中文)句法信息的实例。这个例子中,介词短语包含15个单词,因此,使用短语很难涵盖``在
$
...
$
后''这样的片段。这时,系统会把``在
$
...
$
后''错误的翻译为``In
$
...
$
''。通过句法树,可以知道``在
$
...
$
后''对应着一个完整的子树结构PP(介词短语)。因此也很容易知道介词短语中``在
$
...
$
后''是一个模板(红色),而``在''和``后''之间的部分构成从句部分(蓝色)。最终得到正确的译文``After
$
...
$
''。
\parinterval
实际上,单词本身也是一种短语。从这个角度说,基于单词的翻译模型是包含在基于短语的翻译模型中的。而这里的所说的短语包括多个连续的单词,可以直接捕捉翻译中的一些局部依赖。而且,由于引入了更多样翻译单元,可选择的翻译路径数量也大大增加。本质上,引入更大颗粒度的翻译单元给建模增加了灵活性,同时增大了翻译假设空间。如果建模合理,更多的翻译路径会增加找到高质量译文的机会。在
\ref
{
section-7.2
}
节还将看到,基于短语的模型会从多个角度对翻译问题进行描述,包括基础数学建模、调序等等。
\parinterval
使用句法信息在机器翻译中不新鲜。在基于规则和模板的翻译模型中,就大量地使用了句法等结构信息。只是由于早期句法分析技术不成熟,系统的整体效果并不突出。在统计机器翻译时代,句法可以很好地融合在统计建模中。通过概率化的文法设计,可以对翻译过程进行很好的描述。在本章的
\ref
{
section-4.3
}
节和
\ref
{
section-4.4
}
节中将会详细讨论句法信息在统计机器翻译中的应用。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
%----------------------------------------------------------------------------------------
...
...
Chapter8/chapter8.tex
查看文件 @
d248635b
...
...
@@ -29,6 +29,45 @@
\sectionnewpage
\section
{
翻译中句法信息的使用
}
\parinterval
使用短语的优点在于可以捕捉具有完整意思的连续词串,因此能够对局部上下文信息进行建模。当单词之间的搭配和依赖关系出现在连续词串中时,短语可以很好地对其进行描述。但是,当单词之间距离很远时,使用短语的``效率''很低。同
$
n
$
-gram语言模型一样,当短语长度变长时,数据会变得非常稀疏。比如,很多实验已经证明,测试数据中超过5个的连续单词在训练数据中往往是很低频的现象,更长的短语甚至都很难在训练数据中找到。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter7/Figures/figure-long-distance-dependence-in-zh2en-translation
}
\caption
{
汉英翻译中的长距离依赖
}
\label
{
fig:7-6
}
\end{figure}
%-------------------------------------------
\parinterval
当然,可以使用平滑算法对长短语的概率进行估计,但是使用过长的短语在实际系统研发中仍然不现实。图
\ref
{
fig:7-6
}
展示了一个汉语到英语的翻译实例。源语言的两个短语(蓝色和红色高亮)在译文中产生了调序。但是,这两个短语在源语言句子中横跨11个单词。如果直接使用这个11个单词构成的短语进行翻译,显然会有非常严重的数据稀疏问题,因为很难期望在训练数据中见到一模一样的短语。
\parinterval
如果仅仅使用连续词串不能处理所有的翻译问题,根本的原因在于句子的表层串很难描述片段之间大范围的依赖。一个新的思路是使用句子的结构信息进行建模。第二章已经介绍了句子的句法表示形式。对于每个句子,都可以用句法树描述它的结构。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter7/Figures/figure-chinese-syntax-tree
}
\caption
{
一个英文句法树(短语结构树)
}
\label
{
fig:7-7
}
\end{figure}
%-------------------------------------------
\parinterval
图
\ref
{
fig:7-7
}
就展示了一棵英文句法树(短语结构树)。句法树描述了一种递归的结构,每个句法结构都可以用一个子树来描述,子树之间的组合可以构成更大的子树,最终完成整个句子的表示。相比线性的序列模型,树结构更容易处理大片段之间的关系。比如,两个在序列中距离``很远''的单词,在树结构中可能会``很近''。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter7/Figures/figure-example-of-translation-use-syntactic-structure
}
\caption
{
使用句法结构进行机器翻译的实例
}
\label
{
fig:7-8
}
\end{figure}
%-------------------------------------------
\parinterval
句法树结构可以赋予机器翻译一种对语言进一步抽象的能力,这样,并不需要使用连续词串,而是通过句法结构来对大范围的译文生成和调序进行建模。图
\ref
{
fig:7-8
}
是一个在翻译中融入源语言(中文)句法信息的实例。这个例子中,介词短语包含15个单词,因此,使用短语很难涵盖``在
$
...
$
后''这样的片段。这时,系统会把``在
$
...
$
后''错误的翻译为``In
$
...
$
''。通过句法树,可以知道``在
$
...
$
后''对应着一个完整的子树结构PP(介词短语)。因此也很容易知道介词短语中``在
$
...
$
后''是一个模板(红色),而``在''和``后''之间的部分构成从句部分(蓝色)。最终得到正确的译文``After
$
...
$
''。
\parinterval
使用句法信息在机器翻译中不新鲜。在基于规则和模板的翻译模型中,就大量地使用了句法等结构信息。只是由于早期句法分析技术不成熟,系统的整体效果并不突出。在数据驱动的方法中,句法可以很好地融合在统计建模中。通过概率化的文法设计,可以对翻译过程进行很好的描述。
%----------------------------------------------------------------------------------------
% NEW SECTION
%----------------------------------------------------------------------------------------
...
...
mt-book-xelatex.tex
查看文件 @
d248635b
...
...
@@ -148,6 +148,7 @@
\include
{
Chapter15/chapter15
}
\include
{
Chapter16/chapter16
}
\include
{
Chapter17/chapter17
}
\include
{
Chapter18/chapter18
}
\include
{
ChapterAppend/chapterappend
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论