3.1.2 自然语言处理的研究方法
人类的语言可以说是信息中最复杂最动态的一部分。为了能让计算机进行自然语言处理,人们首先想到的就是考察人类自然语言的运用方式,让机器模拟人类进行学习,学习人类的语法、分析语句等等。
人类对于自身所使用的自然语言的研究称为语言学,语言学的目的是为了能够描述和解释我们周围的语言现象,比如对话、写作和其他媒体中的语言现象。人类如何获得、产生和理解语言,如何理解语言表达和物质世界之间的关系,如何理解用于交流的语言结构,所有这些都属于语言学的范畴。为研究自然语言理解,需要对自然语言的构成有基本认识,对语言本身研究越透彻,并把其变成计算机能理解的知识,才能更好地对语言进行处理。
那么,人类的语言能力是怎么形成的呢?从哲学的角度,有两种不同的观点:一种观点认为语言的能力与生俱来,所以主张运用简单明确的规则来确定复杂的语言现象,表达复杂的语言模型;而另一种观点则有所不同,虽然也承认语言的能力一部分来自先天,但是却不承认这种能力起着决定性的作用,而是强调学习的过程,认为人不可能不通过学习而懂得一门语言。这两种不同的哲学思想产生了自然语言处理中两种不同的研究方法,即理性主义方法和经验主义方法。
1.理性主义方法(rationalist approach)
理性主义方法是由信仰决定的,认为人的很大一部分语言知识是生来俱有的,在人类头脑中重要的知识不是由感官得到的,而是提前固定在头脑中,由遗传基因决定的。
所以,自然语言处理中的理性主义方法是通过人工编写知识库和推理系统来创建一个自然语言处理系统,即通常将自然语言用一套符号系统来表达和分析。由于用于自然语言处理的符号系统通常表现为规则的方式,因此理性主义方法在自然语言处理中又常常被称为基于规则的方法(rule-based method)。
理性主义方法的典型代表是有史以来最伟大的语言学家乔姆斯基(Noam Chomsky),他主张采用公理化、形式化的方法,严格地按照一定的规则来描述自然语言的特征。他试图使用有限的规则描述无限的语言现象,发现人类普遍的语言机制,建立所谓的“普遍语法”。由于这些规则拥有很强的表达能力、生成能力,同时还能拥有相当高的效率,这种方法得到了广泛的支持。
在过去的四十多年中,从事自然语言处理系统开发的绝大多数学者,基本上都采用基于规则的理性主义方法。这种方法主张智能的基本单位是符号,认知过程就是在符号的表征下进行符号运算,因此思维就是符号运算。在该阶段,语言学家撰写“规则库”(包括“词典”);计算机科学家编写算法程序,对“规则库”进行解释和执行。
用基于规则的方法进行自然语言处理的示意如图3-2所示。

图3-2 自然语言处理的理性主义方法原理示意
但是,几十年过去了,在自然语言处理领域,基于这个语法规则的方法几乎毫无突破,人们发现了基于规则的方法的弱点,即基于规则的方法通常需要研究人员穷尽与任务相关的各种规则,这通常很难做到。
一方面研究人员在撰写规则时很难照顾到所有可能出现的语言现象,难以用规则的形式把各种语言事实和理解语言所需要的背景知识充分地表达出来;另一方面正如著名语言学家Edward Sapir所指出的那样,“所有的语法都有遗漏之处(All grammar leak)”(Sapir 1921),所撰写的规则难保没有例外之处。因此基于规则的系统在处理真实文本时,往往力不从心,导致这些系统只能在受限领域内或者受控语言环境中使用。
尽管采用基于规则的句法分析技术和语义分析技术能在某些受限的“子语言”(sub-language)系统中获得一定程度的成功,但是要想进一步扩大这些系统的覆盖面,用它们来处理大规模的真实文本有很大的困难,而且随着系统拥有的知识在数量上和程度上发生的巨大变化,系统在如何获取、表示和管理知识等基本问题上,不得不另辟蹊径,这样,就提出了大规模真实文本的自然语言处理问题,产生了自然语言处理中的另一种研究方法,基于统计的经验主义方法。
2.经验主义方法(empiricist approach)
经验主义方法也承认人类对于语言有着先天的认知能力,但更倾向于相信人类大脑中有一种结构,这种结构能从感官输入的信息中组织和产生语言。对于自然语言处理,经验主义方法认为可以通过一个适当的语言模型学习复杂的和广泛的语言结构,通过把统计学、模式识别和机器学习的方法应用到大规模的语言使用例子中,可以得到模型参数的数值。
自然语言处理中的经验主义方法是一种基于统计的方法(statistic-based approach)。通过在实际的情境中使用基于统计的经验主义方法来训练语言数据,从训练的语言数据中自动地或半自动地获取语言的统计知识,可以有效地建立语言的统计模型。语言学的研究必须以语言事实作为根据,必须详尽地、大量地占有材料,才有可能在理论上得出比较可靠的结论。(https://www.daowen.com)
由于在统计自然语言处理中实际上不可能研究观测到大规模的语言实例,所以人们简单地使用文本作为替代,并把文本中的上下文关系作为现实世界中语言的上下文关系的替代品。我们把一个文本集合称为语料库(corpus),corpus是一个拉丁文简称,当有几个这样的文本集合的时候,我们称之为语料库集合(corpora)。在这种基于语料库的方法中,可以找到英国语言学家J.R.Firth提出的经验主义思想的早期主张,他提出了一句口号“你可以由一个词的上下文理解这个词(You shall know a word by the company it keeps)”。所以基于统计的经验主义方法也称为语料库方法,大规模的深加工的语料库是这种方法研究的基础。
在这种语料库方法中,通常不需要人工建立语言学规则,而是默认所有的语言规律都隐藏在语言的真实用例,即语料库中。这些语言知识以统计参数或者机器学习参数的形式由计算机从语料库中自行习得,无需人工总结,这就节省了开发时间,表现出一些规则方法所没有的优势,即统计自然语言处理模型的参数通常可以在文本语料库中自动估计出来,减少了人类在建立自然语言处理系统时的工作量。由于语料库反映了语言的真实使用情况,在语料库基础上构建的语言处理系统通常能比较健壮地处理真实文本,使得自然语言处理系统逐步走向实用。
经验主义方法进行自然语言处理的过程包括:
1)建立可以反映语言使用情况的语料库;
2)研究人员对自然语言进行统计建模;
3)利用统计技术或机器学习技术,基于语料库训练统计语言模型;
4)利用得到的模型设计算法对语言进行处理;
5)根据处理效果改进模型,提高处理性能。
经验主义方法进行自然语言处理研究的示意图如图3-3所示。

图3-3 自然语言处理的经验主义方法原理示意
基于统计的方法表现出强大的后劲,特别是在语言知识不完全的一些应用领域中,其表现得很出色。基于统计的方法最早在文字识别领域取得很大的成功,后来在语音合成和语音识别中大显身手,接着又扩充到自然语言处理的其他应用领域。
例如,自1989年以来,机器翻译的发展进入了一个新纪元。这个新纪元的重要标志是,在基于规则的技术中引入了语料库方法,其中包括统计方法;基于实例的方法,通过语料加工手段使语料库转化为语言知识库的方法等等。这种建立在大规模真实文本处理基础上的机器翻译是机器翻译研究史上的一场革命,它把自然语言处理推向一个崭新的阶段。
随着人们对大规模真实文本处理的日益关注,越来越多的学者认识到,基于语料库的分析方法(即经验主义的方法)至少是对基于规则的分析方法(即理性主义的方法)的一个重要补充。因为从“大规模”和“真实”这两个因素来考察,语料库才是最理想的语言知识资源。
在20世纪90年代的最后五年(1994~1999),自然语言处理的研究发生了很大的变化,出现了空前繁荣的局面。概率和数据驱动的方法几乎成为了自然语言处理的标准方法。句法剖析、词类标注、参照消解和话语处理的算法全都开始引入概率,并且采用从语音识别和信息检索中借过来的评测方法。