前言
计算语言学,也称自然语言处理或自然语言理解,它是研究如何利用计算机来分析、处理和理解自然语言的一门学科。计算语言学是植根于计算机科学、语言学和数学等多学科沃土而成长起来的一门新兴学科。一般情况下,处理自然语言不仅要有语言学方面的知识,而且还要有数学和计算机科学方面的知识,因此,计算语言学就成为一门介于语言学、数学和计算机科学之间的边缘性交叉学科。
本书第1章主要介绍计算语言学与计算机科学、数学和语言学学科之间的关系,并介绍了计算语言学的基本方法、主要内容、应用领域以及发展过程。第2章主要介绍了自然语言处理常用的语法词典、语义词典和语义框架词典及其应用。语法词典介绍了《现代汉语语法信息词典》,语义词典介绍了wordnet 、《同义词词林》和《知网》,除此之外还介绍了语义框架词典framenet。第3章主要介绍汉语的切词、切词歧义以及如何消歧,介绍了英语的形态分析及主要分析算法以及日语的分词、分词歧义、分词算法和日语开源分词软件。第4章主要介绍词性标注的4种方法——规则方法、统计方法、规则与统计结合以及基于转换的错误驱动方法。重点介绍用隐马尔可夫模型、条件随机场和最大熵模型进行词性标注的统计处理过程。第5章主要介绍乔姆斯基的4种类型的文法和4种类型的自动机。文法和自动机是刻画语言的有效手段,文法用来生成语言中的句子,自动机用来识别语言的句子,就描述一种语言而言,两者是统一的。前者属于形式语法理论,后者属于自动机理论。第6章主要介绍20世纪50年代以来发展起来的用于自然语言处理的一些重要的句法理论,主要有基于类的语法理论和基于词的语法理论,基于类的语法理论有:转换生成语法、树粘接语法、词汇功能语法、功能合一语法、广义短语结构语法和中心词驱动的短语结构语法。基于词的语法理论包括:范畴语法、依存语法和链语法等。乔姆斯基提出的短语结构语法分析能力不高,分析时难以区分大量的不合语法的句子,生成能力过强。后来乔姆斯基提出了转换生成语法来克服短语结构语法的这些局限性,但转换生成语法本身也有局限性,它的生成能力过强。于是,乔姆斯基提出管辖约束理论来限制转换生成语法过强的生成能力。然而,由于转换生成语法通常要涉及若干个句子之间的关系,在机器翻译和自然语言处理中使用起来很不方便,不如短语结构语法那样,就一个句子来分析一个句子,它的成分结构是单一的,非常便于进行机器翻译的语法分析和自然语言处理。计算语言学的学者们抛弃了转换生成语法,又转向短语结构语法,于是80年代以来出现了各种增强的短语结构语法——词汇功能语法、功能合一语法、广义短语结构语法、中心词驱动的短语结构语法等,这些语法都采用了复杂特征结构来改进短语结构语法单一的特征,采用合一运算来改进传统的集合运算,从而有效地克服了短语结构语法的缺点,保持了短语结构语法的优点。基于词的语法与基于类的语法不同,把语言知识主要都记录在词典中。第7章主要介绍了用于自然语言分析的扩充转移网络、Early分析算法、Tomita分析算法、Chart分析算法和CYK分析算法。基于扩充转移网络的句法分析的优点在于所定义的操作接近人在理解语言时所采用的操作,缺点是随着结点的增多,计算的复杂性就会急剧地增长,修改时非常困难。Tomita分析算法、Chart分析算法等都可以运用复杂特征集和合一运算机制对短语结构语法进行分析。Tomita分析算法改进了LR分析算法,是一种高效的自然语言分析方法。Chart分析算法采用了线图(chart)来记录分析结果,线图可以表示互不相连的树,可以表示歧义。CYK算法是一种并行的分析算法。由于其算法容易实现、易于被人理解,因此被广泛应用于机器翻译中。第8章主要介绍了用于自然语言处理的一些语义理论以及如何运用这些理论。第9章主要介绍了语料库及其标注、n元模型、HMM模型及HMM在语音识别和组块识别中的应用、随机上下文无关语法及在句法语义消歧中的应用、基于长度的句子对齐、支持向量机及用于入声识别和最大熵模型及其应用。针对统计出现的数据稀疏问题,介绍了常见的数据稀疏处理方法。 第10章系统地介绍了机器翻译的方法、困难及解决策略、应用类型及应用领域和机器翻译的自动评价。重点介绍了统计机器翻译方法,包括基于词对齐的机器翻译、基于短语对齐的机器翻译和基于句法的机器翻译。词对齐主要有IBM的词对齐和基于HMM的词对齐。短语对齐主要有利用词对齐进行的短语对齐、对齐模板和层次的对齐短语。基于句法的统计机器翻译介绍了树串模型、串树模型和树树模型。目前,基于短语对齐的统计翻译译文质量较高。
本书可作为中文、外语、计算机等专业高年级的本科教材,教授学时可为32~64学时。教师可根据学时安排上机,比如词法分析、词性标注和句法分析等。如果学生掌握了基本理论和算法,同时通过上机实现了一些重要算法,则能为掌握本门课程以及掌握计算机处理自然语言打下坚实基础。
本书在写作时尽量做到通俗易懂,所有的算法都举例进行了详细说明,并列出了计算机处理自然语言的详细过程。本书的读者如果具有一定的计算机科学方面的知识(如离散数学、数据结构等),则能更好地理解本书的所有内容。
本书的写作参考了许多学者的论文和著作,本书能够出版与他们所做的工作紧密相关。谨向他们表示衷心感谢。
由于本人水平和时间限制,书中难免存在疏漏和不足之处。欢迎各位读者批评指正。
刘 颖
2014年7月