自然语言处理技术的三个里程碑,本文主要内容关键词为:自然语言论文,里程碑论文,技术论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
[中图分类号]H087 [文献标识码]A [文章编号]1000-0429(2002)03-0180-8
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,并提出词汇语法的概念(http://www.ladl.jussieu.fr/)。
·把12,000个主要动词分成50个子类。
·每个动词都有一个特定的论元集。
·每一类动词都有一个特定的矩阵,其中每个动词都用400 个不同句式来逐一描写(“+”代表可进入该句式;“-”表示不能)。
·已开发英、法、德、西等欧洲语言的大规模描写。
·INTEX是一个适用于大规模语料分析的工具, 已先后被世界上五十多个研究中心采用。
3.2.2 框架语义学(Frame Semantics)
Fillmore是格语法(Case Grammar)的创始人,他前几年主持了美国自然科学基金的一个名为框架语义学的项目(http://www.icsi.berkeley.edu/framenet)。该项目从WordNet上选取了2000个动词,从中得到75个语义框架。例如动词“categorize”的框架被定义为:
一个人(Cognizer)把某个对象(Item)视为某个类(Category)。同原先的格框架相比, 原来一般化的动作主体被具体化为认知者Cognizer,动作客体被具体化为事物Item,并根据特定体动词的性质增加了一个作为分类结果的语义角色Category。
项目组还从英国国家语料库中挑出相关句子50,000个, 通过人工给每个句子标注了相应的语义角色。例如:
Kim categorized the book as fiction.
(Cog)(Itm) (Cat)
3.2.3 WordNet
WordNet是一个描写英语词汇层语义关系的词库,1990 年由普林斯顿大学Miller开发(http://www.cogsci.princeton.edu:80/~wn/),到现在已有很多个版本,全部公布在因特网上,供研究人员自由下载。欧洲有一个Euro-WordNet,以类似的格式来表现各种欧洲语言的词汇层语义关系。WordNet刻意描写的是词语之间的各种语义关系, 如同义关系(synonymy)、反义关系(antonymy)、上下义关系(hyponymy),部分一整体关系(part-of)等等。 这种词汇语义学又叫做关系语义学。这一学派同传统的语义场理论和语义属性描写理论相比,其最大的优势在于第一次在一种语言的整个词汇表上实现了词汇层的语义描写。这是其他学派从来没有做到的。其它理论迄今仅仅停留在教科书或某些学术论文中,从来没有得到工程规模的应用。下面是WordNet的概况:
·95,600条实词词型(动词、名词、形容词)
·被划分成70,100个同义词集(synsets)
3.2.4 知网(How-Net)
知网是董振东和董强(1997)设计的一个汉语语义知识网(http://www.keenage.com)。
·自下而上地依据概念对汉语实词进行了穷尽的分类。
·15,000个动词被划分成810类。
·定义了300个名词类,100个形容词类。
·全部概念用400个语义元语来定义。
知网的特点是既有WordNet 所描写的同一类词之间的语义关系(如:同义、反义、上下义、部分-整体等),又描写了不同类词之间的论旨关系和语义角色。
3.2.5 MindNet
MindNet是微软研究院NLP组设计的(http://research.microsoft.com/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. 结论
语言学家的努力,不论是用复杂特征集和合一语法,还是词汇主义方法,都是在原先所谓的理性主义框架下作出的重大贡献。词汇主义方法特别值得推崇,因为它不仅提出了一种颗粒度更细的语言知识表示形式,而且体现了一种语言知识递增式开发和积累的新思路。尤其值得重视的是在众多词汇资源的开发过程中,语料库和统计学方法发挥了很大的作用。这也是经验主义方法和理性主义方法相互融合的可喜开端。笔者相信,语料库方法和统计语言模型是当前自然语言处理技术的主流,它们的实用价值已在很多应用系统中得到证实。统计语言模型的研究,尤其在结构化对象的统计建模方面,仍有广阔的发展空间。
本刊修订稿,2002—3—15
标签:自然语言处理论文; 语料库论文; 语义分析论文; 概率计算论文; 关系模型论文; 依附理论论文; 统计模型论文; 序列模式论文; 语法检查论文; 描写方法论文; n2论文;