單元三:文字表示——從 N-gram、TF-IDF 到 Embedding
理解電腦如何把文字轉成 sparse features、tokens 與 dense vectors。
單元三:文字表示——從 N-gram、TF-IDF 到 Embedding
模型不能直接使用人類語意,必須先把文字轉成數值。表示方法決定哪些訊號容易被模型看見。
以下使用虛構字串:
ORDER_REFUND_PENDING
Normalization
常見處理包括統一大小寫、處理分隔符、拆開連寫文字與補上缺值。但「清得越多越好」是錯的;數字、標點與位置有時是分類訊號。每種處理都應視為待驗證假設。
Word N-gram
先切出詞,再使用單詞或相鄰詞組:
order | refund | pending
它容易對應人類可理解的詞,但拼字變形、縮寫或不穩定分隔會影響 tokenization。
Character N-gram
直接取連續字元片段,例如 refund 周圍的 3 至 5 字元組合。它不必先知道正確詞界,因此常能處理拼字差異、縮寫、連字號或底線。
TF-IDF
TF-IDF 結合兩個直覺:
- 某片段是否在這筆文字中出現?
- 它在整個 corpus 中是否太常見,因而缺乏區別力?
TF-IDF 產生高維 sparse vector,大部分位置為零。LinearSVC、Logistic Regression 等線性模型很適合這種 representation。
Token 與 Tokenizer
Transformer tokenizer 會把文字切成 token IDs。Subword tokenizer 能把少見詞拆成較小片段,但通用 tokenizer 不一定適合每個專業領域。
Tokenizer 不是中性步驟;它決定模型看到的基本單位,也可能造成 domain mismatch。
Embedding
Embedding 是 dense vector,希望把使用情境或語意相近的文字放在向量空間的相近位置。它可用於相似度、clustering、retrieval 或接 shallow classifier。
但 embedding 相近只表示模型認為它們相似,不代表相似原因符合研究需求,也不保證專業縮寫被正確理解。
Sparse 與 Dense
| 面向 | TF-IDF Sparse | Encoder Embedding |
|---|---|---|
| 主要訊號 | 明確字元/詞片段 | learned representation |
| 成本 | 低 | 中至高 |
| 可解釋性 | 較高 | 較低 |
| 語意泛化 | 有限 | 潛力較高 |
| 領域適配 | 可直接從任務資料建立 vocabulary | 取決於 tokenizer 與 pretraining |
誰比較好不能只靠表格決定,必須使用相同 validation protocol 實驗。
Teach-back
- Character n-gram 為何不需要正確詞界?
- TF-IDF 為什麼是 sparse representation?
- Tokenizer 如何影響 encoder?
- Embedding 相近代表什麼,又不代表什麼?
- 提出一個 normalization ablation。