「王」−「男性」+「女性」=「女王」。単語の意味を足し算・引き算できるようにした技術として、自然言語処理の歴史に残るのがword2vecです。本記事では、単語をベクトルにするとは何か、CBOWとスキップグラムという2つの学習方式、そしてその後のモデルへの影響をやさしく解説します。

📖 ひと言でいうと

word2vecとは、2013年にGoogleの研究者トマス・ミコロフらが提案した、単語を高次元ベクトル空間上の点として表現(ベクトル化)する技術です。意味の似た単語同士がベクトル空間上で近くに配置されるように、大量のテキストから学習します。

例えるなら、すべての単語を「意味の地図」の上に配置する技術です。地図上では「犬」と「猫」は近所に、「犬」と「経済」は遠くに置かれます。単語が座標(数値の並び)を持つことで、意味の近さを距離として計算したり、意味の関係を足し算・引き算で扱えるようになります。

🖼 1枚でわかるword2vec

word2vec
  • 正体 — 単語をベクトル空間にマッピングする技術(2013年・ミコロフら)
  • 2方式 — CBOW(周囲→中心を予測)とスキップグラム(中心→周囲を予測)
  • 性質 — 似た意味の単語が近くに配置され、意味の演算が可能
  • 名物例 — 「王」−「男性」+「女性」≒「女王」
  • 課題 — 文脈による意味変化や未知語に弱い→BERT・GPTへ発展
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

自然言語処理の分野では、単語の意味を数値ベクトルで表現する手法が重要視されている。その中でも、2013年にGoogleの研究者トマス・ミコロフらが提案した「word2vec」は、単語を高次元のベクトル空間にマッピングする技術として知られている。この手法により、単語間の類似性や関係性を数値的に捉えることが可能となった。word2vecは主に「Continuous Bag-of-Words(CBOW)」モデルと「Skip-gram」モデルの2つのアーキテクチャを持つ。CBOWモデルは、周囲の単語(コンテキスト)から中心の単語を予測する手法であり、頻出する単語の予測に適しているとされる。一方、Skip-gramモデルは中心の単語から周囲の単語を予測する手法で、稀な単語の学習に効果的とされる。これらのモデルを用いることで、単語間の意味的な距離をベクトル空間上で計算できるようになり、類似度の高い単語同士が近い位置に配置される。例えば、「王」から「男性」を引き、「女性」を加えると「女王」に近いベクトルが得られるといった演算も可能となる。このような特性により、機械翻訳や文書分類、感情分析など、多様な自然言語処理タスクでword2vecが活用されている。ただし、word2vecにはいくつかの課題も存在する。例えば、単語の順序や文脈の深い意味を捉えるのが難しい点や、未知の単語に対する対応が不十分である点が挙げられる。これらの課題を克服するため、BERTやGPTなどの新たなモデルが開発され、より高度な自然言語処理が進展している。

要点は3つです。①単語をベクトル空間に配置して意味の近さ・関係を数値化する、②学習方式にはCBOWとSkip-gram(スキップグラム)の2つがある、③「王−男性+女性≒女王」のような意味の演算ができる。この3点に加えて、限界(文脈・未知語)とBERT・GPTへの発展の流れを押さえましょう。

🔍 しっかり理解する

「意味は周囲の単語が決める」という発想

word2vecの根底には、「単語の意味は、その単語と一緒に使われる単語たちに表れる」という分布仮説があります。「コーヒー」と「紅茶」はどちらも「飲む」「カップ」「温かい」といった語と一緒に現れるので、意味が近いはずだ、という考え方です。

そこでword2vecは、「周囲の単語から単語を当てる」という予測問題をニューラルネットワークに大量に解かせます。予測を正確にするには、似た使われ方の単語に似た内部表現(ベクトル)を割り当てるのが合理的なので、学習の副産物として「意味の地図」が出来上がるのです。従来のワンホットベクトル(各単語に1つの次元を割り当て、該当箇所だけ1にする表現)では全単語が互いに無関係でしたが、word2vecの分散表現では意味の近さがベクトルの近さとして表現されます。

CBOWとスキップグラム:予測の向きが逆

word2vecの学習アーキテクチャは2つあり、予測の向きが正反対です(それぞれの詳細は各キーワードの記事に譲ります)。

🅰 CBOW(Continuous Bag-of-Words)
  • 周囲の単語(コンテキスト)から中心の単語を予測
  • 「私は毎朝◯◯を飲む」→◯◯を当てる
  • 頻出する単語の予測に適している
🅱 スキップグラム(Skip-gram)
  • 中心の単語から周囲の単語を予測
  • 「コーヒー」→周囲に来る語を当てる
  • 稀な単語の学習に効果的

「周囲→中心がCBOW、中心→周囲がスキップグラム」という向きの対応は、試験で最も問われやすい区別です。

意味の演算:ベクトルだからできること

単語がベクトルになると、四則演算が意味を持ちます。有名なのが「王」−「男性」+「女性」≒「女王」という計算です。「王」のベクトルから「男性」的な成分を引いて「女性」的な成分を足すと、「女王」のベクトルの近くに到達する——つまり「性別」という意味の軸が、ベクトル空間の一定の方向として学習されているのです。同様に「パリ」−「フランス」+「日本」≒「東京」のように、首都と国の関係も演算で取り出せることが示されました。

この性質のおかげで、word2vecのベクトルは機械翻訳・文書分類・感情分析など多様なタスクの入力特徴量として広く使われました。一方で、1単語1ベクトルの固定表現なので、文脈による意味の変化(多義語)を捉えられず、学習時に見なかった未知語にはベクトルを与えられません。前者への答えが文脈依存埋め込みのELMoやBERT、後者への答えがサブワードを使うfastTextであり、word2vecはこれら後続技術の出発点となりました。

💡 具体例で考える

検索・レコメンドでの「意味の近さ」の活用

ECサイトで「スニーカー」と検索したユーザーに「ランニングシューズ」の商品も見せたい、という場面を考えます。文字列としては別物なので単純なキーワード一致では拾えませんが、word2vecで学習したベクトルなら両者は近くに配置されるため、「意味が近い語を含む商品」まで検索やレコメンドの対象を広げられます。類義語辞書を人手で作り続けなくても、テキストデータから意味の近さを自動獲得できる点が実務での価値です。

「王−男性+女性=女王」が示したもの

この計算例が有名になったのは、単に面白いからではありません。誰も「性別」や「王族」という知識を教えていないのに、大量のテキストの統計だけから、意味の関係がベクトル空間の幾何学的構造として自然に獲得された——これが研究者に衝撃を与えたポイントです。「言葉の意味を数値計算の対象にできる」ことを鮮やかに示したこの結果は、その後のニューラル自然言語処理の発展を方向づけました。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • CBOWとスキップグラムの向きの混同 — CBOWは「周囲→中心」、スキップグラムは「中心→周囲」です。逆にした選択肢が定番の引っかけです。
  • fastTextとの違い — word2vecは単語を丸ごと1単位として学習するため未知語に弱いのに対し、fastTextはサブワード分解で未知語にも対応します。
  • ELMo・BERTとの違い — word2vecのベクトルは文脈によらず固定(静的)です。文脈に応じてベクトルが変わるのはELMo以降の文脈依存モデルです。
  • BoWとの違い — BoW(Bag-of-Words)は出現回数を数えるだけで意味の近さを表せません。word2vecは低次元の密なベクトルで意味的な類似性を捉えます。

📝 試験でのポイント

💡 ポイント
  • 「2013年」「Google」「ミコロフら」「単語をベクトル空間にマッピング」という基本情報でword2vecを特定できるようにしましょう。
  • CBOW(周囲から中心を予測・頻出語に強い)とスキップグラム(中心から周囲を予測・稀な語に強い)の対応は最頻出です。
  • 「王−男性+女性≒女王」の意味演算の例は、そのまま出題される定番です。
  • 課題(語順・文脈の深い意味・未知語への弱さ)と、BERT・GPTなど後続モデルへの発展という流れも問われます。

📚 まとめ

💡 ポイント
  • word2vecは2013年にGoogleのミコロフらが提案した、単語を高次元ベクトル空間にマッピングする技術です。
  • CBOW(周囲→中心)とスキップグラム(中心→周囲)の2つの学習アーキテクチャを持ちます。
  • 意味の似た単語が近くに配置され、「王−男性+女性≒女王」のような意味の演算が可能になりました。
  • 文脈や未知語への弱さという課題は、fastTextやELMo、BERT・GPTといった後続モデルの発展につながりました。