形式語義學有一個基本原理,稱為「組合性原理」(Principle of Compositionality),其大意是說:一個複合語言結構(例如詞組、句子)的語義所指(denotation)乃由其組成成分(constituent)的所指以及這些成分的組合方式決定。這裡所稱的「組合方式」一般被認為是指語法,因此如要貫徹組合性原理,除了考慮語言成分的語義外,還要考慮把這些成分結合起來的語法規則。現用以下句子說明上述概念:
在對上句進行語義分析前,須先釐清其語法結構,即上句由哪些成分組成,而這些成分又由哪些更小的成分組成。當代語法學通常用樹形圖來表示語法結構,但為省去繪圖的麻煩,有時也可以用加括號的方式標出語法結構,例如上句的語法結構便可以標示如下:
上式告訴我們,(1)由兩個成分組成:量化名詞詞組every girl和動詞詞組loves John,而後者本身又由兩個更小的成分組成:及物動詞loves和專名John (為簡單起見,本文不對every girl作更細致的分析)。
釐清(1)的語法結構後,便可以進行語義分析,首先確定各個成分的所指及其類型。John和loves的所指可以分別定為個體j和二元函數LOVE,這個函數需要依次輸入兩個個體論元,然後輸出一個具有真值的命題,其中第一個和第二個被輸入的論元分別代表loves的賓語和主語。例如如把個體o (代表賓語object)和s (代表主語subject)依次輸入LOVE,所得結果為LOVE(o)(s),代表命題「s愛o」。
在產生上述命題的過程中,是先有LOVE(o)這個中間結果,然後再產生LOVE(o)(s)。我們也可以把LOVE(o)這個中間結果看成一個一元函數,這是因為如把s輸入這個函數,便可得到一個命題。從語義上看,LOVE(o)也的確可被看成一個單位,因為它代表「愛o」此一屬性。由此我們可以把二元函數看成這樣的函數:它需要輸入一個個體論元,然後輸出一個一元函數。
在形式語義學中,個體和真值是兩個最基本的類型,分別記作e和t。其他類型都具有α → β的形式,其中→代表函數「映射」(mapping),α是函數論元的類型,β則是函數輸出的類型。例如一元函數的類型便是e → t,這是因為一元函數是以個體為論元,並輸出真值的函數。據此,個體j的類型是e,而二元函數LOVE的類型則是e → (e → t),這是因為如上段所述,二元函數相當於以個體為論元,並輸出一元函數的函數。
至於量化名詞詞組every girl,本文把其所指定為函數EVERY-GIRL,這個函數具有類型(e → t) → t,即以一元函數為論元並輸出真值的函數。例如如把一元函數X (代表某種屬性)輸入EVERY-GIRL,所得結果為EVERY-GIRL(X),代表命題「每個女孩都具有X所代表的屬性」。
現在我們可以把(2)中詞項的所指結合起來,這裡的「結合」主要是指把函數作用於其論元。根據(2),loves與John組成一個動詞詞組loves John。由於LOVE和j分別具有類型e → (e → t)和e,前者可作用於後者,所得結果LOVE(j)是具有類型e → t的一元函數,代表「愛John」此一屬性。接著,根據(2),loves John與every girl組成一個句子。由於LOVE(j)和EVERY-GIRL分別具有類型e → t和(e → t) → t,後者可作用於前者,所得結果是下式:
上式是具有類型t的命題,代表「每個女孩都愛John」,這正是(1)的意思。
上述語義分析較為簡單,這是因為(1)是以專名作為賓語;如果以量化名詞詞組作為賓語,情況就會複雜得多。現用以下句子說明此一情況:
跟前面的例子相似,我們首先把上句的語法結構標示如下:
由於(4)所包含的詞項跟(1)完全一樣,我們可以沿用前面提過的所指和類型。可是,當我們嘗試把(5)中詞項的所指結合起來時,馬上便遇到困難。根據(5),loves與every girl組成一個動詞詞組loves every girl。可是,LOVE和EVERY-GIRL的類型互不協調:LOVE需要一個類型為e的論元,但EVERY-GIRL不屬這種類型;EVERY-GIRL需要一個類型為e → t的論元,但LOVE不屬這種類型。這即是說,LOVE和EVERY-GIRL的任何一方都不能以另一方作為其論元,兩者無法結合。如何解決這個「類型錯配」(type mismatch)的問題?不同語法理論提出了不同的解決方法。
當今甚具影響力的「生成語法」(Generative Grammar)採用「移位」(movement)方法解決上述問題。此一理論假設,由於every girl的所指不能作為loves的所指的論元,它要從原來的位置移到句首,移出時在原位留下一個帶有「指標」(index)的「語迹」(trace),以下記作t1,並且在every girl與原句之間加插上述指標1,以標示其後的句子帶有語迹。經上述移位後,(5)變成
上式在生成語法中稱為「邏輯式」(Logical Form),是語法分析的一個抽象層次,其中的指標1和語迹t1是現實語言中根本不存在的抽象物,every girl在現實語言中也不會真的移到句首位置。
接著把上式中詞項的所指結合起來。根據生成語法,上述語迹t1的所指是一個具有類型e的變項(variable),以下記作x。因此具有類型e → (e → t)的LOVE可以先後作用於x和j,其結果LOVE(x)(j)具有類型t,這是一個包含自由變項x的開語句(open sentence)。(6)中的指標1提醒我們這一點,因此接著要用λx約束上述開語句中的變項x (請注意在數理邏輯中,表達式不可包含未受約束的變項,否則該表達式無意義),所得結果是λx[LOVE(x)(j)]。此一表達式具有類型e → t,代表「為John所愛」此一屬性,正可作為具有類型(e → t) → t的EVERY-GIRL的論元,由此可得:
上式是具有類型t的命題,代表「每個女孩都為John所愛」,這正是(4)的意思。
生成語法的上述處理方法存在一個缺點,那就是必須先把原句的語法結構轉換成邏輯式,然後才對該邏輯式進行語義分析,這就使整個語法系統頗為繁複。針對此一缺點,有一些採用「範疇語法」(Categorial Grammar)的學者提出「直接組合性」(direct compositionality)概念,主張在確定句子的組成成分結構後,便應進行語義分析,不應加插一個邏輯式層次或別的甚麼層次。
按照上述範疇語法學者的主張,我們不能採取前面介紹的移位方法,那麼這些學者又如何解決上述類型錯配問題呢?他們的方法是使用「類型轉換(type shift)函數」以改變有關詞項的類型,使這些詞項的類型能互相協調。以(5)為例,我們在前面說過,LOVE和EVERY-GIRL的類型互不協調,但我們可以使用一個名為AR的類型轉換函數,這個函數的作用是把類型為e → (e → t)的函數變成類型為((e → t) → t) → (e → t)的函數。
如前所述,LOVE具有類型e → (e → t),因此把AR作用於LOVE,所得結果AR(LOVE)便具有類型((e → t) → t) → (e → t)。接著便可以把AR(LOVE)作用於具有類型(e → t) → t的EVERY-GIRL,所得結果AR(LOVE)(EVERY-GIRL)具有類型e → t,代表「愛每個女孩」此一屬性。最後把上述結果作用於具有類型e的j,所得結果是下式:
上式是具有類型t的命題,代表「John愛每個女孩」,這正是(4)的意思。
請注意上述的AR函數不是單純為解決上述類型錯配問題而提出,而是有普遍用途,因此範疇語法的上述解決方法不是特設(ad hoc)的方法。除了AR外,範疇語法還提出其他多個類型轉換函數以用於不同用途。我們可以說,正如生成語法廣泛使用移位和語迹,範疇語法廣泛使用類型轉換函數。
在這裡必須指出,(直接)組合性雖然有其優點,但並非神聖不可侵犯的教條。事實上,(直接)組合性有一定模糊性,不同學者對如何貫徹(直接)組合性,可以採取不同的嚴格程度,以配合各自的研究需要,絕對不是越嚴格奉行(直接)組合性便越好。舉例說,廣義量詞理論一般把詞組at least n、at most n、more than n、fewer than n等處理成一個單位而不細致分析其內部結構,這是合適的,因為這方便把這些詞組與其他有相同語法功能的量詞如every、some等作統一處理(上述量詞都是作限定詞determiner)。可是,如果學者的研究興趣是上述詞組與比較結構的共通點,那麼便要把分析深入到上述詞組以至詞的內部(-st是最高級,-re than是比較級)。
事實上,自然語言的語義分析很難做到最嚴格的(直接)組合性,這是因為自然語言包含大量的習語和轉喻現象。習語(idiom)的一個特點是要從整個習語而非其組成成分的層面理解其意義,例如英語表示「死亡」的習語kick the bucket便要從整體層面理解其意義,如果只單純把組成這個習語的各個詞的意義加起來,只會得到「踢水桶」這個意義。類似地,轉喻(metonymy)的一個特點是不能單純從字面理解其意義,例如在句子「白宮今天發聲明」中,「白宮」是「美國總統(辦公室)」的轉喻。如單從字面理解這句,會得出一個語意不通的句子,因為一座建築物(即白宮)是不能發聲明的(除非是在童話世界中)。
此外,當今的語法學(尤其是生成語法)把很多以往不被視作語法問題的現象也納入其研究範圍,例如下句不能解讀作「每個男人都為其母親所愛」,生成語法把此一現象稱為「弱跨越效應」(weak crossover effect):
如要貫徹(直接)組合性,語義分析是否要兼顧上述現象(即確保語義分析不會產生上述錯誤解讀),又如何兼顧?這些都不是容易解答的問題,還有待學者繼續思考。
總上所述,組合性原理是形式語義學中的一個基本原理,它是每位形式語義學者在可行情況下力求遵行的原理,而且隨著研究的深入,學界對組合性提出更高的要求,因而產生直接組合性概念。但也應看到,(直接)組合性有其局限性,因此應按研究需要適當貫徹(直接)組合性,而非盲目追求此一原理/概念。