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 – disappear 9.8
behave – obey 7.3
muscle – bone 3.65
hole – agreement 0.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–17 3-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–31 3-2
LING5006 · W04 向量表徵 · 第三部 詞嵌入 3-3
第三部 · 最樸素的詞向量
數鄰居:詞–脈絡矩陣與餘弦相似度
Count vectors and cosine similarity
從最簡單的詞向量表徵開始:在大量文本裡,數一數每個詞的附近出現過哪些詞、各幾次 。
±4 個詞的窗口 …is traditionally followed by cherry pie , a traditional dessert… → 在 cherry 那一列的 pie 欄 +1
computer data result pie sugar …
cherry 2 8 9 442 25 …
strawberry 0 0 1 60 19 …
digital 1670 1683 85 5 4 …
information 3325 3982 378 5 13 …
每一列 就是一個詞的向量。一眼就看得出 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–82 3-4
LING5006 · W04 向量表徵 · 第三部 詞嵌入 3-5
第三部 · 打開空間看看
嵌入空間裡有什麼?
Properties of embeddings
訓練好的向量空間有幾個驚人的性質,也有幾個令人不安的。它們都來自同一個源頭:語料裡的共現 。
① 窗口大小決定「哪一種近」
窗口 ±2 窗口 ±5
和 Hogwarts 最近的 Sunnydale, Evernight (其他虛構學校) Dumbledore, Malfoy, half-blood (同一個故事世界)
語言學對應 聚合關係 :可以互相替換組合/主題關係 :常一起出現
man woman king queen
② 類比:平行四邊形
king − man + woman ≈ queen ;Paris − France + Italy ≈ Rome 。「男→女」像是空間裡一個固定的方向 。
但要打折:只對高頻詞、少數關係有效;而且結果常需要排除輸入詞本身,否則最近的答案往往是 king 自己。
③ 語意變遷:用不同年代的語料各訓練一套
gay daft, sweet, cheerful (1900s)→ homosexual, lesbian (1990s)
broadcast sow, seed, scatter (1850s)→ radio, television (1990s)
awful majestic, 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–92 3-5