查看原文
其他

姚从军,朱乐亚 | 语言、逻辑与计算互动视角下汉语“把”字句的多模态组合范畴语法处理

姚从军,朱乐亚 湖北大学学报 2023-08-28

语言、逻辑与计算互动视角下汉语“把”字句的多模态组合范畴语法处理

姚从军, 朱乐亚
(湘潭大学 碧泉书院, 湖南 湘潭 411105)
摘 要: 现代汉语“把”已语法化为功能投射的中心语,“致使性”是“把”字句句式义,它附着在“把”字上。使用句法替换标准或语义指向标准易于把两类汉语“把”字句即致使义“把”字句和处置义“把”字句区分开来。“把”字句的各成分之间的语义关系错综复杂,也因此产生了歧义性“把”字句。设计“分解型”词条指派方法,借助广义斯科伦项理论,在多模态组合范畴语法MMCCG中不仅可以将各种“把”后VR区分开来,还可以精确地刻画“把”字句的各成分之间的语义关系,特别是能成功地处理两种歧义性“把”字句,弥补了句法分析的不足。
关键词: “把”字句;多模态组合范畴语法;“分解型”词条指派;广义斯科伦项

一、“把”的句法地位、“把”字句的类型和句式义

“把”最初是动词,意指“拿”、“处理”等。在现代汉语“把”字句中,还能看到这种含义,如“我把苹果削了皮”表示“我对苹果所做的处理就是削其皮”。然而,现代汉语“把”已失去了典型动词的属性。首先,“把”的动词词汇意义不完整,不能作“主-谓-宾”结构的谓语,需后接动词短语;其次,与常规动词不同,“把”不能带“了”等体标记,不能形成V-不-V等问句形式,不能作问句的答案(“老师把了小宝骂了”、“老师把不把小宝骂了?”和“不/没把”都不合语法);最后,若“把”后NP是后接动词的宾语,该宾语在动词后面的位置应为空,不能出现代名词或反身代词(“老师把小宝i骂了他i”和“老师把小宝i骂了他自己i”都不合语法),动词无此限制。
很多学者认为“把”是介词,它与其后NP构成一个PP成分。多个理由表明“把”字介词说不合理。首先,在语句“你把[菜洗干净],[饭做]了”中,“把”后NP和VP构成了一个成分。其次,如果承认“把”是介词,那么“把NP”就是“把”后VP的状语,属于附属成分,附属成分可有可无。比如,“使劲地”是“我使劲地打张三”的附属成分,所以删除后的语句“我打张三”仍然合语法,且保持语句原义。而“把NP”显然不是如此,如果删除“我把张三打了”中的“把张三”,所得语句“我打了”至少和原语句的语义不同。再次,附属语中的NP不能与附属语所修饰的动词的宾语同指(1)冯胜利:《汉语韵律句法学》,上海:上海教育出版社,2000年,第323页。,而“把”后NP却可与“把NP”所修饰的动词的宾语同指。
现代汉语“把”已经语法化了。有学者认为,“把”的语法化与唐宋时期动结、动趋、动补等结构的产生密切相关。在这样的结构中,如果宾语仍然留在动词后就和动词有了间隔,违反了语言的“接近原则”,“把”被用来提前宾语以维护“接近原则”(2)韩玉国:《范畴语法与汉语非连续结构研究》,北京语言大学博士学位论文,2005年,第90-91页。。也有学者认为,“把”是一个填充成分,当不发生动词提升时,它填充致使短语的中心语位置(如“我把衣服送给小宝”中的“送”没有提升,故用“把”填充致使短语的中心语位置。而“我送衣服给小宝”中的“送”已提升到中心语位置,故不需要“把”填空此位置)(3)黄正德(Huang,C.-T.J.)等:《汉语句法学》,张和友译,北京:世界图书出版公司北京公司,2013年,第161页。。多模态组合范畴语法MMCCG认为,一切语句都是原生成的,不存在删除、提升和填充等句法操作,“把”字句也不例外。根据该理论,“把”应被视为原生成的致使短语的中心语,属于功能词汇,旨在使语句产生致使义。
致使义“把”字句和处置义“把”字句是两种典型的汉语“把”字句。通常认为,二者的本质区别在于“把”后VP是否具有自主性,或者说可控性。如果可以自主地控制,那么该VP所在的“把”字句就是处置义“把”字句,否则是致使义“把”字句。看下面的语句:
语句1
a.这件事把我气晕了。b.新冠肺炎把领导忙得团团转。c.小王把牙齿掉了。
d.你把我打伤了。e.我把饭吃饱了(再出发)。f.你把我咳嗽醒了。
前三个语句是致使义“把”字句,主要动词“气”、“忙”和“掉”都是非自主的、不可控的。另外,“把”位于处置方式和结果之间;“把”后NP是V的施事和R(如果有的话)的感事。后三个语句是处置义“把”字句,主要动词“打”、“吃”和“咳嗽”是自主的、可控的。另外,“把”位于处置方式和结果前面;“把”前NP是V的施事;“把”后NP通常是R的感事,有时“把”前NP是R的感事(如e)。
“‘把’字句表示处置”曾被人们广为接受。但是,“处置”通常表示人的有意识、有目的的活动,从这个意义上看,有的“把”字句不具有处置义。比如,在语句“这杯酒把我喝倒了”中,“这杯酒”无法对“我”做出处置,“处置说”也就无法涵盖此类“把”字句,因而用“处置”概述“把”字句的句式义失之过窄。换一角度来看,任何带宾语的语句都可视为主语所指对宾语所指作了某种处置。比如,在非“把”字句“我喝足了水”中,“我”对“水”做了“喝”这种处置,因而用“处置”概述“把”字句的句式义又失之过宽。相比而言,“致使性”几乎涵盖了所有“把”字句的语义特点,用之概括“把”字句的基本语义乃天经地义。这种“致使性”来源于“把”字(4)叶向阳:《“把”字句的致使性解释》,《世界汉语教学》2004年第2期。。

二、多模态组合范畴语法MMCCG

组合范畴语法CCG源于范畴语法CG。CG的基本做法是从不同层次的语言表达式中抽象出句法范畴,再通过范畴的运算来刻画语言表达式由小到大逐层逐级地毗连生成过程。但CG仅含两条规则,对自然语言的描述能力很有限。往CG中添加三类组合规则,产生了CCG。CCG虽然能够处理CG无法处理的一些自然语言语句,但也承认一些不合语法的自然语言语句,应对其进行限制。MMCCG引入了定义斜线类型的模态词★、♢、×、·,用类型化斜线限制规则的适用范围,避免了CCG导致的过度生成性。

(一)MMCCG的规则

1.词法规则(类型提升规则)
a.X$:a⟹LEX T/i(T\iX)$:λf. fa b.X$:a⟹ LEX T\i(T/iX) $:λf. fa
2.句法规则一(函项应用规则)
a.X/★Y:f Y:a ⇒X:fa (>) b.Y:a X\★Y:f ⇒ X:fa (<)
3.句法规则二(函项复合规则)
a.X/◊Y:fY/iZ:g⇒X/iZ:λz. f(gz)(>B)b.Y\iZ:gX\◊Y:f⇒X\iZ:λz. f(gz)(<b)c.x ×Y:fY\iZ:g⇒X\iZ:λz. f(gz)(>B×)d.Y/iZ:gX\×Y:f⇒X/iZ:λz. f(gz)(<b×)</b
4.句法规则三(函项置换规则)
a.(X/Y)/iZ :fY/iZ :g⇒X/iZ :λz.f z(gz)(>S)b.Y\iZ :g(X\Y)\iZ :f⇒X\iZ :λz.f z(gz)(<s)c.(x ×Y)\iZ :fY\iZ :g⇒X\iZ :λz.f z(gz)(>S×) d.Y/iZ :g(X\×Y)/iZ :f⇒X/iZ :λz.f z(gz)(<s×)</s
斜线下标i是模态算子变元,可以取{★、♢、×、·}中任何一算子为值。
有了这些模态算子,就可以限制CCG的过度生成。比如,下面可以在CCG中生成的错误并列结构就不能使用MMCCG的函项复合规则Y\◇Z X\◇Y→X\◇Z生成。因为给and指派了范畴(S\★S)/★S,and he talks的范畴S\★S就不能与sleeps的范畴S\•NP进行函项复合运算,如图1所示:

(图1) MMCCG阻止错误的并列结构生成

(二)MMCCG的语义理论:广义斯科伦项理论

一阶逻辑和λ-演算结合产生了广义量词理论。CCG使用广义量词理论表述自然语言的语义,因存在量词和全称量词之间存在的复杂语义依存关系而出现了各种各样的辖域歧义问题。比如,使用CCG可得到“每个男孩喜欢一个女孩”的两个语义表达式:∀y(By→∃x(Gx∧Lxy));∃x(Gx∧∀y(By→Lxy))(5)谓词B表示“是男孩”,G表示“是女孩”,L表示“喜欢”(Lxy表示“y喜欢x”)。。前者是存在量词取窄辖域的逻辑表达式,表示“每个男孩可能喜欢一个不同的女孩”;后者是存在量词取宽辖域的逻辑表达式,表示“每个男孩喜欢同一个女孩”,这就产生了辖域倒装问题。
要解决辖域歧义问题,必须简化全称量词和存在量词之间的依存关系,Skolem提出了斯科伦项理论:删除公式中的存在量词,用斯科伦函项sk(x,y,z…)或常项sk( )取代存在量词约束的变元(6)L.Robaldo,“Skolem Theory and Generalized Quantifiers”,Wilfrid Hodges,Ruy de Queiroz,eds.,Logic,Language,Information and Computation,15th International Workshop,WoLLIC 2008,Edinburgh,UK,July 1-4,2008,Proceedings,Berlin:Springer,2008,pp.286-297.。Steedman发展了斯科伦项理论,引入了形如skEn:p;c的广义斯科伦项,其中Ε是环境,环境中的元素是管辖广义斯科伦项的全称量词约束的变元(7)E中元素取决于对某个非确定斯科伦项进行确定化运算时,管辖这个非确定斯科伦项的全称量词:假设这个非确定斯科伦项处于∀y的辖域内,那么E中元素为y;如果这个非确定斯科伦项处于∀y和∀z的辖域内,那么E中元素为y、z;如果这个非确定斯科伦项不处于任何全称量词的辖域内,那么E为空集。参见M.Steedman,Taking Scope:The Natural Semantics of Quantifiers,Cambridge,MA:The MIT Press,2012,p.48;M.Steedman,Combinatory Categorial Grammar:An Introduction,Philadelphia,PA:The SOMESUCH Press,2017,p.172.;p是使用λ-公式表述的名词性质,比如“女生”的逻辑性质为λx.Gx;n是名词短语出现的编号,目的是区分具有相同性质的不同个体,比如在“三个男生走路,三个男生坐车”中,前后出现的“男生”要用带不同编号的广义斯科伦项区分开来(不用区分时,n可省略);基数条件c表示像“三个”、“至多两个”和“大多数”这样的数量(基数为1时,c可以省略)。该语句开始出现的“三个男生”就可表述为sk{}1:λx.Bx;3,因为这个广义斯科伦项没有出现在全称量词的辖域内,故环境E是空集,这样的广义斯科伦项被称作广义斯科伦常项。如果环境非空,则得到广义斯科伦函项。广义斯科伦项skEn:p;c指称语义类型为e、性质为p的个体。众所周知,就辖域交替而言,包括复数在内的非全称量词与全称量词的表现非常不同,在处理方式上应该区分开来。Steedman继续用广义量词表述全称量词,而用广义斯科伦项表述所有非全称量词,形成了广义斯科伦项理论,并把它作为MMCCG的语义理论。在MMCCG中,“每个男孩喜欢一个女孩”的两种解读分别表示为:∀y(By→Lsk{y}λx.Gxy);∀y(By→Lsk{}λx.Gxy)。sk{}λx.Gx和sk{y}λx.Gx均表示具有性质G(是女孩)的个体,前者指一个确定的女孩,后者的指称可以随y的变化而变化。

三、MMCCG对汉语致使义“把”字句的处理

从语义结构上看,“把”字句表达致使结构,这种致使导致了某种结果的达成,可用Dowty的逻辑式ϕCAUSE(BECOME p)表述“把”字句(8)David R. Dowty,Word Meaning and Montague Grammar:The Semantics of Verbs and Times in Generative Semantics and in Montague’s PTQ,Dordrecht:D. Reidel Publishing Company,1979,pp.73-110.。这里 BECOME 是连接语句的一元内涵算子,有come about之意。令T是意指 and next 的动态算子,则 BECOME p 可定义为¬pTp。假若p表示“地干净”,则BECOME p意指“地变干净了”,即“地从不干净变为干净”。CAUSE 是连接语句的二元内涵算子,比如 ϕ CAUSE ψ,其中ϕ是一个BECOME语句或包含活动谓词的语句,ψ是一个BECOME语句。若ϕ表示“我拖地”,ψ表示“地变干净了”,ϕ CAUSE ψ(即ϕ CAUSE (BECOME p))则表示“我拖地使得地变干净了”。“我把地拖干净了”可表述为“拖′地′我′ CAUSE (BECOME干净′地′)”。
由于致使义“把”字句的“致使义”直接来源于“把”,并且“把”前 NP 对应一个具有某个性质的个体,其语义表达式应为“∃Q(Qa CAUSE (BECOME Px))”。此公式表示:存在一个命题 Q(在语形上可能是事件命题短语也可能是一个事件名词),该命题使得具有某性质的个体x变化成具有P性质的状态。根据致使关系层数,致使义“把”字句可分为两种:表达双层致使关系的强致使义“把”字句和表达单层致使关系的弱致使义“把”字句。

(一)强致使义“把”字句

语句2
a.疫情把我憋坏了。b.茅台把我喝醉了。
在上面两个“把”字句中, “把”居于处置方式和处置结果之间,“把”后 VP 是不可控的,并且“把”前 NP 是一个事件(上述语句中的“把”前 NP 分别表示“疫情引起的事件”和“与茅台酒相关的事件”),该事件是整个致使行为的起因,这是致使义“把”字句的共性。此外,强致使义“把”字句表达三个事件之间的双层致使关系,其语义结构是:
∃Q(Qa CAUSE (BECOME Px) CAUSE (BECOME Rx))
Q 表示“把”前NP所指个体具有某个性质这样的事件,P 表示主要动词,R 表示结果动词或者结果补足语部分。此公式表示:某个事件 Q 使得某个变量x产生某个动作 P 或处于某种状态 P,而这个动作或者状态 P 又使这个变量x产生了某种结果 R。这种句式的意义可抽象概括为:一个致使关系导致另一个致使关系发生。“把”前成分无论是显性的还是隐性的(“把我气晕了”的“把”前成分是隐性的),都指示一个起因事件,该事件是第一致使事件,它导致另一个致使事件(V→R)发生。
先在MMCCG框架中给出主要词汇的词条,如下所示:
词条1
疫情:=S把/(S把\NP):λf. f 疫情′;茅台:=S把/(S把\NP):λf. f 茅台′
把1:=(S把\NP)/★S把:λqλz. ∃Q(Qz CAUSE (BECOME q))
把2:=(S把\NP)/★(S把\NP):λPλz. ∃Q(Qz CAUSE (BECOME Pz))
憋坏了:= S把\NP:λy. 憋′y CAUSE (BECOME 坏′y)
喝醉了:= (S把\NP)\NP:λxλy. 喝′xy CAUSE (BECOME 醉′y)
上述语句的推演如下:

(图2) MMCCG处理强致使义“把”字句一
图2的推演结果表示“疫情引起的某个事件(比如我被隔离)导致我行动受限,即很憋屈;我憋屈又导致我身体出问题了,即‘坏了’”。图3 的推演结果表示“与茅台酒有关的一个事件(比如宴请活动)导致我喝茅台酒,我喝茅台酒又导致我醉了”。致使性和语义指向关系都被刻画出来了。

(图3) MMCCG处理强致使义“把”字句二
上述Qz表示z具有性质Q。“把”字句应该在句法上体现出来,该信息编码在“把”前NP的提升范畴上;“把”字句是一种表达致使性的方式,致使性附着在“把”字上,该信息编码在“把”字的语义表达式上;“把”字范畴中的算子“★”规定“把”只能与“我憋坏了/我喝醉了”进行函项应用运算,不能与“憋坏/喝醉”进行函项交叉复合运算,否则会生成“疫情我把憋坏了”、“我茅台把喝醉了”等CCG许可的不合语法的带“把”字汉语焦点句和话题句,这就抑制了CCG的过度生成性;“憋”无受事,而“喝”的受事是“把”前NP“茅台”,动词的语义指向关系通过笔者自创的“分解型”语义表达式得以实现(9)VR是一个词汇,语义上被拆分为两个语素,笔者称此语义为“分解型语义”。这种语义表达式不仅描述了V和R之间的致使关系,使语义刻画更精细,还可将不同种类VR区分开来。,如“憋坏了”和“喝醉了”的语义表达式所示,同时“憋”与“坏”、“喝”与“醉”之间的致使关系也明确地呈现了出来,用语义机制弥补了句法分析的不足;“把”字有两个词条,这是由“把”后VR的不同种类决定:“憋坏了”是一元谓词,“喝醉了”是二元谓词。

(二)弱致使义“把”字句

语句3
a.超市把苹果烂掉了。b.小宝把牙齿掉了。
如同强致使义“把”字句,“把”前NP首先要表示致使事件(上述语句中的“超市”和“小宝”可分别表示“超市储藏不当”和“小宝换牙了”等事件)。此外,“把”前NP还是“把”后NP的所有者或责任者,具有纯名词短语性质。弱致使义“把”字句表示双事件之间的单层致使关系“∃Q(Qa CAUSE BECOME Pa)”,致使义显得“弱”,故称弱致使义“把”字句。
词条2
超市/小宝:=S把/(S把\NP):λf. f 超市′/小宝′
把3:=(S把\NP)/★(S把\NP):λPλx.∃Q(Qx CAUSE(BECOME Px))
苹果:=(S把\NP)/(S把\NP):λPλa. Pskλz.苹果′z∧有′za
牙齿:=(S把\NP)/(S把\NP):λPλa. Pskλz.牙齿′z∧有′za
图4 结果表示“与超市相关的某事件导致该超市的苹果烂了”,图5 结果表示“与小宝相关的某事件导致小宝自己的牙齿掉了”,既表达了致使性句式义,也实现了“把”前 NP 与“把”后 NP 的所有者关系。这里“把”的致使性语义表达式及“把”后 NP 的广义斯科伦项语义表达式起到了关键作用,用语义机制弥补了句法分析的不足,仅仅句法分析难以产生我们期望的结果。

(图4) MMCCG 处理弱致使义“把”字句一

(图5) MMCCG处理弱致使义“把”字句二

四、MMCCG对汉语处置义“把”字句的处理

处置义“把”字句也分为强处置义“把”字句和弱处置义“把”字句。

(一)强处置义“把”字句

强处置义“把”字句除具有前述处置义“把”字句的共性之外,它还有更精细的特征:“把”后NP是主要动词V的受事,如下面的语句所示:
语句4
a.小张把小王打伤了。b.你把问题弄复杂了。c.你把饭吃饱了。
词条3
小张:=S把/(S把\NP):λf. f张′;你:=S把/(S把\NP):λf. f你′
把4:=(S把\NP)/★(S把\NP):λPλz.Pz
打伤了:=(S把\NP)\NP:λxλy.打′xy CAUSE (BECOME 伤′x)
弄复杂了:=(S把\NP)\NP:λxλy.弄′xy CAUSE (BECOME 复杂′x)
吃饱了:=(S把\NP)\NP:λxλy.吃′xy CAUSE (BECOME 饱′y)
小王/问题/饭:=(S把\NP)/((S把\NP)\NP):λg.g王′/问题′/饭′
上述词条指派基于这样的考虑:①在处置义“把”字句中,基本句式义“致使性”不是由“把”前NP引起的,而是“把”使得V和R之间的直接致使关系得以发生,这个“致使义”信息编码在“把”后VP的词条上(而不是“把”字的词条上),即给VR指派“分解型”语义表达式来;②前两个语句的“把”后NP是R的感事,最后一个语句的“把”前NP是R的感事,这就需要在VR的词条中编码R的语义指向信息,使前两个语句的VR和最后一个语句的VR在语义上区别开来。“把”字范畴中的算子“★”规定“把”只能与“小王打伤了/问题弄复杂了/饭吃饱了”经由函项应用规则进行组合运算,不能与“打伤了/弄复杂了/吃饱了”经由函项复合规则进行组合运算,否则会生成“小张小王把打伤了”、“问题你把弄复杂了”、“饭你把吃饱了”等不合语法的汉语焦点句和话题句。因为函项复合规则在CCG中的应用不受限制,“把”能与“打伤了/弄复杂了/吃饱了”经由函项复合规则进行组合运算,进一步与“把”前两个NP进行运算,从而在CCG中可以成功地推演出这些病句的生成树图。MMCCG使用斜线模态算子使推演的第一步就无法进行,这就成功地抑制了CCG的过度生成能力。
需要说明的是,在上述三个语句中,“弄复杂”只有在“把”字句中才能以词汇形式出现,即它是依赖于“把”的依存性VR或者说是准VR,这是“把”字句的致使性句式义来自“把”字的最有力证据。“打伤”和“吃饱”可以在“把”字句出现,也可以在施事主语句中出现,比如“小张打伤了小王”、“你吃饱了饭”等等,因此二者是自由类VR或者说是典型VR。
基于这些词条,上述语句在MMCCG中的推演如图6—图8所示。从推演结果可知,与强致使义“把”字句有双层致使关系不一样,强处置义“把”字句只有单层致使关系。弱致使义“把”字句虽然也是单层致使关系,但其单层致使关系发生在“把”前NP和“把”后整个表达式表述的事件之间,而强处置义“把”字句的单层致使关系却发生在“把”后VP所包含的V与R之间。
图6结果表示“小张打小王导致小王伤了”。图7结果表示“你弄问题导致问题复杂了”,R(“伤”和“复杂”)的所指是“把”后NP(“小王”和“问题”)。图8结果表示“你吃饭导致你饱了”,而R(“饱”)的所指是“把”前NP(“你”)。最后得到的语义表达式既表达了“把”字句的致使性句式义,也实现了“把”后VP中V与R的语义所指关系,并把前两个VR和第三个VR区分开来。这里给“把”后VP指派的“分解型”语义表达式起到了至关重要的作用,真正做到了用语义机制弥补句法分析的不足,仅仅句法分析无法把前两个VR(打伤了、弄复杂了)和第三个VR(吃饱了)区分开来。

(图6) MMCCG处理强处置义“把”字句一

(图7) MMCCG 处理强处置义“把”字句二

(图8) MMCCG 处理强处置义“把”字句三

(二)弱处置义“把”字句

在强处置义“把”字句(如“小张把小王打伤了”)中,“把”后 NP 是主要动词 V 的受事(“小王是打的受事”)。而在弱处置义“把”字句中,“把”后 NP 不是主要动词 V 的受事,比如:
语句5
a.你把我哭醒了。b.你把筷子吃坏了。
词条4
你/我/筷子:=S把/(S把\NP):λf. f你′/我′/筷子′;把4:=(S把\NP)/★(S把\NP):λPλz.Pz
哭醒了:= (S把\NP)\NP:λxλy.哭′x CAUSE (BECOME 醒′y)
吃坏了:= (S把\NP)\NP:λxλy.吃′sk{x}λz.high′(prior′(吃′zyx))yx CAUSE (BECOME 坏′y)
吃′zyx 表示“x用′y吃′z”。对于上述词条,需要说明几点:
第一,虽然“哭”、“醒”都是一元谓词,但构成的动补结构“哭醒”变成二元谓词,因为“哭”的施事和“醒”的感事不同。
第二, 动词“吃”在语句中找不到受事,因此用下面的广义斯科伦项
sk{x}λz.high′(prior′(吃′zyx))
表示这个受事,它指谓施事x最常吃的对象z,环境中的元素是施事x。
第三,“把”字范畴中的算子“★”规定“把”只能与“我哭醒了/筷子吃坏了”经由函项应用规则进行组合运算,不能与“哭醒了/吃坏了”经由函项复合规则进行组合运算,否则会生成“你我把哭醒了”、“你筷子把吃坏了”、“筷子你把吃坏了”等不合语法的汉语焦点句和话题句。因为函项复合规则在CCG中的应用不受限制,“把”可与“哭醒了/吃坏了”经由函项复合规则进行组合运算,进一步与“把”前两个NP进行组合运算,从而在CCG中可以成功地推演出这些病句的生成树图。MMCCG使用斜线模态算子使推演的第一步就无法进行,这就成功地抑制了CCG的过度生成能力。
基于这些词条,上述语句在MMCCG中的推演如图9—图10所示。从推演结果可知,与强处置义“把”字句和弱致使义“把”字句一样,弱处置义“把”字句也只有单层致使关系。图9结果表示“你哭致使我醒了”,图10结果表示“你用筷子吃东西导致筷子坏了”,致使关系发生在“把”后V和R之间,这与弱致使义“把”字句的致使关系发生在“把”前NP和“把”后表达式之间不一样。另外,“把”后NP(“我”和“筷子”)不是主要动词V(“哭”和“吃”)的受事,这与强处置义“把”字句中V的语义指向关系不一样。推演结果既表达了“把”字句的致使性句式义,也实现了“把”后VP中V与R的所有语义所指关系。“把”后VP的“分解型”语义表达式起到了关键性作用,用语义机制弥补了句法分析的不足,仅仅句法分析无法得到V与R的所有语义所指关系。

(图9) MMCCG处理弱处置义“把”字句一

(图10) MMCCG处理弱处置义“把”字句二

五、MMCCG对汉语歧义性“把”字句的处理

语言学界往往根据“把”后主要动词是否具有自主性(可控性)把汉语“把”字句分为处置义“把”字句和致使义“把”字句。不过,动词的自主性会随语境而变化。比如,出现在否定性祈使句(“别哭/笑了”)中的“哭”或“笑”具有可控性;但在“亲人的离去把她哭得死去活来”中,“把”后施事在“把”前NP的影响下失去自控能力,无法控制“把”后VP所呈现的动作或状态,因此用“把”后主要动词是否有可控性来区分“把”字句不好把控。下面给出能把汉语“把”字句区分开来的两种简洁适用标准。

(一)两种判断标准

第一,句法替换标准,即看语句中的“把”可否替换为“使”。如果一个语句中的“把”可以替换为“使”,且语义不变,则该语句是致使义“把”字句,否则是处置义“把”字句。
第二,语义指向标准,即看“把”后主要动词V的施事或感事是“把”后NP还是“把”前NP。如果“把”后主要动词V的施事或感事是“把”后NP,则该语句是致使义“把”字句,否则是处置义“把”字句。
注意,使用这两个标准中的任何一个都可以轻而易举地把致使义“把”字句和处置义“把”字句区分开来。比如,只使用第一个标准就可以判断“疫情把我憋坏了”是致使义“把”字句,因为用“使”取代其中的“把”之后,所得语句“疫情使我憋坏了”仍然合语法,且语义不变;也可以判断“小张把小王打伤了”是处置义“把”字句,因为用“使”替换其中的“把”之后,语句“小张使小王打伤了”的语义就不通了。使用第二个标准也能判断这两个语句分别为致使义“把”字句和处置义“把”字句。

(二)源于“把”字句类型的歧义性“把”字句的分析

语句6
小宝把爷爷追累了。
这个语句有两个解读:一个是“小宝使爷爷追他,导致爷爷累了”;另一个是“小宝追爷爷,导致爷爷累了”。如何用形式化手段得到这两个歧义解读,仁者见仁,智者见智,迄今为止还没有见到令大家满意的答案。前面对“把”字句的处理是分类进行的,不同种类的“把”字句在关键词汇的词条指派上有所不同,因此,在处理上述语句之前先要搞清楚该语句是属于致使义“把”字句还是处置义“把”字句。分类是基于语义的,同一语句可能有不同的语义解读,因而同一“把”字句基于不同的语义解读就有可能归属于不同种类的“把”字句。
1.致使义“把”字句解读的推演
先看该语句的第一种解读:小宝使爷爷追他,导致爷爷累了。“把”可以换成“使”,或者说“把”后NP“爷爷”是主要动词“追”的施事,用上述两个判断标准中的任何一个都可以确定该语句在这种解读下是致使义“把”字句。因此,要得到这个解读,必须采用致使性“把”字句的词条指派方法,如下所示:
词条5
小宝:=S把/(S把\NP):λf. f小宝′;爷爷1:=S把/(S把\NP):λg.g爷爷′
把2:= (S把\NP)/★(S把\NP):λPλz. ∃Q(Qz CAUSE (BECOME Pz))
追累了1:= (S把\NP)\NP:λxλy. 追′xy CAUSE (BECOME 累′y)
有了这些词条,上述“把”字句的致使义解读分析如图11所示。图11的推演结果表示“与小宝有关的一个事件(比如‘小宝拿了爷爷急用的东西跑了’)导致爷爷追他;爷爷追小宝又导致爷爷累了”。这不仅刻画了强致使义“把”字句的双层致使关系,还实现了各成分之间的语义指向关系。“把”与“追累了”的语义表达式起了关键作用,用语义机制弥补了句法分析的不足。

(图11) 歧义性“把”字句的致使义解读推演图
2.处置义“把”字句解读的推演
再看上述语句的第二种解读:小宝追爷爷,导致爷爷累了。“把”不能换成“使”,或者说主要动词“追”的施事是“把”前NP“小宝”,而不是“把”后NP“爷爷”,所以该语句在第二种解读下是处置义“把”字句。又因为“把”后NP“爷爷”是主要动词“追”的受事,所以它是强处置义“把”字句。因此,要得到这种解读,必须采用处置义“把”字句的词条指派技巧,如下所示:
词条6
把4:=(S把\NP)/★(S把\NP):λPλz. Pz;爷爷2:= (S把\NP)/((S把\NP)\NP):λg. g爷爷′
追累了2:= (S把\NP)\NP:λxλy. 追′xy CAUSE (BECOME 累′x)
有了这些词条,上述“把”字句的处置义解读分析如图12所示。图12的推演结果表示“小宝追爷爷导致爷爷累了”。这里不仅刻画了强处置义“把”字句的单层致使关系,还实现了各成分之间的语义指向关系。“追累了”的“分解型”语义表达式起到了关键作用,我们用语义机制弥补了句法分析的不足。

(图12) 歧义性“把”字句的处置义解读推演图
“把2”和“把4”的句法范畴上的“★”规定“把”只能与“爷爷追累了”经由函项应用规则进行组合运算,不能与“追累了”经由函项复合规则进行组合运算,否则会生成“小宝爷爷把追累了”、“爷爷小宝把追累了”等不合语法的汉语焦点句和话题句。因为函项复合规则在CCG中的应用不受限制,“把”能与“追累了”经由函项复合规则进行组合运算,进一步与“把”前两个NP进行组合运算,从而在CCG中可以成功地推演出这些不合语法语句的生成树图。MMCCG使用斜线模态算子使推演的第一步就无法进行,这就成功地抑制了CCG的过度生成能力。
上述歧义性源于同一语句所属种类不同而产生,只要搞清楚这样的“把”字句在不同解读下所属的类型,就能够在MMCCG内推出各种解读的语义表达式。下面来看另一种歧义性“把”字句。

(三)源于所有格关系的歧义性“把”字句的分析

语句7
我把小宝打得手肿了。
这个语句也有两个解读:一个是“我打小宝,结果小宝的手肿了”;另一个是“我打小宝,结果我的手肿了”。这一语句的歧义性是否也是源于不同解读导致该语句所属种类不同而产生的呢?分析该句可知,这里的“把”不可换成“使”,而且“把”前NP “我”是“打”的施事,故该语句只能是处置义“把”字句。因此,还用处理第一个歧义句的方法处理这个歧义句行不通,必须另辟蹊径。鉴此,我们还是在词条指派上下功夫,如下所示:
词条7
我:=S把/(S把\NP):λf. f我′;把4:=(S把\NP)/★(S把\NP):λPλz. Pz
小宝:= (S把\NP)/((S把\NP)\NP):λg. g小宝′
手肿了:= S把\NP:λa.肿′skλz.手′z∧有′za;打:= (S把\NP)\NP:λxλy.打′xy.
得1:=(((S\NP)\NP)★\((S\NP)\NP))/★(S\NP):λQλPλvλw. Pvw CAUSE (BECOME Qv)
得2:=(((S\NP)\NP)★\((S\NP)\NP))/★(S\NP):λQλPλvλw. Pvw CAUSE (BECOME Qw)
需要说明的是,上述词条“得”字范畴中的S都带右下标“把”,在书写中因空间小而省略了。除此之外,上述词条还有三点需要说明:
第一,上述歧义源于“手”的所有者,故“手肿了”的词条指派应该能够使“手”的范畴与其所有者的范畴进行运算,从而实现领属关系。广义斯科伦项为此打开了方便之门,规定“手”的语义表达式为λa.skλz.手′z∧有′za。
第二,通过给“得”指派不同词条解决“手”的所有者歧义问题:当使用词条“得1”时,产生第一种解读,即“手”的所有者是“把”后“小宝”;当使用词条“得2”时,得到第二种解读,即“手”的所有者是“把”前“我”。
第三,“把”和“得”的句法范畴上的斜线模态词“★”是为了阻止它们作为主函子参与函项复合运算,否则会生成CCG许可的“我小宝打得手肿了”和“小宝我打得手肿了”等不合语法的汉语焦点句和话题句。
有了这些词条,上述“把”字句的处置义解读分析如图13—图14所示。图13、图14的推演结果分别表示“我打小宝致使小宝的手肿了”、“我打小宝致使我的手肿了”,不仅刻画了处置义“把”字句的单层致使关系,还分别实现了“我”和“小宝”对“手”的领属关系。“得”和“手肿了”的语义表达式起了关键作用,广义斯科伦项也功不可没,用语义机制弥补了句法分析的不足,仅仅句法分析无法得到这些领属关系,因而也就无法处理这类歧义句。

(图13) “把”后NP为所有者的歧义性“把”字句解读推演图

(图14) “把”前NP为所有者的歧义性“把”字句解读推演图

六、结语

人工智能AI指用人工方法在计算机上实现的智能,是人类智能在机器上的模拟,目前已成为世界主要发达国家高度关注的前沿和热点领域。要实现人与机器交流之目的,须让机器理解人类的自然语言,正如人工智能领域盛行的一句名言:“让计算机理解自然语言是人工智能皇冠上的明珠。”Turing在《机器能思维吗》一文提出:“检验计算机智能高低的最好办法是让计算机来讲英语和理解英语。”(10)冯志伟:《用数学逻辑之美揭示语言结构之妙——谈谈语言学中的数学方法》,《光明日报》2017年7月9日,第12版。自然语言理解(Natural Language Understanding,NLU)是人工智能的核心目标之一,被认为是人工智能最困难和最具标志性的任务。要使计算机理解自然语言,必然涉及到自然语言处理(Natural Language Processing,NLP)。因此,NLP探讨的焦点落在自然语言的语义上,计算机如何表征、分析和理解自然语言的语义成为人工智能一个关键问题,在NLP的追梦时代必然产生以表述自然语言语义为目标的逻辑语义学。
汉语“把”字句是汉语十大典型句型之一,出现的频率非常高,而且非常复杂,处理汉语“把”字句一直是语言学、逻辑学和自然语言信息处理领域的研究重点和难点。MMCCG认为“把”不是介词或动词,而是功能性标句词,并采用了使相邻句法成分进行毗连组合从而生成句法-语义树的方法表明“把”字句具有原生成性,且在语义表达式中显示出各个“把”字句具有的致使性句式义和不同的致使关系结构,成功地解决了一些“把”字句产生的歧义性问题。MMCCG包含的模态算子从句法上阻止了不合语法的带“把”字汉语焦点句和话题句,成功地抑制了CCG的过度生成能力;广义斯科伦项则从语义上实现了各类“把”字句中所有者对中心语的领属关系,成功地解决了因领属关系而产生的“把”字句歧义性问题,在语义分析上弥补了CCG刻画“把”字句的不足之处。MMCCG是CCG的升级版,它是更加彻底的词汇主义语法,对句义的刻画程度比CCG深,是目前自然语言信息处理的理想工具,具有广阔的发展前景。


【本文载于湖北大学学报(哲社版)2022年03期】

为方便手机阅读,微信版未附完整附件和详细注释,如果您想了解全貌,可点击微信下部“阅读原文”,下载全文pdf,或到本刊官网在线浏览。
责任编辑:熊显长 / 微信编辑:江津




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存