组合范畴语法与范畴类型逻辑的分析与比较*

2015-05-25 00:33姚从军
关键词:斜线句法范畴

姚从军

(1.湖南科技学院思政部,湖南永州425199;2.中国社会科学院哲学所,北京100732)

组合范畴语法与范畴类型逻辑的分析与比较*

姚从军

(1.湖南科技学院思政部,湖南永州425199;2.中国社会科学院哲学所,北京100732)

范畴语法的最早形式是AB-演算,目前已发展成为一系列相互联系的形式系统,它们把句法分析和语义分析视为基于类型的推理。范畴语法的两个最完善的分支是基于逻辑传统的范畴类型逻辑和基于组合传统的组合范畴语法,二者联系紧密,差异也明显,前者主要关心不同逻辑算子对语言的适用性和逻辑系统的证明论性质,认为生成能力不具有主要的理论意义,在计算应用中没有价值;后者更多集中在获得低的自动机理论能力和良好计算性质的语言表达系统。

范畴语法;范畴类型逻辑;组合范畴语法;计算;生成能力

一、引 言

范畴语法把自然语言词类用基本范畴s、np,以及由s和np生成的复合范畴(函项范畴)表示出来。如果把s和np之外的语言单位都看成是函项,把与函项结合生成新结构的语言单位看成该函项的论元,那么函项的值便是结合而得的那个新结构。任何一个语言单位的语法特征都可以通过这些范畴表示出来。这是一种词汇主义做法,在计算语言学中,词汇主义的杰出代表是范畴语法。①冯志伟.范畴语法[J].语言文字应用,2011,(3).20世纪50年代,机器翻译理论的先驱Bar-Hillel注意到范畴语法这一逻辑工具,认为它可以大大推动自然语言的信息化进程,并在上世纪60年代初证明了范畴语法弱等价于上下文自由文法。然而,Chomsky指出,上下文自由文法不足以刻画自然语言。如何扩展范畴语法,使其能够处理自然语言中存在的不连续结构、交叉依存等上下文敏感现象,一直是推动范畴理论发展的一个内在动力。

范畴语法的上下文敏感扩张大致可分为两支。一个是基于推演系统的偏逻辑方向,主要关注逻辑系统的构造和逻辑系统性质的讨论,以范畴类型逻辑(CTL)为主要代表;另一个是基于特定规则的偏语言学方向,更加关注语言事实的需求,对于逻辑理论仅出于一种实用主义的需要,够用即可,以组合范畴语法(CCG)为最突出代表。范畴类型逻辑(CTL)注重理论层面的逻辑构造、系统完善,组合范畴语法(CCG)强调语言事实的形式化和生成。

组合范畴语法的优势在信息处理上:它在句法和语义之间有一个非常透明的接口,每个词条的语义表达式和句法范畴都存放在词库的词条上;它所表现的现象比词汇功能语法、中心语驱动语法等要深,可以更快地评价语句中的语词是否有依存关系、谓词—论元关系等;CCG分析器在分析速度和准确度上都占优势。“2009年在约翰普金斯大学举行的夏季研讨班上,研究者采用优化的句法分析算法,使CCG句法分析在维基百科语料上达到每秒超过100句的分析速度,且抽样显示,其分析精度并没有明显损失,说明CCG可以用来进行工业规模的句法分析。”②宋彦,黄昌宁,揭春雨.中文CCG树库的构建[J].中文信息学报,2012,(3).组合范畴语法目前已成为计算机对自然语言进行信息处理的理想工具。当今,组合范畴语法不断地发展并不断地应用于新的自然语言分析中,这必将大大促进计算机信息处理乃至大数据云计算的发展。

二、组合范畴语法

组合范畴语法起源于纯范畴语法(AB-演算)。AB-演算包括范畴和规则两个组成部分。范畴分为原子范畴和复合范畴(函项范畴),复合范畴编码了运算针对的论元范畴、运算后的结果范畴以及运算的方向。比如,汉语及物动词范畴(s p)/np表明它在右边搜索一个名词短语(右斜线和范畴np),然后在左边搜索另一个名词短语(左斜线和范畴np),吸收了这两个论元后,生成一个语句(s)。AB-演算使用两条对于方向敏感的函项应用规则对范畴进行组合,第一条规则是向前应用:X/Y Y⇒X。简言之,如果一个范畴为X/Y的词串ωa直接位于范畴为Y的词串ωb的左边,那么词串ωa+ωb的范畴为X。向后应用规则恰好是向前应用规则的逆规则:Y XY⇒X。AB-演算的局限性导致了它的扩展,包括基于规则和基于逻辑的两种扩展方式,组合范畴语法属于前者。在20世纪80年代,Ades、Jacobson、Steedman、zabolsci等人提议基于组合逻辑的组合子定义句法规则。组合子是组合逻辑用来定义λ -演算的算子,包括B、T和S,如(1)所示。三个组合子投射在句法上就是三种句法规则:复合规则、类型提升规则和置换规则,把这些规则增加到AB-演算上,得到组合范畴语法CCG。

(1)a.Bfg≡λx.f(gx);b.Tx≡λf.fx;c.Sfg≡λx.fx(gx)

CCG为满足计算机对自然语言的信息处理需求而诞生,自然语言中的大量语义照应和不连续现象是各种形式语法面临的棘手问题。为此,转换语法提出了深层结构和转换等概念,而CCG不假设语言有表层和深层等多个层级,把语言看作是一个只包含表层的单层结构。在CCG中,自然语言的句法毗连和语义组合从词条出发,在表层同步进行,想解决这些难题,只能在词库和范畴运算规则上找出路。组合范畴语法CCG侧重于扩大词库的信息承载量,而范畴类型逻辑CTL侧重于增加范畴运算的规则。比较而言,CTL虽然也把语言看作是一个只包含表层的单层结构,但是在非连续处引入了假设,使用了假设推理,说明CTL带有深层结构的痕迹;CCG没有假设推理,更加彻底地坚持了语言的单层结构性。

CCG是一种彻底的词汇主义语法理论,CCG词库的词条记录了丰富的句法和语义信息,包括自然语言的语音、句法范畴和语义。CCG把自然语言的生成规则凝缩在词条的范畴构造上,比如,可以通过词条“爱”的范畴(2)来体现短语结构语法的三条生成规则(3)的内容。从某种意义上说,(2)的根源是(3)。

(2) 爱|-(s p)/np; (3) S→NP VP;VP→TV NP;TV→{爱,喜欢…}

CCG的词条不仅包括刻画语词的句法行为的句法范畴,还包括语词的形式语义。比如,CCG给主语控制动词“答应”指派词条“((s p)/(s p))/np:λx.λp.λy.答应′(p(ana′y)xy)”,给宾语控制动词“说服”指派词条“((s p)/(s p))/np:λx.λp.λy.说服′(p(ana′x)xy)”,两种动词的句法范畴相同,无法在句法上加以区分,CCG使用语义表达式将两种动词的含义准确地区分开来。再比如,CCG给“喜欢”等及物动词增加了一个照应词条“(s p)/np:λg.λy.喜欢′(ana′y)y”,用来处理以反身代词为宾语的语句,从语义上很好处理了反身代词的照应问题。①姚从军.组合范畴语法CCG|与汉语谓词缺失现象的处理[J].安徽大学学报(哲学社会科学版),2014,(4).这样,范畴语法通过扩大词库的信息量很好地处理了照应等问题。相比而言,CTL通过增加照应算子、照应范畴和一系列有关照应的规则,并构造针对照应的LLC②Jäger.G.Anaphora and Type Logical Grammar[M].Netherland:Springer,2005:121~129.等系统来处理照应问题。因此,与CTL比较起来,CCG是更加彻底的词汇主义语法理论。

形式语言学往往先把一个句子翻译成逻辑公式,然后再对其进行模型论解释,组合范畴语法构造语义解释时舍去了这个中间层次。组合范畴语法“延续了范畴类型逻辑关于句法和语义对应的思想。在CCG这里,自然语言的句法和语义之间有一个透明的、直截了当的接口,这个接口体现为:先给自然语言语词指派一个由句法范畴和语义词项构成的配对,在推演的出发点——自然语言的语词那里,句法范畴和语义词项同时出现;在随后的推演中,语词之间的毗连贴合就转换成句法范畴之间和语义词项之间两条线索的并行推演,推演的每一步都是句法范畴和语义词项分别运算的结果——同时产生新的句法范畴和新的语义词项。在CCG的推演中,每时每刻都体现出句法和语义的对应,只要句法范畴之间可以运算,语义词项之间也可以组合,反之亦然。”①李可胜,邹崇理.基于句法和语义对应的汉语CCG研究[J].浙江大学学报(人文社会科学版),2012,(6).CCG具有此优势的原因之一是CCG的组合规则要遵循“组合类型透明性原则”,即“所有的句法组合规则都是在函项上某个简单语义运算的类型透明版本”。类型透明指的是一个规则约简的语义类型与它的句法类型相同。目前,基于句法的方法无法处理自然语言中存在的很多语义合理的特殊语句,迫切需要实现机器对语义的理解,组合范畴语法的这一特点大快人心。

在某些语境中人们希望阻止某些规则应用到特定范畴上。达到此目的的方式之一是使用某些条件约束规则的适用性。另一个方式是定义一个能用来创造斜线类型的模式集,使得类型化的斜线对规则具有选择性。Baldridge&Kruijff(2003)②Baldridge,Jason and Kruijff.Geert-Jan.Multi-Modal Combinatory Categorial Grammar In Proceedings of EACL[M].Budapest,Hungary,2003.使用了一个具有下列行为的模式集M={★,◇,×,·}:

a.★非结合和非交换的;b.◇结合且非交换的;c.×非结合且交换的;d.·结合且交换的

这些模式允许定义如/★和/◇一样的类型化斜线。这种方式允许规则的普遍适用性:模态化了的CCG规则不因语言的变化而变化,就是“通用语法”;不同语言的差异仅仅体现在语词的范畴指派上。模态算子大大增加了斜线的表达力,突出了CCG的“大词库”和“小规则”的特征,体现了激进的词汇主义思想。相对于这些类型化的斜线定义规则下:

(4) 函项应用 a.X/iY:f Y:a ⇒ X:fa (i∈M) (>)

b.Y:a XiY:f ⇒ X:fa (i∈M) (<)

函项应用规则允许一个像sinp一样的范畴与一个处于其左边的np论元进行组合,得到范畴s。类似地,一个像“λx.散步(x)”的λ-表达式应用到一个像“文强”的论元,得到“散步(文强)”。在这两个视角中,一个类型为e→t的函子应用到一个类型为e的论元产生一个类型为t的结果,体现了组合类型的透明性。

自然语言在某些层面是结合的。特别地,提取和并列组合(如(5))证明了语法系统一定要能推出与某些非标准成分相对应的范畴类型,AB-演算无能为力。

(5) 文强应该珍惜并且永远爱程程

模态动词(副词)的标准分析是将它们看作从不及物动词短语到不及物动词短语的函项。然而,上例并列组合想进行下去的话,模态动词“应该”和副词“永远”需分别与及物动词短语“珍惜”和“爱”组合,得到的非标准成分再进行并列组合。

(6) 应该(s◇np)/◇(s◇np)珍惜(s◇np)/.np

基于组合子B的如下规则允许模态动词(副词)和及物动词直接进行组合:

(7) 向前和谐复合 X/iY:f Y/jZ:g ⇒BX/jZ:λx.f(gx)(i,j∈{◇,·}) (>B)

与组合子T相对应的句法规则叫类型提升规则,分为向前和向后两个规则:

(8) 向前类型提升 X:a ⇒TY/i(YiX):λf.fa (i∈M) (>T)

向前类型提升与向前和谐复合一起导出了分析汉语的宾语提取小句、右节点提升等现象所需要的成分。例如,宾语提取小句“文强爱的程程”现在就可以推导了:

向后和谐复合和类型提升规则(10)和(11)能使直接宾语和间接宾语进行组合。

(10) 向后和谐复合 YjZ:g XiY:f ⇒BXjZ:λx.f(gx) (i,j∈{◇,·}) (<B)

(11) 向后类型提升 X:a⇒TYi(Y/X):λf.fa (i∈M) (<T)

至今讨论的规则都是保序的。当某些成分的位置相对于它们的典范位置发生了改变时,这些规则无能为力,这需要引入交叉复合规则,交叉复合规则导出了语法需要的交换性。

(12)向后交叉复合 Y/jZ:g XiY:f ⇒BXjZ:λx.f(gx) (i,j∈{×,·}) (<B×)

(13)向前交叉复合 X/iY:g YjZ:f ⇒BXjZ:λx.f(gx) (i,j∈{×,·}) (>B×)

组合子S不同于组合子B和T,因为它允许一个语料被两个不同的函子使用。处理寄生缺位结构需要这样的组合子,如在语句“存在的问题此轮巡视只发现不包括解决”中,一个语料“存在的问题”作为“发现”和“不包括解决”的论元。如下规则可处理此语句:

(14) 向后交叉置换 Y/jZ:g (XiY)/jZ:f⇒SX/jZ:λx.fx(gx) (i,j∈{×,·}) (<S×)

基于置换组合子还有两个和谐置换规则和一个向前交叉置换规则。此处略。

三、范畴类型逻辑

AB-演算的规则和分离规则类似,两者都涉及推理,因此可定义范畴语法的完全逻辑表达方式。把范畴语法刻画成逻辑首先由兰贝克提出,由此范畴语法发展成范畴类型逻辑(CTL)。CTL是线性逻辑,在线性逻辑中,前提的顺序、排列和多样化至关重要。证明项Γ├F是CTL运算的对象,表示一个结构Γ具有类型F。Γ是一个结构前件,包含用来证明公式F(后件)的前提。Γ的元素用结构构造子oi连接起来,oi在CTL中指称组合模式。象CCG一样,CTL的范畴斜线可以被类型化,每一类型对应具有不同逻辑性质(结合性、交换性)的组合模式,这些逻辑性质由结合和交换等结构规则给出。这里仍使用模式集M={★,◇,×,·}。

CTL的核心叫基础逻辑,基础逻辑的斜线消除规则对应了AB-演算的函项应用规则。然而,二者有重要的区别:斜线消去规则不需要符号串的毗连,函项应用规则需要符号串的毗连;CTL规则包含结构构造子,结构构造子可组合前提的前件,CCG规则没有此部分。

(15) 斜线消除模式(i∈M)

只有斜线消除规则的系统是与AB-演算等价的部分推理系统。但基础逻辑还支持假设推理,这样基础逻辑还有斜线引入规则(16);AB-演算没有假设推理,故没有相应的规则。

(16) 斜线引入模式

斜线引入规则(16)要求假设处于结构化前件的外围。假设推理和斜线引入规则导致的一个后果是CCG的类型提升规则是基础逻辑的定理(17)。AB-演算没有与斜线引入规则相对应的规则,也没有类型提升规则,故AB-演算与基础逻辑不等价。

基础逻辑没有触及证明项的前件,故其灵活性没有超过AB-演算。引入结构规则重构证明项的前件可以创造具有不同灵活性的系统。如CTL采用了如下结构规则用交换的方式重构由模式×和·建立的结构化前件:

考虑重块头-NP移位语句“丁力娶了程程”。开始的证明如同“娶程程了”的证明一样,然后使用右交换规则:

可以证明,CCG的交叉复合规则是如此构造的CTL的定理:

CTL还可采用左右结合结构规则重构由模式◇和·建立的结构化前件,如此构造的CTL可以推出CCG的和谐复合规则,这里略。

这些证明表明,CCG的组合规则都是CTL的定理;CTL与CCG一样,都可以使用模态词控制一个有穷规则集的适用性,因此,CCG和CTL可以相互模拟。但是,CCG有许多非组合规则,它们不是CTL的定理,这说明了CCG的推演能力强于CTL。CCG和CTL虽然都属于中度的上下文敏感语法,但是前者比后者更敏感。

四、两种方法的侧重点、生成能力和计算应用

20世纪70年代,蒙太格语法与范畴语法的紧密联系重新唤起了人们对范畴语法的兴趣,进而导致了上世界80年代兰贝克演算的复兴,复兴的顶峰就是范畴类型逻辑。直到2000年早期,逻辑和组合传统在很大程度上是彼此独立的。前者热心于范畴语法的逻辑理论问题,把范畴语法看成是一个逻辑系统,配备框架语义学,讨论系统的可靠性和完全性,以及系统的可判定性;后者关注自然语言的表达力问题,基于统计模型,从语言学和计算语言学角度探讨自然语言的自动机处理问题,从而获得低自动机理论能力和良好计算性质的语言表达系统。逻辑传统认为组合方法是基于类型推理的不完全的部分系统(因此缺乏意义);组合传统认为逻辑方法对于计算应用是不适用的(因此缺乏意义)。

其实,基于两种方法的语法系统在很大程度上是相容的。使用从CTL导出的CCG规则获得的分析如同使用CTL本身获得的分析,CCG推演可视为相应的CTL推演的缩略版,CTL中的假设推理和结构重构规则被CCG中的类型提升规则和复合规则所代替。已知前一节定义的CTL系统和一个标准的CCG规则集,在大多数情况下,它们对于语法的断定是相同的。CTL提供了一个显微镜,允许我们审视结合和交换等性质的细节;然后,告诉我们如何证明CCG的规则。使用CCG规则,我们能够削减CTL推演需要的一些逻辑步骤。这不仅意味着缩短了推演,而且表明使用CCG进行语法分析有许多优势。需要指出的是,CTL系统不可有穷公理化,它可提供更多的可能性推演,而不是有穷的CCG规则集。

AB-演算是上下文无关的,对于处理某些自然语言来说,它甚至不是弱充分的,比如瑞士德语的交叉依存关系。CCG的组合规则增加了AB-演算的力量,使CCG成为能够刻画交叉依存关系的中度的上下文敏感形式系统,中度的上下文敏感性是相对于刻画交叉依存关系的串语言(弱生成能力)和刻画合适依存关系的结构描述(强生成能力)而言的。中度的上下文敏感形式系统具有多项式复杂性(n6)。生成能力的问题在CCG和CTL之间是一个历史性的问题,尽管当今不是一个核心关切。CTL的研究者通常不重视生成能力问题,而CCG采取了一个极小生成能力的承诺。对CCG来说,对其生成能力的界定为以它为基础的理论提供了一个界限,因而增加了普遍性,向通用语法目标迈进了一大步;这样的形式系统处于自然语言复杂性的下界,它们具有足够强的表达力,但不是万能的。多模态方法的优势在于它使用语料敏感的方式融合具有不同生成能力的系统,以受控的方式引入组合运算。

伴随着范畴语法形式化的进步,范畴语法的计算应用研究也有很大的进展。范畴语法在这些方面的成功基于它的高度词汇化和语义透明性。像许多其他适合计算的框架一样,存在适宜做检测分析的语法发展情景。Grail系统允许定义且检测CTL结构规则包和词库;①Moot,Richard.Proof Nets for Linguistic Analysis[D].Ph.D.thesis,University of Utrecht,2002.开CCG系统支持CCG语法的发展,并且执行语句的分析和实现,还被应用于大范围的对话系统中。②White Michael.Efficient Realization of Coordinate Structure in Combinatory Categorial Grammar[J].Research on Language and Computation,2006,4(1).计算应用的主要进展是构造CCG库,CCG库允许创造快而准确的统计型CCG分析程序,并通过这样的分析程序生成深层的依存关系。范畴语法的一个关键特征是词汇范畴为整个句法分析提供了大量信息,Clark and Curran (2007)①Clark,Stephen and Curran,James.Wide-Coverage Efficient Statistical Parsing with CCG and Log-Linear Models[J].Computational Linguistics,2007,33(4).的C&C CCG分析程序应用了这个特征,并因此成为生成深层依存关系速度最快的大范围统计分析程序之一:在语法分析前用一个快速的超级标记器给词汇指派范畴,因此极大地减少了结构歧义性。使用CCG库的另一种方式是引导一个语法使用支持大范围语句实现的开CCG库。从CCG库获得的超集标记器还被用来提升统计型的机器翻译系统。不像CCG,CTL在计算应用中作用甚微,这是处理完全逻辑提供的选择时面临的重要挑战。特别是,与CCG的有穷规则集比起来,CTL允许使用更多的方法给符号串加括号。

范畴语法不仅与组合逻辑和语料敏感的线性逻辑有联系,还与范畴理论有联系。现代范畴语法采用的受控的结合性与交换性允许它们为所选范围内的许多麻烦问题提供简单分析。CTL继续探索可应用于语言学的新的结构构造算子,探索它们的逻辑和数学性质;组合范畴语法仍然集中在实际运用,以及从CCG库等资源中和从使用机器学习方法的文本中获得语法。已知这里概括的两个传统之间的联系,很容易把一个传统中的创新翻译到另一个传统中。随着范畴语法在形式上的发展、计算上的进步及其在语言现象中的应用,通过把语言学研究应用于具体的语言和结构,以及在文本上或在机器人这样的交际主体内使用机器学习方法获得语法,必将加深我们对自然语言语法的理解。

A comparative study of the Combinatory Categorial Grammar and the Categorial Type Logics

YAO Cong-jun
(Department of Politics,Hunan University of Science and Engineering, Yongzhou 425199,China/Institute of Philosophy,Chinese Academy of Social Sciences,Beijing 100732,China)

Categorial Grammar originated in the AB-calculus,and now encompasses a range of related formalisms that treat both syntactic and semantic analysis as type-based inference.The two complete extensions of the AB-calculus are the Categorial Type Logics based on the logical tradition and the Combinatory Categorial Grammar based on the combinatory tradition.They are closely related to each other but obvious differences still remain.The former is largely concerned with the linguistic applicability of different logical operators and proof-theoretical properties of the proposed logical systems.For CTL researchers,issues of generative capacity are not considered to be of prime theoretical importance,and CTL has little use in computational applications.The latter focuses more on obtaining linguistically expressive systems with low automata-theoretic power and attractive computational properties.

Categorial Grammar;Categorial Type Logics;Combinatory Categorial Grammar;computation;generative capacity

B81-092

A

1000-5110(2015)01-0075-07

[责任编辑: 王德明]

姚从军,男,湖北随州人,湖南科技学院副教授,博士,中国社会科学院哲学所博士后流动站研究人员,湘潭大学硕导,研究方向为现代逻辑和语言逻辑。

国家社科基金重大招标项目(10&ZD073);湖南省重点建设学科“思想政治教育”项目(湘教发[2011] 76号);湖南科技学院重点建设学科“汉语言文字学”(湘科院校字[2011]89号)。

猜你喜欢
斜线句法范畴
批评话语分析的论辩范畴研究
述谓结构与英语句法配置
正合范畴中的复形、余挠对及粘合
回路范畴的扩张及其应用
句法二题
诗词联句句法梳理
信息结构与句法异位
疯狂的游戏
趣味数独
更正启事