Re Reference AI

技術

Word2Vecとは

単語の周辺文脈から、意味的な類似性を反映した低次元の分散表現(単語埋め込み)を学習する手法

埋め込み自然言語処理

ひとことで言うと

「王様」と「女王様」のように意味が近い単語を、数値の並びとして近い位置に配置する古典的な技術。

概要

Word2Vecは、大量のテキストコーパスから、各単語をその周辺に出現しやすい単語(文脈)の傾向に基づいて低次元の実数ベクトルへ変換する学習手法で、単語埋め込み(Word Embedding)を代表する初期の手法の1つ。 周辺単語から中心単語を予測するCBOW(Continuous Bag-of-Words)と、中心単語から周辺単語を予測するSkip-gramという2つの学習方式があり、いずれも浅いニューラルネットワークで効率的に学習できる。 学習されたベクトル空間では、意味的に似た単語同士が近い位置に配置されるだけでなく、「king - man + woman ≈ queen」のように単語間の意味的な関係をベクトル演算として表現できることが知られている。 現在のLLMで使われる埋め込みTransformerベースの文脈依存表現が主流だが、Word2Vecは単語埋め込みという概念そのものをNLPに広めた基礎的な手法として位置づけられる。

背景

従来のNLPでは単語をone-hotベクトル(語彙数次元の疎な0/1ベクトル)として扱っており、単語間の意味的な近さを表現できなかった。 Word2Vecは、大量のテキストから教師なしで単語の意味的な近さを低次元の密なベクトルとして学習する方法を示し、以降の埋め込み技術の基礎となった。

歴史

2013年: Googleの Mikolov らが論文「Efficient Estimation of Word Representations in Vector Space」でWord2Vecを発表。 2013年: 続報論文でSkip-gramとNegative Samplingを組み合わせ、計算量を抑えつつ学習できる手法を発表。 2014年: GloVeなど、共起統計に基づく別方式の単語埋め込み手法も登場。 2018年以降: BERTなどの文脈依存埋め込みの登場により、静的な単語埋め込みとしての利用は徐々に減少。

ワークフロー

大量のテキストコーパスを準備 → 各単語をウィンドウサイズ内の周辺単語とペアにして学習データを構成 → CBOWまたはSkip-gramのいずれかの方式で、浅いニューラルネットワークを使い周辺単語との共起関係を学習 → 学習後の隠れ層の重みを、各単語の埋め込みベクトルとして取り出す。

利点

  • 大規模コーパスから教師なしで、意味的な類似性を反映した単語ベクトルを効率的に学習できる
  • 単語間の意味的な関係を、ベクトルの加減算として近似的に表現できる
  • 学習・推論のコストが低く、比較的軽量な計算資源でも扱える

欠点

  • 各単語に対して文脈によらず1つの固定ベクトルしか持たないため、多義語の異なる意味を区別できない
  • 学習データに含まれるバイアス(性別・人種等の偏見)がベクトル空間にそのまま反映されることがある
  • 文脈依存の埋め込み(BERT等)と比べ、文全体の意味理解を要するタスクでは性能が劣る

比較

  • EmbeddingWord2Vecは単語埋め込みを学習する代表的な初期の手法の1つ
  • BERTBERTは文脈に応じて同じ単語でも異なるベクトルを出力する文脈依存埋め込みで、固定ベクトルのWord2Vecと対照的
  • TF-IDFTF-IDFは単語の出現頻度に基づく統計的な重み付けで、意味的な埋め込みを学習するWord2Vecとはアプローチが異なる

関連用語

EmbeddingNLPBERT埋め込みモデル

よくある質問

Word2Vecは今も使われている?

BERTなど文脈依存の埋め込みモデルが主流になった現在では実運用での利用は減っているが、軽量な埋め込みが必要な場面や教育目的で使われることがある。

CBOWとSkip-gramの違いは?

CBOWは周辺単語から中心単語を予測し、Skip-gramは中心単語から周辺単語を予測する。Skip-gramは低頻度語の学習に強いとされ、CBOWは学習が高速とされる。

参考文献

関連Zenn記事