3. 词法分析和语法分析基础
机器翻译并非是一个孤立的系统,它依赖于很多模块,并且需要多个学科知识
的融合。其中就会用到许多自然语言处理工具来对不同语言的文字进行分析。因此,
在正式开始介绍机器翻译的内容之前,本章会对相关的词法分析和语法分析知识进
行概述,包括:分词、命名实体识别、短语结构句法分析。它们都是自然语言处理中
的经典问题,而且在机器翻译中被广泛使用。本章会重点介绍这些任务的定义和求
解问题的思路。其中也会使用到统计建模方法,因此本章也可以被看作是第二章内
容的延伸。
3.1 问题概述
很多时候机器翻译系统被看作是孤立的“黑盒”系统(图3.1(a)将一段文本作
为输入送入机器翻译系统之后,系统输出翻译好的译文。但是真实的机器翻译系统
非常复杂,因为系统看到的输入和输出实际上只是一些符号串,这些符号并没有任
何意义,因此需要进一步对这些符号串进行处理才能更好的使用它们。比如,需要
定义翻译中最基本的单元是什么?符号串是否具有结构信息?如何用数学工具刻画
这些基本单元和结构?
3.1(b) 展示了一个机器翻译系统的输入和输出形式。可以看到,输入的中文词
“猫喜欢吃鱼”被加工成一个新的结构(图3.2直觉上,这个结构有些奇怪,
为上面多了很多新的符号,而且还有一些线将不同符号进行连接。实际上这就是一
种常见的句法表示
——
短语结构树。生成这样的结构会涉及两方面问题:
80 Chapter 3. 词法分析和语法分析基础 肖桐 朱靖波
猫喜欢吃鱼
Cats like eating fish
输入
输出
机器翻译系统
(a) 机器翻译系统被看作一个黑盒
猫喜欢吃鱼
IP
VP
VP
VV
喜欢
NP
NN
核心引擎
S
VP
VP
eating fish
VB
like
NP
NNS
cats
Cats like eating fish
输入
输出
实际的输入 实际的输出
(b) 机器翻译系统 = /后处理 + 核心引擎
3.1 机器翻译系统的结构
分词Word Segmentation):这个过程会把词串进行切分,切割成最小的具有
完整功能的单元
——
单词Word因为只有知道了什么是单词,机器翻译系
统才能完成对句子的表示、分析和生成。
句法分析Parsing):这个过程会对分词的结果进行进一步分析。比如,可
对句子进行浅层分析,得到句子中实体的信息(如人名、地名等)。也可以对
句子进行更深层次的分析,得到完整的句法结构,类似于图3.2中的结果。这种
结构可以被看作是对句子的进一步抽象,被称为短语结构树,比如,NP+VP
可以表示由名词短语Noun PhraseNP和动词短语Verb PhraseVP构成
的主谓结构。利用这些信息,机器翻译可以更加准确地对句子的结构进行分析
和生成。
IP
VP
VP
VV
喜欢
NP
NN
3.2 汉语句子“猫喜欢吃鱼”的分析结果(分词和句法分析)
类似地,机器翻译输出的结果也可以包含同样的信息。甚至系统输出英语译文
之后,还有一个额外的步骤来把部分英语单词的大小写恢复出来,比如,句首单词
的首字母要大写。
3.1 问题概述 81
一般来说,在送入机器翻译系统前需要对文字序列进行处理和加工,这个过程
被称为预处理Pre-processing类似地,在机器翻译模型输出译文后进行的处理被
称作后处理Post-processing这两个过程对机器翻译性能影响很大,比如,对于神
经机器翻译系统来说,不同的分词策略可能会造成翻译性能的天差地别。
值得注意的是,有些观点认为,对于机器翻译来说,不论是分词还是句法分析,
并不要求符合人的认知和语言学约束。换句话说,机器翻译所使用的“单词”“结
构”本身并不是为了符合人类的解释,它们更直接目的是为了进行翻译。从系统开
发的角度,有时候即使使用一些与人类的语言习惯有差别的处理,仍然会带来性能
的提升,比如在神经机器翻译中,在传统分词的基础上进一步使用双字节编码Byte
Pair EncodingBPE子词切分
[89]
会使得机器翻译性能大幅提高。当然,自然语言处
理中语言学信息的使用一直是学界关注的焦点。甚至关于语言学结构对机器翻译是
否有作用这个问题也有一些不同的观点。但是不能否认的是,无论是语言学的知识,
还是计算机自己学习到的知识,对机器翻译都是有价值的。在后续章节会看到,这
两种类型的知识对机器翻译帮助很大。
剩下的问题是如何进行句子的切分和结构的分析。思路有很多,一种常用的方
法是对问题进行概率化,用统计模型来描述问题并求解之。比如,一个句子切分的
好坏,并不是非零即一的判断,而是要估计出这种切分的可能性大小,最终选择可
能性最大的结果进行输出。这也是一种典型的用统计建模的方式来描述自然语言处
理问题的方法。
本章将会对上述问题及求解问题的方法进行介绍。并将统计建模应用到中文分
词、命名实体识别和短语结构句法分析等任务中。