Word2VecとGloVeは、大規模テキストコーパスから単語の分散表現(ベクトル)を学習する古典的な埋め込み手法で、Word2Vecは局所的な共起関係(CBOW/Skip-gram)、GloVeはコーパス全体の共起統計量から学習する点が異なる。
Word2Vec(2013年、Google Mikolov et al.)とGloVe(2014年、Stanford Pennington et al.)は、現代の深層学習ベース埋め込みモデルの礎を築いた古典的手法である。「king - man + woman ≈ queen」のようなベクトル演算で意味関係を捉えられることを示し、NLP分野に革命をもたらした。
Word2Vecは2つの学習アーキテクチャを持つ。
| 特性 | Word2Vec (SGNS) | GloVe |
|---|---|---|
| 学習方式 | 予測型(局所的文脈窓) | カウント型(共起行列分解) |
| 入力データ | テキストを逐次的に処理 | コーパス全体の共起行列 |
| 計算効率 | ストリーミング処理可能 | メモリに共起行列を保持 |
| ベクトル演算精度 | 高い | Word2Vecと同等以上 |
| 低頻度語の扱い | Skip-gramで良好 | 共起回数が少ないと不安定 |
| 学習速度 | 高速(SGNSにより) | 中程度(行列分解) |
| 公開済みモデル | Google News 300次元(300万語) | Wikipedia+Gigaword 300次元 |
FastText(2016年、Facebook/Meta)はWord2Vecを拡張し、サブワード(文字n-gram)レベルでの埋め込みを学習する。
古典的埋め込みの画期的な発見は、ベクトル空間上の算術演算が意味関係を反映することだった。
vec("king") - vec("man") + vec("woman") ≈ vec("queen")
vec("Tokyo") - vec("Japan") + vec("France") ≈ vec("Paris")
vec("walking") - vec("walk") + vec("swim") ≈ vec("swimming")
これらの関係は、男女関係(gender)、首都関係(capital)、時制関係(tense)など、言語の規則的なパターンがベクトル空間に自然に反映されることを示している。
Word2Vec/GloVeは現在、Sentence-BERT/E5等のトランスフォーマーベースモデルに精度面で劣る。しかし以下の理由で依然として利用価値がある。
Q1: Word2VecとGloVeのどちらを使うべきですか? A: 2025年現在、どちらも古典的手法として同等の位置づけ。軽量な埋め込みが必要ならFastTextが最も実用的(未知語対応あり)。高精度が必要ならSentence-BERT以降のモデルを推奨。
Q2: Word2Vecの学習にはどれくらいのデータが必要ですか? A: 最低100万語程度のコーパスから意味のあるベクトルが得られる。Google公式の事前学習モデルはGoogle News 1000億語で学習されている。ドメイン特化の場合は50〜100万語の専門コーパスでも有効。
Q3: 日本語でWord2Vec/GloVeを使う場合の注意点は? A: 日本語は分かち書きが必要なため、MeCab/Sudachi/Fugashi等の形態素解析器で前処理が必須。Wikipedia日本語版の事前学習モデルが公開されており、そのまま利用可能(fasttext-ja等)。