计算语言学的理论方法和研究取向

作 者:

作者简介:
袁毓林,1962年生,语言学博士,北京大学中文系教授。

原文出处:
《中国社会科学》

内容提要:


期刊代号:H1
分类名称:语言文字学
复印期号:2001 年 12 期

字号:

      0.计算机:语言研究的奴仆还是上帝

      计算语言学是一门跟当代科学技术关系最密切的学科,同时也是一门定义最为纷歧的学科。只要打开有关的文献,你就能找到关于计算语言学的各种差别极大的定义。事实上,这些不同的定义背后反映了不同的研究者的不同的研究取向。其中,最核心的一点是:怎样看待计算机和语言研究的关系,是把计算机作为语言研究的工具、还是作为语言研究的目标和服务对象。形象地说,把计算机当做为语言研究服务的奴仆、还是当做语言研究要为之服务的上帝。

      下面,我们通过五种关于计算语言学的定义,来讨论工程主义、工具主义、认知主义、实证主义和逻辑主义五种不同的研究取向,比较不同的研究者为了实现这些不同的目标而采用的迥然不同的理论和方法(包括对人类知识、语言习得和语言理解过程的看法以及相应的在计算机上模拟的策略),分析其在具体的语言处理技术(包括语法形式体系、语义表示体系、分析算法以至程序实现)上的差异。希望对计算语言学中不同的理论方法与处理技术的效能和局限有一个比较清楚的认识,从而为汉语计算语言学的研究提供借鉴。

      1.工程主义取向:着眼于计算机系统的建立

      在计算语言学的诸多定义中,最多的是着眼于建立一种可运转的计算机系统。例如:

      (1)计算语言学是对能理解和生成自然语言的计算机系统的研究。

      ——Grishman(1986)§1.1,p.4

      (2)计算语言学是采用计算机技术来研究和处理自然语言的一门新兴学科。

      ——冯志伟(1992),第84页

      持这种观点的学者自然会把计算语言学的研究重点放在这种能理解和生成自然语言的计算机系统的结构及相应的各种算法的设计上。因为,从理论上说,要想让计算机去解决某种问题,必须满足下列三个基本的前提条件:(注:详见马希文《计算机和思维科学》,§2,见钱学森主编《关于思维科学》,人民出版社1986年版,第225-228页。)

      第一,必须把待解的问题形式化。由于计算机只能对有限符号集上的有限长度的符号序列进行决定型的形式变换(这就是计算),因而首先要建立一个形式体系(formalism,一译形式系统):规定所用的各种符号(词汇),规定把符号连接成合法序列(即合式公式)的规则(句法),规定合法的符号串如何表示特定问题领域中的意义(语义,或解释);然后,建立一些推理规则,说明对这些符号和合法符号串可以进行一些什么样的处理(演算)。于是,问题便可以用符号表达出来,问题的解也表现为对符号序列的条件。这样,计算机解决问题的过程就是从表示问题的符号序列出发,按规则进行加工,一直到得出符号要求的符号序列(即解)为止。这一整套的办法叫形式化(又叫数学方法),其要义是:把特定领域的问题转变为符号,从而把对问题的求解转变为对符号串的变换处理。

      第二,这种问题必须是可计算的(computable),即一定要有解题的算法(algorithm),使得计算机能按照算法所指引的解题步骤,通过有限步的运算而得出结果。

      第三,这种问题必须有一个合理的复杂度,也就是要避免指数爆炸(exponential explosion)。也就是说,问题的复杂性必须限制在目前的数学计算机的存储空间和运算时间所能容忍的范围之内。

      所以,从研究程序上讲,这种类型的计算语言学研究一般分为如下三个阶段:(注:参考冯志伟《计算语言学对理论语言学的挑战》,《语言文字应用》1992年第1期;钱锋《计算语言学引论》,学林出版社1990年版,第26-27页。)

      第一步,数学建模。把需要研究的问题在语言学上加以形式化(linguistic formalism),使之能以一定的数学形式、严密而规整地表示出来。也就是说,为有关的语言问题建立数学模型。包括选择恰当的形式语法(formal grammar)使得句子的结构能够用某种数学形式明确而清晰地表示出来,研究在这种形式语法之下如何分析句子构造的方法和步骤;选择恰当的表示体系使得句子的意义能够用某种数学形式明确而清晰地表示出来,研究在这种形式体系之下如何分析和表示句子的语义结构。

      第二步,算法设计。把这种严密而规整的数学形式表示为算法,使之在计算上形式化(computational formalism)。这就必须研究句子分析的严格的手续(procedures),并抽象成机械的、明确的、一步步逼近分析结果的步骤。

      第三步,程序实现。根据算法用某种程序语言编写计算机程序,使之在计算机上加以实现(computer implementation)。

      比如,假定有下面这部小型的用产生式(production)表示的语境自由的短语结构语法:

      S→NP+VP

       ……R1

      NP→N……R2

      NP→PRO

       ……R3

      VP→Vi

        ……R4

      VP→Vt+NP

      ……R5

      那么,句子I like cheese.(我喜欢奶酪)的最左推导是:

      S →NP+VP

       →PRO+VP

       →PRO+Vt+NP

       →PRO+Vt+N

      为了让计算机能根据上面给出的语法规则自动地分析这个句子,必须设计相应的算法:或者是自顶向下的回溯算法,或者是自底向上的并行算法。自顶向下的回溯算法每次只尝试一种推导,当一种推导失败时便返回、重新尝试另一种推导;就这样逐个地枚举语法所允许的各种推导,直至找到一个能生成输入句子的推导。根据这种算法(具体的细节从略),对于上文那部只有五条规则的语法,句子I like cheese.的推导过程将表现如下:

相关文章: