廣義量詞的自然邏輯(一)

kafat 的照片

1. 自然邏輯簡史

「自然邏輯」(Natural Logic)是指以貼近自然語言的表達式為基礎的邏輯推理。古希臘的形式邏輯主要研究量化句之間的推理關係,所謂「量化句」,是指形如「所有S都是/不是P」和「有(至少一個)S是/不是P」的命題。這些量化句是從自然語言歸納出來的,具有一般句子的「主謂」(Subject-Predicate)結構,因此古典形式邏輯可稱為「古典自然邏輯」。古典形式邏輯的自然主義風格反映了西方早期邏輯學與語言學的密切關係,事實上,「主語」和「謂語」便既是邏輯學,又是語法學的術語。



「古典自然邏輯」主宰西方邏輯學兩千年,及至19世紀末20世紀初,西方興起了現代數理邏輯,邏輯學發生了「數學轉向」,大量引進數學方法。其最重要分支—「一階謂詞邏輯」(First Order Predicate Logic)在20世紀取得空前成功,在深度和廣度兩方面均大大超越古典邏輯。事實上,現代數理邏輯是以數學概念而非自然語言作為研究對象,背離了古典邏輯學與語言學緊密相連的傳統。此外,古典邏輯的研究結果由於可在一階邏輯下得到更有系統和更嚴格的解釋,完全可被歸併入一階邏輯,因而喪失了特殊性;而且現代數理邏輯還包括很多古典邏輯所沒有的內容,新興的邏輯學家不再使用或研究古典邏輯的各種術語和範疇,古典邏輯似乎已被掃進了歷史的垃圾堆中。



可是,物極必反,從20世紀中期起,自然邏輯重又引起部分學者的興趣,這主要有兩方面的原因。首先,當代是學術界空前繁榮、百花齊放的時期。不僅處於「正統」地位的數理邏輯獲得長足發展,各種「非正統」邏輯也如雨後春筍般應運而生,及至21世紀初最終形成試圖集各派大成的「泛邏輯」(Universal Logic)思潮。自然邏輯作為有悠久歷史傳承的邏輯流派,自然也得以「死灰復燃」。



其次,一階謂詞邏輯有其局限性,主要表現為其「非自然性」、「表達力」不足和「不可判定性」。由於早期的數理邏輯學家認為自然語言不精確和充滿歧義,他們致力發展專門為數理邏輯而設的「人工符號語言」。雖然這套語言對研究數學推理十分有用,但對研究日常語言的推理卻顯得格格不入。舉例說,簡單的一句

有(至少)兩名學生跳舞。     (1)

在一階謂詞邏輯中卻要表達為

∃x∃y (STUDENT(x) ∧ STUDNET(y) ∧ DANCE(x) ∧ DANCE(y) ∧ x ≠ y)     (2)

上式用日常語言繙出來就是

存在個體x,存在個體y,使得x是學生,y是學生,x跳舞,y跳舞,並且x不等於y。     (3)

比較一下(1)和(3),便可見後者是多麼累贅和不自然,這是因為(2)完全沒有反映(1)的「主謂」結構,也沒有表示數字2的簡便方法。一階謂詞邏輯還有「表達力」(Expressive Power)不足的缺點,例如這種邏輯便無法表達下句:

超過一半學生跳舞。     (4)

鑑於「超過一半」在日常語言中是很常用的量詞,由此可見一階謂詞邏輯實在不適合用來研究自然語言的推理。



至於一階謂詞邏輯的「不可判定性」(Undecidability),是指不存在一套可在有窮時間內完成的「算法」(Algorithm),可用來判斷任意一階邏輯推理是否有效。換句話說,我們無法把一階邏輯推理完全變成一種可交由電腦代勞的機械運算,很多有效的推理模式仍有待人們去研究和發掘。



正由於存在上述局限性,數理邏輯無法涵蓋自然語言中所有有效的邏輯推理,因此一些對自然語言推理感興趣的學者便轉向對自然邏輯的研究。不過,他們的研究不是重走古典邏輯的老路,而是從全新的角度去研究自然語言推理,形成有別於「古典自然邏輯」的「現代自然邏輯」




2. 現代自然邏輯的研究對象

「現代自然邏輯」尚處於初創階段,對於其研究對象,至今未有定論,可謂眾說紛紜。歸納各家的說法,大致上可以把自然邏輯的研究對象定為:以貼近自然語言的表達式為基礎的邏輯推理。對於這個定義,須作兩點說明。首先,這裡是說「貼近自然語言的表達式」而非「自然語言」,這是因為邏輯學作為一種理論概括,不是對無窮無盡的具體推理逐個進行研究,而是從抽象概括的角度研究有限的「推理模式」;這些推理模式往往並非表現為純粹的自然語言句子,而是表現為代表自然語言的「表達式」。以古典邏輯為例,前述的「所有S都是/不是P」便是一種抽象的表達式,其中S和P是「變項」,而「所有」一詞其實也是從日常語言中各種表達「全稱量化」的同義詞(例如「所有」、「每個」、「一切」等)抽象出來的。



其次,「貼近」是一個模糊概念,不同人對此可以有很不同的理解。某些學者所研究的表達式基本上保留了自然語言句子的原貌,只是把其中的「非邏輯詞項」處理成變項(古典邏輯就是這樣做),或者加上某些句法/語義標記(例如Sanchez Valencia)(註1)。以前述的(1)為例,在上述後一種處理方法下,(1)會被表達為:

At least 2
students
danced
    (5)
(e → t)+ → ((e → t)+ → t)
e → t
e → t

上式的第二行就是句中各個詞項的句法/語義標記。


某些學者則把自然語言句子表達成抽象的代數公式,但跟謂詞邏輯表達式不同,這些公式反映了自然語言句子的「主謂」結構(例如Sommers和Murphree)。在這種處理方法下,(1)會被表達為

+ 2S + D     (6)

其中"2S"和"D"分別對應(1)的主語和謂語。



還有一些學者處於上述兩個極端之間,他們把自然語言句子翻譯成某種語義學理論的表達式,這些表達式盡量保留句子的原貌。Keenan是這方面的代表,他使用「廣義量詞理論」的框架,而廣義量詞理論曾被稱為「主謂邏輯」,因為它保留了自然語言句子的「主謂」結構,例如把(1)表達為

(at least 2)(STUDENT)(DANCE)     (7)

其中"(at least 2)(STUDENT)"和"DANCE"分別對應(1)的主語和謂語。綜上所述,不同學者對何謂「貼近自然語言」可以有不同的解讀,本文採取兼容的態度,把以上這些理論都歸入「現代自然邏輯」的範圍。



現代自然邏輯繼承了古典邏輯的傳統,主要關注量化句的推理問題。不過跟古典邏輯不同,現代自然邏輯研究的量詞已不限於傳統的「所有」和「有(至少一個)」,而是「廣義量詞」(Generalized Quantifier)。有關廣義量詞的詳細介紹,請參閱拙著「廣義量詞系列」。簡言之,廣義量詞是自然語言中表達集合之間的邏輯/數量關係的眾多手段之一(註2)。在句法學上,不同類型的廣義量詞對應著多種語言結構,本文集中討論最重要的一種-「限定詞」(Determiner),例子如英語的"every" 、 "some" 、 "at least one third" 、 "exactly three" 、 "all except two" 、 "John's" 、 "many"等等。



從廣義量詞理論的角度看,限定詞含有兩個「論元」(Argument),可分別稱為「左論元」(Left Argument)和「右論元」(Right Argument),分別對應著自然語言句子中的主語(略去限定詞後的部分)和謂語。以下筆者將採用Keenan的記法,把限定詞及其兩個論元寫成Q(A)(B)的形式,其中Q、A和B分別代表「限定詞」、「左論元」和「右論元」,例如在(7)中,(at least 2)、STUDENT和DANCE分別是「限定詞」、「左論元」和「右論元」。



涉及廣義量詞的自然邏輯推理豐富多樣,學者只能擇其最重要者進行研究,以下是筆者經整合諸家學說後歸納出來的四大類推理:

  1. 單調性推理
  2. 三段論推理
  3. 對當推理
  4. 論元結構推理

以下將分節介紹當代學者對這四大類推理的研究成果。



註1:有關本節所提學者的理論的詳細內容,將留待下文再述。


註2:由於「數」在日常生活中無處不在,自然語言中表達數量的手段異常豐富,除了「廣義量詞」外,至少還有「分類詞」(Classifier)(即漢語語法中所稱的「量詞」)、「數」(Number)範疇、「重疊」(Reduplication)(例如漢語的動詞重疊式「X一X」表小量)、「詞綴」(Affixation)(例如英語的動詞前綴"re-"表重複)等。

回應瀏覽選項

選擇你喜歡的顯示回應的模式,並點選「儲存設定」,以啟用你所做的改變。
張海澎 的照片

拜讀中

謝謝!

冷眼 的照片

感謝Kafat兄

又能欣賞Kafat兄的鴻文,快哉!

牛頭馬面 的照片

thx kafat

great passage.

 

__________________

i'm not a human

文盲 的照片

受教

周生的文章寫得很直觀,受益甚深,謝謝^^

另,文中「可是,特極必反,從20世紀中期起」一句中,「特」應作「物」

kafat 的照片

謝謝提點

謝謝提點,已更正錯誤,看來「文盲」君改錯了筆名。

筆者看過很多論文,有些論文的解說過於簡略/抽象,讀時苦不堪言,所以我寫文時希望寫得盡量直觀。

不過,理想歸理想,有時在行文時為免文章過於冗長,省略了一些對讀者來說非常重要的細節而不自知。如有講得不明白/不妥善之處,請提出,好讓我作出修正/補充。

windy 的照片

還有一些學者處於上

還有一些學者處於上述兩個極端之間,他們把自然語言句子翻譯成某種語義學理論的表達式,這些表達式盡量保留句子的原貌。

Keenan是這方面的代
表,他使用「廣義量詞理論」的框架,而廣義量詞理論曾被稱為「主謂邏輯」,因為它保留了自然語言句子的「主謂」結構,例如把(1)表達為

(at least 2)(STUDENT)(DANCE)     (7)

其中"(at least 2)(STUDENT)"和"DANCE"分別對應(1)的主語和謂語。//

 

這種表達式好像比較貼近自然語言, 亦比 一階謂詞邏輯

∃x∃y (STUDENT(x) ∧ STUDNET(y) ∧ DANCE(x) ∧ DANCE(y) ∧ x ≠ y) 

這表達更簡潔, 更具表達力.

kafat 的照片

一階邏輯與集合論比較

這種表達式好像比較貼近自然語言, 亦比 一階謂詞邏輯

∃x∃y (STUDENT(x) ∧ STUDNET(y) ∧ DANCE(x) ∧ DANCE(y) ∧ x ≠ y)

這表達更簡潔, 更具表達力. //

你說得不錯,究其原因,是因為一階邏輯表達式無法直接表達數字2,請注意一階邏輯沒有集合的概念,更不能使用代表集合基數的符號,所以只能用「迂迴」的方法表達數字2。

反之,Keenan所用的三分結構式是以集合論為基礎,可以用集合論語言表達量詞的真值條件,例如(at least 2)(STUDENT)(DANCE)真當且僅當|STUDENT ∩ DANCE| ≥ 2。請注意由於集合論規定集合中沒有重複的元素,所以Keenan的表達式無需理會這個問題,而一階邏輯的表達式卻要特地提到x ≠ y。

一言以蔽之,集合論語言背後有很多既有的符號和慣例,而一階邏輯的語言卻相當「原始」,這造成兩者的巨大差異。

kafat 的照片

三分結構式與自然語言不一致之處

補充一點,在某些情況下,前述的三分結構式也有跟自然語言不一致之處。例如,以句子"Every boy loves a girl"為例,其(簡化)三分結構式便要寫成every(BOY)(a(GIRL)(LOVE)),即把動詞放到最後,以清楚表達原句的轄域結構。

但有趣的是,我們熟悉的漢語其實也有這種情況,這就是我們常用的「話題結構」。例如如要清楚表達上句的轄域結構,我們可以這樣說:「每一個男孩都有一個女孩為他所愛」。換句話說,漢語的「話題結構」其實有表達轄域結構的妙用。

由此我們可以說,前述三分結構式與自然語言的不一致之處其實並不嚴重。