Commit 1c83a0bf by xiaotong

updates of section 2

parent a103dc04
......@@ -14,28 +14,28 @@
\parinterval 机器翻译并非是一个孤立的系统,它依赖于很多模块,并且需要很多学科知识的融合。现在的机器翻译系统大多使用统计模型对翻译问题进行建模,同时也会用到一些的自然语言处理工具对不同语言的文字进行分析。因此,在正式开始机器翻译内容的介绍之前,本章将会对相关的基础知识进行概述,包括:概率论与统计建模基础、语言分析、语言建模等。
\parinterval 概率论与统计建模是当代机器翻译模型的基础,这里并不会深入介绍相关数学知识,但是会对基本的数学概念进行简要描述,确保后续使用到数学工具是完备的。我们会把重点放在如何利用统计建模的方式对自然语言处理问题进行描述的方法上,这种手段在统计机器翻译和神经机器翻译中会被使用。
\parinterval 概率论与统计建模是机器翻译方法的基础。这里会对机器翻译所涉及的基本数学概念进行简要描述,确保后续使用到的数学工具是完备的。我们会重点关注如何利用统计建模的方式对自然语言处理问题进行描述,这种手段在统计机器翻译和神经机器翻译中会被使用。
\parinterval 语言分析部分将以汉语为例介绍词法和句法分析。它们都是自然语言处理中的基本问题,而且在机器翻译中也会经常被使用。同样,我们会介绍这两个任务的定义和解决问题的思路。
\parinterval 语言分析部分将以汉语为例介绍词法和句法分析的基本概念。它们都是自然语言处理中的经典问题,而且在机器翻译中也会经常被使用。同样,我们会介绍这两个任务的定义和求解问题的思路。
\parinterval 语言建模是机器翻译中最常用的一种技术,它主要用于句子的生成和流畅度评价。我们会以传统统计语言模型为例,对语言建模的相关概念进行介绍。但是,这里并不深入探讨语言模型技术,在后面的章节中还有会单独的内容对神经网络语言模型等前沿技术进行讨论。
\parinterval 语言建模是机器翻译中最常用的一种技术,它主要用于句子的生成和流畅度评价。我们会以传统统计语言模型为例,对语言建模的相关概念进行介绍。但是,这里并不深入探讨语言模型技术,在后面的章节中还有会单独的内容对神经网络语言模型等前沿技术进行讨论。\\ \\ \\ \\
%--问题概述-----------------------------------------
\section{问题概述 }\index{Chapter2.1}
\parinterval 很多时候机器翻译系统被看作是孤立的``黑盒''系统(图 \ref {fig:2.1-1} (a))。我们将一段文本作为输入送入机器翻译系统,之后得到翻译好的译文输出。但是真实的机器翻译系统要复杂的多。因为系统看到的输入和输出的实际上只是一些符号串,这些符号并没有任何其它意义,因此需要进一步对这些符号串进行处理才能使机器翻译系统更好的使用它们,比如,需要定义翻译中最基本的单元是什么?符号串是否还有结构信息?如何用数学工具刻画这些基本单元和结构?
\parinterval 很多时候机器翻译系统被看作是孤立的``黑盒''系统(图 \ref {fig:2.1-1} (a))。我们将一段文本作为输入送入机器翻译系统,之后得到翻译好的译文输出。但是真实的机器翻译系统要复杂的多。因为系统看到的输入和输出的实际上只是一些符号串,这些符号并没有任何其它意义,因此需要进一步对这些符号串进行处理才能更好的使用它们,比如,需要定义翻译中最基本的单元是什么?符号串是否还有结构信息?如何用数学工具刻画这些基本单元和结构?
%----------------------------------------------
% 图2.1
\begin{figure}[htp]
\centering
\subfigure[机器翻译系统被看作一个黑盒] {\input{./Chapter2/Figures/figure-MT-system-as-a-black-box} }
\subfigure[机器翻系统 = 语言分析 + 翻译引擎] {\input{./Chapter2/Figures/figure-MT=language-analysis+translation-engine}}
\caption{机器翻译系统的结构对比}
\subfigure[机器翻系统 = 前/后处理 + 翻译引擎] {\input{./Chapter2/Figures/figure-MT=language-analysis+translation-engine}}
\caption{机器翻译系统的结构}
\label{fig:2.1-1}
\end{figure}
%-------------------------------------------
\parinterval\ref{fig:2.1-1} (b)展示了一个机器翻译系统处理输入输出的例子。可以看到,输入的中文字串``猫喜欢吃鱼''被加工成一个新的结构。
%----------------------------------------------
% 图2.2
\begin{figure}[htp]
......@@ -46,40 +46,40 @@
\end{figure}
%-------------------------------------------
\parinterval 直觉上,这个结构有些奇怪,因为上面多了很多新的符号,而且还有一些线将不同符号进行连接。实际上这就是语言分析中对句子常用的结构表示 – 短语结构树。从原始的词串转化为图\ref {fig:2.1-2} 的样子,有两个步骤:
\parinterval \ref{fig:2.1-1} (b)展示了一个机器翻译系统的输入和输出形式。可以看到,输入的中文字串``猫喜欢吃鱼''被加工成一个新的结构(图\ref {fig:2.1-2})。直觉上,这个结构有些奇怪,因为上面多了很多新的符号,而且还有一些线将不同符号进行连接。实际上这就是语言分析中对句子常用的结构表示 —— 短语结构树。从原始的词串转化为图\ref {fig:2.1-2} 的样子,有两个步骤:
\vspace{0.5em}
\begin{itemize}
\item 分词:这个过程会把词串进行切分,切割成最小的单元。因为只有知道了什么是待处理字符串的最小单元,机器翻译系统才能对其进行表示、分析和生成。
\item {\small\bfnew{分词}}(Segmentation):这个过程会把词串进行切分,切割成最小的单元。因为只有知道了什么是待处理字符串的最小单元,机器翻译系统才能对其进行表示、分析和生成。
\vspace{0.5em}
\item 句法分析:这个过程会对经过切分的句子进行进一步分析,得到句子的句法结构,这种结构是对句子的进一步抽象。比如,NP VP就可以表示名词短语(NP)和动词短语(VP)这种主谓结构。利用这些信息,机器翻译可以更加准确的对语言的结构进行分析和生成。
\item {\small\bfnew{句法分析}}(Parsing):这个过程会对分词的结果进行进一步分析,得到句子的句法结构,这种结构是对句子的进一步抽象。比如,NP+VP就可以表示了由名词短语(NP)和动词短语(VP)构成的主谓结构。利用这些信息,机器翻译可以更加准确的对语言的结构进行分析和生成。
\end{itemize}
\vspace{0.5em}
\parinterval 类似的,机器翻译输出的结果也可以包含同样的信息。甚至系统输出英文译文之后,还有一个额外的步骤来把部分英文单词的大小写恢复出来,比如,上例中句首单词Cats的首字母要大写。
\parinterval 一般来说,在送入机器翻译系统前需要对文字序列进行处理和加工的过程被称为{\small\sffamily\bfseries{预处理}}。同理,在机器翻译模型输出译文后的处理作被称作{\small\sffamily\bfseries{后处理}}。这两个过程对机器翻译性能影响很大,比如,在神经机器翻译里,预处理使用不同策略的切分可能会造成翻译性能的天差地别。
\parinterval 一般来说,在送入机器翻译系统前需要对文字序列进行处理和加工,这个过程被称为{\small\sffamily\bfseries{预处理}}(Pre-processing)。同理,在机器翻译模型输出译文后的处理作被称作{\small\sffamily\bfseries{后处理}}(Post-processing)。这两个过程对机器翻译性能影响很大,比如,在神经机器翻译里,不同的分词策略可能会造成翻译性能的天差地别。
\parinterval 值得注意的是,不论是分词还是句法分析,对于机器翻译来说并不是必须要求符合人的认知和语言学约束。换句话说,机器翻译所使用的``单词''和``结构''本身并不是为了符合人类的解释,它直接目的是更好的进行翻译。从系统的角度,有时候即使一些处理和我们的语言习惯有差别的``单词''和``结构'',仍然会带来性能的提升,比如在神经机器翻译中,在传统分词的基础上进一步使用双字节编码(Byte Pair Encoding,BPE)子词切分会使得机器翻译性能大幅提高。当然,自然语言处理中语言学信息的使用一直是学界关注的焦点。甚至关于语言学结构对机器翻译是否有作用这个问题也有争论。但是不能否认的是,无论是语言学的知识,还是计算机自己学习到的知识,对机器翻译都是有价值的。在后续章节会看到,这两种类型的知识对机器翻译帮助很大 \footnote[1]{笔者并不认同语言学结构对机器翻译的帮助有限,相反机器翻译需要更多的人类先验知识的指导。当然,这个问题不是这里讨论的重点。}
\parinterval 值得注意的是,有些观点认为,不论是分词还是句法分析,对于机器翻译来说并不要求符合人的认知和语言学约束。换句话说,机器翻译所使用的``单词''和``结构''本身并不是为了符合人类的解释,它们更直接目的是为了进行翻译。从系统开发的角度,有时候即使进行一些与我们的语言习惯有差别的处理,仍然会带来性能的提升,比如在神经机器翻译中,在传统分词的基础上进一步使用双字节编码(Byte Pair Encoding,BPE)子词切分会使得机器翻译性能大幅提高。当然,自然语言处理中语言学信息的使用一直是学界关注的焦点。甚至关于语言学结构对机器翻译是否有作用这个问题也有争论。但是不能否认的是,无论是语言学的知识,还是计算机自己学习到的知识,对机器翻译都是有价值的。在后续章节会看到,这两种类型的知识对机器翻译帮助很大 \footnote[1]{笔者并不认同语言学结构对机器翻译的帮助有限,相反机器翻译需要更多的人类先验知识的指导。当然,这个问题不是这里讨论的重点。}
\parinterval 剩下的问题是如何进行句子的切分和结构的分析。思路有很多,一种常用的方法是对问题进行概率化,用统计模型来描述问题并求解。比如,一个句子切分的好坏,并不是非零即一的判断,而是要估计出这种切分的可能性大小,最终选择可能性最大的结果进行输出。这也是一种典型的用统计建模的方式来描述自然语言处理问题。
\parinterval 剩下的问题是如何进行句子的切分和结构的分析。思路有很多,一种常用的方法是对问题进行概率化,用统计模型来描述问题并求解。比如,一个句子切分的好坏,并不是非零即一的判断,而是要估计出这种切分的可能性大小,最终选择可能性最大的结果进行输出。这也是一种典型的用统计建模的方式来描述自然语言处理问题。
\parinterval 本章将会对上述问题及方法进行介绍。首先,会用一个例子给出统计建模的基本思路,之后会应用这种方法进行中文分词、语言建模和句法分析。
\parinterval 本章将会对上述问题及求解问题的方法进行介绍。首先,会用一个例子给出统计建模的基本思路,之后会应用这种方法进行中文分词、语言建模和句法分析。
\vspace{-1em}
%--概率论基础-----------------------------------------
\section{概率论基础}\index{Chapter2.2}
\parinterval 为了便于后续内容的介绍,首先对本书中使用的概率和统计学概念和符号与定理进行说明。
\parinterval 为了便于后续内容的介绍,首先对本书中使用的概率和统计学概念进行说明。
%--随机变量和概率---------------------
\subsection{随机变量和概率}\index{Chapter2.2.1}
\parinterval 在自然界中,有这样一类具有偶然性的事件,它在一定条件下是否会发生是不确定的。例如,明天会下雨、掷一枚硬币是正面朝上、扔一个骰子的点数是5$\cdots\cdots$这类可能会发生也可能不会发生,通过大量的重复试验,能发现其发生具有某种规律性的事件叫做{\small\sffamily\bfseries{随机事件}}
\parinterval 在自然界中,很多{\small\bfnew{事件}}(Event)是否会发生是不确定的。例如,明天会下雨、掷一枚硬币是正面朝上、扔一个骰子的点数是5$\cdots\cdots$这类事件可能会发生也可能不会发生。通过大量的重复试验,能发现其具有某种规律性的事件叫做{\small\sffamily\bfseries{随机事件}}
\parinterval {\small\sffamily\bfseries{随机变量}}(random variable)是对随机事件发生可能状态的描述,是随机事件的数量表征。设$\Omega = \{ \omega \}$为一个随机试验的样本空间,$X=X(\omega)$就是定义在样本空间$\omega$上的、取值为实数的单值函数,即$X=X(\omega)$为随机变量,记为$X$。随机变量是一种能随机选取数值的变量,常用大写的英文字母或希腊字母表示,其取值通常用小写字母来表示。例如,用$A$表示一个随机变量,用$a$表示变量$A$的一个取值。根据随机变量可以选取的值,可以将其划分为离散变量和连续变量。
\parinterval {\small\sffamily\bfseries{随机变量}}(random variable)是对随机事件发生可能状态的描述,是随机事件的数量表征。设$\Omega = \{ \omega \}$为一个随机试验的样本空间,$X=X(\omega)$就是定义在样本空间$\omega$上的单值实数函数,即$X=X(\omega)$为随机变量,记为$X$。随机变量是一种能随机选取数值的变量,常用大写的英文字母或希腊字母表示,其取值通常用小写字母来表示。例如,用$A$ 表示一个随机变量,用$a$表示变量$A$的一个取值。根据随机变量可以选取的值,可以将其划分为离散变量和连续变量。
\parinterval 离散变量是指在其取值区间内可以被一一列举,总数有限并且可计算的数值变量。例如,用随机变量$X$代表某次投骰子出现的点数,点数只可能取1$\sim$6这6个整数,$X$是一个离散变量。
\parinterval 离散变量是指在其取值区间内可以被一一列举,总数有限并且可计算的数值变量。例如,用随机变量$X$代表某次投骰子出现的点数,点数只可能取1$\sim$6这6个整数,$X$是一个离散变量。
\parinterval 连续变量是在其取值区间内连续取值,无法被一一列举,具有无限个取值的变量。例如,图书馆的开馆时间是8:30-22:00,用$X$代表某人进入图书馆的时间,时间的取值范围是[8:30,22:00]这个时间区间,$X$是一个连续变量。
\parinterval 连续变量是在其取值区间内连续取值,无法被一一列举,具有无限个取值的变量。例如,图书馆的开馆时间是8:30-22:00,用$X$代表某人进入图书馆的时间,时间的取值范围是[8:30,22:00]这个时间区间,$X$是一个连续变量。
\parinterval 概率是度量随机事件呈现其每个可能状态的可能性的数值,本质上它是一个测度函数\cite{mao-prob-book-2011}\cite{kolmogorov2018foundations}。概率的大小表征了随机事件在一次试验中发生的可能性大小。用$\textrm{P}(\cdot )$表示一个随机事件的可能性,即事件发生的概率。比如$\textrm{P}(\textrm{太阳从东方升起})$表示``太阳从东方升起的可能性'',同理,$\textrm{P}(A=B)$表示的就是``$A=B$'' 这件事的可能性。
\parinterval {\small\bfnew{概率}}(Probability)是度量随机事件呈现其每个可能状态的可能性的数值,本质上它是一个测度函数\cite{mao-prob-book-2011}\cite{kolmogorov2018foundations}。概率的大小表征了随机事件在一次试验中发生的可能性大小。用$\textrm{P}(\cdot )$表示一个随机事件的可能性,即事件发生的概率。比如$\textrm{P}(\textrm{太阳从东方升起})$表示``太阳从东方升起的可能性'',同理,$\textrm{P}(A=B)$ 表示的就是``$A=B$'' 这件事的可能性。
\parinterval 在实际问题中,我们往往需要得到某些概率值。但是,真实的概率值往往是无法准确知道的,这时就需要对概率进行{\small\sffamily\bfseries{估计}},得到的结果是概率的{\small\sffamily\bfseries{估计值}}(estimate)。在概率论中,一个很简单的获取概率的方式是利用相对频度作为概率的估计值。如果$\{x_1,x_2,\dots,x_n \}$是一个试验的样本空间,在相同情况下重复试验N次,观察到样本$x_i (1\leq{i}\leq{n})$的次数为$n_N (x_i )$,那么$x_i$在这N次试验中的相对频率是$\frac{n_N (x_i )}{N}$。当N越来越大时,相对概率也就越来越接近真实概率$\textrm{P}(x_i)$,即$\lim_{N \to \infty}\frac{n_N (x_i )}{N}=\textrm{P}(x_i)$。 实际上,很多概率模型都等同于相对频度估计,比如,对于一个多项式分布变量的概率的极大似然估计就可以用相对频度估计实现。
......
\indexentry{Chapter1.1|hyperpage}{7}
\indexentry{Chapter1.2|hyperpage}{10}
\indexentry{Chapter1.3|hyperpage}{15}
\indexentry{Chapter1.4|hyperpage}{16}
\indexentry{Chapter1.4.1|hyperpage}{16}
\indexentry{Chapter1.4.2|hyperpage}{18}
\indexentry{Chapter1.4.3|hyperpage}{19}
\indexentry{Chapter1.4.4|hyperpage}{20}
\indexentry{Chapter1.4.5|hyperpage}{21}
\indexentry{Chapter1.5|hyperpage}{22}
\indexentry{Chapter1.5.1|hyperpage}{22}
\indexentry{Chapter1.5.2|hyperpage}{23}
\indexentry{Chapter1.5.2.1|hyperpage}{23}
\indexentry{Chapter1.5.2.2|hyperpage}{25}
\indexentry{Chapter1.5.2.3|hyperpage}{25}
\indexentry{Chapter1.6|hyperpage}{26}
\indexentry{Chapter1.7|hyperpage}{28}
\indexentry{Chapter1.7.1|hyperpage}{28}
\indexentry{Chapter1.7.1.1|hyperpage}{29}
\indexentry{Chapter1.7.1.2|hyperpage}{30}
\indexentry{Chapter1.7.2|hyperpage}{32}
\indexentry{Chapter1.8|hyperpage}{34}
\indexentry{Chapter2.1|hyperpage}{6}
\indexentry{Chapter2.2|hyperpage}{7}
\indexentry{Chapter2.2.1|hyperpage}{7}
\indexentry{Chapter2.2.2|hyperpage}{9}
\indexentry{Chapter2.2.3|hyperpage}{10}
\indexentry{Chapter2.2.4|hyperpage}{11}
\indexentry{Chapter2.2.5|hyperpage}{13}
\indexentry{Chapter2.2.5.1|hyperpage}{13}
\indexentry{Chapter2.2.5.2|hyperpage}{14}
\indexentry{Chapter2.2.5.3|hyperpage}{14}
\indexentry{Chapter2.3|hyperpage}{15}
\indexentry{Chapter2.3.1|hyperpage}{16}
\indexentry{Chapter2.3.2|hyperpage}{17}
\indexentry{Chapter2.3.2.1|hyperpage}{17}
\indexentry{Chapter2.3.2.2|hyperpage}{18}
\indexentry{Chapter2.3.2.3|hyperpage}{20}
\indexentry{Chapter2.4|hyperpage}{22}
\indexentry{Chapter2.4.1|hyperpage}{23}
\indexentry{Chapter2.4.2|hyperpage}{25}
\indexentry{Chapter2.4.2.1|hyperpage}{26}
\indexentry{Chapter2.4.2.2|hyperpage}{27}
\indexentry{Chapter2.4.2.3|hyperpage}{28}
\indexentry{Chapter2.5|hyperpage}{30}
\indexentry{Chapter2.5.1|hyperpage}{30}
\indexentry{Chapter2.5.2|hyperpage}{32}
\indexentry{Chapter2.5.3|hyperpage}{36}
\indexentry{Chapter2.6|hyperpage}{38}
......@@ -98,8 +98,8 @@
% CHAPTERS
%----------------------------------------------------------------------------------------
\include{Chapter1/chapter1}
%\include{Chapter2/chapter2}
%\include{Chapter1/chapter1}
\include{Chapter2/chapter2}
%\include{Chapter3/chapter3}
%\include{Chapter5/chapter5}
%\include{Chapter6/chapter6}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论