LING5006 · W04 向量表徵 · 第三部 詞嵌入3-1

第三部 · 先問語言學

詞義有哪些面向?

Lexical semantics: what a theory of word meaning should cover

到目前為止,詞只是字串或編號。在把詞變成向量表徵之前,我們先問問一個好的詞義表徵,應該解釋哪些現象?

Partee 的老笑話
(1967)
問:「life 的意義是什麼?」答:「LIFE。」

詞目與詞義 lemma & sense

mouse:① 小型囓齒動物 ② 控制游標的手持裝置。一個詞目可以有多個詞義(多義)。中文的「打」:打電話、打球、打毛衣、打折。

同義 synonymy

couch/sofa、big/large、water/H₂O。但幾乎沒有完全同義:my big sister ≠ my large sister;衝浪指南裡寫 H₂O 很怪。對比原則:形式不同,意義必有不同。

相似 similarity

不同義,但共享部分意義:car/bicycle、cow/horse。人可以替相似度打分(SimLex-999,0–10):

vanish – disappear9.8 behave – obey7.3 muscle – bone3.65 hole – agreement0.3

相關 relatedness

coffee/tea 是相似;coffee/cup 是相關但不相似。相關的詞常屬同一個語意場:醫院 → surgeon, scalpel, nurse, anaesthetic。

反義 antonymy

hot/cold、up/down、long/short:只在一個維度上相反,其他面向幾乎一樣。所以反義詞其實非常「相似」——4-1 會回來看這造成的麻煩。

內涵 connotation

詞帶有情感意義。Osgood 等人(1957)發現三個維度:愉悅(happy vs annoyed)、激動(excited vs calm)、支配(controlling vs awed)。每個詞=三維空間中的一點——這是向量表徵的祖先。

任何詞義的表徵,至少該反映 多義 相似 相關 反義 情感 → 4-2 會逐項檢查向量表徵做到了幾項
動手試試 對比原則說沒有完全同義。試試「漂亮」和「美麗」:找一個只能用其中一個的句子。 參考:「這一球打得真漂亮」很自然,「打得真美麗」就怪。兩者在語域、搭配上都不同。分布上的差異,正是對比原則的證據。
→ 通往 LLM

在向量空間裡,「近」只是一個數字;但這頁列了至少四種不同的「近」。之後看到「A 和 B 的相似度很高」,請追問:是哪一種近?

出處:vector25aug p.2–173-1
LING5006 · W04 向量表徵 · 第三部 詞嵌入3-2

第三部 · 核心想法

分布假說:看一個詞跟誰作伴

The distributional hypothesis

出現在相似上下文裡的詞,意思也相近。所以:用「一個詞出現在哪些上下文」來定義它的意義。

一個詞的意義,就是它在語言中的用法。
Wittgenstein 1953, PI §43(意譯)
若 A 與 B 出現的環境幾乎相同,就說它們同義。
Harris 1954(意譯)
You shall know a word by the company it keeps.
Firth 1957
猜猜 ongchoi 是什麼?
沒看過的詞已知的詞 Ongchoi is delicious sautéed with garlic. …spinach sautéed with garlic over rice… Ongchoi is superb over rice. …chard stems and leaves are delicious… …ongchoi leaves with salty sauces… …collard greens and other salty leafy greens

它和菠菜、甜菜葉、羽衣甘藍共享上下文(炒、蒜、飯、葉、鹹)→ 大概是一種葉菜。答案:Ipomoea aquatica,也就是空心菜。你沒看到任何一株空心菜,只看到它的「鄰居」。

想法一:意義=語言分布
誰常出現在旁邊(Harris、Firth)
+
想法二:意義=空間中的一點
Osgood 的情感三維(3-1)
=
嵌入 embedding
由分布算出來的向量;詞被「嵌」進一個空間
good nice very good wonderful amazing terrific fantastic bad worst not good dislike worse incredibly bad to by that a is than with

把學到的向量投影到平面上:正面詞、負面詞、功能詞各自成群。(示意,依 SLP3 圖 6.1 重繪)

動手試試 換你當模型:「你這樣母湯喔」「母湯啦,會被罵」「上課滑手機母湯」。「母湯」是什麼意思?你靠的是哪些鄰居? 參考:「不行、不可以」,源自台語 m̄-thang。線索是「這樣…喔」「會被罵」這類勸阻的上下文。你可以完全沒查到字典。
→ 通往 LLM

為什麼要用向量?若訓練資料只有 horrible,測試時遇到 terrible,把詞當字串的分類器束手無策;用向量,相近的詞自動得到相近的判斷。LLM 能「舉一反三」,起點就在這裡。

出處:vector25aug p.20–313-2
LING5006 · W04 向量表徵 · 第三部 詞嵌入3-3

第三部 · 最樸素的詞向量

數鄰居:詞–脈絡矩陣與餘弦相似度

Count vectors and cosine similarity

從最簡單的詞向量表徵開始:在大量文本裡,數一數每個詞的附近出現過哪些詞、各幾次。

±4 個詞的窗口 …is traditionally followed by cherry pie, a traditional dessert… → 在 cherry 那一列的 pie 欄 +1

computerdataresultpiesugar…
cherry28944225… strawberry0016019… digital167016838554… information33253982378513…

每一列就是一個詞的向量。一眼就看得出 cherry 像 strawberry、digital 像 information。

pie 欄 computer 欄 cherry (442, 2) information (5, 3325) digital (5, 1670) ≈ 90°

cos(v, w) = v·w|v| |w|

為什麼不直接用內積?高頻詞(the、of)每一欄都很大,內積自然大。除以兩支箭頭的長度 |v||w|,就只看方向、不看長度。

cos(cherry, information)0.018 cos(digital, information)0.996

(以 pie、data、computer 三欄計算;圖只畫兩欄)

動手試試 只看 pie、data、computer 三欄,strawberry = [60, 0, 0]。不必計算:它和 cherry = [442, 8, 2] 的餘弦大約是多少?為什麼? 參考:≈ 1.00。兩支箭頭幾乎都沿著 pie 軸,方向一致;strawberry 短很多(出現次數少),但餘弦不在乎長度。
→ 通往 LLM

真實的矩陣有數萬欄、絕大多數是 0(稀疏)。下一頁改學 50–1000 維的稠密向量。而餘弦相似度至今仍是 RAG(W08)找「語意相近文件」的標準做法。

出處:vector25aug p.35–56(矩陣數值取自 SLP3 範例)3-3
LING5006 · W04 向量表徵 · 第三部 詞嵌入3-4

第三部 · 學出來的稠密向量

word2vec:玩「猜鄰居」學出向量

Skip-gram with negative sampling (Mikolov et al. 2013)

不再數次數,改訓練一個分類器回答:「c 是不是 w 的真鄰居?」。但注意,在此任務本身不重要,重要的是訓練完留下的權重,就是所謂的詞向量 (word vectors)。

…lemon, a tablespoon of apricot jam, a pinch…

正例:窗口 ±2 內的真鄰居
apricot – tablespoon apricot – of apricot – jam apricot – a
負例:從詞彙表隨機抽的冒牌鄰居
apricot – aardvark apricot – my apricot – where apricot – coaxial

答案來自文本本身,不需要人工標註,這就是自監督的精神。

分類器:又是 2-3 的邏輯迴歸

P(+ | w, c) = σ(c · w)

分數=兩個詞向量的內積(2-2),再用 sigmoid 壓成機率(2-4)。和 2-3 唯一的差別:這裡要學的「權重」就是詞向量本身。

apricot jam 拉近 aardvark 推遠
學習=磁鐵遊戲ELI5
每走一步梯度下降(2-6),就把真鄰居的向量拉近一點(c·w 變大),把冒牌鄰居推遠一點(c·w 變小)。在幾十億個詞上重複之後,常出現在相似上下文的詞——apricot 和 peach、空心菜和菠菜——就自然擠在一起。
兩套向量
目標詞一套 W、鄰居一套 C;最後常只用 W,或把兩者相加。
要人決定的
窗口大小、向量維度(常見 300)、每個正例配幾個負例。
別人跑過可直接下載的嵌入資源
word2vec、GloVe、fastText(用字的片段處理沒看過的詞,呼應 W03)。
動手試試 「我|昨天|在|夜市|吃|炒|空心菜」,目標詞「吃」、窗口 ±2,正例有哪幾對? 參考:(吃, 在)(吃, 夜市)(吃, 炒)(吃, 空心菜)。注意斷詞方式會改變「鄰居」是誰——W03 的詞元化問題在這裡又出現了。
→ 通往 LLM

「設計一個預測任務,表徵當副產品」正是 LLM 的核心配方:word2vec 預測鄰居,GPT 預測下一個詞元。兩者都不需要人工標註。

出處:vector25aug p.57–823-4
LING5006 · W04 向量表徵 · 第三部 詞嵌入3-5

第三部 · 打開空間看看

嵌入空間裡有什麼?

Properties of embeddings

訓練好的向量空間有幾個驚人的性質,也有幾個令人不安的。它們都來自同一個源頭:語料裡的共現。

① 窗口大小決定「哪一種近」

窗口 ±2窗口 ±5 和 Hogwarts 最近的Sunnydale, Evernight
(其他虛構學校)
Dumbledore, Malfoy, half-blood
(同一個故事世界)
語言學對應聚合關係:可以互相替換組合/主題關係:常一起出現
manwomankingqueen

② 類比:平行四邊形

king − man + woman ≈ queen;Paris − France + Italy ≈ Rome。「男→女」像是空間裡一個固定的方向。

但要打折:只對高頻詞、少數關係有效;而且結果常需要排除輸入詞本身,否則最近的答案往往是 king 自己。

③ 語意變遷:用不同年代的語料各訓練一套

gaydaft, sweet, cheerful(1900s)→homosexual, lesbian(1990s) broadcastsow, seed, scatter(1850s)→radio, television(1990s) awfulmajestic, solemn, awe(1850s)→terrible, horrible(1990s)

歷史語言學多了一個能量化的工具:詞的鄰居換了,詞義就變了。

④ 偏見:語料裡有什麼,空間裡就有什麼

同一個類比演算法也會算出 man : computer programmer :: woman : homemaker、father : doctor :: mother : nurse(Bolukbasi et al. 2016)。反過來,也能把它當成測量工具:用百年來各年代的嵌入,追蹤職業與性別、族群刻板印象的變化(Garg et al. 2018)。

動手試試 分別用 PTT 語料和新聞語料各訓練一套向量,「魯」的最近鄰會一樣嗎? 參考:多半不一樣。PTT 裡的「魯」靠近「邊緣」「單身」(魯蛇),新聞裡則較常指山東(魯菜),或出現在「魯肉飯」這類店名裡。語料決定了意義——這也是 ④ 偏見問題的根源。
→ 通往 LLM

「意義藏在空間的方向裡」這個想法一路延伸到 W15–16:可解釋性研究在 LLM 更大的空間裡尋找代表「否定」「法語」甚至「欺騙」的方向。偏見也一樣被繼承下來。

出處:vector25aug p.85–923-5