Quizzman Fanqie Engine 系列(二)・第八篇——Candidate Ranking。 上一篇:為什麼演算法無法僅靠 Pure Projection 推導所有漢越音
Quizzman Fanqie Engine 的 Candidate Ranking:當一個漢字擁有數十種反切
建構 Quizzman Fanqie Engine 最大的挑戰之一,並非漢越音推導演算法本身,而是一個看似簡單的問題:應該相信哪一條反切? 在《廣韻》《集韻》《唐韻》《康熙字典》等韻書中,同一個漢字往往記載了多種反切、多個讀音層次以及不同的註解。如果系統只是隨機選擇其中一條反切,結果將缺乏一致性,也難以驗證。因此,Quizzman Fanqie Engine 建立了 Candidate Ranking 機制,在產生最終結果之前,先對所有候選方案進行完整評估與排序。
一個漢字,不只有一條反切
初學反切的人,常會直覺認為:
一個漢字
│
▼
一條反切
然而,歷史情況遠比這複雜。
不同時代編纂了不同的韻書,例如:
- 《切韻》
- 《唐韻》
- 《廣韻》
- 《集韻》
- 《韻會》
- 《康熙字典》
每部韻書可能依據不同文獻來源,記錄同一漢字的不同反切。
因此,一個漢字同時擁有多條反切,是十分正常的現象。
例如:
某字
│
├──《廣韻》── AB切
├──《集韻》── CD切
└──《唐韻》── EF切
這並不表示其中某一條反切錯誤。
它們只是反映不同時期、不同傳承的語音資料。
為什麼會有多條反切?
造成這種現象,主要有幾個原因。
1. 韻書編纂於不同時代
漢語讀音始終處於演變之中。
唐代記錄的反切,可能與宋代或清代的記載已有差異。
因此,各時代韻書自然可能留下不同的讀音。
2. 多種文獻來源共同收錄
《康熙字典》等大型字書,並非完全重新整理資料,而是大量引用前代文獻。
同一字條中,可能同時引用:
- 《廣韻》
- 《集韻》
- 《唐韻》
- 《正韻》
- 《玉篇》
因此,候選反切數量大幅增加。
3. 同一漢字本來就有多個讀音
不少漢字本身就具有:
- 多重字義
- 多種讀音
- 不同使用情境
每一種讀音,都可能對應不同的反切。
如果系統只保留其中一條,便會失去大量珍貴的歷史資訊。
Engine 不會立即選擇反切
Quizzman Fanqie Engine 的重要設計理念之一,就是:
讀取資料時,不立即決定採用哪一條反切。
相反地,Engine 會保留所有候選方案。
例如:
Character
│
▼
Candidate A
Candidate B
Candidate C
Candidate D
每一個 Candidate 都保存完整資訊,包括:
- 資料來源
- 反切
- 中古漢語音韻資料
- Metadata
- 可信度資訊
之後才開始進行評分。
Candidate 是什麼?
在 Quizzman Fanqie Engine 中,
Candidate 並不只是某一條反切。
它代表的是:
一套完整的讀音假設。
每個 Candidate 包含:
- 反切
- 聲母
- 韻母
- 攝
- 等
- 開/合
- 聲調
- 重建中古漢語讀音
- 推導漢越音
- 推導拼音
- 資料來源
也就是說,
Candidate 是一份完整的語音分析檔案,而不只是單一讀音。
並非所有資料來源都同樣可靠
假設同一個字有四條反切:
《廣韻》
│
▼
A
《集韻》
│
▼
B
《唐韻》
│
▼
C
《康熙字典》
│
▼
D
如果隨機選擇,
每次執行 Engine 都可能得到不同結果。
這顯然無法接受。
因此,
Quizzman 建立了資料來源評分(Source Ranking)。
例如:
某些來源可能因為:
- 更接近標準反切體系
- 記錄較完整
- 文獻可信度較高
- 更適合作為漢越音重建依據
而獲得較高權重。
Candidate Ranking 不只看資料來源
資料來源只是評分的一部分。
Engine 還會綜合考量:
- 中古漢語音韻資料是否合理
- 漢越音推導是否符合規律
- 是否符合標準漢越音層
- Lexical 資料
- 人工校訂讀音
- 歷史例外
因此,
即使兩個 Candidate 都來自《廣韻》,
最後得到的分數仍可能完全不同。
Candidate Scoring 如何運作?
整體流程可概括如下:
Character
│
▼
Candidate Generation
│
▼
Candidate Validation
│
▼
Source Score
│
▼
Phonological Score
│
▼
Lexical Score
│
▼
Final Score
│
▼
Best Candidate
各階段分工如下:
- Candidate Generation:產生所有可能候選。
- Candidate Validation:排除不合理候選。
- Candidate Scoring:逐一評分。
- Final Selection:選出最佳 Candidate。
不只是查字典比對
有人誤以為:
Candidate Ranking 只是比較哪個讀音最接近《康熙字典》或《康熙字典》。
事實並非如此。
如果只是單純比對字典,
Engine 就只是一本電子辭典。
Quizzman 採用的是多維度評估,同時整合:
- 音韻規律
- 歷史資料
- 反切來源
- 詞彙層(Lexical Layer)
只有當 Candidate 同時符合音韻規律與歷史證據時,才會被選為最佳結果。
Candidate Ranking 如何處理多音字?
許多漢字本來就具有多個讀音。
例如:
Character
│
├── Reading A
├── Reading B
└── Reading C
Candidate Ranking 並不試圖刪除其他讀音。
相反地,
Engine 保留所有候選,
再分析:
- 哪個是主要讀音
- 哪個屬於變體
- 哪個屬於古讀
- 哪個僅見於特定文獻
如此既能保存完整歷史資料,也能為使用者提供最適合的預設結果。
Candidate Ranking 與 Explainable AI
Quizzman Fanqie Engine 的一大特色是:
不只給答案,也能解釋答案。
例如:
Candidate A
Score:92
Candidate B
Score:84
使用者可以清楚知道:
- Candidate 來自哪部文獻
- 優勢在哪裡
- 哪些因素獲得加分
- 為何其他 Candidate 未被採用
這也是許多純機率式 AI 模型較難提供的能力。
Candidate Ranking 的核心理念:不是刪除資料,而是整理資料
Quizzman Fanqie Engine 並不追求唯一「絕對正確」的反切。
歷史語言本來就經常同時存在多種合理讀法。
真正重要的是:
- 完整保存所有具有學術價值的候選資料。
- 以一致的評分標準加以分析。
- 根據不同應用情境,選出最合適的結果。
透過 Candidate Ranking,Engine 不僅能產生穩定且一致的推導結果,更將《廣韻》《集韻》《唐韻》《康熙字典》等典籍中大量零散的反切資料,整合為一個可追溯、可驗證、可解釋的結構化語音資料空間,讓每一個 Candidate 都能依據音韻規律與歷史文獻獲得完整說明。