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
fbd71acd
Commit
fbd71acd
authored
Aug 30, 2020
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wording (sec 3 introduction)
parent
4fcad82e
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
16 行增加
和
13 行删除
+16
-13
Chapter3/chapter3.tex
+16
-13
没有找到文件。
Chapter3/chapter3.tex
查看文件 @
fbd71acd
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
\chapter
{
词法分析和语法分析基础
}
\chapter
{
词法分析和语法分析基础
}
\parinterval
机器翻译并非是一个孤立的系统,它依赖于很多模块,并且需要
很多学科知识的融合。其中就会用到许多自然语言处理工具来对不同语言的文字进行分析。因此,在正式开始机器翻译内容的介绍之前,本章会对相关的词法分析和语法分析知识进行概述,包括:分词、命名实体识别、成分
句法分析。它们都是自然语言处理中的经典问题,而且在机器翻译中被广泛使用。本章会重点介绍这些任务的定义和求解问题的思路。其中也会使用到统计建模方法,因此本章也可以被看作是第二章内容的延伸。
\parinterval
机器翻译并非是一个孤立的系统,它依赖于很多模块,并且需要
多个学科知识的融合。其中就会用到许多自然语言处理工具来对不同语言的文字进行分析。因此,在正式开始机器翻译内容的介绍之前,本章会对相关的词法分析和语法分析知识进行概述,包括:分词、命名实体识别、短语结构
句法分析。它们都是自然语言处理中的经典问题,而且在机器翻译中被广泛使用。本章会重点介绍这些任务的定义和求解问题的思路。其中也会使用到统计建模方法,因此本章也可以被看作是第二章内容的延伸。
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% NEW SECTION
% NEW SECTION
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
\begin{itemize}
\begin{itemize}
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\item
{
\small\bfnew
{
分词
}}
\index
{
分词
}
(Segmentation)
\index
{
Segmentation
}
:这个过程会把词串进行切分,切割成最小的具有完整功能的单元
\ \dash\
单词
。因为只有知道了什么是单词,机器翻译系统才能完成对句子的表示、分析和生成。
\item
{
\small\bfnew
{
分词
}}
\index
{
分词
}
(Segmentation)
\index
{
Segmentation
}
:这个过程会把词串进行切分,切割成最小的具有完整功能的单元
\ \dash\
{
\small\bfnew
{
单词
}}
\index
{
单词
}
(Word
\index
{
单词
}
)
。因为只有知道了什么是单词,机器翻译系统才能完成对句子的表示、分析和生成。
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\item
{
\small\bfnew
{
句法分析
}}
\index
{
句法分析
}
(Parsing)
\index
{
Parsing
}
:这个过程会对分词的结果进行进一步分析。比如,可以对句子进行浅层分析,得到句子中实体的信息(如人名、地名等)。也可以对句子进行更深层次的分析,得到完整的句法结构,类似于图
\ref
{
fig:3.1-2
}
中的结果。这种结构可以被看作是对句子的进一步抽象,被称为短语结构树,比如,NP+VP就可以表示由名词短语(NP)和动词短语(VP)构成的主谓结构。利用这些信息,机器翻译可以更加准确地对句子的结构进行分析和生成。
\item
{
\small\bfnew
{
句法分析
}}
\index
{
句法分析
}
(Parsing)
\index
{
Parsing
}
:这个过程会对分词的结果进行进一步分析。比如,可以对句子进行浅层分析,得到句子中实体的信息(如人名、地名等)。也可以对句子进行更深层次的分析,得到完整的句法结构,类似于图
\ref
{
fig:3.1-2
}
中的结果。这种结构可以被看作是对句子的进一步抽象,被称为短语结构树,比如,NP+VP就可以表示由名词短语(NP)和动词短语(VP)构成的主谓结构。利用这些信息,机器翻译可以更加准确地对句子的结构进行分析和生成。
\vspace
{
0.5em
}
\vspace
{
0.5em
}
...
@@ -55,20 +55,20 @@
...
@@ -55,20 +55,20 @@
\begin{figure}
[htp]
\begin{figure}
[htp]
\centering
\centering
\input
{
./Chapter3/Figures/figure-analysis-of-sentence-participle
&
syntactic
}
\input
{
./Chapter3/Figures/figure-analysis-of-sentence-participle
&
syntactic
}
\caption
{
中文
句子``猫喜欢吃鱼''的分析结果(分词和句法分析)
}
\caption
{
汉语
句子``猫喜欢吃鱼''的分析结果(分词和句法分析)
}
\label
{
fig:3.1-2
}
\label
{
fig:3.1-2
}
\end{figure}
\end{figure}
%-------------------------------------------
%-------------------------------------------
\parinterval
类似地,机器翻译输出的结果也可以包含同样的信息。甚至系统输出英语译文之后,还有一个额外的步骤来把部分英语单词的大小写恢复出来,比如,上例中句首单词``Cats''的首字母要大写。
\parinterval
类似地,机器翻译输出的结果也可以包含同样的信息。甚至系统输出英语译文之后,还有一个额外的步骤来把部分英语单词的大小写恢复出来,比如,上例中句首单词``Cats''的首字母要大写。
\parinterval
一般来说,在送入机器翻译系统前需要对文字序列进行处理和加工,这个过程被称为
{
\small\bfnew
{
预处理
}}
\index
{
预处理
}
(Preprocessing)
\index
{
Preprocessing
}
。
同理
,在机器翻译模型输出译文后进行的处理被称作
{
\small\bfnew
{
后处理
}}
\index
{
后处理
}
(Postprocessing)
\index
{
Postprocessing
}
。这两个过程对机器翻译性能影响很大,比如,对于神经机器翻译系统来说,不同的分词策略可能会造成翻译性能的天差地别。
\parinterval
一般来说,在送入机器翻译系统前需要对文字序列进行处理和加工,这个过程被称为
{
\small\bfnew
{
预处理
}}
\index
{
预处理
}
(Preprocessing)
\index
{
Preprocessing
}
。
类似地
,在机器翻译模型输出译文后进行的处理被称作
{
\small\bfnew
{
后处理
}}
\index
{
后处理
}
(Postprocessing)
\index
{
Postprocessing
}
。这两个过程对机器翻译性能影响很大,比如,对于神经机器翻译系统来说,不同的分词策略可能会造成翻译性能的天差地别。
\parinterval
值得注意的是,有些观点认为,对于机器翻译来说,不论是分词还是句法分析,并不要求符合人的认知和语言学约束。换句话说,机器翻译所使用的``单词''和``结构''本身并不是为了符合人类的解释,它们更直接目的是为了进行翻译。从系统开发的角度,有时候即使使用一些与人类的语言习惯有差别的处理,仍然会带来性能的提升,比如在神经机器翻译中,在传统分词的基础上进一步使用
{
\small\bfnew
{
双字节编码
}}
\index
{
双字节编码
}
(Byte Pair Encoding,BPE)
\index
{
Byte Pair Encoding
}
子词切分会使得机器翻译性能大幅提高。当然,自然语言处理中语言学信息的使用一直是学界关注的焦点。甚至关于语言学结构对机器翻译是否有作用这个问题也有一些不同的观点。但是不能否认的是,无论是语言学的知识,还是计算机自己学习到的知识,对机器翻译都是有价值的。在后续章节会看到,这两种类型的知识对机器翻译帮助很大。
\parinterval
值得注意的是,有些观点认为,对于机器翻译来说,不论是分词还是句法分析,并不要求符合人的认知和语言学约束。换句话说,机器翻译所使用的``单词''和``结构''本身并不是为了符合人类的解释,它们更直接目的是为了进行翻译。从系统开发的角度,有时候即使使用一些与人类的语言习惯有差别的处理,仍然会带来性能的提升,比如在神经机器翻译中,在传统分词的基础上进一步使用
{
\small\bfnew
{
双字节编码
}}
\index
{
双字节编码
}
(Byte Pair Encoding,BPE)
\index
{
Byte Pair Encoding
}
子词切分会使得机器翻译性能大幅提高。当然,自然语言处理中语言学信息的使用一直是学界关注的焦点。甚至关于语言学结构对机器翻译是否有作用这个问题也有一些不同的观点。但是不能否认的是,无论是语言学的知识,还是计算机自己学习到的知识,对机器翻译都是有价值的。在后续章节会看到,这两种类型的知识对机器翻译帮助很大。
\parinterval
剩下的问题是如何进行句子的切分和结构的分析。思路有很多,一种常用的方法是对问题进行概率化,用统计模型来描述问题并求解之。比如,一个句子切分的好坏,并不是非零即一的判断,而是要估计出这种切分的可能性大小,最终选择可能性最大的结果进行输出。这也是一种典型的用统计建模的方式来描述自然语言处理问题的方法。
\parinterval
剩下的问题是如何进行句子的切分和结构的分析。思路有很多,一种常用的方法是对问题进行概率化,用统计模型来描述问题并求解之。比如,一个句子切分的好坏,并不是非零即一的判断,而是要估计出这种切分的可能性大小,最终选择可能性最大的结果进行输出。这也是一种典型的用统计建模的方式来描述自然语言处理问题的方法。
\parinterval
本章将会对上述问题及求解问题的方法进行介绍。并将统计建模应用到中文分词、命名实体识别和
成分
句法分析等任务中。
\parinterval
本章将会对上述问题及求解问题的方法进行介绍。并将统计建模应用到中文分词、命名实体识别和
短语结构
句法分析等任务中。
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% NEW SECTION
% NEW SECTION
...
@@ -76,7 +76,7 @@
...
@@ -76,7 +76,7 @@
\section
{
中文分词
}
\section
{
中文分词
}
\parinterval
对于机器翻译系统而言,输入的是已经切分好的单词序列,而不是原始的字符串(图
\ref
{
fig:3.2-1
}
)。比如,对于一个中文句子,单词之间是没有间隔的,因此需要把一个个的单词切分出来,这样机器翻译系统可以区分不同的翻译单元。甚至,可以对语言学上的单词进行进一步切分,得到词片段序列(比如:中国人
$
\to
$
中国/人)。
可以把上述过程看作是一种分词(Segmentation)过程,即:将一个输入的自然语言字符串切割成单元序列(token序列),每个单元
都对应可以处理的最小单位。
\parinterval
对于机器翻译系统而言,输入的是已经切分好的单词序列,而不是原始的字符串(图
\ref
{
fig:3.2-1
}
)。比如,对于一个中文句子,单词之间是没有间隔的,因此需要把一个个的单词切分出来,这样机器翻译系统可以区分不同的翻译单元。甚至,可以对语言学上的单词进行进一步切分,得到词片段序列(比如:中国人
$
\to
$
中国/人)。
广义上,可以把上述过程看作是一种分词过程,即:将一个输入的自然语言字符串切割成单元序列,每个
{
\small\bfnew
{
单元
}}
\index
{
单元
}
(Token
\index
{
Token
}
)
都对应可以处理的最小单位。
%----------------------------------------------
%----------------------------------------------
\begin{figure}
[htp]
\begin{figure}
[htp]
...
@@ -87,7 +87,7 @@
...
@@ -87,7 +87,7 @@
\end{figure}
\end{figure}
%-------------------------------------------
%-------------------------------------------
\parinterval
分词得到的单元序列可以是语言学上的词序列,也可以是根据其他方式定义的基本处理单元。在本章中,把分词得到的一个个单元称为
{
\small\bfnew
{
单词
}}
\index
{
单词
}
(Word)
\index
{
Word
}
,
或词,尽管这些单元可以不是语言学上的完整单词。而这个过程也被称作
{
\small\bfnew
{
词法分析
}}
\index
{
词法分析
}
(Lexical Analysis)
\index
{
Lexical Analysis
}
。除了汉语,词法分析在日语、泰语等单词之间无明确分割符的语言中有着广泛的应用,芬兰语、维吾尔语等一些形态学十分丰富的语言,也需要使用词法分析来解决复杂的词尾、词缀变化等形态学变化。
\parinterval
分词得到的单元序列可以是语言学上的词序列,也可以是根据其他方式定义的基本处理单元。在本章中,把分词得到的一个个单元称为
{
\small\bfnew
{
单词
}}
\index
{
单词
}
(Word)
\index
{
Word
}
或词,尽管这些单元可以不是语言学上的完整单词。而这个过程也被称作
{
\small\bfnew
{
词法分析
}}
\index
{
词法分析
}
(Lexical Analysis)
\index
{
Lexical Analysis
}
。除了汉语,词法分析在日语、泰语等单词之间无明确分割符的语言中有着广泛的应用,芬兰语、维吾尔语等一些形态学十分丰富的语言,也需要使用词法分析来解决复杂的词尾、词缀变化等形态学变化。
\parinterval
在机器翻译中,分词系统的好坏往往会决定译文的质量。分词的目的是定义系统处理的基本单元,那么什么叫做``词'' 呢?关于词的定义有很多,比如:
\parinterval
在机器翻译中,分词系统的好坏往往会决定译文的质量。分词的目的是定义系统处理的基本单元,那么什么叫做``词'' 呢?关于词的定义有很多,比如:
...
@@ -106,15 +106,18 @@
...
@@ -106,15 +106,18 @@
\end{definition}
\end{definition}
\parinterval
从语言学的角度来看,人们普遍认为词是可以单独运用的、包含意义的基本单位。这样可以使用有限的词组合出无限的句子,这也正体现出自然语言的奇妙之处。不过,机器翻译并不仅仅局限在语言学定义的单词。比如,神经机器翻译中广泛使用的BPE子词切分方法,可以被理解为将词的一部分也
进行切开,也就是得到词片段送给机器翻译系统使用。比如,对如下英文字符串,可以得到如下
切分结果:
\parinterval
从语言学的角度来看,人们普遍认为词是可以单独运用的、包含意义的基本单位。这样可以使用有限的词组合出无限的句子,这也正体现出自然语言的奇妙之处。不过,机器翻译并不仅仅局限在语言学定义的单词。比如,神经机器翻译中广泛使用的BPE子词切分方法,可以被理解为将词的一部分也
切分出来,也就是得到词片段送给机器翻译系统使用。比如,对如下英语字符串,可以得到
切分结果:
\parinterval
Interesting
\;
$
\to
$
\;
Interest/ing selection
\hspace
{
0.08em
}
$
\to
$
\;
se/lect/ion procession
\hspace
{
0.43em
}
$
\to
$
\;
pro/cess/ion
\vspace
{
0.8em
}
\parinterval
Interested
\hspace
{
0.62em
}
$
\to
$
\;
Interest/ed selecting
\hspace
{
0.34em
}
$
\to
$
\;
se/lect/ing processing
\hspace
{
0.22em
}
$
\to
$
\;
pro/cess/ing
\parinterval
Interests
\hspace
{
1.17em
}
$
\to
$
\;
Interest/s selected
\hspace
{
1.24em
}
$
\to
$
\;
se/lect/ed processed
\hspace
{
0.82em
}
$
\to
$
\;
pro/cess/ed
\noindent
\begin{tabular}
{
l l l
}
Interesting
\;
$
\to
$
\;
Interest/ing
&
selection
$
\to
$
\;
se/lect/ion
&
procession
$
\to
$
\;
pro/cess/ion
\\
Interested
$
\to
$
\;
Interest/ed
&
selecting
$
\to
$
\;
se/lect/ing
&
processing
$
\to
$
\;
pro/cess/ing
\\
Interests
$
\to
$
\;
Interest/s
&
selected
$
\to
$
\;
se/lect/ed
&
processed
$
\to
$
\;
pro/cess/ed
\end{tabular}
\vspace
{
0.
5
em
}
\vspace
{
0.
8
em
}
\parinterval
词法分析的重要性在自然语言处理领域已经有共识。如果切分的颗粒度很大,获得的单词的歧义也很小,比如``中华人民共和国''整体作为一个单词不存在歧义,而如果单独的一个单词``国'',可能会代表``中国''、``美国''等不同的国家,存在歧义。但是随着切分颗粒度的增大,特定单词出现的频度也随之降低,低频词容易和噪音混淆,系统很难进行学习。因此,处理这些问题并开发适合翻译任务的分词系统是机器翻译的第一步。
\parinterval
词法分析的重要性在自然语言处理领域已经有共识。如果切分的颗粒度很大,获得的单词的歧义也很小,比如``中华人民共和国''整体作为一个单词不存在歧义,而如果单独的一个单词``国'',可能会代表``中国''、``美国''等不同的国家,存在歧义。但是随着切分颗粒度的增大,特定单词出现的频度也随之降低,低频词容易和噪音混淆,系统很难进行学习。因此,处理这些问题并开发适合翻译任务的分词系统是机器翻译的第一步。
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论