iPAS 備考專區 登入

iPAS AI 應用規劃師 中級 科目一 AI 技術應用與規劃・114 年第二次・L21・第 4 題

Word2Vec 和 GloVe 的根本差異是什麼?

原題

在詞向量(Word Embedding)訓練方法中,GloVe(Global Vectors for Word Representation)與 Word2Vec 的主要差異為何?

白話

在 NLP(自然語言處理)裡,要讓電腦「理解」文字,第一步是把每個詞變成一組數字向量,讓意思相近的詞距離也相近。這個技術叫做「詞向量」(Word Embedding)。

Word2Vec 和 GloVe 是兩個最經典的詞向量訓練方法。

問你:這兩個方法的根本差異在哪裡?

一句話總結

兩者的根本差異在於學習策略:Word2Vec 靠「預測」(給上下文猜目標詞,或給目標詞猜上下文)訓練神經網路;GloVe 靠「統計整個語料的詞共現次數」,用矩陣分解的方式學出詞向量。一個是預測式,一個是統計式。

情境

先感受問題:怎麼讓機器知道「貓」和「狗」比較像,不像「火車」

假設「字典科技」公司要建立一個繁體中文詞向量模型,語料是 5 億句新聞文章。他們要決定用 Word2Vec 還是 GloVe。

先想想人類怎麼學詞義:看到「貓」這個字,你知道它和「狗」「兔子」接近,和「火車」遠,因為這些詞常常出現在類似的句子裡:

「我家養了一隻

貓

,非常粘人。」

「我家養了一隻

狗

,非常活潑。」

「

火車

今天晚點了兩小時。」

「貓」和「狗」出現的語境很像,「火車」出現的語境完全不同。機器如果能學到這個規律,就能把「貓」和「狗」放在向量空間裡比較近的位置,「火車」放在遠處。

Word2Vec 和 GloVe 都在做這件事,但學習的方法不同:一個是考試(預測),一個是統計(計數)。

舊方法

在 Word2Vec 和 GloVe 之前,詞向量怎麼做

在這兩個方法出現之前,最常見的做法是「One-hot 編碼」:字典裡有 10 萬個詞,就用 10 萬維的向量表示每個詞,那個詞的位置填 1,其他全是 0。

這個做法的五個問題:

  1. 維度爆炸:10 萬個詞就要 10 萬維向量,存不下、算不動。
  2. 沒有語意:「貓」和「狗」的 One-hot 向量距離跟「貓」和「火車」一樣遠,完全不捕捉語意。
  3. 無法泛化:沒看過的詞就不存在,新詞加入要全部重來。
  4. 稀疏低效:10 萬個位置裡只有 1 個是 1,其他 99,999 個都是 0,極度浪費。
  5. 無法做類比推理:「國王 - 男人 + 女人 = 女王」這種推理用 One-hot 做不到。

Word2Vec(2013)和 GloVe(2014)先後解決了這些問題,用低維稠密向量捕捉語意。但兩者的做法完全不同。

新方法

Word2Vec 怎麼學,GloVe 怎麼學

Word2Vec:預測式訓練

Word2Vec 有兩種模式,但核心都是「出題考試」。以 CBOW(Continuous Bag of Words)為例:

遮住目標詞:「我家養了一隻 [?],非常粘人」

模型用上下文「我、家、養、了、一、隻、非、常、粘、人」預測:[?] = 貓

答對加分,答錯調整,重複億次

字典科技的 5 億句語料,每句話滑窗取樣,模型反覆被「考試」,最終學出每個詞的向量。這個過程是神經網路的反向傳播,一句句看、一次次調整。

GloVe:統計式訓練

GloVe 不考試,而是先把所有語料的共現次數都統計完,建成一個「詞共現矩陣」(Co-occurrence Matrix):

「貓」和「養」同一句出現:120,000 次

「貓」和「食物」同一句出現:80,000 次

「貓」和「火車」同一句出現:300 次

然後用矩陣分解技術,把這個大矩陣壓縮成低維向量。「貓」和「養」共現次數高,向量就被拉得近;「貓」和「火車」幾乎不共現,向量就遠。

GloVe 「一次看全局」(Global),而 Word2Vec 是「逐句學習」(Local)。

這就是選項 C 講的:Word2Vec 為基於預測的模型,而 GloVe 為基於共現統計的模型。

錯選項

為什麼其他選項是錯的

AWord2Vec 以詞頻重訓練詞向量,而 GloVe 以隨機初始化向量進行學習

字面在說什麼

說 Word2Vec 用詞出現的頻率作為向量訓練的依據,GloVe 從隨機初始的向量開始學習。

為什麼不對

兩者都是從隨機初始化向量開始的(這是神經網路的標準做法)。Word2Vec 不是靠詞頻訓練,而是靠預測上下文詞的任務調整向量。GloVe 也不是「隨機學習」,它是靠共現統計數據驅動的優化。選項 A 把兩者的描述都弄反了,且都不準確。

誰會選錯

聽說過「詞頻」這個概念(像 TF-IDF),以為詞向量也是靠詞頻訓練的考生。詞頻統計是 TF-IDF 的做法,不是 Word2Vec。

BWord2Vec 以全局統計矩陣為基礎,而 GloVe 採用神經網路進行上下文預測

字面在說什麼

說 Word2Vec 靠全局統計,GloVe 靠神經網路預測上下文。

為什麼不對

這是把 C 選項(正確答案)的描述完全顛倒。事實上,全局統計矩陣是 GloVe 的做法,神經網路預測上下文是 Word2Vec 的做法。選項 B 是「正確答案但左右顛倒」的經典誘餌。

誰會選錯

記得「兩個方法的差異」但記混了誰是誰的考生。考試前背的時候「GloVe 是全局統計」這個記憶不夠牢,看到選項 B 和 C 時搞不清楚方向。這是最常見的選錯情境,要特別注意:GloVe 名字裡就有「Global」,代表全局統計。

DWord2Vec 僅能用於靜態文本語料,而 GloVe 可應用於即時語料更新

字面在說什麼

說 Word2Vec 只能用在事先準備好的靜態資料,GloVe 可以隨時加入新語料更新。

為什麼不對

這個說法完全相反。事實上,GloVe 需要先統計完整個語料的共現矩陣才能訓練,比 Word2Vec 更依賴靜態語料。Word2Vec 可以用 online learning 方式逐漸加入新句子。兩者在現代實務上都是靜態的,不支援真正的即時更新。

誰會選錯

直覺上覺得「全局統計(GloVe)應該更完整、更適合更新」的考生。實際上全局統計反而需要重新跑整個語料,更新成本比 Word2Vec 高。

變形題

同個考點下次怎麼變形

延伸

想再往下看,這 5 個

答案、題目或解析有問題?回報這題

出處:iPAS 經濟部產業人才能力鑑定 ・ 114 年第二次 iPAS AI 應用規劃師 中級 科目一 第 4 題

看官方原文 PDF

原題 © 經濟部產業發展署,AITerms.tw 僅作教學解析使用,本站解析以 CC BY-NC-SA 4.0 授權。