GloVe

Global Vectors for Word Representation

GloVeとは

GloVe(Global Vectors for Word Representation)とは、2014年にスタンフォード大学のJeffrey Penningtonらが提案した単語埋め込み手法です。大規模コーパス全体の共起統計情報を利用して単語ベクトルを学習するのが特徴で、Word2Vecと並ぶ代表的な単語ベクトル手法です。

表:GloVeの要点まとめ
ひとことで言うと単語が一緒に出る回数の統計を、全文書まとめて使って学習する埋め込み手法。
Word2Vecとの違いWord2Vecは局所的な窓で学ぶのに対し、GloVeは全体の共起統計を直接使う。
注意点こちらも1単語1ベクトル。文脈による意味の違いは表せない。

GloVeの仕組み

GloVeはまずコーパス全体から単語の共起行列を構築し、単語ペアの共起確率の比率が意味的な関係を捉えることを利用します。共起行列を因子分解するように学習を行い、大域的(Global)な統計情報と局所的な文脈情報の両方を活用するのが特徴です。

図:GloVeの学習のしかた
1共起行列を作る語と語が何回並んだか
▶
2全体を集計コーパス全体の統計
▶
3比を再現する共起比に合うベクトルを探す
▶
4ベクトルが完成意味の関係が保たれる

Word2Vecとの違い

Word2Vecが局所的な文脈ウィンドウで学習するのに対し、GloVeはコーパス全体の共起統計を直接利用します。理論的にはGloVeの方がグローバルな情報を効率的に活用できますが、実用上の性能差は小さいとされています。学習速度の面では、GloVeの方が並列化しやすい利点があります。

事前学習済みベクトル

GloVeの研究グループからは、Wikipedia、Common Crawl、Twitterなどの大規模コーパスで学習済みのベクトルが公開されており、すぐに利用できます。50次元から300次元までの様々なサイズが提供されています。