AI・機械学習

単語埋め込み(Word2Vec・GloVe) たんごうめこみ

Word2VecGloVeベクトル表現分散表現意味的類似度自然言語処理
単語埋め込み(Word2Vec・GloVe)について教えて

簡単に言うとこんな感じ!

「王様 − 男 + 女 = 女王」という計算が成り立つように、単語の意味を数値ベクトルで表す技術だよ!「犬」と「猫」は意味が近いから似たベクトルになり、「犬」と「車」は遠くなる。テキストをAIが扱える数値に変換する、NLPの超重要な基盤技術なんだ!


単語埋め込みとは

単語埋め込み(Word Embedding) とは、単語の意味をコンピューターが扱える 数値ベクトル(多次元の数値の配列) として表現する技術です。「分散表現」とも呼びます。コンピューターは文字をそのままは扱えないため、「犬 → [0.2, 0.8, -0.3, …]」のように数百次元のベクトルに変換します。

最大の特徴は 意味的な類似性がベクトルの距離に反映される 点です。「犬」と「猫」のベクトルは近く、「犬」と「飛行機」のベクトルは遠くなります。さらに Word2Vec が示した有名な例として「王様(King)− 男(Man)+ 女(Woman)≈ 女王(Queen)」のような ベクトル演算が単語の意味演算に対応 することが発見され、NLP分野に革命をもたらしました。

代表的な手法として、Googleが2013年に発表した Word2Vecニューラルネットワークベース)と、Stanfordが2014年に発表した GloVe(統計ベース)があります。現在は文脈に応じて意味が変わる 文脈依存の埋め込みBERTなど)が主流ですが、Word2Vec・GloVeは軽量で高速なため、今でも多くの場面で使われています。


Word2Vecの2つの学習モデル

CBOW (Continuous Bag of Words) 周辺の単語から 中心の単語を予測 「私は(?)が好き」 → 「?」を予測 ✓ 高速・少量データ向き Skip-gram (スキップグラム) 中心の単語から 周辺の単語を予測 「猫」→「私は」「が」 「好き」を予測 ✓ 精度高・大量データ向き

主な埋め込み手法の比較

手法開発特徴文脈依存
Word2VecGoogle (2013)ニューラルネット学習・高速✗ 静的
GloVeStanford (2014)共起統計行列分解・安定✗ 静的
fastTextFacebook (2016)サブワード対応・未知語強い✗ 静的
ELMoAllenNLP (2018)文脈依存の埋め込み先駆け✓ 動的
BERTの埋め込みGoogle (2018)文脈に応じて変化する表現✓ 動的

歴史と背景

  • 1990年代 — One-hot encoding(単語をベクトルで表す原始的手法)が使われるが高次元・類似度なし
  • 2003年 — BengioらがNeural Language Modelを発表。分散表現の可能性を示す
  • 2013年 — GoogleのTomas MikolovらがWord2Vec を発表。NLP研究が加速
  • 2014年 — Stanford大がGloVeを発表。共起統計ベースの安定した手法
  • 2016年 — FacebookがfastTextを発表。サブワード対応で形態素豊富な言語に有効
  • 2018年 — BERTが文脈依存埋め込みを実現し、静的埋め込みの限界が意識されるように
  • 現在LLMの内部表現(埋め込み)が検索・推薦・意味比較に活用(ベクトル検索

ビジネス活用:ベクトル検索・セマンティック検索

単語埋め込みの発展形として、文章全体をベクトル化する 文埋め込み(Sentence Embedding) があります。これにより「キーワードが一致しなくても意味が近い文書を検索する」セマンティック検索 が実現します。

従来のキーワード検索セマンティック検索
「自動車」で検索 → 「自動車」を含む文書のみヒット「乗り物」「車」「クルマ」「EV」も意味的に近い文書がヒット
表記揺れに弱い表記揺れ・類義語に強い
実装シンプルベクトルDBが必要(Pinecone・Weaviateなど)

関連する規格・RFC

規格・RFC番号内容
学術手法のため公式規格なし

関連用語