當形式語意遇上程式碼:我在《語言科技與複雜系統》課程中的思維轉變
在修習《語言科技與複雜系統》這門課之前,對於語言與科技的關係我抱持著一種二元分立的觀點。我之前以為語言學僅能提供靜態的規則參考,而 AI 則是負責暴力運算的工具,兩者僅止於表層的應用結合。然而這學期的理論探討與程式實作,改變了我對這兩個領域互動關係的認知。
文:林念慈
在修習《語言科技與複雜系統》這門課之前,對於語言與科技的關係我抱持著一種二元分立的觀點。我之前以為語言學僅能提供靜態的規則參考,而 AI 則是負責暴力運算的工具,兩者僅止於表層的應用結合。然而這學期的理論探討與程式實作,改變了我對這兩個領域互動關係的認知。
課堂中對於語感直覺與實作落差的討論,是我思維轉變的起點。我們習以為常地以全局觀點 (holistic) 來描述語句的意義,但是當我們試圖將這個直覺轉化為電腦可執行的程式碼時,必須面對的是局部的、程序性的電腦邏輯。電腦無法像人類一樣直觀地處理語意,它只能依賴資料結構以及明確定義的變數與函式一步步推進。因此,要整合語意直覺判斷以及電腦邏輯,我們需要建立一套讓兩個領域能夠互相翻譯的機制。
在期末實作專案中,我嘗試將形式語意學 (Formal Semantics) 中廣泛使用的分析工具 Lambda Expression [1] 轉換為Python程式邏輯,這一轉譯過程讓我對現代語言學理論以及自然語言處理技術有了更深刻的理解。以學術論文[2]中關於漢語比較句歧義 (ambiguity) 的分析為例,原本在紙上推導的抽象邏輯式,必須被具體化為可運算的函式。我這次實作的具體語言現象是以下例句 1 的三重歧義現象。
1. 王姑媽比李姑媽多搓合了那六個年輕人。(Liu 2025: 58c)
A. 內部語意 (internal reading):「王阿姨安排的婚姻數量比李阿姨多三樁;而在這三樁婚姻中,每一對夫妻都是由那六位年輕人中的兩人所組成。」
B. 外部語意 (external reading):「王阿姨安排的婚姻數量比李阿姨多六樁;而在每一對夫妻中,其中一方的對象由前後語境所提供。」
C. 混合語意 (mixed reading):「王阿姨安排的婚姻數量比李阿姨多四樁或五樁;在四樁婚姻的讀法中,四對夫妻之中有兩對的其中一方由前後語境所提供;在五樁婚姻的讀法中,五對夫妻之中有四對的其中一方由前後語境所提供。」
我理解上的轉折發生在我開始把例句 1的語意計算邏輯式實際寫成程式的過程 (見圖一與圖二)[3]。一開始讀文獻時,我其實帶著一種既定的預設:語境 (context) 多半是一種難以形式化的因素,理論上可以討論,但在實際分析裡往往只能被簡化處理,甚至被視為干擾。因此,我習慣把語境放在邏輯之外,當作一個「先知道就好」的背景條件。

圖一:Liu (2025) 中的語意計算邏輯式
圖二:圖一的程式實作
在實作過程中,必須將語意學中 λ-Expression 中的每一個抽象符號 (symbol),改寫為程式的變數 (variable) 以便進行後續的計算。舉例來說,為了計算「分類單位事件」(taxonomic unit event),我先決定在這個專案裡,名詞片語像「那六個年輕人」要被轉成一個整數 y,代表實際參與配對計算的「人數」;動詞「配對」本身的語意限制,則被轉成一個最小配對單位 z,例如一次配對必須是 2 人一組,這個數值由 STANDARD('MATCH') 回傳。
此外,為了區分內部語意、外部語意與混合語意,我還引入了一個語境參數 n,用來表示有多少「外部提供」的參與者加入計算:n = 0 對應只有句子中那六個年輕人參與配對的內讀,n = 3 則對應每一對配對都搭配一位來自語境的「外人」的外讀。
當我寫下 tu_count = (y / z) + n 這行程式碼時,原本只停留在語言學描述裡的結構性歧義,第一次被具體地拆成「給多少人」、「一次湊幾個人一組」、「額外從語境補進來幾組」三個可以直接運算的部分。也在這個過程中,我發現不能再把語境當成模糊的背景,而是必須把它當作一個會隨運算更新、可以在系統裡被追蹤的狀態 (即 n 的值)。這不僅驗證了我們習以為常的語意直覺是可以被拆解為明確的計算單位與運算步驟,也讓我認識到,語境並不是雜訊般的干擾,而是能在系統中被量化、被控制的變數。將抽象的語意運算轉換為具體的程式流程,要求我對每一個語言學概念都給出可以實際操作的定義。
在整理論文中的 lambda 表達式時,我其實是先用自然語言問了自己四個問題:這個表示式裡究竟有幾個語意上的函數?每一個函數各自需要哪些論元?這些論元在語意上屬於什麼類別、有哪些限制?以及,這些函數在程式裡實際要算的是什麼樣的值。以我實作的例子來說,論文中的 match(aw, x, v)、R(x, YOUNG_PERSON) 和 TAXONOMIC-UNIT(x),在程式裡分別被對應到 MATCH_EVENT(d, entity, n)、FactAccess() 和 STANDARD() 這三個函式:match 負責把主角、被配對的個體與事件關係收集成一組可比較的事件集合,R 透過 FactAccess() 從百科知識裡檢索「x 是否屬於 YOUNG_PERSON 這個集合」,而 TAXONOMIC-UNIT 則由 STANDARD('MATCH') 回傳的最小單位 z 來實現,對應到論文中 Event Taxonomization Function B 的分類條件。
簡單地說,就是在讀完論文以後,開始設計程式以前,需要有一個中介步驟逼我必須理解這段 λ-Expression 代表的意義,才能動手程式的實作。例如:

這樣的中介步驟,讓我在寫程式之前,先把圖一上的語義概念對應到圖二中的程式區塊,而不是直接從第一行程式碼讀到最後一行。
同樣的轉變也發生在我對「理解論文」這件事的認知上。過去讀原始論文時,我常對一些略帶模糊的句子用「大概就是這個意思吧」帶過,沒有意識到自己其實是靠直覺補洞。當我必須把每一個語言學概念都寫成具體的資料結構和運算步驟時,那些曾經被略讀的地方反而成了最難下手的部分。寫程式的過程迫使我一次又一次回到文本,確認作者真正假設了什麼、又在哪裡留了空白。很多在紙本上看起來順暢的段落,只有被拆解成一連串明確的計算步驟之後,我才算是真的弄懂。對我而言,這次實作讓我從「覺得自己大概懂」走到「知道自己在做什麼」。
這次的實作經驗讓我理解程式碼不只是用來驗證理論的工具,更是一種迫使人精確思考的媒介。語言學所提供的是結構性的框架,使AI的判斷得以被解釋。而AI的計算架構,則反過來要求語言學理論必須具備可操作性。兩者之間並非單向依附,而是一種彼此牽制、相互調整的關係,本身即構成一個複雜系統,需要在理論的描述力與計算的執行力之間不斷尋求動態平衡。也正是在這樣的往返之中,我可以更清楚看見形式語意學的邏輯運算本質,它並不是語言學與資訊科學的簡單疊加,是一種真正的跨領域深度整合。藉由程式實作,我們能將人類直覺中難以察覺的語言模式,轉化為機器可處理的邏輯,同時也藉由機器的運算能力,回過頭來檢驗並修正我們對語言複雜度的理解。
這門課程的內容,某種程度上可說是系上必修課程的「集大成」。在修課過程中,我們重新審視了句法結構 (syntactic structure) 與形式語意中的核心概念,例如如何用語法樹標示論元結構、如何用 Lambda Expression 表示謂詞與論元的組合關係,以及如何以事件變項 (event variable) 刻畫事件類型與參與者角色。進一步地,我們實際練習把這些分析過程寫成程式:先用資料結構表示句法樹,再用函式對應語意組合規則,讓原本只寫在紙上的語意推導步驟,變成電腦可以逐步執行與檢驗的演算法。
對於想修習這門課的學弟妹,我建議首先需要具備基本的語言學基礎,特別是句法結構與語義理論的理解。其次,更重要的是不要害怕寫程式,只要願意一步一步把語言學概念拆開,你會發現程式其實只是另一種精確表達想法的工具。不需要一開始就很熟悉形式語言或邏輯符號,更重要的是願意動手試著用程式把這些概念寫出來,不怕犯錯、不怕改寫。
如果已修習過外文系的「語言學概論(一)、(二)」、「句法學/語意學」或「計算機概論」等必修課程,將能夠更順暢地銜接本課程中關於 Lambda 表達式與語義運算的內容。同時,基礎的 Python 程式設計能力也是必要的,可以修計算機中心開的 Python 入門課程,打好程式基礎。未來如果有機會,也可以再修習「形式語意學專題」、「語言與人類心智」等課程,從不同角度延伸在本課程中開啟的思考。
對我而言,這門課讓過去在不同必修課學到的片段知識 (例如句法樹的結構、語意的邏輯推導),透過計算語言學的實作被串聯起來,第一次形成一個可以被實際操作、也可以被持續擴充的整體。
註解
[1] https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1122/handouts/cl-semantics-new.pdf
[2] Liu, C.-S. L. 2025. A transitive comparative with the transitive verb duō: a comparison along the cardinality of taxonomic unit events. Journal of East Asian Linguistics 34: 155–204. https://doi.org/10.1007/s10831-024-09291-z
[3] 程式碼請見:https://github.com/NientzuLin/1218_Matching/tree/main
文章分類
標籤
作者介紹
陽明交通大學外國語文系
國立陽明交通大學向以理工、醫學及管理見長,有鑒於科技的發展宜導以人文的關懷、博雅的精神,而資訊的流通則取決於語文的運用,因此於民國八十三年八月成立外國語文學系。
本系發展著重人文與科技之深層多元整合,以本系文學、語言學之厚實知識素養為底,再廣納本校資訊理工、管理、醫學以及其他人社領域等豐厚資源,創造多元與融合的學術環境,開拓具前瞻性及整合性之研究與學習,以培養兼具系統性思考及人本軟實力的學生,使其成為兼具在地及國際性多層次觀點與分析批判能力的未來領導者。
在研究所的規劃上,語言學方面主要是結合理論與實踐,特別重視學生在基本語言分析及獨立思考能力上的訓練。除語言各層面的結構研究外,本系也尋求在跨領域如計算機與語言的結合及語言介面上之研究 (如句法語意介面研究)能有所突破,並以台灣的語言出發,呈現出台灣語言(台灣閩南語、台灣華語、南島語)多樣性,融入社會觀察,如自閉語者聲學、聽障相關研究、社會語音學研究以及台灣語言的音變等。