Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word representation

2,445 views

Published on

Jeffrey Pennington, Richard Socher, Christopher D. Manning
EMNLP 2014, pages 1532–1543.

Published in: Technology

Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word representation

  1. 1. GLOVE: GLOBAL VECTORS FOR WORD REPRESENTATION GloVe: Global Vectors for Word Representation 1 Jeffrey Pennington, Richard Socher, Christopher D. Manning EMNLP 2014, pages 1532–1543. 読み手: 岡崎 直観 (P3を除き,スライド中の表・図はすべて元論文の引用) Pennington+ (2014)
  2. 2. ハイライト • ベクトルの加減算で意味の合成を行うため にモデルが持つべき特徴を解析した • 二乗誤差最小化に基づくモデルを提案 • 提案手法は複数のタスクで高い精度を達成 • 単語アナロジータスクでは75%の正解率 • http://nlp.stanford.edu/projects/glove/ Pennington+ (2014) GloVe: Global Vectors for Word Representation 2
  3. 3. 最小二乗法による単語ベクトルの学習 Pennington+ (2014) GloVe: Global Vectors for Word Representation 3 𝐽 = 𝑖,𝑗=1 𝑉 𝑓(𝑋𝑖,𝑗) (𝒘𝑖 𝑇 𝒘𝑗 + 𝑏𝑖 + 𝑏𝑗 − log 𝑋𝑖,𝑗)2 目的関数: 𝑓 𝑥 = (𝑥/𝑥max) 𝛼 (if 𝑥 < 𝑥max) 1 (otherwise) 単語𝑖と単語𝑗の共起頻度単語の総数 単語𝑖のベクトル 単語𝑗のベクトル‘ 単語𝑖のバイアス項 単語𝑗のバイアス項’ 1系統 2系統 ※各単語に対してパラメタが2系統あるのは word2vecと同様.本研究は単語𝑖のベクトルを 最終的に(𝒘𝑖 + 𝒘𝑖)とする(精度が向上するらしい) 𝑥 𝑚𝑎𝑥 = 100, α = 0.75 の場合 → AdaGrad (SGD)で学習
  4. 4. 𝒘𝑖 𝑇 𝒘𝑗 + 𝑏𝑖 + 𝑏𝑗 − log 𝑋𝑖,𝑗 の理由(1/4) • 単語𝑖と単語𝑗のある側面(aspect)における関係 を,文脈単語𝑘で表すことを考える • 例: 「熱力学」におけるiceとsteam • 𝑃𝑖,𝑘 = 𝑃(𝑘|𝑖)よりも𝑃𝑖,𝑘/𝑃𝑗,𝑘の方が単語𝑖と単語𝑗の 特徴を捉える文脈として有用そう • 例: waterやfashionよりもsolidやgasの方が有用 Pennington+ (2014) GloVe: Global Vectors for Word Representation 4
  5. 5. 𝒘𝑖 𝑇 𝒘𝑗 + 𝑏𝑖 + 𝑏𝑗 − log 𝑋𝑖,𝑗 の理由(2/4) • 単語𝑖, 𝑗, 𝑘のベクトルをそれぞれ𝒘𝑖, 𝒘𝑗, 𝒘 𝑘とする • 単語ベクトルで𝑃𝑖,𝑘/𝑃𝑗,𝑘を表現するには, 𝐹 𝒘𝑖 − 𝒘𝑗, 𝒘 𝑘 = 𝑃𝑖,𝑘/𝑃𝑗,𝑘 • 左辺の引数(ベクトル)と右辺(スカラー)の型 を合わせるための最もシンプルな方法は, 𝐹 𝒘𝑖 − 𝒘𝑗 𝑇 𝒘 𝑘 = 𝑃𝑖,𝑘/𝑃𝑗,𝑘 Pennington+ (2014) GloVe: Global Vectors for Word Representation 5 単語𝑖と単語𝑗の特徴の対比をベクトルの 差で表現(加法構成性を予め考慮) 関数の形は これから絞り込む 𝒘 𝑘とは別系統のベクトル 内積をとってスカラー値にする
  6. 6. 𝒘𝑖 𝑇 𝒘𝑗 + 𝑏𝑖 + 𝑏𝑗 − log 𝑋𝑖,𝑗 の理由(3/4) • 単語と文脈の役割は入れ替えが可能であるべき • 𝒘𝑖 ↔ 𝒘𝑖と𝑋 ↔ 𝑋 𝑇の入れ替えを同時に考慮すべき • 𝐹として加法群から乗法群への準同型写像 exp: ℝ → ℝ+を採用する exp 𝒘𝑖 − 𝒘𝑗 𝑇 𝒘 𝑘 = exp 𝒘𝑖 𝑇 𝒘 𝑘 exp 𝒘𝑗 𝑇 𝒘 𝑘 = 𝑃𝑖,𝑘 𝑃𝑗,𝑘 • したがって, exp 𝒘𝑖 𝑇 𝒘 𝑘 = 𝑃𝑖,𝑘 = 𝑋𝑖,𝑘/𝑋𝑖 • 両辺の対数をとると, 𝒘𝑖 𝑇 𝒘 𝑘 = log 𝑋𝑖,𝑘 − log 𝑋𝑖 Pennington+ (2014) GloVe: Global Vectors for Word Representation 6
  7. 7. 𝒘𝑖 𝑇 𝒘𝑗 + 𝑏𝑖 + 𝑏𝑗 − log 𝑋𝑖,𝑗 の理由(4/4) • まだ単語と文脈の入れ替えができない 𝒘𝑖 𝑇 𝒘 𝑘 = log 𝑋𝑖,𝑘 − log 𝑋𝑖 • 𝑘に関する定数項がないため • log 𝑋𝑖をバイアス項𝑏𝑖で表し,新たに𝑘に関 するバイアス項 𝑏 𝑘を導入 𝒘𝑖 𝑇 𝒘 𝑘 = log 𝑋𝑖,𝑘 − 𝑏𝑖 − 𝑏 𝑘 𝒘𝑖 𝑇 𝒘 𝑘 + 𝑏𝑖 + 𝑏 𝑘 = log 𝑋𝑖,𝑘 Pennington+ (2014) GloVe: Global Vectors for Word Representation 7
  8. 8. 𝑓(𝑋𝑖,𝑗)で重み付けする理由 • 𝑋𝑖,𝑗 = 0のときlog 𝑋𝑖,𝑗が計算できない • 共起行列𝑋の要素はほとんどが0(疎行列) • 影響力を0とする • 低頻度の共起頻度は重視しない • 低頻度な共起事象をベクトルで符号化するのは大変 • 𝑋𝑖,𝑗 < 𝑥maxならば影響力を(𝑋𝑖,𝑗/𝑥max) 𝛼 とする • 高頻度の共起要素も重視しすぎない • 高頻度な共起事象は平等にベクトルで符号化 • 𝑋𝑖,𝑗 ≥ 𝑥maxならば影響力を1とする Pennington+ (2014) GloVe: Global Vectors for Word Representation 8
  9. 9. Skip-gramやivLBLとの関係 (1/2) • 目的関数は, 𝐽 = − 𝑖∈𝑐𝑜𝑟𝑝𝑢𝑠, 𝑗∈𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑖 log 𝑄𝑖,𝑗 ,𝑄𝑖,𝑗 = exp 𝒘𝑖 𝑇 𝒘𝑗 𝑘=1 𝑉 exp 𝒘𝑖 𝑇 𝒘 𝑘 • 繰り返し出現する単語・文脈ペアをまとめると, 𝐽 = − 𝑖=1 𝑉 𝑗=1 𝑉 𝑋𝑖,𝑗 log 𝑄𝑖,𝑗 • 𝑋𝑖,𝑗 = 𝑋𝑖 𝑃𝑖,𝑗であるから, 𝐽 = − 𝑖=1 𝑉 𝑋𝑖 𝑗=1 𝑉 𝑃𝑖,𝑗 log 𝑄𝑖,𝑗 = 𝑖=1 𝑉 𝑋𝑖 𝐻(𝑃𝑖, 𝑄𝑖) Pennington+ (2014) GloVe: Global Vectors for Word Representation 9 クロスエントロピー
  10. 10. Skip-gramやivLBLとの関係 (2/2) • Skip-gramやivLBLは確率分布𝑃𝑖と𝑄𝑖のクロスエン トロピーを最小化している • クロスエントロピーはロングテールな分布に向かない (低頻度な事象を考慮しすぎる) • 𝑄𝑖は確率分布として正規化されるべき • 実際には𝑄𝑖の分母の計算が大変なので正規化されない(近似) • 提案手法: 二乗誤差で確率分布の距離を計算 𝐽 = 𝑖,𝑗=1 𝑉 𝑋𝑖 𝑃𝑖,𝑗 − 𝑄𝑖,𝑗 2 , 𝑃𝑖,𝑗 = 𝑋𝑖,𝑗, 𝑄𝑖,𝑗 = exp 𝒘𝑖 𝑇 𝒘𝑗 • 実態は対数の二乗誤差: 𝑃𝑖,𝑗 = log 𝑋𝑖,𝑗 , 𝑄𝑖,𝑗 = 𝒘𝑖 𝑇 𝒘𝑗 Pennington+ (2014) GloVe: Global Vectors for Word Representation 10
  11. 11. 評価データ • Word analogy (Mikolov+ 13) • “a is to b as c is to d?” • (a, b, c, d) = (Athens, Greece, Berlin, Germany) • d: 𝒘 𝑏 − 𝒘 𝑎 + 𝒘 𝑐とのコサイン類似度が最も高い単語 • Word similarity • WordSim-353 (Finkelstein+ 01), MC (Miller+ 91), RG (Rubenstein+ 65), SCWS (Huang+ 12), RW (Luong+ 13) • 固有表現抽出(CoNLL-2003, ACE, MUC7) • CRFの素性に50次元の単語ベクトルの値を追加 Pennington+ (2014) GloVe: Global Vectors for Word Representation 11
  12. 12. 実験設定 • 訓練データ(トークン数) • 1.0B: 2010 Wikipedia dump • 1.6B: 2014 Wikipedia dump • 4.3B: Gigaword 5 • 6.0B: Gigaword 5 + 2014 Wikipedia dump • 42B: Web文書(Common Crawl) • 単語-文脈共起行列の構築 • Stanford tokenizer, 小文字化の後,高頻度な400,000単語を採用 • 単語の左側の10単語と右側の10単語を文脈語とする • 単語と文脈語の距離𝑑に応じて出現頻度を1/𝑑とする • 学習時のパラメータ • 𝑥max = 100, α = 0.75, AdaGradの初期学習率0.05 • 反復回数は50回(300次元未満の場合)もしくは100回 • (𝒘𝑖 + 𝒘𝑖)を単語ベクトルとする • 本来,共起行列𝑋が対称行列なら𝒘𝑖と 𝒘𝑖は等価になるはず • 複数の学習結果を統合することでノイズ耐性が向上すると期待 • (𝒘𝑖 + 𝒘𝑖)による性能の向上は僅かだが,word analogyでは劇的な向上 Pennington+ (2014) GloVe: Global Vectors for Word Representation 12
  13. 13. ベースライン手法 • Skip-gram (SG), Continuous BOW (CBOW) • word2vecの実装を利用 • 学習対象は400,000単語,文脈幅10単語,10単語を負例とし てサンプル • SVD • 学習対象を10,000単語まで絞り込む • SVD: 𝑋𝑖,𝑗 • SVD-S: 𝑋𝑖,𝑗 • SVD-L: log(1 + 𝑋𝑖,𝑗) • (i)vLBLの結果は論文(Mnih+ 13)から • HPCAは公開されている単語ベクトルを用いた Pennington+ (2014) GloVe: Global Vectors for Word Representation 13
  14. 14. Word analogyタスクの精度 • GloVeの圧勝 • データ量を増やすことで精 度が向上している • word2vecも他の論文で 報告されている数値より も良かった • 不利なパラメータを選んだ 訳ではない • SVDはデータ量を増やし ても精度が上がらない Pennington+ (2014) GloVe: Global Vectors for Word Representation 14
  15. 15. Word similarityの実験結果 Pennington+ (2014) GloVe: Global Vectors for Word Representation 15
  16. 16. 固有表現抽出の実験結果 Pennington+ (2014) GloVe: Global Vectors for Word Representation 16
  17. 17. 次元数とウィンドウ幅と精度の関係 (Word analogyタスク) • 200次元あたりから精度の改善が鈍る • (読み手注)かなり安定した実験結果に見える • Syntactic analogyよりもsemantic analogyの方が広い文脈が必要 • Syntactic analogyではasymmetricな文脈の方がよい(語順の考慮) • symmetric: 左右両側から文脈語を取る • asymmetric: 左側から文脈語を取る Pennington+ (2014) GloVe: Global Vectors for Word Representation 17
  18. 18. 学習データ量と精度の関係 Pennington+ (2014) GloVe: Global Vectors for Word Representation 18 Semanticなタスクではコーパスのドメインと 評価データのドメインの一致度合いが影響
  19. 19. 学習時間と精度の関係 • GloVeの学習時間: 85分で共起行列を計算(1コア),14分で1反復(32コア) • 6Bのコーパスを利用時,プロセッサはdual 2.1GHz Intel Xeon E5-2658 • (読み手注)word2vecの学習時間を負例サンプル数で制御するのは不公平 Pennington+ (2014) GloVe: Global Vectors for Word Representation 19
  20. 20. 結論 • 二乗誤差最小化に基づくモデルを提案 • 提案手法は3つのタスクでword2vecを上回 る性能を示した • Countベースの手法もpredictionベースの手 法も理論的に関連を見出すことができる • (読み手注)”Don’t count. Predict!” (Baroni+ 14) への反論 Pennington+ (2014) GloVe: Global Vectors for Word Representation 20
  21. 21. 感想 • ベクトルの加法構成性から議論を組み立て • シンプルで自然な定式化 • 共起行列を単語ベクトルで表現する • Skip-gramの目的関数との対比も興味深い • 安定した高い精度 • 𝒘𝑖は単語から文脈の分布, 𝒘𝑖は文脈から単 語の分布をモデル化という見方も興味深い • 公開されているコードも読みやすい Pennington+ (2014) GloVe: Global Vectors for Word Representation 21

×