Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word representation
-
Upload
naoaki-okazaki -
Category
Technology
-
view
592 -
download
1
Transcript of Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word representation
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)
ハイライト
•ベクトルの加減算で意味の合成を行うためにモデルが持つべき特徴を解析した
•二乗誤差最小化に基づくモデルを提案
•提案手法は複数のタスクで高い精度を達成
•単語アナロジータスクでは75%の正解率
• http://nlp.stanford.edu/projects/glove/
Pennington+ (2014) GloVe: Global Vectors for Word Representation 2
最小二乗法による単語ベクトルの学習
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)で学習
𝒘𝑖𝑇 𝒘𝑗 + 𝑏𝑖 + 𝑏𝑗 − log𝑋𝑖,𝑗 の理由(1/4)
•単語𝑖と単語𝑗のある側面(aspect)における関係を,文脈単語𝑘で表すことを考える
• 例: 「熱力学」におけるiceとsteam
• 𝑃𝑖,𝑘 = 𝑃(𝑘|𝑖)よりも𝑃𝑖,𝑘/𝑃𝑗,𝑘の方が単語𝑖と単語𝑗の特徴を捉える文脈として有用そう
• 例: waterやfashionよりもsolidやgasの方が有用
Pennington+ (2014) GloVe: Global Vectors for Word Representation 4
𝒘𝑖𝑇 𝒘𝑗 + 𝑏𝑖 + 𝑏𝑗 − log𝑋𝑖,𝑗 の理由(2/4)
•単語𝑖, 𝑗, 𝑘のベクトルをそれぞれ𝒘𝑖 , 𝒘𝑗 , 𝒘𝑘とする
•単語ベクトルで𝑃𝑖,𝑘/𝑃𝑗,𝑘を表現するには,
𝐹 𝒘𝑖 − 𝒘𝑗 , 𝒘𝑘 = 𝑃𝑖,𝑘/𝑃𝑗,𝑘
•左辺の引数(ベクトル)と右辺(スカラー)の型を合わせるための最もシンプルな方法は,
𝐹 𝒘𝑖 − 𝒘𝑗𝑇 𝒘𝑘 = 𝑃𝑖,𝑘/𝑃𝑗,𝑘
Pennington+ (2014) GloVe: Global Vectors for Word Representation 5
単語𝑖と単語𝑗の特徴の対比をベクトルの差で表現(加法構成性を予め考慮)
関数の形はこれから絞り込む 𝒘𝑘とは別系統のベクトル
内積をとってスカラー値にする
𝒘𝑖𝑇 𝒘𝑗 + 𝑏𝑖 + 𝑏𝑗 − log𝑋𝑖,𝑗 の理由(3/4)
•単語と文脈の役割は入れ替えが可能であるべき
• 𝒘𝑖 ↔ 𝒘𝑖と𝑋 ↔ 𝑋𝑇の入れ替えを同時に考慮すべき
• 𝐹として加法群から乗法群への準同型写像exp:ℝ → ℝ+を採用する
exp 𝒘𝑖 − 𝒘𝑗𝑇 𝒘𝑘 =
exp 𝒘𝑖𝑇 𝒘𝑘
exp 𝒘𝑗𝑇 𝒘𝑘
=𝑃𝑖,𝑘
𝑃𝑗,𝑘
•したがって,exp 𝒘𝑖
𝑇 𝒘𝑘 = 𝑃𝑖,𝑘 = 𝑋𝑖,𝑘/𝑋𝑖
•両辺の対数をとると,𝒘𝑖
𝑇 𝒘𝑘 = log𝑋𝑖,𝑘 − log𝑋𝑖
Pennington+ (2014) GloVe: Global Vectors for Word Representation 6
𝒘𝑖𝑇 𝒘𝑗 + 𝑏𝑖 + 𝑏𝑗 − log𝑋𝑖,𝑗 の理由(4/4)
•まだ単語と文脈の入れ替えができない𝒘𝑖
𝑇 𝒘𝑘 = log𝑋𝑖,𝑘 − log𝑋𝑖
• 𝑘に関する定数項がないため
• log 𝑋𝑖をバイアス項𝑏𝑖で表し,新たに𝑘に関
するバイアス項 𝑏𝑘を導入𝒘𝑖
𝑇 𝒘𝑘 = log𝑋𝑖,𝑘 − 𝑏𝑖 − 𝑏𝑘
𝒘𝑖𝑇 𝒘𝑘 + 𝑏𝑖 + 𝑏𝑘 = log𝑋𝑖,𝑘
Pennington+ (2014) GloVe: Global Vectors for Word Representation 7
𝑓(𝑋𝑖,𝑗)で重み付けする理由
•𝑋𝑖,𝑗 = 0のときlog𝑋𝑖,𝑗が計算できない•共起行列𝑋の要素はほとんどが0(疎行列)
•影響力を0とする
•低頻度の共起頻度は重視しない•低頻度な共起事象をベクトルで符号化するのは大変
• 𝑋𝑖,𝑗 < 𝑥maxならば影響力を(𝑋𝑖,𝑗/𝑥max)𝛼とする
•高頻度の共起要素も重視しすぎない•高頻度な共起事象は平等にベクトルで符号化
• 𝑋𝑖,𝑗 ≥ 𝑥maxならば影響力を1とする
Pennington+ (2014) GloVe: Global Vectors for Word Representation 8
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
クロスエントロピー
Skip-gramやivLBLとの関係 (2/2)
• Skip-gramやivLBLは確率分布𝑃𝑖と𝑄𝑖のクロスエントロピーを最小化している
• クロスエントロピーはロングテールな分布に向かない(低頻度な事象を考慮しすぎる)
• 𝑄𝑖は確率分布として正規化されるべき
• 実際には𝑄𝑖の分母の計算が大変なので正規化されない(近似)
•提案手法: 二乗誤差で確率分布の距離を計算
𝐽 =
𝑖,𝑗=1
𝑉
𝑋𝑖 𝑃𝑖,𝑗 − 𝑄𝑖,𝑗
2, 𝑃𝑖,𝑗 = 𝑋𝑖,𝑗 , 𝑄𝑖,𝑗 = exp 𝒘𝑖
𝑇 𝒘𝑗
• 実態は対数の二乗誤差: 𝑃𝑖,𝑗 = log𝑋𝑖,𝑗 , 𝑄𝑖,𝑗 = 𝒘𝑖𝑇 𝒘𝑗
Pennington+ (2014) GloVe: Global Vectors for Word Representation 10
評価データ
• 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
実験設定
• 訓練データ(トークン数)• 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
ベースライン手法
• 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
Word analogyタスクの精度
• GloVeの圧勝• データ量を増やすことで精度が向上している
• word2vecも他の論文で報告されている数値よりも良かった• 不利なパラメータを選んだ訳ではない
• SVDはデータ量を増やしても精度が上がらない
Pennington+ (2014) GloVe: Global Vectors for Word Representation 14
Word similarityの実験結果
Pennington+ (2014) GloVe: Global Vectors for Word Representation 15
固有表現抽出の実験結果
Pennington+ (2014) GloVe: Global Vectors for Word Representation 16
次元数とウィンドウ幅と精度の関係(Word analogyタスク)
• 200次元あたりから精度の改善が鈍る• (読み手注)かなり安定した実験結果に見える
• Syntactic analogyよりもsemantic analogyの方が広い文脈が必要• Syntactic analogyではasymmetricな文脈の方がよい(語順の考慮)
• symmetric: 左右両側から文脈語を取る• asymmetric: 左側から文脈語を取る
Pennington+ (2014) GloVe: Global Vectors for Word Representation 17
学習データ量と精度の関係
Pennington+ (2014) GloVe: Global Vectors for Word Representation 18
Semanticなタスクではコーパスのドメインと評価データのドメインの一致度合いが影響
学習時間と精度の関係
• GloVeの学習時間: 85分で共起行列を計算(1コア),14分で1反復(32コア)• 6Bのコーパスを利用時,プロセッサはdual 2.1GHz Intel Xeon E5-2658
• (読み手注)word2vecの学習時間を負例サンプル数で制御するのは不公平
Pennington+ (2014) GloVe: Global Vectors for Word Representation 19
結論
•二乗誤差最小化に基づくモデルを提案
•提案手法は3つのタスクでword2vecを上回る性能を示した
•Countベースの手法もpredictionベースの手法も理論的に関連を見出すことができる
•(読み手注)”Don’t count. Predict!” (Baroni+
14) への反論
Pennington+ (2014) GloVe: Global Vectors for Word Representation 20
感想
•ベクトルの加法構成性から議論を組み立て
•シンプルで自然な定式化
•共起行列を単語ベクトルで表現する
•Skip-gramの目的関数との対比も興味深い
•安定した高い精度
•𝒘𝑖は単語から文脈の分布, 𝒘𝑖は文脈から単語の分布をモデル化という見方も興味深い
•公開されているコードも読みやすい
Pennington+ (2014) GloVe: Global Vectors for Word Representation 21