1. 引言
从50年代的机器翻译和人工智能研究算起,NLP(Natural
Language Processing,自然语言处理)已有长达半个世纪的历史。 在
这个进程中,学术界曾提出许多重要的理论和方法,取得了丰富的成果
。笔者认为,近二十年在这一领域中堪称里程碑式的贡献有如下三个:
(1)复杂特征集和合一语法;(2)语言学研究中的词汇主义;( 3)
语料库方法和统计语言模型。这三个成果将继续对语言学、计算语言学
和NLP研究产生深远影响。为了更好地理解这些成果的意义, 先介绍与
此相关的两个事实。
2. 两个事实
2.1 事实之一——短语结构语法不能有效地描写自然语言
在自然语言处理中,为了识别一个输入句子的句法结构,首先要把
句子中的词一个一个地切分出来,然后去查词典,给句子中的每个词指
派一个合适的词性(part of speech);之后再用句法规则把句子里包
含的句法成分,如名词短语、动词短语、小句等,逐个地识别出来。进
而判断每个短语的句法功能,如主语、谓语、宾语等,及其语义角色,
最终得到句子的意义表示,如逻辑语义表达式。这就是一个句法分析的
全过程。
本文要提到的第一个事实是:短语结构语法(Phrase Structure
Grammar,简称PSG)不能有效地描写自然语言。PSG在Chomsky语言学理
论中占有重要地位,并且在自然语言的句法描写中担当举足轻重的角色
。但是它有一些根本性的弱点,主要表现为,它使用的是像词类和短语
类那样的单一标记,因而不能有效地指明和解释自然语言中的结构歧义
问题。请看汉语中“V+N”组合。假如我们把“打击、委托、调查”等
词指派为动词(V);把“力度、方式、盗版、 甲方”等词视为名词(
N),并同意“打击力度”、“委托方式”是名词短语(NP), “打击
盗版”、“委托甲方”是动词短语(VP),那么就会产生如下两条有歧
义的句法规则:
(1)NP→VN
(2)VP→VN
换句话讲,当计算机观察到文本中相邻出现的“V+N”词类序列时,仍
不能确定它们组成的究竟是NP还是VP。我们把这样的歧义叫做“短语类
型歧义”。例如:
·该公司正在招聘〔销售V人员N〕NP。
·地球在不断〔改变V形状N〕VP。
下面再来看“N+V”的组合,也同样会产生带有短语类型歧义的规
则对,如:
(3)NP→NV 例:市场调查;政治影响。
(4)S→NV 例:价格攀升;局势稳定。
其中标记S代表小句。
不仅如此,有时当机器观察到相邻出现的“N+V”词类序列时,甚
至不能判断它们是不是在同一个短语中。也就是说,“N+V”词类序列
可能组成名词短语NP或小句S,也有可能根本就不在同一个短语里。 后
面这种歧义称为“短语边界歧义”。下面是两个相关的例句:
·中国的〔铁路N建设V〕NP发展很快。
·〔中国的铁路N〕NP建设V得很快。
前一个例句中,“铁路 建设”组成一个NP;而在后一个例句中,这两
个相邻的词却分属于两个不同的短语。 这足以说明, 基于单一标记的
PSG不能充分地描述自然语言中的句法歧义现象。 下面再看一些这样的
例子。
(5)NP→V N1 de N2
(6)VP→V N1 de N2
其中de代表结构助词“的”。例如,“〔削 苹果〕VP的刀”是NP;而
“削〔苹果 的 皮〕NP”则是VP。这里既有短语类型歧义,又有短语
边界歧义。比如,“削V苹果N”这两个相邻的词,可能构成一个
VP,也可能分处于两个相邻的短语中。
(7)NP→P N1 de N2
(8)PP→P N1 de N2
规则中P和PP分别表示介词和介词短语。例如,“〔对 上海〕PP 的印
象”是NP;而“对〔上海的 学生〕NP”则是PP。相邻词“对P上海N”
可能组成一个PP,也可能分处于两个短语中。
(9)NP→NumP N1 de N2
其中NumP表示数量短语。规则(9)虽然表示的是一个NP, 但可分别代
表两种结构意义:
(9a)NumP〔N1 de N2〕NP 如:五个〔公司的职员〕NP
(9b)〔NumP N1〕NP de N2 如:〔五个公司〕NP的职员
(10)NP→N1 N2 N3
规则(10)表示的也是一个NP,但“N1+N2”先结合,还是“N2+N3”
先结合,会出现两种不同的结构方式和意义,即:
(10a)〔N1 N2〕NP N3 如:〔现代 汉语〕NP词典
(10b)N1〔N2 N3〕NP 如:新版〔汉语词典〕NP
以上讨论的第一个事实说明:
·由于约束力不够,单一标记的PSG 规则不能充分消解短语类型和
短语边界的歧义。用数学的语言讲,PSG规则是必要的, 却不是充分的
。因此,机器仅仅根据规则右边的一个词类序列来判断它是不是一个短
语,或者是什么短语,都有某种不确定性。
·采用复杂特征集和词汇主义方法来重建自然语言的语法系统,是
近二十年来全球语言学界对此作出的最重要的努力。
2.2 事实之二——短语结构规则的覆盖有限
通过大规模语料的调查,人们发现一种语言的短语规则的分布符合
齐夫率(Zipf's Law)。Zipf是一个统计学家和语言学家。他提出,如
果对某个语言单位(不论是字母还是词)进行统计,把这个语言单位在
一个语料库里出现的频度(frequency)记作F,而且根据频度的降序对
每个单元指派一个整数的阶次(rank)R。结果发现R和F 的乘积近似为
一个常数。即
F[*]R≈const(常数)
或者说,被观察的语言单元的阶次R与其频度F成反比关系。在词频的统
计方面,齐夫律显示,不管被考察的语料仅仅是一本长篇小说,还是一
个大规模的语料库,最常出现的100 个词的出现次数就会占到语料库总
词次数(tokens)的近一半。假如语料库的规模是100万词次, 那么其
中频度最高的100个词的累计出现次数大概是50万词次。 如果整个语料
库含有5万词型(types),那么其中的一半(也就是2.5 万条左右)在
该语料库中只出现过一次。即使把语料库的规模加大十倍,变成1000万
词次,统计规律大体不变。
有趣的是,80年代Sampson对英语语料库中的PSG规则进行统计,发
现它们的分布同样是扭曲的,大体表现为齐夫率(Aarts et al. 1990)
。也就是说,一方面经常遇到的语法规则只有几十条左右,它们的出现
频度极高;另一方面,规则库中大约一半左右的规则在语料库中只出现
过一次。随着语料库规模的扩大,新的规则仍不断呈现。Chomsky 曾提
出过这样的假设,认为对一种自然语言来说,其语法规则的数目是有限
的,而据此生成的句子数目是无限的。但语料库调查的结果不是这样。
这个发现至少说明,单纯依靠语言学家的语感来编写语法规则不可能胜
任大规模真实文本处理的需求,我们必须寻找可以从语料库中直接获取
大规模语言知识的新方法。
几十年来,NLP学界发表过大量灿烂成果,有词法学、语法学、 语
义学的,有句法分析算法的,还有许多著名的自然语言应用系统。而对
该领域影响最大的、里程碑式的成果应数下面三个。
3. 三个里程碑
3.1 里程碑之一:复杂特征集
复杂特征集(complex feature set)又叫多重属性(multiple
features)描写。在语言学里,这种描写方法最早出现在语音学中,后
来被Chomsky学派采用来扩展PSG的描写能力。现在无论是在语言学界还
是计算语言学界,几乎所有语法系统在词汇层的描写中均采用复杂特征
集,并利用这些属性来强化句法规则的约束力。一个复杂特征集F 包含
任意多个特征名f[,i]和特征值v[,i]对。其形式如:
F={…,fi=vi,…},i=1,…,n
特征值v[,i]既可以是一个简单的数字或符号, 也可以是另外一个复杂
特征集。这种递归式的定义使复杂特征集获得了强大的表现能力。如北
京大学俞士汶等(1998)开发的《现代汉语语法信息词典详解》,对一
个动词界定了约40项属性描写,对一个名词界定了约27项属性描写。
一条含有词汇和短语属性约束的句法规则具有如下的一般形式:
〈PSG规则〉:〈属性约束〉
:〈属性传递〉
一般来说,PSG 规则包括右部(条件:符号序列的匹配模式)和左部(
动作:短语归并结果)。词语的“属性约束”直接来自系统的词库,而
短语的“属性约束”则是在自底向上的短语归并过程中从其构成成分的
中心语(head)那里继承过来的。在Chomsky的理论中这叫做X-bar 理
论。X-bar代表某个词类X所构成的、仍具有该词类属性的一个成分。
如果X=N,就是一个具有名词特性的N-bar。当一条PSG 规则的右部匹
配成功,且“属性约束”部分得到满足,这条规则才能被执行。此时,
规则左部所命名的短语被生成,该短语的复杂特征集通过“属性传递”
部分动态生成。
20世纪80年代末、90年代初学术界提出了一系列新的语法,如广义
短语结构语法(GPSG)、中心语驱动的短语结构语法(HPSG)、词汇功
能语法(LFG)等等。 这些形式语法其实都是在词汇和短语的复杂特征
集描写背景下产生的。合一(unification )算法则是针对复杂特征集
的运算而提出来的。“合一”是实现属性匹配和赋值的一种算法,所以
上述这些新语法又统称为“基于合一的语法”。
3.2 里程碑之二:词汇主义
在NLP领域中,第二个里程碑式的贡献叫词汇主义(lexicalism )
。语言学家Hudson(1991)曾宣称词汇主义是当今语言学理论发展的头
号倾向。其出现原因也同前面所观察的两个事实有关。词汇主义方法不
仅提出了一种颗粒度更细的语言知识表示形式,而且体现了一种语言知
识递增式开发和积累的新思路。
这里首先要解释一下这样一个矛盾。一方面,语言学界一向认为,
不划分词类就无法讲语法,如前面介绍的短语结构语法。也就是说,语
法“不可能”根据个别的词来写规则。但是另一方面,人们近来又注意
到,任何归类都会丢失个体的某些重要信息。所以从前文提到的第一个
事实出发,要想强化语法约束能力,词汇的描写应当深入到比词类更细
微的词语本身上来。换句话讲,语言学呼唤在词汇层采用颗粒度更小的
描写单元。从本质上来说,词汇主义倾向反映了语言描写的主体已经从
句法层转移到词汇层;这也就是所谓的“小语法,大词库”的思想。下
面我们来看与词汇主义有关的一些工作。
3.2.1 词汇语法(Lexicon-grammar)
法国巴黎大学Gross教授在20世纪60 年代就创立了一个研究中心叫
LADL,并提出词汇语法的概念()。
·自下而上地依据概念对汉语实词进行了穷尽的分类。
·15,000个动词被划分成810类。
·定义了300个名词类,100个形容词类。
·全部概念用400个语义元语来定义。
知网的特点是既有WordNet 所描写的同一类词之间的语义关系(如
:同义、反义、上下义、部分-整体等),又描写了不同类词之间的论
旨关系和语义角色。
3.2.5 MindNet
MindNet是微软研究院NLP组设计的(/nlp/)。其设计思想是试图用三元组(triple )作为全部知识的
表示基元。一个三元组由两个节点和一条连接边组成。每个节点代表一
个概念,连接这两个概念节点的边表示概念之间的语义依存关系。全部
三元组通过句法分析器自动获取。具体来说,就是通过对两部英语词典
(Longman Dictionary of Contemporary English和American Heritage
Dictionary)及一部百科全书(Encarta)中的全部句子进行分析, 获
得每个句子的逻辑语义表示(logical form,简称LF)。而LF本来就是
由三元组构成的,如(W1,V-Obj,W2)表示:W1是一个动词, W2是其
宾语中的中心词,因此W2从属于W1,它们之间的关系是V-Obj。 比如(
play,V-Obj,basketball)便是一个具体的三元组。又如(W1,H-Mod
,W2),W1代表一个偏正短语中的中心词(head word),W2 是其修饰
语(modifier),因此W2从属于W1,它们之间的关系是H-Mod。
这种资源完全是自动做出来的,所得的三元组不可能没有错误。但
是那些出现频度很高的三元组一般来说是正确的。MindNet 已经应用到
语法检查、句法结构排歧、词义排歧、机器翻译等许多场合。
3.3 里程碑之三:统计语言模型
第三个贡献就是语料库方法,或者叫做统计语言模型。如果用变量
W 代表一个文本中顺序排列的n个词,即W=w[,1]w[,2]…w[,n], 则统
计语言模型的任务是给出任意一个词序列W在文本中出现的概率P(W )
。利用概率的乘积公式,P(W)可展开为:
P(W)=P(w[,1])P(w[,2]│w[,1])P(w[,3]│w[,1]w[,2]).
..P(w[,n]│w[,1]w[,2]…w[,n-1]) (1)
式中P(w[,1])表示第一个词w[,1]的出现概率,P(w[,2]│w[,1])表
示在w[,1]出现的情况下第二个词w[,2]出现的条件概率,依此类推。不
难看出,为了预测词w[,n]的出现概率, 必须已知它前面所有词的出现
概率。从计算上来看,这太复杂了。如果近似认为任意一个词w[,i] 的
出现概率只同它紧邻的前一个词有关,那么计算就得以大大简化。这就
是所谓的二元模型(bigram),由(1)式得:
P(W)≈P(w[,1])Ⅱ[,i=2,…,n]P(w[,i]│w[,i-1]) (2)
式中Ⅱ[,i=2,…,n]P(w[,i]│w[,i-1])表示多个概率的连乘。
需要着重指出的是:这些概率参数都可以通过大规模语料库来估值
。比如二元概率
P(w[,i]│w[,i-1])≈count(w[,i-1]w[,i])/count(w[,i- 1
]) (3)
式中count(…)表示一个特定词序列在整个语料库中出现的累计次数。
若语料库的总词次数为N, 则任意词w[,i]在该语料库中的出现概率可估
计如下:
P(w[,1])≈count(w[,i])/N
同理,如果近似认为任意词w[,i]的出现只同它紧邻的前两个词有关,
就得到一个三元模型(trigram):
P(W)≈P(w[,1])P(w[,2]│w[,1])Ⅱ[,i=3,…,n]P(w[,i]
│w[,i-2]w[,-1]) (5)
统计语言模型的方法有点像天气预报。用来估计概率参数的大规模
语料库好比是一个地区历年积累起来的气象记录,而用三元模型来做天
气预报,就像是根据前两天的天气情况来预测当天的天气。天气预报当
然不可能百分之百正确。这也算是概率统计方法的一个特点。
3.3.1 语音识别
语音识别作为计算机汉字键盘输入的一种替代方式,越来越受到信
息界人士的青睐。所谓听写机就是这样的商品。据报道,中国的移动电
话用户已超过一亿,随着移动电话和个人数字助理(PDA)的普及, 尤
其是当这些随身携带的器件都可以无线上网的时候,广大用户更迫切期
望通过语音识别或手写板而不是小键盘来输入简短的文字信息。
其实,语音识别任务可视为计算以下条件概率的极大值问题:
W[*]=argmax[,W]P(W│speech signal)
=argmax[,W]P(speech signal│W)P(W)/
P(speech signal)
=argmax[,W]P(speech signal│W)P(W) (6)
式中数学符号argmax[,w]表示对不同的候选词序列W计算条件概率P (W
│speech signal)的值,从而使W[*] 成为其中条件概率值最大的那个
词序列,这也就是计算机选定的识别结果。换句话讲,通过式(6 )的
计算,计算机找到了最适合当前输入语音信号speech signal的词串W[
*]。
式(6)第二行是利用贝叶斯定律转写的结果,因为条件概率P (
speech signal│W)比较容易估值。公式的分母P(speech signal)对
给定的语音信号是一个常数,不影响极大值的计算,故可以从公式中删
除。在第三行所示的结果中,P(W)就是前面所讲的统计语言模型,一
般采用式(5)所示的三元模型;P(speech signal│W)叫做声学模型
到此,读者可能已经明白,汉语拼音输入法中的拼音—汉字转换任
务其实也是用同样方法实现的,而且两者所用的汉语语言模型(即二元
或三元模型)是同一个模型。
目前市场上的听写机产品和微软拼音输入法(3.0 版)都是用词的
三元模型实现的,几乎完全不用句法—语义分析手段。因为据可比的评
测结果,用三元模型实现的拼音-汉字转换系统,其出错率比其它产品
减少约50%。
3.3.2 词性标注
一个词库中大约14%的词型具有不止一个词性。而在一个语料库中
,占总词次数约30%的词具有不止一个词性。所以对一个文本中的每一
个词进行词性标注,就是通过上下文的约束,实现词性歧义的消解。历
史上曾经先后出现过两个自动词性标注系统。一个采用上下文相关的规
则,叫做TAGGIT(1971),另一个应用词类的二元模型,叫做CLAWS (
1987)(见Garside et al.1989)。两个系统都分别对100 万词次的英
语非受限文本实施了词性标注。结果显示, 采用统计语言模型的CLAWS
系统的标注正确率大大高于基于规则方法的TAGGIT系统。请看下表的对
比:
系统名 TAGGIT(1971) CLAWS(1987)标记数 86 133方法 3000条CSG规则 隐马尔科夫模型标注精度 77% 96%测试语料 布朗 LOB
令C和W分别代表词类标记序列和词序列,则词性标注问题可视为计
算以下条件概率的极大值:
C[*]=argmax[,C]P(C│W)
=argmax[,C]P(W│C)P(C)/P(W)
≈argmax[,C]Ⅱ[,i=1,…,n]P(w[,i]│c[,i])P(c[,i]│c[,i
-1]) (7)
式中P(C│W)是已知输入词序列W的情况下,出现词类标记序列C 的条
件概率。数学符号argmax[,C] 表示通过考察不同的候选词类标记序列C
,来寻找使条件概率取最大值的那个词类标记序列C[*]。后者应当就是
对W的词性标注结果。
公式第二行是利用贝叶斯定律转写的结果,由于分母P(W)对给定
的W是一个常数,不影响极大值的计算,可以从公式中删除。 接着对公
式进行近似分析。首先,引入独立性假设,认为任意一个词w[,i] 的出
现概率近似只同当前词的词类标记c[,i]有关, 而与周围(上下文)的
词类标记无关。于是词汇概率可计算如下:
P(W│C)≈Ⅱ[,i=1,…,n]P(w[,i]│c[,i]) (8)
其次,采用二元假设,即近似认为任意一个词类标记c[,i] 的出现概率
只同它紧邻的前一个词类标记c[,i-1]有关。则
P(C)≈P(c[,1])Ⅱ[,i=2,…,n]P(c[,i]│c[,i-1]) (9)
P(c[,i]│c[,i-1])是词类标记的转移概率, 也叫做基于词类的二元
模型。
上述这两个概率参数都可以通过带词性标记的语料库来分别估计:
P(w[,i]│c[,i])≈count(w[,i],c[,i])/count(c[,i]) (
10)
P(c[,i]│c[,i-1])≈count(c[,i-1]c[,i])/count(c[,i-1]
) (11)
据文献报道,采用统计语言模型方法,汉语和英语的词性标注正确
率都可以达到96%左右(白拴虎1992)。
3.3.3 介词短语PP的依附歧义
在英语中,介词短语究竟依附于前面的名词还是前面的动词,是句
法分析中一种常见的结构歧义问题。下例表明怎样用语料库方法解决这
个问题,以及这种方法究竟能达到多高的正确率。
例句:Pierre Vinken, 61 years old, joined the board as a
nonexecutive director.
令A=1表示名词依附,A=0为动词依附,则上述例句的PP依附问题可表
为:
(A=0,V=joined,N1=board,P=as,N2=director)
令V,N1,N2分别代表句中动词短语、宾语短语、介宾短语的中心词,
并在一个带有句法标注的语料库(又称树库)中统计如下四元组的概率
P[,r]:
P[,r]=(A=1│V=v,N1=n1,P=p,N2=n2) (10)
对输入句子进行PP依附判断的算法如下:
若P[,r]=(1│v,n1,p,n2)≥0.5,
则判定PP依附于n1,
否则判定PP依附于v。
Collins & Brooks(1995)实验使用的语料库是宾夕法尼亚大学标注的
《华尔街日报》(WSJ)树库,其中包括:训练集20,801个四元组,测
试集3,097个四元组。他们对PP依附自动判定精度的上下限作了如下分
析:
一律视为名词依附(即A≡1) 59.0%
只考虑介词p的最常见依附 72.2%
三位专家只根据四个中心词判断 88.2%
三位专家根据全句判断 93.2%
很明显,自动判断精确率的下限是72.2%,因为机器不会比只考虑句中
介词p的最常见依附做得更差;上限是88.2%, 因为机器不可能比三位
专家根据四个中心词作出的判断更高明。
论文报告,在被测试的3,097个四元组中,系统正确判断的四元组
为2,606个,因此平均精确率为84.1%。这与上面提到的上限值88.2%
相比,应该说是相当不错的结果。
4. 结论
语言学家的努力,不论是用复杂特征集和合一语法,还是词汇主义
方法,都是在原先所谓的理性主义框架下作出的重大贡献。词汇主义方
法特别值得推崇,因为它不仅提出了一种颗粒度更细的语言知识表示形
式,而且体现了一种语言知识递增式开发和积累的新思路。尤其值得重
视的是在众多词汇资源的开发过程中,语料库和统计学方法发挥了很大
的作用。这也是经验主义方法和理性主义方法相互融合的可喜开端。笔
者相信,语料库方法和统计语言模型是当前自然语言处理技术的主流,
它们的实用价值已在很多应用系统中得到证实。统计语言模型的研究,
尤其在结构化对象的统计建模方面,仍有广阔的发展空间。
参考文献:
Aarts, Jan & Willen Meijs (eds.). 1990. Corpus Linguistics:
Theory and Practice〔C〕. Amsterdam: Rodopi.
Collins, M. and J. Brooks. 1995. Preposition phrase
attachment through a backed-off model〔P〕. In Proceedings of the
3rd Workshop of Very Large Corpora. Cambridge, Mass.
Garside, R., G. Leech and G. Sampson, (eds.). 1989. The
Computational Analysis of English: A Corpus-Based Approach〔C〕.
London: Longman.
Hudson, R. A. 1991. English Word Grammar〔M〕. Cambridge,
Mass.: Basil Blackwell.
白拴虎,1992,汉语词性自动标注系统研究〔MA〕。清华大学计算
机科学与技术系硕士学位论文。
董振东、董强,1997,知网〔J〕。《语言文字应用》第3期。
俞士汶等,1998,《现代汉语语法信息词典详解》〔M〕。 北京:
清华大学出版社。