從生成語言學到自然語言處理(一):LLM和人類一樣嗎?
現在的生成式人工智慧能做到的事情越來越多,也越做越好。像是ChatGPT這樣的大型語言模型應用,從一般的問答、文章翻譯、摘要到檢查,甚至程式碼的撰寫,都能幫上忙。而身為語言學研究所的學生,我對於機器和資訊系統學習人類語言這件事情感到驚奇之餘,也很好奇 LLM 和人類在「語言知識的儲存表徵與運用機制」的差異究竟在哪裡?
文:陳畯田(國立陽明交通大學外國文學暨語言學研究所)
現在的生成式人工智慧(Generative Artificial Intelligence, GAI)能做到的事情越來越多,也越做越好。像是ChatGPT這樣的大型語言模型(Large Language Model, LLM)應用,從一般的問答、文章翻譯、摘要到檢查(proofreading),甚至程式碼的撰寫,都能幫上忙。而身為語言學研究所的學生,我對於機器和資訊系統(information system)學習人類語言這件事情感到驚奇之餘,也很好奇 LLM 和人類在「語言知識的儲存表徵與運用機制」的差異究竟在哪裡?
首先,LLM 和人類儲存語言知識的表徵不同。ChatGPT 背後串接的 LLM —— GPT (Generative Pre-trained Transformer,「生成型預訓練變換模型」)是基於深度學習 (deep learning)的語言模型。訓練模型前,需先將大量的文本資料以「符元」(token)而非「字」(character)或「詞」(word)為單位,並依據大量前後符元的分布,進行詞嵌入(word embedding)處理轉換為機器可以運算的向量(vector)數值,才能將上述數值作為訓練資料,在類神經網路(Neural Network)架構下進行訓練。
有趣的是,將文本切分成符元的過程,同樣仰賴類神經網路以及大量的資料,而符元並不是我們直觀看到的一個一個「字」,如下圖中所示,「沙巴州的首府在哪裡?」被 OpenAI的標記器(tokenizer)分成了十五個符元,仔細看的話,我們能發現其中多個方塊字被分成了一個以上的符元。
OpenAI Tokenizer 切分符元
https://platform.openai.com/tokenizer
在訓練過程中,模型透過多輪的訓練及調整,來求取符元與其前後若干符元的連續機率分布函式。而在應用上,模型以字串預測(string prediction)的方式生成回覆,使用者輸入的提示詞(prompt)也會先經過詞嵌入處理轉換為向量數值,模型則依先前經大量訓練資料調整後的函式,不斷預測下一個最可能的數值,最終經轉換生成最可能的回覆。
舉例來說,使用者輸入「沙巴州的首府在哪裡?」,模型實際上是預測出現「沙」、「巴」、「州」、「的」、「首」、「府」、「在」、「哪」、「裡」、「?」這串符元後最可能出現的字元,而若經模型函式預測得到「沙」如 1 (a),模型會再預測出現「沙」、「巴」、「州」、「的」、「首」、「府」、「在」、「哪」、「裡」、「?」、「沙」這串字元後最可能出現的字元,如 1 (b-j) 所示,一步一步得到「沙巴州的首府是亞庇(Kota Kinabalu)…」這個回覆。
「沙 巴 州 的 首 府 在 哪 裡 ?」的回覆生成順序:
a. 沙 巴 州 的 首 府 在 哪 裡 ? 沙
b. 沙 巴 州 的 首 府 在 哪 裡 ? 沙巴
c. 沙 巴 州 的 首 府 在 哪 裡 ? 沙巴州
d. 沙 巴 州 的 首 府 在 哪 裡 ? 沙巴州的
e. 沙 巴 州 的 首 府 在 哪 裡 ? 沙巴州的首
f. 沙 巴 州 的 首 府 在 哪 裡 ? 沙巴州的首府
g. 沙 巴 州 的 首 府 在 哪 裡 ? 沙巴州的首府是
h. 沙 巴 州 的 首 府 在 哪 裡 ? 沙巴州的首府是亞
i. 沙 巴 州 的 首 府 在 哪 裡 ? 沙巴州的首府是亞庇
j. 沙 巴 州 的 首 府 在 哪 裡 ? 沙巴州的首府是亞庇 (Kota Kinabalu)…
反觀人類的語言知識表徵,以中文為例,就語音、音韻和文字系統而言,我們以「(方塊)字元」(character)為最小單位輸出;在理解和思考時,從句法和語意的角度來看,最小的,有意義的單位則為一個「詞」。但在自然語言處理(Natural Language Processing, NLP)的任務上,值得注意的是,一個方塊字元不一定是一個詞,比如「沙巴州」中的「沙」、「巴」和「州」在「沙巴州的首府在哪裡?」這個句子中,根據上述的定義,都只是「字元」而不是「詞」。只要是一個語言能力典型的母語者,都能憑藉某種快、狠、準的「語感」將不同種類的詞組正確組合成合法的句子。
舉例來說,看到「的」時,我們會預期「的」之前的幾個字(大多數時候是一到兩個字,這是現代漢語雙音節成字的特性),會是一個名詞或形容詞,「的」之後的幾個字,會是一個名詞,憑藉這個語法知識,我們能夠在聽到不清楚的句子「沙巴州的…是亞庇」時,推測缺漏的部分應該是一個名詞,心裡也可能會產生「沙巴州的什麼是亞庇?」的疑惑。
再舉另一個例子,我們看到「在」時,會預期「在」之前會是一個名詞,而「在」之後會是一個名詞或是動詞,因而可以產生 2(a) 或是 2(b) 的語句,且若是名詞的話,應該是一個與地點、位置相關的名詞,如 2(a) 之中的「新竹」。
2.
a. [NP 老師] 在 [NP 新竹]
b. [NP 老師] 在 [VP 說笑話]
此外,我們也都知道,在動詞之前可以是副詞,在名詞之前可以是形容詞。如果問我「的」、「在」這些功能詞的語意或詳細使用規範,我可能說不清楚,但我們應該都認同,以上這些所謂「語感」源自語言的「語法規則」,我們不論理解還是產出句子,都依循某組正確的語法規則,如果一個句子違反了語法規則就會是一個「語法錯誤」的句子,至於句子的語意指涉內容正確與否,則和「語法本身」無關,我們能造出如「沙巴州的首府不是亞庇。」這樣內容有誤的句子,但它仍然是一個語法正確的句子。
縱使從表現(performance)來看,LLM 產生的文句通順,和人類母語表達沒有太大的區別,然而基於上文中提到兩者在「處理語言」上的差異,我們可以試想,這樣的差異是否會反映在表現上。
ChatGPT 回應破碎的句子 (2024.10.01)
https://chatgpt.com/share/66fbaec8-7d20-800f-ab95-f72cbd27b470
ChatGPT 忽略主/受詞差異 (2024.09.24)
https://chatgpt.com/share/66ee2fb0-bf54-800f-b437-b620f16868d9
從圖中的對話,我們能觀察到 GPT-4o所生成的句子,不論是簡體中文還是繁體中文,都很通順,在文字表達上與人類並沒有太大的區別。然而當使用者輸入零碎的提示詞「三的美完式個一疊越好何如的四明治我教」,得到了關於「製作一個越高越好的三明治」的資訊。
有趣的是,若一個人類接收到這麼一串文字,在一個大大的「蛤?」之後,如果他願意多花一些時間,應該能將「三的美完式個一疊越好何如的四明治我教」正確排序並得到「教我如何疊好一個完美的越式三明治」和幾個多餘的字,而在排序和理解的過程中,我們會反覆檢查,確認「疊」可以和「好」形成一個合理的動詞組,以此確保像「越」這樣的字,能和「式」組成一個合理的形容詞組,如此一來,才能減少最後落單的字,最大化資訊的取得。而 LLM 似乎輕而易舉地就這麼忽略了「式」、「越」等字並將「越」和「好」接在一起完成了任務。
當使用者輸入「貓咪可以養大二學生嗎?」,就更有趣了,我們得到了關於「大二學生養貓咪」的相關資訊。「貓咪可以養大二學生嗎?」是一個在語法上完全正確且通順的句子,但它的意義卻與「大二學生可以養貓咪嗎?」截然不同。
還記得嗎?LLM 是一個字串預測模型,它僅僅是依據訓練資料中字元的連續機率分布,預測了在 「三」、「明」、「治」、「的」、「美」、「完」、「式」、「個」、「一」、「?」、「?」、「越」、「四」、「好」、「何」、「如」、「的」、「我」、「教」這十九個字元之後最有可能出現的字元串,至於像人類一樣去「理解」一段話或是提示詞,並不是它的工作。
OpenAI Tokenizer 切分符元
https://platform.openai.com/tokenizer
而基於「LLM 依先前經大量訓練資料調整後的函式,不斷預測下一個最可能的字元,進而生成答覆」這一個運作底層邏輯,我們可以合理懷疑,在大量的訓練資料中,出現「大二學生養貓咪」和「貓咪養大二學生」的排序機率懸殊,導致 LLM 忽略了語言中基本的主/受詞語序和語意之間的相關性,因而直接將這個問題處理為「大二學生養貓咪」這個排序機率較高的字串。
從以上兩個例子,我們除了可以看到 LLM 和人類因為處理語言的方式不同而反映在表現上的差異,我們也可以進一步從這樣的差異中釐清,我們在理解和說話時,並不只是把字逐一串成一句話,我們是依循特定的語法規則將字詞組合形成句子的。
作者介紹
陽明交通大學外國語文系
國立陽明交通大學向以理工、醫學及管理見長,有鑒於科技的發展宜導以人文的關懷、博雅的精神,而資訊的流通則取決於語文的運用,因此於民國八十三年八月成立外國語文學系。
本系發展著重人文與科技之深層多元整合,以本系文學、語言學之厚實知識素養為底,再廣納本校資訊理工、管理、醫學以及其他人社領域等豐厚資源,創造多元與融合的學術環境,開拓具前瞻性及整合性之研究與學習,以培養兼具系統性思考及人本軟實力的學生,使其成為兼具在地及國際性多層次觀點與分析批判能力的未來領導者。
在研究所的規劃上,語言學方面主要是結合理論與實踐,特別重視學生在基本語言分析及獨立思考能力上的訓練。除語言各層面的結構研究外,本系也尋求在跨領域如計算機與語言的結合及語言介面上之研究 (如句法語意介面研究)能有所突破,並以台灣的語言出發,呈現出台灣語言(台灣閩南語、台灣華語、南島語)多樣性,融入社會觀察,如自閉語者聲學、聽障相關研究、社會語音學研究以及台灣語言的音變等。
相關文章
語言科技如何助力瀕危語言復振?以西拉雅語 NLP 專案為例
社會應用 科技應用
前半段時間我專注於南島語資料的預處理,包括資料的讀取和寫出,以及學習使用「正規表達式」來抓取語料。後半段時間則著重在將處理好的語料套入字典內,並針對搜尋功能做調整,包括最基本的詞彙配對,以及 C 為所有子音、V 為所有母音、N 為所有鼻音的配對方式等等,便能以音結結構查詢詞彙。
語言科技的跨域實踐:從語言學理論到卓騰科技實習經驗
科技應用
我參與了卓騰語言科技的實習計畫,在這段兩個月的實習過程中,我不僅加深了對語言學理論的理解,還學習到如何利用自然語言處理(NLP)和自然語言理解(NLU)技術來解決現實中的問題。這次實習不僅讓我拓展了技術技能,更讓我體會到語言科技如何跨越學術和產業之間的界限。