王欣
當(dāng)代邏輯語法(logical grammar)出現(xiàn)于1970年代,是國(guó)外語言學(xué)研究的一支主流,在國(guó)內(nèi)尚處于起步階段。邏輯語法是語言學(xué)、數(shù)學(xué)和邏輯學(xué)的交叉學(xué)科,探求自然語言的數(shù)理結(jié)構(gòu),對(duì)自然語言信息處理具有直接的應(yīng)用價(jià)值。
蒙太古語法(Montague Grammar,簡(jiǎn)稱MG)由美國(guó)邏輯學(xué)家蒙太古(R.Montague)創(chuàng)立。他把語言學(xué)看作數(shù)學(xué)的分支,是一種應(yīng)用數(shù)學(xué)。①方立:《邏輯語義學(xué)》,北京:北京語言大學(xué)出版社,2000年,第1頁。MG最有影響的成果是有關(guān)英語量化和內(nèi)涵語義現(xiàn)象的部分語句系統(tǒng)(fragment),②Montague,R.,“The proper treatment of quantification in ordinary English”,in J.Hintikka,J.Moravesik,and P.Suppes(eds.)Approaches to Natural Lnauge,Dordrecht:Reidel,1973,pp.221-242.一般稱為PTQ系統(tǒng)。1990年代,邏輯語法進(jìn)入類型邏輯語法(Type-Logical Grammar,簡(jiǎn)稱TLG)發(fā)展階段,Carpenter寫出了標(biāo)志性的專著。③Carpenter,B.,Type-Logical Semantics,Cambridge:the MIT press,1997.本文在前人基礎(chǔ)上著重從語言學(xué)的角度論述類型邏輯語法如何發(fā)展了蒙太古語法。④參見鄒崇理:《邏輯、語言和信息——邏輯語法研究》,北京:人民出版社,2002年;鄒崇理:《范疇類型邏輯》,北京:中國(guó)社會(huì)科學(xué)出版社,2008年;張秋成:《類型邏輯語法研究》,北京:中國(guó)人民大學(xué)出版社。比較二者異同,有助于了解、推動(dòng)該學(xué)科的發(fā)展。
轉(zhuǎn)換生成語法使句法可計(jì)算的認(rèn)識(shí)深入人心,但語義如何計(jì)算?在那些同時(shí)配備了句法學(xué)和語義學(xué)的數(shù)理邏輯系統(tǒng)里,語義是生成性的、可計(jì)算的,于是蒙太古試圖建立一種通用語法(universal grammar),使之能夠統(tǒng)一生成和解釋人工語言和自然語言。蒙太古語法最大的貢獻(xiàn)在于,第一次證明自然語言的語義也可以像句法那樣進(jìn)行精確、系統(tǒng)的表達(dá)和計(jì)算。
組合性原則是邏輯語法的根本原則:一個(gè)表達(dá)式的意義是其組成部分的意義及其組合方式的函數(shù)。該原則表達(dá)了三層意思:第一,自然語言的語義可計(jì)算;第二,意義計(jì)算既涉及單位意義,又涉及單位意義的組合方式;第三,復(fù)雜意義是上述計(jì)算的結(jié)果。
邏輯語法由句法學(xué)和語義學(xué)兩部分構(gòu)成,前者生成合法的語符串,后者生成語義。句法部分用范疇語法(categorial grammar,簡(jiǎn)稱CG)表述,CG是一種生成語法,由一個(gè)遞歸定義的句法范疇集合和數(shù)量極少的幾條規(guī)則構(gòu)成,依生成能力大小有多種變體。語義部分用高階內(nèi)涵邏輯(intensional higher-order logic,簡(jiǎn)稱IL)表達(dá),邏輯系統(tǒng)作為一種(人工)語言有自己的句法學(xué)和語義學(xué),IL的句法學(xué)由句法范疇(俗稱“語義類”(semantic type))集合和幾條句法規(guī)則組成,可生成合規(guī)則的復(fù)雜邏輯表達(dá)式。IL的語義學(xué)包含一個(gè)抽象的數(shù)學(xué)模型和一套語義計(jì)算規(guī)則,可計(jì)算出邏輯表達(dá)式的語義值。
邏輯語法的語義學(xué)富有特色,它是派生性的(derivational),跟構(gòu)型性的(configurational)喬氏生成語法的語義理論不同。①Bach,E.,Informal Lectures on Formal Semantics,SUNY series in linguistics,Albany,N.Y.:State University of New York Press,1989,p.48.簡(jiǎn)單地說就是跟句法生成一樣,語義是一步步計(jì)算出來的,而不是先生成一個(gè)句子,再給它一個(gè)一次成型的語義解釋。邏輯語法計(jì)算語義時(shí),先把自然語言翻譯為邏輯語言再對(duì)后者做語義計(jì)算,這種方法稱為間接的語義解釋。
本文關(guān)于蒙太古語法的討論以PTQ系統(tǒng)為例。PTQ系統(tǒng)有一個(gè)翻譯部分,其功能一是把基本的自然語言表達(dá)式翻譯為IL表達(dá)式,二是為每一自然語言句法規(guī)則制訂一條相應(yīng)的翻譯規(guī)則,也稱語義規(guī)則,以便每進(jìn)行一步句法運(yùn)算,都能同步翻譯為IL表達(dá)式,這種模式稱為“規(guī)則對(duì)規(guī)則假說”(rule-to-rule hypothesis)。IL的語義類指派函數(shù)為每一CG的句法范疇指派一個(gè)且僅指派一個(gè)IL語義類。語義類指派函數(shù)和規(guī)則對(duì)規(guī)則模式保證了句法計(jì)算和語義計(jì)算的同步性和系統(tǒng)性。類型邏輯語法跟蒙太古語法的內(nèi)部構(gòu)造和運(yùn)行方式大致相同,也采用間接的語義解釋,但是沒有PTQ那樣的翻譯部分,范疇運(yùn)算規(guī)則跟語義類運(yùn)算規(guī)則直接對(duì)應(yīng)。
PTQ用黑體書寫自然語言表達(dá)式,用白體書寫邏輯語言表達(dá)式,比如walk的邏輯表達(dá)式是walk’。類型邏輯語法用白斜體書寫自然語言表達(dá)式,用黑正體書寫邏輯表達(dá)式,比如walk的邏輯表達(dá)式是walk。PTQ有兩個(gè)原子句法范疇:e和t,TLG有三個(gè):np、n和s。PTQ的高階內(nèi)涵邏輯有兩個(gè)原子語義類:e和t,②跟原子句法范疇寫法相同,好處是直接體現(xiàn)了句法和語義的對(duì)應(yīng),壞處是容易引起混淆。類型邏輯語法也有兩個(gè)原子語義類:Ind和Bool。
類型邏輯語法(TLG)由蒙太古語法(MG)發(fā)展而來,二者最重要的區(qū)別在于類型邏輯語法更嚴(yán)格地貫徹了組合性原則。
1.同現(xiàn)范疇符號(hào)與組合性原則
蒙太古語法PTQ系統(tǒng)共有17條句法/翻譯規(guī)則,其中一部分沒有嚴(yán)格貫徹組合性原則,比如有關(guān)并列結(jié)構(gòu)的規(guī)則11把某些表達(dá)式作為“同現(xiàn)范疇符號(hào)”(syncategorimatic element)直接插入語法運(yùn)算。根據(jù)第一節(jié)提到的規(guī)則對(duì)規(guī)則假說,PTQ每一條規(guī)則都分成句法和翻譯兩部分:
S11:若α,β?Pt,則F8(α,β),F(xiàn)9(α,β)β?Pt,其中F8(α,β)=αandβ,F(xiàn)9(α,β)=αorβ。
T11:若α,β?Pt,并且α,β分別譯為α’,β’,則αandβ譯作α’<β’,αorβ譯作α’<β’。
S11說的是:給定任意兩個(gè)t范疇的表達(dá)式α和β,經(jīng)過F8或F9的操作,得到另一t范疇表達(dá)式αandβ或αorβ。T11說的是:給定任意兩個(gè)t范疇的表達(dá)式和的翻譯式α’和β’,αandβ譯為α’<β’,or譯為α’<β’。
PTQ的CG里,句法規(guī)則和句法操作分離,前者規(guī)定輸入什么范疇的表達(dá)式可以輸出什么范疇的表達(dá)式,后者規(guī)定如何把輸入的表達(dá)式連綴成一體。最常用的句法操作是毗連,比如給定John和love,毗連得到John love或love John。給定兩個(gè)t范疇表達(dá)式,比如John walks和Mary talks,F(xiàn)8和F9的操作結(jié)果分別是John walks and Mary talks和John walks or Mary talks。這里and和or不像其他表達(dá)式那樣有自己的句法范疇,也沒有獨(dú)立的邏輯翻譯式。另外,規(guī)則11兩個(gè)輸入表達(dá)式的范疇相同,都是t,彼此無法做泛函運(yùn)算。從句法上看,and和or像是從天而降,跟另外兩個(gè)表達(dá)式一下子連接在一起;從語義上看,形如and的表達(dá)式直接譯為α’<β’。像and、or這樣通過為其量身定制的規(guī)則進(jìn)入句法/語義運(yùn)算的成分被稱為同現(xiàn)范疇符號(hào)。
類型邏輯語法不存在同現(xiàn)范疇符號(hào)。它定義了邏輯常項(xiàng)and和or,其語義類是Bool→Bool→Bool。聯(lián)結(jié)兩個(gè)小句的and就被翻譯為邏輯常項(xiàng)and,其句法范疇是ss/s,表示先毗連右側(cè)一個(gè)s范疇表達(dá)式,即小句,再毗連左側(cè)一個(gè)s范疇表達(dá)式,得到一個(gè)更大的句子。這樣就更嚴(yán)格地貫徹了組合性原則,使邏輯表達(dá)式及其推演更接近自然語言的樣子。
PTQ用規(guī)則12和13處理謂語并列結(jié)構(gòu)(比如walks and talks)和名詞短語并列結(jié)構(gòu)(比如John or Mary),TLG如何處理這些現(xiàn)象?回答是通過“多形態(tài)并列組合器”(polymorphic coordination combinator) Coorσ。所謂“組合器”是一種沒有常項(xiàng)和自由變項(xiàng)的λ-詞項(xiàng)(比如λxλP.P(x)),它所代表的語義對(duì)象沒有非邏輯常項(xiàng)那樣的描寫性語義內(nèi)容,也不具備邏輯常項(xiàng)可以決定一個(gè)邏輯推導(dǎo)是否有效的邏輯學(xué)意義。Coorσ的語義類是(Bool→Bool→Bool)σ→σ→σ,σ是個(gè)變項(xiàng),代表任意布爾類,表達(dá)為σ?BoolType。所謂布爾類就是最終輸出類是Bool的語義類,比如Bool,Ind→Bool,(Ind→Bool)((Ind→Bool)(Ind→Bool))。最簡(jiǎn)單的布爾類即Bool,相應(yīng)最簡(jiǎn)單的并列組合器就是CoorBool,其語義類是(Bool→Bool→Bool)Bool→Bool→Bool,要求輸入一個(gè)語義類為Bool→Bool→Bool的邏輯表達(dá)式,比如邏輯常項(xiàng)and,得到另一個(gè)相同語義類的表達(dá)式CoorBool(and),即聯(lián)結(jié)小句的and的邏輯表達(dá)式。如果and聯(lián)結(jié)的是兩個(gè)語義類為Ind→Bool的謂語,則先把組合器CoorInd→Bool應(yīng)用于and,得到類型為(Ind→Bool)((Ind→Bool)(Ind→Bool))的語義表達(dá)式CoorInd→Bool(and),再先后與talks和walks組合,即可生成并解釋walks and talks。Coorσ(and)常簡(jiǎn)寫為and:
/E表示順向斜線消去的句法運(yùn)算,E表示逆向斜線消去,其意義請(qǐng)見下節(jié)。John and Mary可得到類似處理。相應(yīng)地,and在詞庫里記錄如下:and?Coorσ(and):AA/A,Typ(A)=σ?BoolType。這個(gè)詞條嚴(yán)格說來是一組,因?yàn)锳是個(gè)范疇變項(xiàng),表示任意語義類為布爾類的句法范疇。這意味著and在詞庫里的詞條可以是無窮多:and可以聯(lián)結(jié)多少不同范疇的表達(dá)式,詞庫里就會(huì)有多少and“詞條,反映了范疇語法是所謂“最激進(jìn)的詞匯主義語法”。①Carpenter,B.,Type-Logical Semantics,p.437.這樣類型邏輯語法不僅可以處理PTQ里的三種并列結(jié)構(gòu),還可以處理自然語言可能出現(xiàn)的各種并列結(jié)構(gòu)。類型邏輯語法更嚴(yán)格地貫徹組合性原則的另一原因跟它所采用的CG有關(guān)。
2.蒙太古語法PTQ和類型邏輯語法的范疇語法
PTQ的CG不是“純粹的”范疇語法。②Dowty,D.,Word Meaning and Montague Grammar,Dordrecht:Reidel,1979,p.11.首先,PTQ句法規(guī)則的表達(dá)形式不同于純粹的范疇語法,后者句法規(guī)則數(shù)目極少,都是規(guī)則范式,比如下面(a)是順向泛函運(yùn)算規(guī)則(forward functional application,簡(jiǎn)稱FA),(b)是該范式的兩個(gè)特例:
而PTQ的句法規(guī)則都是特例性質(zhì)的,不是規(guī)則范式。第二,PTQ句法規(guī)則和句法操作分離,同一句法規(guī)則可涉及不同的句法操作(比如規(guī)則11),同一句法操作也可用于不同的句法規(guī)則,純粹的CG則沒有這個(gè)特征。自然語言形態(tài)變化豐富,PTQ需要大量的句法操作以保證生成形態(tài)正確的英語句,比如對(duì)動(dòng)詞進(jìn)行時(shí)態(tài)、人稱、數(shù)和否定操作的F4以及F11至F15。
PTQ的CG其生成能力總體上相當(dāng)于古典CG,而TLG采用的CG則達(dá)到了蘭貝克演算(Lambek calculus)的生成能力。古典CG的雙向泛函運(yùn)算規(guī)則在蘭貝克演算里表述為雙向斜線消去規(guī)則,此外增加了雙向斜線引入規(guī)則:
蘭貝克演算是一公理化的、純粹的CG,其句法規(guī)則都是規(guī)則范式,不區(qū)分句法規(guī)則和句法操作。
3.詞庫和自然語言向邏輯語言的翻譯問題
PTQ的詞庫非常簡(jiǎn)單,由所有基本表達(dá)式集合的并集構(gòu)成,只記錄詞形和句法范疇,比如IV范疇(t/e范疇的簡(jiǎn)寫式)基本表達(dá)式集合是BIV={run,walk,talk,rise,change}?;颈磉_(dá)式在翻譯部分經(jīng)翻譯函數(shù)的運(yùn)算譯為IL邏輯表達(dá)式。TLG的詞庫則非常豐富,不僅詞條數(shù)量增加了,詞條記錄的信息也增加了,每一詞條可形式化的表達(dá)為e?α:A,e表示詞形,α表示邏輯翻譯式,A表示句法范疇。詞語的形態(tài)句法變化都記錄在詞庫里,比如:
類型邏輯語法不需要PTQ那樣的翻譯部分,因?yàn)榈谝?,詞庫直接記錄了基本表達(dá)式的邏輯翻譯式,并通過如下詞匯插入范式進(jìn)入句法和語義計(jì)算:
第二,詞庫記錄了詞語的形態(tài)句法變化,無需制定專門的句法操作。第三,PTQ里的同現(xiàn)范疇符號(hào)在類型邏輯語法里都被指派了句法范疇并獲得獨(dú)立的邏輯翻譯式,其身份不再特殊,也就不必為其制定專門的句法和翻譯規(guī)則。從微觀角度看,蒙太古語法和類型邏輯語法的異同在名詞短語和量詞轄域等問題上顯現(xiàn)突出,下面以名詞短語的邏輯語法處理為例具體說明。
英語NP有多種句法形式,包括專有名詞、代詞以及語義上包含“全部、某個(gè)、大多數(shù)、很多”等數(shù)量意義的量化NP,比如every man、some woman、most parks、a lot of pens。它們的句法分布相同,PTQ第一次統(tǒng)一處理了各種NP的句法和語義生成,其方法是把T范疇(復(fù)雜范疇t/(t/e)的簡(jiǎn)寫式)統(tǒng)一賦與各類NP,其中專名和代詞構(gòu)成詞庫里的集合BT,規(guī)則2把同現(xiàn)范疇符號(hào)a、the、every放在普通名詞之前得到T范疇的量化NP。T范疇表達(dá)式的語義值是廣義量詞(generalized quantifier),即論域個(gè)體集合之集合。把T范疇統(tǒng)一賦予各種NP還可以很容易地生成John or every kid這類結(jié)構(gòu)。
Partee認(rèn)為這樣做有兩個(gè)問題:一是在傳統(tǒng)一階謂詞邏輯里,專有名詞和代詞語義上指謂模型論域里的個(gè)體,比如John指某個(gè)名叫約翰的個(gè)體,這比廣義量詞的解釋(即所有叫約翰的那個(gè)人所在的個(gè)體集合的集合)更符合直覺。第二是語義計(jì)算過程極為復(fù)雜。①Partee,B.,“Noun phrase interpretation and type-shifting principles”,in P.Portner and B.Partee(eds.)Formal Semantics:the Essential Readings,Blackwell,2002,pp.357-381.Dowty認(rèn)為心理現(xiàn)實(shí)性不是蒙太古語法謀求的目標(biāo),語義計(jì)算的復(fù)雜性對(duì)計(jì)算機(jī)來說也不是問題。②Dowty,D.,“Compositionality as an empirical problem”,p.65.還有學(xué)者試圖改進(jìn)NP的處理,類型邏輯語法提供了一個(gè)方案。
類型邏輯語法把范疇np直接賦予專名和代詞,其語義類為Ind,指謂論域個(gè)體,使得專名和代詞的語義解釋更符合直覺,減少了計(jì)算的復(fù)雜性。量化NP的句法范疇是np?s,范疇運(yùn)算符稱為“設(shè)域器”(scoping constructor),定義為:
如果A,B?Cat,則B?A?Cat。Typ(B?A)=(Typ(B)→Typ(A))→Typ(A)
np?s范疇的語義類是(Ind→Bool)→Bool,指謂廣義量詞。同斜線算子一樣,?也可以被引入和消去,在生成圖上分別記為?I和?E。引入設(shè)域器可以很容易地處理John or every kid一類表達(dá)式:范疇為np的John經(jīng)過引入運(yùn)算變?yōu)閚p?s范疇的表達(dá)式,這樣就和every kid范疇相同了,應(yīng)用并列組合器Coornp?s(and)即可生成John or every kid。同and和or一樣,every、a和the等限定詞在類型邏輯語法里也不再是同現(xiàn)范疇符號(hào),它們被指派了范疇np?s/n。以every為例,類型邏輯語法定義了邏輯常項(xiàng)every,其范疇是np?s,語義類是(Ind→Bool)→Bool,它是everyone、everybody、everything等詞語的翻譯式,限定詞every可以在此基礎(chǔ)上定義為every2=defλP.λQ.every(λx.P(x)Q(x))。every kid的生成過程是:
類型邏輯語法和蒙太古語法一脈相承,內(nèi)部構(gòu)造和運(yùn)行機(jī)制大致相同,但類型邏輯語法改進(jìn)了范疇語法和高階內(nèi)涵邏輯這兩個(gè)理論構(gòu)件,因而對(duì)自然語言句法和語義的計(jì)算更簡(jiǎn)便,也更好地實(shí)現(xiàn)了組合性原則。通過本文的簡(jiǎn)要分析,希望能引起讀者作深入的興趣,并結(jié)合漢語檢驗(yàn)和發(fā)展這些理論。
山東大學(xué)學(xué)報(bào)(哲學(xué)社會(huì)科學(xué)版)2011年5期