← 返回課程/實驗

A1 詞元切分探測 · v3 實作入口

比較 BPE、WordPiece、Unigram LM 在中文、英文與一種形態豐富語言上的切分。繳交物維持課程公告的 Colab notebook + 800 字分析;截止與評分以課程網站及 NTU COOL 為準。

開啟中文實驗工作台 v3 · 課程作業與繳交規則 · GenAI v3 平台

中文平台只提供兩個 BPE tokenizer 的範例。正式 A1 還需要另外加入 WordPiece、Unigram LM、英文及你選的形態豐富語言。

從可檢查的比較開始

  1. 界定比較。 選定 tokenizer ID、revision、演算法與語言;預先說明要比較的詞綴、詞或構式例子。若使用不同預訓練模型,詞表大小、語料與前置切分也不同;結果屬系統比較,不能直接歸因於演算法。
  2. 固定參照單位。 記錄每種語言的詞界或分析標準。中文可用人工詞界,或明確標記 Jieba/CKIP 是自動參照。空白詞界不適用於所有語言,標點與 special tokens 是否計入都要說明。
  3. 量切分。 保存原始文字、參照單位、token 字串/ID、token 數與邊界。fertility = 內容 tokens 總數 / 參照詞總數;跨項目彙總以總數相除,並說明 normalization 與排除政策。
  4. 做有控制的對照。 中文繁簡與地區用詞用交叉條件;不同語言的材料核對配對與語義等價。形態例子需指出詞綴或構式邊界,並承認替代分析。
  5. 解讀效果。 跨獨立項目或文件的對比報點估計與適當區間;單句的確定性 token 數直接呈現。預訓練詞表比較、材料差異與模型理解分開論證。
  6. 找反例與穩健性。 改分母、排除疑義材料或換 tokenizer,記錄結果;不要求製造 null 結果。最後整理成 notebook 與 800 字分析,附 LLM 使用聲明。

先用中文工作台練一次

預設 29 個經作者模板篩選的台中 2×2 項目,另有全部 37 項、香港排除 low 信心的 28 項、三地全部材料與 3 項逐字相同控制。這些材料仍未母語者校訂。

一張結果表至少要讓讀者知道

欄位 內容
系統 tokenizer ID / revision、演算法、詞表大小、special-token 政策
材料 語言、來源/授權/版本、配對 ID、納入與排除理由
參照 人工詞界或自動參照、詞綴/構式的語言學分析
測量 token count、參照詞數、fertility;需要時報碼位/bytes 與共同座標邊界
對比 基準條件、獨立 n、平均差或比率;如作推論,附適當區間
判讀 反例、替代解釋、結論適用範圍;切分差異與模型能力分開

800 字分析可依序回答:你問什麼 → 材料與參照標準 → 主要對比 → 詞綴/構式例子及反例 → 推論的限制。Notebook 中保留完整資料、版本、執行指令與計算。

取得程式與資料

參考程式 ZIP · 完整 JSON · 全部測量 CSV · 官方 tiktoken 驗證 · 指標與更正紀錄

ZIP 是本地參考分析層,不是已在 Colab 驗證的完整作業 notebook。你可在 Colab 加入所選 tokenizer 與語言,並保存實際執行輸出。

# 在本課 repo 的 cllt2026/a1/,或解壓後的參考目錄中
python -m pip install -r requirements.txt
bash vendor_ranks.sh
python run_study.py
python validate.py
python build_web.py --out zh-tokenizer.html --site courses

第一次取得 rank 表需要 Node/npm 與網路;之後普通文字分析可離線。validate.py 第一次可能下載官方 tiktoken rank 表。

分析入口

檔案 用途
stimuli.py 材料、篩選理由、原始/轉換條件與逐字控制
metrics.py tokens、分母、UTF-8 bytes、Jieba 參照與實際邊界
stats.py 項目內對比、CI 與補充檢定
run_study.py 生成 JSON / CSV 與來源識別
validate.py 官方 rank / token ID 比對與全部測量重算

延伸練習:系統擴充或評量報告 提供額外研究題目與評分參考,不取代正式 A1 的語言、演算法、繳交物或配分要求。