原文地址:http://blog.sina.com.cn/s/blog_72d083c70100prja.html
冯志伟
上下文无关语法在描写自然语言方面存在着严重的缺陷。
有些二义性句子,用上下文无关语法的层次分析法分析不出来。例如,“the shooting of the hunters” 有两个不同的意思:
一个意思是“猎人射击”,hunters是施事。比较:“the growling of lions”(狮子怒吼)。
一个意思是“射击猎人”,hunters是受事。比较:“the raising of flowers”(栽培花卉)。
仅仅使用层次分析法,不能对这种二义性作出解释。
俄语中也有类似的情况。例如,“приглашение писателя”,其意思也有两个:
一个是“作家的邀请”,писателя是施事,试比较:пение птиц(鸟的歌唱)。
一个是“邀请作家”,писателя是受事,试比较:изучение языка(研究语言)。
用层次分析法,也不能对这样的二义性作出解释。
另外,假使我们采用上下文无关语法生成了句子“The man ate the food”(“人吃了食物”),这个句子的同样意义也可以用“The food was eaten by the man”(“食物被人吃了”)来表达。此外,英语中还有“The man did not eat the food.”(“人没吃食物”)“Did the man eat the food?”(“人吃了食物了吗?”)……等等这样一些句子。如果采用上下文无关语法来生成这些句子,那么,势必要对每一个句子都分别建立一套生成规则,这样,语言的描写将显得十分庞杂和琐碎。
Chomsky的语法实质上是一个公理系统。上下文无关语法之所以会出现这些缺陷,是由于层次分析反映的只是一个句子的生成过程,它在公理系统内是自封闭的。由于公理系统的自封闭性质,这个句子不可能与另外的句子发生关系,而这种关系又是客观存在的。
由此可以看出,单纯只靠公理系统来作演绎推导,并不总是行得通的,这正是公理系统的缺陷。要解决这个问题,必须跳出公理系统的框架,到系统之外去找句子与句子之间的关系。
例如,对于“the shooting of the hunters”这个句子,如果我们了解到它是从“They shoot the hunters.”变换来的,我们就可以肯定,它的意思是“射击猎人”,从而排除了二义性。
又如,对于刚才我们所举出的“The man ate the food.”,“The food was eaten by the man.”,“The man did not eat the food.”,“Did the man eat the food?”等句子,如果我们以“The man ate the food.”为核心句,其它的句子都由这个核心句通过不同的转换而得到,就可以使语言的描写大大简化。
于是,Chomsky提出了转换语法(transformational grammar)。
利用转换语法,可以把语言中的一些基本的句子作为核心句,由它们转换出语言中的其它数以万计的句子来,这样,便把语言的描写大大地简化了。因此,Chomsky的转换语法在自然语言的研究中得到了广泛的应用。
后来,在转换语法的基础上,Chomsky又进一步提出了生成转换语法的标准理论、扩充的标准理论、管辖与约束理论、最简方案,这些理论成为了现代语言学中举世瞩目的重要研究课题。
在转换语法的标准理论的基础之上,Peters(彼得)和Richie(里奇)在1973年用数学方法证明,使用基于上下文有关的转换语法生成的语言正好是0型语言,因此,由上下文有关语法改进了的转换语法在生成能力方面是与0型语法弱等价的。这些使用数学方法研究自然语言问题的重要成果,不但在自然语言处理中具有指导意义,而且对于理论语言学的研究,也是很有启发的。