组合范畴语法树库及其研究

2022-09-14 09:27:12邹崇理
关键词:句法范畴柔性

邹崇理

(1.湘潭大学 碧泉学院·哲学与历史文化学院, 湖南 湘潭 411105; 2.中国社会科学院 哲学研究所, 北京 100732)

自20世纪50年代初计算语言学家巴-希勒尔把范畴语法应用于机器翻译以来,近70年过去了,当今计算机人工智能科学技术的发展一日千里,范畴语法的现代版本组合范畴语法对此发挥出更加积极的作用。随着计算机人工智能时代逻辑的计算转向,推理论证的主体已不仅仅限于人类,还可能是机器,同时分析和理解自然语言的主体也可能是机器,适合于机器分析自然语言的组合范畴语法便应运而生。组合范畴语法采纳逻辑的规则对自然语言的句法和语义进行推演计算,推演过程同时也是计算过程。在组合范畴语法针对大规模的自然语言真实文本构建的分析树库那里,所使用的规则突破逻辑的刚性要求而产生柔性推广。此外,组合范畴语法树库针对自然语言进行语义表征的工作还面临从丰富的“现代逻辑工具箱”中进行选择的问题。

一、组合范畴语法的源头——范畴语法

组合范畴语法作为范畴语法的现代版本,其源头是范畴语法。范畴语法最早诞生于20世纪30—50年代,波兰的爱裘凯维茨和美国的巴-希勒尔提出了范畴语法,古典范畴语法系统是所谓AB-演算[1]。范畴语法的基本思想是:从计算的视角看待语法,即把自然语言的句法构造过程看作是一种逐层逐级的计算过程。换言之,自然语言是由若干长短不同的符号串构成的集合,自然语言的句法构造过程总是由较短的符号串生成较长的符号串,且生成是逐层逐级的,每一步生成在范畴语法看来都是计算的结果。如英语句“John likes Mary”的构造生成过程如下:

上例句由“likes”和“Mary”构成“likes Mary”,再由“John”和“likes Mary”构成“John likes Mary”都是计算的结果,即“like”对“Mary”进行计算得到结果“like Mary”,由“John”和“like Mary”计算出“John likes Mary”。要彰显以上构造生成是一种计算过程,这就需要对语言符号串进行代码转换处理,即把语言符号串转换成便于计算的代码,这个彰显计算精神的代码就是范畴。按照范畴语法的要求,从生成的初始,就把作为最小语言符号串的词条转换成范畴,即给词条“John”指派范畴np,给词条“likes”指派范畴(s p)/np,给词条“Mary”指派范畴np。然后进行逐层逐级的范畴运算,运算所得最后范畴即是整个句子的范畴,即:

范畴之间是如何进行计算的?何以见得“(s p)/np”和“np”产生计算结果“s p”?怎样理解范畴的运算特征?范畴分为两大类:原子范畴,如np(指称个体的专名或名词短语)和s(指称真值的语句),以及复合范畴(指称普通名词、形容词和动词及其词组短语),如s p,(s p)/np等彰显计算思想的函子范畴。函子范畴中的斜线表示运算的方向:包含右斜线的函子范畴“A/B”是向右边寻找作为运算对象的论元范畴B,计算后获得结果范畴A;包含左斜线的函子范畴“AB”是向左边寻找论元范畴B,从而计算出结果范畴A。这两类基本的运算在范畴语法中被概括成所谓函项应用规则:

规则(>) A/B B ⟹ A

规则(<) B AB ⟹ A

上例分析树先给句中的专名和动词指派范畴;再由动词“likes”的范畴“(s p)/np”对专名“Mary”的范畴“np”使用“>”规则进行计算获得动词短语“likes Mary”的范畴“s p”;最后由专名“John”的范畴“np”和动词短语“likes Mary”的范畴“s p”使用规则“<”计算出句子的范畴“s”。

二、范畴语法的逻辑依据——范畴类型逻辑

体现范畴语法“计算”思想的函项应用规则,从逻辑视角看就是一种推演,语法的计算也就是逻辑推演(computation = deduction),把自然语言的句法范畴计算看作是受逻辑规则支配的推演。我们对此给出下面的比较:

范畴的计算思想——函项应用: A/B(B) = A (类似数学的f(x) = y)

范畴的函项应用规则表述: A/B B ⟹ A

类似命题逻辑的分离规则: B → A B ⟹ A

所以,把范畴语法中的范畴看作是公式,把函子范畴中的斜线算子看作是公式之间的联接词,范畴的函项应用规则就成为逻辑的推演规则或定理,再按照命题逻辑系统的构造模式,就获得了范畴类型逻辑系统。换言之,范畴语法的范畴计算规则可以在范畴类型逻辑系统中的定理那里找到逻辑的依据,范畴语法的函项应用规则“>B”的逻辑依据就是范畴类型逻辑系统中的定理“A/B·B→A”。

范畴类型逻辑的历史进程:从20世纪30—50年代的古典范畴语法AB演算[1]到20世纪50年代的Lambek演算LC[2]为范畴类型的初始阶段;20世纪八九十年代范畴类型获得了长足发展[3];21世纪范畴类型逻辑又涌现出多个方向,例如非连续的兰贝克演算DLC[4],以及对称的范畴语法逻辑[5],等等。

范畴类型逻辑系统的构成:其基本特性分为:① 逻辑的性质,即函子范畴斜线算子“/”和“ ”的推演公理及其规则;② 结构的性质,即毗连贴合算子“·”的结合或交换公理(或公设)。根据不同的结构性质,范畴类型逻辑系统分为4个基本系统:非结合与非交换的NL系统,结合与非交换的L系统,非结合与交换的NLP系统和结合且交换的LP系统。范畴类型逻辑系统还有其Gentzen后承表述,这种表述用于解决判定问题。范畴类型逻辑的语义模型采用可能世界的框架语义学,基于此证明系统的可靠性和完全性。

三、句法和语义的并行推演计算——组合范畴语法CCG

在当今计算机人工智能科学技术的背景下,范畴语法的现代版本组合范畴语法CCG发挥了更大的作用[6-7],基于CCG分析的语料库可以作为机器自主学习训练的语料资源数据库。组合范畴语法CCG不仅揭示自然语言的句法构造生成,还需要表征自然语言的语义组合。作为逻辑分析自然语言的工具,CCG表征的是一种便于推演计算的逻辑语义。逻辑语义可以采纳各种逻辑工具表征,例如一阶逻辑或λ-演算的高阶逻辑,等等。在CCG的自然语言语义表征那里,使用λ-词项进行计算推演的例证如:

组合范畴语法CCG分析自然语言的规则是一种句法构造配语义组合的并行推演规则,范畴语法中最常用的函项应用规则的表述如下:

(>) X/Y∶f Y∶a ⟹ X∶fa

(<) Y∶a XY∶f ⟹ X∶fa

针对自然语言中非对称并列结构的合并规则为:

合并 (〈Φn〉)

X∶g CONJ∶b X∶f ⟹ΦnX∶λ…b(f…)(g…)

Φ1bfg ≡ λx.b(fx)(gx)

Φ2bfg ≡ λx.λy.b(fxy)(gxy)

Φ3bfg ≡ λx.λy.λz.b(fxyz)(gxyz)

Φ4bfg ≡ λx.λy.λz.λw.b(fxyzw)(gxyzw)

使用CCG的合并规则,可以对自然语言中“缺肢少腿”的并列句进行起“修复”作用的分析推演,最后获得完整的逻辑语义表征。如:

从上例并列句的表层结构“John met and married Mary”看出,“and”左边的子句缺少宾语,而右边的子句缺少主语。CCG采用合并规则〈Φ2〉,通过句法构造和语义组合的并行推演,最后获得该句完整的逻辑语义表征:二元谓词“meet′”和“marry′”都具有宾语论元“marry′”和主语论元“john′”。此外,在逐级逐层推演的每一步,句法范畴也并行实施运算,最后在推演获得整句逻辑语义表征的同时也推出了作为合语法标志的句法范畴“s”。

组合范畴语法CCG意味:组合 + 范畴语法。其“组合”是指其语义推演的工具源于组合逻辑中算子的借用。组合逻辑中的函项复合算子B、类型提升算子T和函项转换算子S可通过λ-演算的词项来定义:

Bfg≡λx.f(gx)

Tx≡λf.fx

Sfg≡λx.fx(gx)

将定义三个组合算子的λ-词项作为语义表征添加到范畴语法推演规则中的句法范畴旁就形成CCG更多并行推演的规则。如B算子引入CCG的情况:

(句法构造的函子范畴复合) X/Y Y/Z ⟹ X/Z

(语义表征的函项复合B(f,g)) f g⟹ λx.f(gx)

基于语义表征的B(f,g)对应句法范畴的函项复合,便形成了CCG的并行推演规则:

X/Y:f Y/Z:g ⟹ X/Z: λx.f(gx)

吸取B,T和S三个组合算子的计算思想,组合范畴语法就塑造出下述满足逻辑可计算性要求的一系列句法和语义并行推演的规则:

向前的类型提升规则>T∶ X∶a ⟹Y/(YX)∶λf.fa

向后的类型提升规则

向前的组合规则>B∶ X/Y∶ f Y/Z∶ g ⟹X/Z∶λx.f(gx)

向后的组合规则

后前的交叉组合规则>Bx∶ X/Y∶ f Y∶ g ⟹X∶λx.f(gx)

前后的交叉组合规则

向前的替换规则>S∶ (X/Y)/Z∶ f Y/Z∶ g ⟹X/Z∶λx.fx(gx)

向后的替换规则

后前的交叉替换规则>Sx∶ (X/Y)/Z∶ f Y∶ g ⟹X∶λx.fx(gx)

前后的交叉替换规则

以下通过案例看组合范畴语法CCG如何运用规则对自然语言进行分析推演。例如,CCG的向前组合规则“>B”和向前类型提升规则“>T”对理解自然语言的宾语提取结构和无界依存结构就很有用。宾语提取结构指在语言表达式包含的从句中其宾语的省略现象,对这样表达式的语义表征必须补上省略掉的宾语。无界依存结构指从句中省略的宾语跟前面的名词中心语具有语义依存关系,即对这样表达式的语义表征必须通过跟省略的宾语具有语义依存关系的名词中心语来确定宾语的所指。如对自然语言表达式“team that I thought that Brazil defeated”的CCG推演:

就以上带定语从句的名词表达式而言,通过CCG逐层逐级的推演,在最后获得的整个表达式的逻辑语义“λx.think′(defeat′x brazil′)me′∧team′x”那里,我们就找到了其宾语提取结构“Brazil defeated…”的缺省宾语的逻辑语义所指“team′”,同对显示出其无界依存结构“team……Brazil defeated…”的远距离语义依存关系,即“defeat′x brazil′”中的x语义依存“team′x”中的x。

四、针对自然语言大规模真实文本——组合范畴语法树库及其研究

组合范畴语法CCG采纳逻辑的规则对自然语言的句法和语义进行并行推演,进而面向自然语言的大规模真实文本构建了CCG树库,CCG树库可以作为机器自主学习训练的语料资源库。国内清华大学的孙茂松院士呼吁AI发展的转向依赖构建基于逻辑语义表征的大知识库[8],而CCG树库的深入开发有助于实现孙院士的宏大设想。在CCG针对自然语言大规模真实文本的分析树库那里,所使用的规则中出现一些不符合逻辑刚性要求的柔性规则。此外,CCG 树库对自然语言进行语义表征时需要从丰富的“现代逻辑工具箱”中进行选择搭配。笔者将在下文讨论CCG树库中规则的柔性推广和逻辑语义表征工具的选择融合等问题。

组合范畴语法CCG的语句分析树库是人工智能的自然语言处理领域所关注的语料资源数据库。组合范畴语法CCG句法分析树库有:美国宾州CCG树库[9]和我国的微软-清华CCG树库[10]:

作为本文作者承担的国家社会科学基金重大项目的结项成果之一,项目团队也构建了一个社科汉语CCG树库(www.ccgbank.net),情况如下述:

社科汉语CCG树库

46 085词条(722 790词例)

25 694语句

2 483规则例

CCG树库里录入的是自然语言真实文本句的组合范畴语法分析树,是基于CCG分析的语料资源数据库。我们以社科汉语CCG树库为例,语句“经中国人民银行批准,泰康人寿保险股份有限公司等5家保险公司正在紧张筹建中”的句法分析树(1)社科CCG汉语树库中的语句分析树既可以如上以“从树根到树叶”的方式展开,也能够以本文前面“从树叶到树根”的方式展开。如图1所示[11]:

图1 组合范畴语法分析树

近20年来,各国学者构建了多种自然语言的CCG树库。我们主要关注英语和汉语的CCG树库,这两种语言的CCG树库是对生成语法树库进行转换而获得的。这种统一的转换导致树库中语句分析树的范畴推演时常采纳一些没能由范畴类型逻辑提供逻辑依据的规则。换言之,CCG树库中句法分析树的范畴推演大量使用范畴类型逻辑“体制”外的规则。这些规则我们称作“柔性”的范畴推演规则。

以社科汉语CCG树库为例,树库中使用的CCG推演规则的分布如表1所示[12]:

表1 CCG推演规则的分布

社科汉语CCG树库面临的第一个问题是:函项应用、函项组合、类型提升和函项置换共四大类推演规则是范畴类型逻辑能够提供逻辑依据的“体制”内的规则,这些规则使用的频率占了整个树库所用规则的微弱大多数57.55%,而所谓其他规则就是“柔性”的推演规则,占比也不低,属于强势少数42.45%。我们不得不应对这样的问题:这些柔性规则有无必要认可?它们存在的逻辑依据是什么?要解决这样的问题,有必要对这部分“其他规则”进行深入辨析。我们把这些规则再分为:占比41.95%的标点吸收规则、占比43.48%的同类型范畴并列规则和占比14.61%的其他规则。我们的工作表明,其中占比41.91%的标点吸收规则和占比43.48%的同类型范畴并列规则可以通过恒等规则和两次使用函项应用规则替换掉[12]。剩下占比14.61%的其余规则再分为:占比67.33%的论元脱落规则、占比11.14%的词类吸收规则、占比10.8%的话题化归规则和占比10.73%的词类转换规则。我们看到,这里占比67.33%的论元脱落规则,在整个树库占比大约4.17%,其他三类规则在整个树库的占比大约是0.6%,即6‰,可以暂时忽略不计。我们势必首先对论元脱落规则(规则例)进行柔性处理。

汉语CCG树库中的论元脱落规则模式:

A/B(空) ⟹ A

(空) AB ⟹ A

其论元脱落规则例及其出现频率如下[12]82:

None·SNP ⇒ S13 887(SNP)/NP·None ⇒ SNP1 145((SNP)/(SNP))/NP · None ⇒(SNP)/(SNP)1 049 None·(S/S)NP ⇒ S/S246 None·((SNP)/(SNP))NP ⇒(SNP)/(SNP)117 S/NP·None ⇒ S82(SNP)/NP·None ⇒ SNP52

CCG中具有范畴逻辑系统推出的定理作为导出依据的规则称为满足逻辑刚性要求的规则。而CCG中的柔性规则意味:这些规则没有标准范畴逻辑系统提供的定理作为导出的依据,并且很难匹配组合逻辑提供的逻辑语义表征。要确认CCG柔性规则的身份地位,解决此问题的出路在于:根据自然语言现象的客观存在规律,扩大范畴类型逻辑的阵营,对已有的范畴类型逻辑进行“柔性”的扩张,扩张后的范畴类型逻辑系统能够推出对应CCG柔性规则的定理,这样也就给CCG的柔性规则找到了柔性的逻辑依据。

为了给CCG的论元脱落这样的柔性规则提供柔性逻辑依据,我们从范畴类型逻辑系统的结构性质入手。通常结构性质有:结合性质、交换性质、单调性(monotonicity)和收缩性(constraction)。标准的收缩性结构性质为[13]:

根据自然语言的实际情况,标准的收缩性可以柔性推广:

把柔性的收缩性结构规则添加到范畴类型逻辑系统中,就可推出定理:A/C→A。这就是汉语CCG树库中占比大约4.17%的“论元脱落规则”的柔性逻辑依据。然后,在这样的范畴类型逻辑的框架语义中确立对应的R限制:∃x∃y.Rxxy&y∈‖C‖。据此,可以证明柔性范畴逻辑系统的可靠性和完全性。

关于CCG树库的另一大困境是给其中的句法分析树匹配逻辑语义表征问题。采用什么样的逻辑工具标注语义?是λ-演算高阶逻辑,还是DRT系列?二者各有长短,λ-演算高阶逻辑严格遵循组合原则,可计算性强,但不足以对自然语言语用层面的涵义进行表征,也不能完全满足AI构建大知识库时对自然语言大规模真实文本进行语义表征的需求;而DRT系列,尤其是PDRT恰恰能够较好地表达自然语言语用层面的涵义,如预设和隐涵等。在CCG树库基础上添加带λ-算子约束的PDRS框图的逻辑语义表征就能对上述二者进行“取长补短”。

荷兰格罗林根大学构建的PMB语义树库采用:对CCG树库的句法树中添加作为逻辑语义表征的带λ-算子的PDRS框图。树库中的例句“the cow moos”的推演图为:

遵循组合范畴语法CCG的惯例,上述推演图从词条出发进行推演计算。如定冠词“the”被指派句法范畴(S/(SNP))/(S/NP)和作为逻辑语义表征的带λ-算子的PDRS框图:

整个过程显示出CCG提供的句法范畴和PDRT提供的带λ-算子的PDRS框图的并行推演计算,最后获得例句“the cow moos”的句法范畴S[dcl]及其PDRS框图:

跟经典的DRT表述不同,这里PDRS框图b3中上端的个体变项x,事件变项e和时间变项t以及框图中的公式如“cow(x1)”都由一个指针“←”指向代表框图的标签,如b1,b3。

PDRT的指针或标签的技术手段能够刻画并区分例句的预设信息和非预设信息。b3包含了b1,即例句的预设信息:存在一个x1,满足公式cow(x1)。换言之,由于该例句出现了预设的触发语“the”,故该句的逻辑语义就含有存在一个是“cow”的个体这样的预设信息。

显然,PDRT的技术工具能够处理预设和隐涵等语用现象。不仅如此,在PMB语义库那里,还采用了更多的语义工具,对此的汇总是[14]:

• word senses (WordNet)

• thematic roles (VerbNet)

• co-reference (DRT)

• tense (DRT)

• scope/negation (DRT)

• presupposition (PDRT)

• discourse relations (SDRT)

• compositionality (CCG)

如:刻画词条意义,采用“WordNet”的方式;描述自然语言的共指现象和时态现象,采用DRT;讨论篇章之间的关系,工具是SDRT;当然整个推演框架则基于CCG。可以说,CCG树库基础上构建的语义库,其逻辑语义表征俨然就是各种语义工具的大融合。

汉语作为非形态语言,其句法形态缺乏严格的标志,句法构造很大程度依赖语义,语义的“意合”驱动句法的构造生成。此外,汉语还是一种极大地依靠语境的语用语言。因此,对汉语CCG树库进行语义标注,更需要广泛借鉴并融合各种语义工具,特别是DRT、PDRT之类擅长处理语用现象的理论。谷歌或百度的计算机翻译系统对涉及语用常识的汉语翻译不能令人满意,如同2021版“有道词典”对“前门快到了,请从后门下车”的翻译是:The front door is here,Please exit through the back door。这个翻译或许产生思维混乱,前门到了,怎么又从后门下车?机器翻译系统不知道在公交报站告知的语境下“前门”是地名这样的常识。采用CCG+PDRT的工具就能够把这个常识揭示出来[15],我们给出作为推演图片段的最后环节:

上述b3标签的框图中包含两个预设:存在是“前门”并且作为“车站名”的个体x1,存在是“后门”并且作为“下车通道”的个体x4,即“前门”和“后门”对应的预设信息涉及“车站名”和“下车通道”,显示预设信息的b3不同于显示非预设信息的b4。“前门快到了,请从后门下车”这类通过预设展示生活常识的句子,对于已有的机器翻译系统来说是无法识别的,因为涉及到说话人和听话人的知识背景。采用CCG+PDRT的逻辑工具表征这些涉及预设的知识信息,有助于人工智能关于自然语言处理工作的进步。

总之,作为训练机器自主学习的语料资源库,现有的CCG树库尤其是汉语CCG树库,势必考虑配备能够描述语用常识的PDRT逻辑语义工具。给汉语CCG树库配备逻辑语义,特别需要基于汉语本身的语用“意合”特点,对各类语义理论尤其是逻辑语义工具进行选择优化,这样的工作是开发CCG树库的任重而道远的任务。范畴语法早在20世纪50年代初就被计算语言学之父B-Hillel用于机器翻译,组合范畴语法CCG及其树库在当今人工智能的自然语言处理背景下的机器翻译领域内将会发挥更大的作用。

猜你喜欢
句法范畴柔性
批评话语分析的论辩范畴研究
一种柔性抛光打磨头设计
句法与句意(外一篇)
中华诗词(2021年3期)2021-12-31 08:07:22
灌注式半柔性路面研究进展(1)——半柔性混合料组成设计
石油沥青(2021年5期)2021-12-02 03:21:18
述谓结构与英语句法配置
正合范畴中的复形、余挠对及粘合
高校学生管理工作中柔性管理模式应用探索
Clean-正合和Clean-导出范畴
句法二题
中华诗词(2018年3期)2018-08-01 06:40:40
诗词联句句法梳理
中华诗词(2018年11期)2018-03-26 06:41:32