生活分享

分詞(Tokenization)是什麼:文字進入模型前的切分

分詞是把原始文字轉成 token 與編號的處理步驟,不等於替中文句子找出文法上的詞。本文從早餐店品項整理的例子,解釋詞彙表、子詞、空白與正規化如何影響結果,分清 BPE、Unigram 與分詞工具的角色,並提供檢查繁體中文、混合語言及罕見符號的方法。讀完能判斷問題出在文字切分、模型理解,還是檔案讀取階段。

更新日期: 閱讀時間約 7 分鐘

完整紙帶穿過切分框後變成長短不同的紙片,呈現文字切分的動作。
圖片:Mokaair (© Mokaair)

分詞(Tokenization)是把原始文字轉成模型可處理單位的步驟。日常說的「把句子分成詞」容易讓人想到國文課,但語言模型的分詞器常把一個詞再切成較小片段,也可能把空白和標點納入表示。它追求的是一套可運算的編碼方式,不一定是人認為自然的詞界。

接下來以早餐店整理品項名稱為例,帶你辨認分詞器做了什麼、沒有做什麼。你不需要自己訓練分詞器,也能學會在中文、英文縮寫與特殊符號混用時,確認文字是否被正確送進系統,而不是一看到回答錯誤就怪模型不懂中文。

分詞結果為何跟你心中的詞不同

假設菜單裡有「起司蛋餅」「冰豆漿」和新取名的套餐。人會根據語意把它們理解為餐點,分詞器則依已建立的詞彙表和規則決定片段。常見文字可能有較完整的表示,少見的新名稱可能拆得較細;實際邊界取決於你使用的分詞器,不能只憑眼睛推算。

切完片段之後,程式會把它們轉成對應編號。模型的數值運算使用這些編號所對應的表示,而不是直接在紙上的字形上思考。這也說明同一段文字換到不同模型,token 數可能不同:分詞器和詞彙表不同,選定的片段就可能改變。

不要因此以為被拆得細就完全無法理解。子詞方法本來就是為了用有限的詞彙表處理更多文字組合。相反地,一個品項剛好只佔少量 token,也不能證明模型知道它的成分或價格。文字能被表示,與模型是否掌握這項資訊,是兩個不同問題。

菜單原稿先經文字抽取,再以分詞器產生片段與編號;還原文字可回頭檢查,之後才送入模型分類。
把讀檔、切分與模型判斷分開檢查,才能找到資料變形的階段。 · 圖片:Mokaair (© Mokaair)

詞彙表、演算法與工具各自負責什麼

Hugging Face 文件整理了 BPE、Unigram 與 WordPiece 等子詞方法。以直覺來說,BPE 的詞彙建立會逐步合併常一起出現的片段;Unigram 則從候選片段與機率出發,選擇適合的表示。這些是不同策略,不能只憑名稱判斷哪一種對所有中文工作最好。

SentencePiece 是實作分詞與還原的工具,可採用 BPE 或 Unigram 等方法。它的原始專案說明可以直接從原始句子訓練,不必先依賴語言專屬的斷詞程序。因此「SentencePiece 和 BPE 哪個好」有時比較錯了層次,就像把軟體工具與工具內的一種運算方法當成互斥產品。

一般使用者更需要注意模型與分詞器是否配對。自行接 API 或下載模型時,不能任意拿另一套分詞器產生的編號送入模型。同一個編號在不同詞彙表可能代表不同片段;即使程式沒有立刻報錯,輸入含義也可能已改變。用模型附帶或官方指定的分詞設定最容易避免這類混淆。

用早餐菜單檢查完整處理鏈

以下是示意操作。準備一份測試菜單,包含常見餐點、新套餐名稱、英文縮寫、全形標點與表情符號。先保留一份純文字原稿,然後用相應的分詞工具查看片段、編號與總數。這份紀錄不是為了找漂亮的切法,而是建立可比較的基準。

下一步把編號還原為文字,與原稿逐項對照。預期結果是確認名稱、標點和空白在這套處理流程中如何保留;有些設定包含正規化,因此應先查看工具規則,不能把所有差異都視為錯誤。特別留意全形和半形、看起來相同卻編碼不同的符號,以及多餘的換行。

再把同一份菜單交給模型,要求只列出含蛋的品項,並附上原始名稱。若還原文字已經缺字,應先查讀檔、編碼或前處理;若還原正確而模型挑錯品項,問題更可能在任務說明、資料不足或理解。如此分段檢查,比反覆改問法更容易找出真正失敗的位置。

空白與文字整理為何會改變結果

菜單從 PDF 複製出來,可能每個字中間都夾空白;表格換行也可能把名稱和價格分到不同列。對人而言只是排版瑕疵,對分詞器和後續模型卻是不同輸入。先查看抽取後的純文字,通常比在錯誤資料上加更多指令有效。

不過清理不代表把所有空白都刪掉。英文名稱中的空格、品項與註記的分隔、表格欄位之間的界線,都可能承載必要結構。較好的做法是保留原稿,訂出明確規則,例如只合併 PDF 產生的異常斷行,並人工檢查幾筆邊界案例,再進行整批轉換。

正規化也需要目的。如果你要找同一種餐點,把部分字形差異合併可能方便比對;若要逐字轉錄合約、序號或原文引句,改寫字元可能造成損失。分詞工具提供的能力與你的資料保真需求,要分別確認,不能用「 看得懂就好」取代資料品質檢查。

分詞不是檢索分塊,也不是中文理解測驗

文件分塊通常把長資料切成段落或片段,以便檢索;分詞則把送入模型的文字表示成 token。你可以先把整本手冊分成章節,再把其中一章經分詞器編碼,兩者同時存在而且服務不同目的。把分塊調得更小,不等於換了模型的分詞方法。

同樣地,搜尋引擎的中文斷詞常用來建立索引,重點是查詢詞與文件詞如何匹配;語言模型分詞則關係到模型輸入與訓練時的表示。名稱相近時,要先問「這個切分結果要交給誰使用」,就能避免把搜尋設定與模型設定混在一起。

如果你只用聊天介面,通常無法更換底層分詞器,但仍可先清理來源文字、保留清楚欄位、避免無意義重複。若開發自己的流程,則應把模型名稱、分詞設定與前處理版本一起記錄。日後 token 數突然改變時,才能知道是內容變了,還是編碼規則變了。

概念與使用情境比較;查證於 2026 年 9 月。
概念切分對象主要目的
語言模型分詞文字到 token模型表示
中文斷詞句子中的詞語言分析或搜尋索引
文件分塊長文件中的段落檢索與資料組織

  • 生活分享

    世界模型(World Model)是什麼:讓 AI 預測「接下來會怎樣」

    世界模型指 AI 內部用來預測「這樣做之後會怎樣」的模型,但這個詞至少有三種用法:強化學習代理在想像中練習用的環境模型、LeCun 主張預測抽象表示的架構路線,以及能隨操作即時生成畫面的互動環境。內容用示例說明怎麼在想像中規劃,並列出大型語言模型有沒有世界模型的正反研究,附讀新聞時的檢查問題。

  • 生活分享

    視覺語言模型(VLM)是什麼:讓 AI 讀圖片、再用文字回答

    視覺語言模型(VLM)能同時接收圖片與文字,再用文字回答。內容拆解視覺編碼器、連接層與語言模型三段結構,說明 CLIP、Flamingo、LLaVA 三篇論文各補上哪一塊,並和多模態 AI、文字生圖分清楚;也整理它常犯的錯:數錯數量、搞混位置、說出圖裡沒有的東西,附上讀收據時逐行核對的步驟。

  • 生活分享

    溫度(Temperature)是什麼:AI 回答變化程度的取樣參數

    溫度(temperature)是文字生成時調整取樣的參數,讓模型從下一個 token 的機率分布裡抽得更集中或更分散。用假想的台南早餐示例算出低溫與高溫的差別,說明 top-p 的來源和它與 top-k 的差別,並依官方文件與論文指出:調低溫度不代表更準,設成 0 也不保證每次相同,部分模型還不開放調整。

  • 生活分享

    合成資料(Synthetic Data)是什麼:兩種用途、品質控管與模型崩潰

    合成資料是由演算法或模型產生、模仿真實資料特徵的資料,常見用途有兩種:訓練模型,以及在隱私需求下替代真資料。內容依 Self-Instruct、模型崩潰研究(替換與累積資料的差別)與 NIST、ICO 的隱私文件,說明做法、抽查流程,以及它不能保證的事。

最新旅遊情報攻略

資料來源

生活分享