LING5006 · W04 向量表徵 · 第一部 機器學習與文本分類1-1

第一部 · 起點

機器學習 101: 從寫規則到「從例子學」

What machine learning is, in one page

與其告訴電腦「怎麼判斷」,不如給它一大堆已經判斷好的例子,讓它自己找出規律。這就是監督式學習。

做法 A:人寫規則ELI5
如果含「爛」   → 負評 如果含「好看」  → 正評 如果「不」+「好看」→ 負評 如果「不是普通的好看」→ ? 如果「好看個頭」 → ??

規則永遠寫不完,而且語言一直在變——反諷、新詞、網路用語。

做法 B:從例子學
「笑到肚子痛,二刷了」正 「浪費我兩小時」負 ……再一萬則已標好的例子
↓ 訓練:自己找規律
分類器 γ
↓ 推論:遇到沒看過的新評論
「劇情普普,配樂很讚」→ ŷ = 正?

訓練階段 training

輸入:m 筆「文件+正確答案」(x, y),類別集合 Y 固定。
輸出:一個學好的分類器 γ。

推論測試階段  test

輸入:一份新文件 d。
輸出:預測的類別 ŷ。帽子 ^ 的意思是「估計值」。注意,模型猜的,不一定對。

機率式分類器的四個零件

這四格就是整個第二部的地圖;右下角是講到它的頁碼。

①特徵表示把文件變成一排數字 x2-2、2-3
②分類函數由 x 算出 P(y|x)2-3、2-4
③目標函數量出「錯得多離譜」2-5
④最佳化一點一點調整權重,讓錯誤變小2-6
→ 通往 LLM

LLM 也由這四個零件組成:特徵表示=詞嵌入、分類函數=Transformer+softmax、目標=交叉熵、最佳化=梯度下降。唯一的差別是答案不必人工標註。下一個詞就藏在文本裡,模型可以自己去學,所以叫「自監督」學習。

出處:SLP3 投影片 logreg25aug,p.7–9、13–141-1
LING5006 · W04 向量表徵 · 第一部 機器學習與文本分類1-2

第一部 · 任務

文本分類:機器學習的典型任務

Text classification and sentiment

垃圾信、作者判定、情感分析. . . 甚至預測下一個詞,就機器學習的角度,可以都算是同一件事:把一段文字放進某個固定的類別。

垃圾信偵測「恭喜中獎,請點連結領取」類別:是/否
作者歸屬《聯邦黨人文集》12 篇匿名文章(見 1-3)類別:Hamilton/Madison
語言辨識「Lí hó, tsia̍h-pá--bē?」類別:華語/台語/英語…
主題分類一則新聞該歸哪個版面類別:體育/政治/財經…
情感分析影評、商品評論、社群貼文的態度類別:正面/負面
語言模型「我今天想吃__」類別:詞彙表裡的每一個詞

情感分析:正面還是負面?

unbelievably disappointing負 Full of zany characters and richly applied satire, and some great plot twists正 「本來不抱期待,結果看完直接二刷。」正

最後一句有「不」卻是正評——這正是 1-1 做法 A 會失敗的地方。

電腦怎麼「看」文字:詞袋ELI5

把句子剪成字卡丟進袋子,只數次數、不管順序。

「好看,真的好看,只是結局有點爛」

好看 ×2 真的 ×1 只是 ×1 結局 ×1 有點 ×1 爛 ×1

語言學家會皺眉的地方

詞袋丟掉了語序:「狗咬人」和「人咬狗」是同一袋。句法、否定的範圍、誰對誰做了什麼,全都不見了。可是對情感分析來說,詞袋往往已經夠好 — 這本身就值得想一想:態度主要由詞彙承載嗎?

動手試試 「好看」和「不好看」的詞袋只差一個「不」。詞袋模型可以怎麼處理否定? 參考:常見做法是在否定詞之後、下一個標點之前的每個詞都加上前綴,把「好看」改寫成新詞「NOT_好看」。它是個權宜之計,因為句法範圍其實更複雜。
→ 通往 LLM

語言模型就是一個類別數=詞彙量 |V|(數萬到十幾萬)的分類器:看完前文,替每個可能的下一個詞打分。而 LLM 和詞袋最大的不同,是它保留了順序(W05 的位置編碼)。

出處:SLP3 投影片 logreg25aug,p.2–6;否定處理見 SLP3 Naive Bayes 章1-2
LING5006 · W04 向量表徵 · 第一部 機器學習與文本分類1-3

第一部 · 第一個機率式分類器

貝氏:用證據更新信念

Bayes’ rule and Naive Bayes

看到一個線索之後,某件事的機率應該變多少?貝氏定理就是這個「更新」的算術。

負評 40 則
正評 60 則
深色=含「爛」字 淺色=不含
100 則影評ELI5

隨手抽一則,是負評的機率?40%。這叫先驗:看證據之前的信念。

現在告訴你「裡面有『爛』字」。只看深色格子:23 格裡有 20 格是負評。

新的信念:20 ÷ 23 ≈ 87%。這叫後驗。

P(負 | 爛)= P(爛 | 負) × P(負)P(爛) = 20/40 × 40/10023/100 ≈ 0.87
後驗:看到證據後的信念似然:負評裡出現「爛」的比例先驗:本來的比例

Naive Bayes:證據不只一個

一則評論有很多詞。「天真」的假設是:每個詞各自獨立提供證據。於是把它們的似然連乘,看哪一類分數高:

P(負) × P(爛|負) × P(無聊|負) × …
vs. P(正) × P(爛|正) × P(無聊|正) × …

這些機率全都靠「數次數」得到——沒有任何「學權重」的步驟。

真實案例:誰寫了這 12 篇?

1787–88 年,Hamilton、Madison、Jay 匿名寫下《聯邦黨人文集》,其中 12 篇作者有爭議。1963 年 Mosteller 與 Wallace 用貝氏方法解決了它。關鍵證據不是內容詞,而是 upon、whilst 這類虛詞的頻率——Hamilton 愛用 upon,Madison 幾乎不用。

語言學提示:作者的「指紋」藏在最不起眼的功能詞裡。

動手試試 如果含「爛」的正評從 3 則變成 15 則(其他不變),P(負 | 爛) 變成多少? 參考:20 ÷ (20 + 15) ≈ 0.57。同一個字,證據力變弱了——「爛」在正評裡也常出現時(「爛片但好笑」),它就沒那麼能說明問題。
→ 通往 LLM

LLM 的輸出同樣是條件機率:P(下一個詞 | 前文)。差別在於:Naive Bayes 靠數次數、假設詞彼此獨立;LLM 則學出權重,而且讓每個詞都能參考其他詞。

出處:SLP3 Naive Bayes 章;logreg25aug p.3(Federalist Papers)。影評數字為教學示意。1-3
LING5006 · W04 向量表徵 · 第一部 機器學習與文本分類1-4

第一部 · 評估

分類器好不好?評估與代價

Precision, recall, F1 — and harms

「準確率 99.99%」可能完全沒用。要看的是:在真正在乎的那一類上,它抓得準不準、抓得全不全。

真的是真的不是 模型說是
TP
真陽性
FP
誤報
模型說不是
FN
漏抓
TN
真陰性
混淆矩陣 confusion matrix
精確率 PTP ÷ (TP + FP)
模型說「是」的,有幾成真的是?
召回率 RTP ÷ (TP + FN)
真的「是」的,找回了幾成?
F12PR ÷ (P + R)
P 與 R 的調和平均:兩者都要好,F1 才會高
「什麼都不是派」分類器ELI5

一百萬則社群貼文裡,只有 100 則在講我們家的派。一個偷懶的分類器對每則都說「不是講派」:準確率 999,900 ÷ 1,000,000 = 99.99%。但它一則都沒找到——召回率 0。這就是類別不平衡時不能只看準確率的原因。

分類器的代價:錯誤不是平均分配的

表徵傷害

系統貶低某個群體。例如情感分類器對含某些族裔常見名字的句子,系統性地給出較負面的分數。

審查傷害

毒性偵測會把只是提到身分(盲人、同志)的無害句子標成有毒,也會誤判特定方言。

表現落差

在許多語言與語言變體上表現較差。對本課而言:台灣本土語言就在這一欄。

成因:訓練資料的問題、標註者的偏見、以及模型設計本身。

動手試試 實際有 100 則講派的貼文。某分類器挑出 50 則,其中 40 則真的在講派。P、R、F1 各是多少? 參考:P = 40/50 = 0.80;R = 40/100 = 0.40;F1 = 2 × 0.8 × 0.4 ÷ 1.2 ≈ 0.53。抓得準,但抓得不全。
→ 通往 LLM

LLM 的排行榜也面對同一組問題:分數怎麼算?在誰的語言上算?一個平均分數很高的模型,可能在某些語言、某些族群上系統性地失準(W12、W14 會回來談)。

出處:SLP3 投影片 logreg25aug,p.81–92(評估)、p.95–99(代價)1-4