為什麼演算法無法 100% 推導所有漢越音?理解 Pure Projection 與 Lexical Normalization

Series 2 · 第 7 篇——Pure Projection 與 Lexical Normalization 上一篇:從兩百多條音韻規律到 Quizzman Fanqie Engine

為什麼演算法無法 100% 推導所有漢越音?理解 Pure Projection 與 Lexical Normalization

初次了解 Quizzman Fanqie Engine 時,許多人都會提出同一個問題:「既然音韻規律已經研究得相當完整,為什麼 Engine 不能只依靠反切,就百分之百推導出所有漢越音?」 這個問題其實觸及了歷史語言學最核心的本質。簡單地說:音韻規律(Phonological Rules)與語言使用歷史(Lexical History)並不總是完全一致。 要理解這一點,首先必須區分兩個重要概念:Pure ProjectionLexical Normalization

兩個完全不同的問題

研究漢越音時,

我們常常不自覺地把兩個問題混在一起。

第一個問題是:

如果一個 Middle Chinese 音節完全依照音韻規律發展,它最後應該變成什麼?

這是:

歷史音韻學(Historical Phonology)

所討論的問題。

第二個問題則是:

歷史上的越南人實際是怎麼讀這個字的?

這屬於:

詞彙學(Lexicology)

與:

借詞歷史(Borrowing History)

的範疇。

兩者密切相關,

卻不是同一件事。

因此,

Quizzman Fanqie Engine

將它們分成兩個不同層次處理。


Pure Projection 回答什麼?

假設,

我們已經知道某個漢字完整的

Middle Chinese Profile。

例如:

  • 聲母;
  • 韻;
  • 攝;
  • 等;
  • 開口或合口;
  • 平、上、去、入四聲。

如果完全依照音韻規律推導,

Engine 便會得到一個漢越音。

這個過程,

稱為:

Pure Projection。

在這個階段,

Engine 完全不考慮:

  • 字典怎麼記錄;
  • 現代越南人怎麼讀;
  • 哪一種讀法比較常見。

它只回答一個問題:

依照歷史音韻規律,理論上應該發展成什麼樣的漢越音?


但語言不只有規律

如果所有詞語都完全按照規律演變,

問題就會變得非常簡單。

只要知道:

  • 聲母;
  • 韻母;
  • 聲調;

再套用規則即可。

然而,

真實的語言歷史,

遠比這複雜。

一個詞可能因為:

  • 在不同時期傳入;
  • 受到不同方言影響;
  • 因使用習慣而改變;
  • 與其他詞發生同化;
  • 保留了較早期的讀音;

而走向不同的發展。

換句話說:

詞彙歷史,不一定完全遵循音韻歷史。


一個容易理解的比喻

想像有一條從 A 點通往 B 點的直線道路。

如果每個人都按照這條路前進,

我們很容易預測他們的位置。

這就是:

Pure Projection。

然而,

現實中,

有人:

  • 改走另一條路;
  • 繞遠路;
  • 半途停下;
  • 甚至折返。

這就是:

詞彙的歷史。

規律本身,

並沒有錯。

只是,

不同詞語,

經歷了不同的歷史。


為什麼漢越音存在那麼多例外?

漢越音,

並不是在一天之內形成的。

它是:

數百年、

甚至上千年

漢越語言接觸的結果。

在這段歷史中:

  • 發生過多次借詞;
  • 存在不同的發音中心;
  • 漢語本身持續演變;
  • 越南語也持續改變。

因此,

同一條音韻規律,

可能因借入時間不同,

而產生不同結果。

這也是我們經常看到:

  • 一字多音;
  • 文讀與白讀;
  • 古層漢越音與標準漢越音;

同時存在的原因。


演算法不應該「背誦」所有例外

如果只是追求最高命中率,

有一種非常簡單的方法:

每遇到一個例外,

就在資料庫新增一筆。

幾年之後,

Engine 就會累積:

數萬條例外。

準確率,

或許會提高。

但是,

音韻規律呢?

它們會逐漸被大量例外掩蓋。

最後,

整個 Engine

將不再是一套推理系統。

而只是:

一個巨大的資料庫。

Quizzman

並沒有選擇這條道路。


Lexical Normalization 因此誕生

完成 Pure Projection 之後,

Engine 才會進入第二層:

Lexical Normalization。

如果:

Pure Projection 回答:

理論上應該怎麼發展?

那麼:

Lexical Normalization 回答:

歷史上實際怎麼讀?

這時,

才會引入:

  • Thiều Chửu;
  • 漢越字典;
  • 已驗證的詞彙資料;

來決定:

最適合作為輸出的讀音。


兩個層次彼此互補

整個流程可以表示為:

Middle Chinese

Pure Projection

依照音韻規律得到的漢越音

然後:

依照音韻規律得到的漢越音

Lexical Normalization

歷史上實際使用的漢越音

這兩層,

並不是互相競爭。

而是:

互相補充。

如果沒有:

Pure Projection,

Engine 就只是一本字典。

如果沒有:

Lexical Normalization,

Engine 又無法完整反映語言歷史。


科學未必只有唯一答案

在科學研究中,

尤其是歷史語言學,

目標從來不是:

得到唯一且絕對正確的答案。

真正的目標是:

建立一個最能解釋資料的模型。

當新的文獻、

新的研究成果出現時,

模型可以繼續修正。

這是再正常不過的事情。

Quizzman Fanqie Engine

正是建立在這樣的理念上。

它不會宣稱:

其他讀法一定錯。

也不會:

把所有例外都硬塞進規律。

相反,

Engine 努力區分:

  • 哪些屬於音韻規律;
  • 哪些屬於語言歷史。

正因如此,

才能同時維持:

規則的一致性,

以及漢越音歷史的豐富性。


結論

演算法無法僅依靠音韻規律,

就百分之百推導所有漢越音,

並不是因為演算法能力不足。

真正的原因是:

語言從來都不只是規律的集合。

每一個詞,

都有自己的歷史:

  • 借入的年代;
  • 使用的環境;
  • 世代之間的演變;
  • 方言的影響。

因此,

Quizzman Fanqie Engine

採用了兩層架構:

Pure Projection

負責模型化音韻規律,

回答:

理論上應該如何發展。

Lexical Normalization

則負責反映歷史上的實際使用,

回答:

歷史上真正如何閱讀。

這兩層共同構成了一套既能推理、

又能解釋、

同時可以驗證的 Historical Phonology Rule Engine,

而不是一張單純依靠資料查詢的對照表。