组合范畴语法CCG|与汉语谓词缺失现象的处理
2014-10-25姚从军
姚从军
一、组合范畴语法CCG|
在过去的二十年间,如何处理好照应和省略现象,一直是范畴语法所关注的重点和难点。以往的相关工作可以总结为两个方面的努力:一种是词汇方法,即认为回指含义由特定的语词激发,照应词条的语义表达式包含一个λ-算子,约束一个变元的多次出现①Szabolsci Anna,Bound Variables in Syntax(are there any?),Semantics and Contextual Expressions,vol.32,no.6,1989,pp.295-318;Moortgat Michael,Generalized Quantification and Discontinuous Type Constructors,Discontinuous Constituency,De Gruyter,vol.16,no.8,1996,pp.181-208;Morrill Glyn,Type Logical Anaphora,Report de Recerca LSI-00-77-R,Department de Llenguatges I Sistemes Informàtics,Universitat Politècnica de Catalunya,2000.;另一种是句法方法,即认为照应操作在句法中进行,承认词条之间具有线性性质,允许语词资源的重复使用②Pauline Jacobson,Paycheck Pronouns,Bach-Peters Sentences,and Variable-free Semantics,Natural Language Semantics,vol.8,no.2,2000,pp.88-101;Jäger.G,Anaphora and Type Logical Grammar,Netherland:Springer,2005,pp.121-129;满海霞:《汉语照应省略的类型逻辑研究》,博士学位论文,北京:中国社会科学院研究生院,2010年,第139~156页。。
这些尝试都是在类型逻辑语法框架内对照应和省略现象的处理,笔者将在组合范畴语法框架内处理照应和省略现象。针对汉语的代词照应现象、空代词照应现象,以及动词省略及其照应现象,模拟Jäger和满海霞在类型逻辑语法框架内对照应现象的处理方法,使用合适的规则对原生态组合范畴语法CCG进行扩展,得到包含照应算子的组合范畴语法CCG|(|表示照应算子);使用由此得到的组合范畴语法CCG|处理汉语的动词省略及其照应现象。对于汉语的代词照应现象和空代词照应现象的处理将另文撰述。
CCG|就是在原生态组合范畴语法的基础上,增加照应算子|、照应范畴以及涉及照应的一些推理规则而得到的CCG的扩展。
定义1 CCG|范畴
1.s和 np是范畴;
2.如果 A和B是范畴,那么A/B,BA,A·B,A|B也是范畴。
其中,“”、“/”与“·”与 CCG 中的定义相同,对自然语言中的连续成分进行运算;“|”可以直接处理通常为不连续结构的照应现象,直接寻找可以匹配的先行词:一个范畴为A|B的语词向后(或向前)找到一个范畴为B的先行词,就生成一个范畴为A的词项。
定义2 CCG|的规则
CCG|的规则集是在原生态CCG规则的基础上增加关于照应的规则而生成的。因此,CCG|的规则有两部分组成:一是CCG的规则;二是关于照应算子的规则。注意,在下面的表述中,“:”前面是范畴,后面是语义λ项。
原生态组合范畴语法CCG是范畴语法AB-演算的扩展,因此CCG的规则就是对AB-演算①Bar-Hillel and Yehoshua,A Quasi-arithmetical Notation for Syntactic Description.Language,vol.29,no.3,1953,pp.47–58.的规则扩展而成的。AB-演算仅包括函项应用规则,这里表述如下:
(1)函项应用规则
a.X/Y:fY:a⇒X:fa(>)
b.Y:aXY:f⇒X:fa(<)
上述规则a表示一个范畴为X/Y的自然语言表达式向右毗连一个范畴为Y的自然语言表达式后,得到一个范畴为X的自然语言表达式;规则b表示一个范畴为XY的自然语言表达式向左毗连一个范畴为Y的自然语言表达式后,得到一个范畴为 X的自然语言表达式。
在给出一个表达式的推演时,我们先把它的词汇按固有顺序依次列出,同时从词库中引入它们的范畴,然后把规则应用到毗连的成对范畴上。通过加下划线及给下划线标注代表规则的符号来表述每一步推演。不带标记的下划线表示从词库中引入一个范畴。使用词库中的词条,就可以给出一个语句在AB-演算中的推演。下面给出一个实例:
图1 基本及物句在AB-演算中的推演
尽管使用AB-演算可以处理大量的语言现象,但是由于它使用的规则不具有结合和交换的性质,因此不可刻画像英语这样的自然语言中的宾语抽象、非外围抽象、跨界依存、词序灵活性、重型NP-移位、动词毗连、主目毗连、寄生缺口和直接成分的非连续性等现象。对于汉语来说,同样由于它使用的规则不具有结合和交换的性质,因此无法处理汉语中模态词与及物动词毗连、副词与及物动词毗连、主谓毗连、直接宾语和间接宾语毗连、宾语与后置状语毗连等现象。因此,对于汉语句“大学生[应该](s p)/(s p)[珍惜](s p)/np并且[合理](s p)/(s p)[利用](s p)/np时间”、“[小昆]np[喜欢](s p)/np而[小东]np[讨厌](s p)/np那个歌手”、“妈妈给了[女儿]np[一块糖]np、[儿子]np[一块饼干]np”、“小红喝 [红牛]np[很快](s p)(s p)而[咖啡]np[很慢](s p)(s p)”等等来说,AB-演算无法处理。
斯蒂德曼(Steedman)基于组合逻辑的三个组合子定义新规则,并把这些新规则加入AB-演算,得到了组合范畴语法CCG.②Mark Steedman,Surface Structure and Interpretation.Cambridge Mass:MIT Press,1996,pp.30-43.。这三个组合子分别是:复合组合子B、类型提升组合子T和置换组合子S。下面介绍CCG的组合规则。
(2)函项复合规则
a.X/Y:fY/Z:g ⇒BX/Z:x.f(gx)(>B)
b.Y:gXY:f⇒BX:x.f(gx)(<B)
c.Y/Z:gXY:f⇒BX/Z:λx.f(gx)(<B×)
d.X/Y:fY:g⇒BX:λx.f(gx)(>B×)
(3)类型提升规则
a.X:a ⇒TT/(TX):λf.fa(> T)
b.X:a⇒TT(T/X):λf.fa(<T)
(4)置换规则
a.(X/Y)/Z:fY/Z:g ⇒SX/Z:λx.fx(gx)(>S)
b.Y:f(XY):g ⇒SX:λx.fx(gx)(<S)
c.(X/Y):fY:g ⇒SX:λx.fx(gx)(>S×)
d.Y/Z:g(XY)/Z:f⇒SX/Z:λx.fx(gx)(<S×)
有了这些新增加的规则很容易处理上述AB-演算不能解决的问题。下面给出一个实例:
图2 及物动词和主语的毗连推演
AB-演算只能为及物动词和宾语毗连提供运算规则,如图1推演所示。此例需要及物动词和主语先毗连,然后才能使推演进行下去,进而生成整个语句。CCG的类型提升规则可使主语的范畴由论元范畴np变为函项范畴s/(s p),而CCG的函项复合规则为这个函项范畴与及物动词的范畴进行毗连提供了运算依据,进一步可推出整个语句。
但是,自然语言存在大量的照应和省略现象,如代词照应语句(“张三喜欢自己”,这里的自己回指张三)、空代词语句(“老师答应参加我们的聚会”,这里“参加”之前省略主语,我们称之为空代词,该空代词回指“老师”;“老师说服学生参加劳动”,这里“参加”之前省略主语,我们称之为空代词,该空代词回指“学生”)。对于反身代词照应,原生态CCG通过增加一条统一为动词赋以照应词条的规则来处理。这样除了给“喜欢”指派一般的及物动词词条外,还要为其指派一个照应词条“(s p)/np:λg.λy.喜欢'(ana 'y)y”,用来处理该动词以反身代词为宾语的语句,这样会增加词库负担;对于后面的两种空代词情况,原生态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的基础上增加如下新规则:
(5)照应标记增删规则[]i
ⅰ.A:M ⇒[]i[A]i:M
ⅱ.[A]i:M ⇒[]iA:M
规则ⅰ表明,在推演的过程中,根据照应运算的需要给照应先行语范畴添加一元算子[]i;规则ⅱ表明,在照应运算后,可以把照应先行语范畴上的一元算子[]i删去。
(6)照应类型提升规则|T
ⅰ.np:x ⇒|Tnp|np:λx.x
ⅱ.vp:P ⇒|Tvp|vp:λP.P
ⅲ.tv:P ⇒|Ttv|tv:λP.P
规则ⅰ表明,在推演的过程中,可以把代词的范畴np提升为照应范畴np|np;规则ⅱ表明,在推演过程中,可以把指称不及物动词短语的助动词范畴(如“是”“应该”“要”等)提升为照应范畴vp|vp;规则ⅲ表明,在推演过程中,可以把指称及物动词短语的助动词范畴(如“做”等)提升为照应范畴 tv|tv,这里 tv=(s p)/np。
(7)照应算子应用规则(<|)
[A]i:M……B|A:N ⇒|,iB:N(M)(<|,i)
该规则表明,在推演的过程中,一个范畴B|A的照应语向左遇到一个范畴为A的先行语之后,转换成范畴为B的词项。
(8)照应算子抽象规则|λ
np:x……s:M ⇒|λs|np:λx.M(|λ)这条规则规定:如果被处理的语句含有没有先行词的代词,在生成范畴为s的结论后,需要在结论中引入照应算子,反映照应槽,同时使用λ算子对语义表达式中的自由变元进行约束。
(9)省略槽(ellipsis slot)规则(el)
A:M C:N ⇒elA:M(B|B:λx.x C:N)(el)
显然,这个新的推演工具的直观功能就是在两范畴之间添加第三个范畴,给出其命名el(ellipsis slot的缩略),表示在省略处引入范畴的规则。需要指出,补出范畴的运算顺序是:其相邻贴合优先右侧的范畴,在规则中用括号加以体现。
笔者把包含所有这些规则的系统称作组合范畴语法CCG|。
二、汉语谓词缺失结构
李艳惠提到,在汉语中有三种谓词缺失现象①李艳惠:《省略与成分缺失》,《语言科学》2005年第3期。。三类谓词缺失结构均由各自结构的中心语类别命名,在目标从句中,由该部分的中心语选择方括号中被省略的部分。
表1 汉语中的三类谓词缺失结构
对于句c来说,若把“小李也要”替换为“小李也要探望”,就变成了动词结构;对于 b句来说,如果把“小赵也是”换成“小赵应该”,就变成了助动词结构。比较b句及其变形“小明不应该来,小赵应该”:b句中的“是”选择了整个谓语部分[不应该来],而变形句中助动词选择的只是助动词后面的动词短语[来]。
三、组合范畴语法CCG|对“‘是’字结构”的处理
谓词缺失中的“是”字结构是以“是”字代替缺失动词的结构,如表1中例句b所示。由于目标从句中的谓语动词“是”可以代替源从句的谓语动词②“目标从句”和“源从句”解释如下:前者指包含缺省部分的从句,后者指与目标从句并列、语句完整的从句。如“John walks,and Bill does too”的前一个小句是源从句,后一个小句是目标从句。,且是缺省部分的中心词,所以李艳惠称之为“是”字结构。b句完整的语义是“小明不应该来,小赵也不应该来”。从照应的角度说,就是“是”需要源从句中主语之后的范畴为vp的表达式为先行词,找到之后,就能够像vp范畴的表达式一样参与运算。换言之,“是”可以提升成范畴为vp|vp(即(nps)|(nps))的照应词,语义上为作用在个体性质(谓词)上的恒等函项,记作λP.P。由此,b的逻辑生成如图3所示:
图3 b在CCG|中的逻辑生成图
上面的推演用到照应类型提升规则ii(vp:P ⇒|Tvp|vp:λP.P)。
在“是”字结构的目标从句中,由于“是”要拷贝源从句中的 vp,所以“是”字句的整体解读其实受源从句中vp语义的影响。当源从句的vp含有代词时,两个具有照应功能的语词撞在一起,就会导致歧义。如语句“张三看见了他的妈妈,李四也是”①刘丽萍:《汉语截省句》,博士学位论文,北京:北京语言大学文学院,2006年,第25页。。一般认为,它有三种解读:
(1)a.张三i看见了他k的妈妈,李四j也看见了他k的妈妈。
b.张三i看见了他i的妈妈,李四j也看见了他i的妈妈。
c.张三i看见了他i的妈妈,李四j也看见了他j的妈妈。
◆一种是张三、李四都看见第三个人的妈妈,这个“他”在句中没有先行词,或者说从域外求先行词,即(1)a,生成方法如下图:
图4a 解读(1)a在CCG|中的逻辑生成图
上面的推演用到照应类型提升规则ii(vp:P⇒|Tvp|vp:λP.P)和照应算子抽象规则|λ(np:x……s:M ⇒|λs|np:λx.M)。
◆第二种解读是第一种解读的特殊情况,源从句的代词和目标从句省略的代词在句中的先行语都是源从句的主语,推演如下:
图4b 解读(1)b在CCG|中的逻辑生成图
上面的推演用到照应类型提升规则ii(vp:P⇒|Tvp|vp:λP.P),无须使用照应算子抽象规则|λ。
◆如果源从句中的代词以源从句的主语为先行词,目标从句中省略的代词以目标从句的主语为先行词,那就得到上述解读c,具体推演如图4c所示。
特别要注意,图4c的推演使用了两个照应类型提升规则,分别为照应类型提升规则ⅲ(tv:P⇒|Ttv|tv:λP.P)、照应类型提升规则ⅰ(np:x ⇒|Tnp|np:λx.x)。另外,还使用了省略槽规则el(A:M C:N⇒elA:M(B|B:λx.x C:N))。
图4c 解读(1)c在CCG|中的逻辑生成图
四、组合范畴语法CCG|对“助动词结构”的处理
前一节已经为“是”字结构给出了合适的分析,仿效“是”字结构的分析,可以得出助动词结构的合理解读。以表1中的c句为例,使目标从句中的助动词“要”的范畴提升为vp|vp,语义为作用在个体性质(谓词)上的恒等函项,该句的生成如图5所示。
图5的推演使用了照应类型提升规则ii(vp:P ⇒|Tvp|vp:λP.P)。
图5 表1的例句c在CCG|中的逻辑生成图
五、组合范畴语法CCG|对“动词结构”的处理
现在我们来看谓词缺失现象中的动词结构。这类谓词缺失现象重复使用了源从句中谓语动词后面的名词。为了言说表现更加经济,重复部分被省略,在句法表层没有对应的语词表现,没有像“是”“应该”之类可以赋以照应范畴的语词。如果退而求其次,为生成这样的语句,参照对助动词和“是”的做法,使在此类谓词缺失结构中出现的动词(设其范畴为vp)范畴提升为照应范畴vp|vp,使目标从句的这个中心语动词有能力为它后面的省略槽拷贝源从句的宾语,则会造成动词范畴变化的任意性,失去了形式化方法的严格性优势,不是一个好办法。
那么该如何解决这个问题呢?同是谓词缺失现象的子类,同样都涉及动词的语义重复使用,有两种情况已经在CCG|中得到很好的分析,我们希望第三种情况也能够在CCG|系统中得到正确生成。首先尝试在CCG中对表1的语句a直接做毗连生成,如图6a所示:
图6a 图(3)的例句a在CCG中的逻辑生成图
在这一生成过程中,源从句可以直接毗连生成范畴为s的表达式,而目标从句部分最多只能运用CCG的类型提升规则和向前复合规则使得“妈妈'”和“送'”结合,得到范畴(s/np)/np,之后无法继续前进。
返回来想想,该类语句中重复使用的语词资源是因为重复了源从句中已有的成分,依据交流的经济性原则而被省略。或者说,可以认为在目标从句的“送”之后存在着两个包含省略语词的槽位,在做语义生成时需要将省略的语词补充出来。那么,什么规则有能力补出省略的语词呢?是el规则。下面在CCG|系统中生成表1的例句a,如图6b所示:
图6b 表1的例句a在CCG|中的逻辑生成图
注意,这里用了两次省略槽规则,这是由谓词“送”的元数决定的。
总之,有了组合范畴语法CCG|,我们很容易分析汉语的三种谓词缺失现象。不仅如此,使用这个系统,我们也很容易处理自然语言的代词照应现象和空代词及其照应现象。