コンピュータは「王」や「女王」という文字をそのままでは計算できません。単語を「意味を反映した数値ベクトル」に変換して、計算できる形に落とし込む——この技術が単語埋め込み(word embedding)です。word2vecをはじめとする具体的な手法とともに、現代の自然言語処理の土台となった考え方です。
📖 ひと言でいうと
単語埋め込みとは、単語やフレーズを低次元の密な数値ベクトルとして表現する手法のことです。意味の近い単語が近いベクトルになるように学習されるため、コンピュータが「言葉の意味の近さ」を計算で扱えるようになります。
例えるなら、すべての単語に「意味の地図上の座標」を割り当てる作業です。地図上で東京と横浜が近くにあるように、意味の地図では「王」と「女王」、「歩く」と「走る」が近くに配置されます。単語を地図に「埋め込む」イメージから、埋め込み(embedding)と呼ばれます。
🖼 1枚でわかる単語埋め込み
📘 公式テキストの説明
単語埋め込み(word embedding)は、単語やフレーズを数値ベクトルとして表現する手法を指す。これにより、コンピュータは言語データを効果的に処理できるようになる。従来、単語はone-hotベクトルで表現されていたが、これは高次元かつ疎なベクトルであり、単語間の意味的な関係を捉えるのが難しかった。単語埋め込みは、低次元の密なベクトル空間に単語をマッピングし、意味的な類似性や関係性を反映する。例えば、「王」というベクトルから「男性」というベクトルを引き、「女性」というベクトルを足すと、「女王」というベクトルが得られる。代表的な手法として、Word2Vec、GloVe、FastTextなどがある。Word2Vecは、連続バッグオブワード(CBOW)モデルとスキップグラムモデルの2つのアプローチを提供し、単語の意味的な関係を学習する。GloVeは、単語の共起行列に基づいて単語ベクトルを学習し、文脈を広く考慮したベクトルを得る。FastTextは、サブワード情報を考慮して単語ベクトルを学習し、未知の単語や表記揺れに対応する。
この説明は「ビフォー・アフター」の構図で読むと頭に入ります。ビフォーは高次元・疎で意味を捉えられないone-hotベクトル、アフターは低次元・密で意味的な類似性を反映する埋め込みベクトルです。
さらに、代表手法3つ(Word2Vec・GloVe・FastText)それぞれの特徴の対応づけが、試験対策上の要点になります。
🔍 しっかり理解する
one-hotから埋め込みへ:何が変わったか
従来のone-hotベクトルは、語彙数と同じ次元(たとえば10万語なら10万次元)で、該当単語の位置だけが1、残りは全部0という表現でした。この方式ではどの2単語のベクトルも直交してしまい、「王」と「女王」が近い意味だという情報をまったく表せません。
単語埋め込みは、これを数百次元程度の密なベクトル(各次元に実数値が詰まったベクトル)に置き換えます。値は大量のテキストからの学習で決まり、似た文脈で使われる単語ほど近いベクトルになります。その結果、「王」−「男性」+「女性」≒「女王」のような意味の演算まで可能になりました。
埋め込みができるまでと、使われ方
word2vecは「単語の意味は、その周辺の単語によって決まる」という考え方に基づいており、この学習で得られたベクトルは、文書分類・機械翻訳・検索など、より高度な自然言語処理タスクの入力表現として広く使われます。
代表3手法の特徴
- Word2Vec — 連続バッグオブワード(CBOW)モデルとスキップグラムモデルという2つのアプローチを提供し、周辺単語との予測タスクを通じて意味的な関係を学習します。
- GloVe — 単語の共起行列(どの単語とどの単語が一緒に出現するかの集計)に基づいてベクトルを学習し、文脈を広く考慮したベクトルを得ます。
- FastText — 単語をさらに細かいサブワード(部分文字列)に分けて考慮するため、学習時に見ていない未知の単語や表記揺れにも対応できます。
「予測ベースのWord2Vec」「共起行列ベースのGloVe」「サブワード対応のFastText」と、それぞれの一言特徴で区別できるようにしておきましょう。
💡 具体例で考える
「王 − 男性 + 女性 = 女王」を実感する
埋め込み空間では、各次元が明示的なラベルを持つわけではありませんが、結果として「性別」や「王族らしさ」のような意味の方向が生まれます。「王」から「男性」のベクトルを引くと「男性であること」の成分が取り除かれ、そこに「女性」を足すと「女性の王族」に相当する位置、すなわち「女王」の近くに到達します。単語の意味的な関係が「ベクトルの足し算・引き算」として扱える——これが埋め込みの威力を示す最も有名な例です。
FastTextと「見たことのない単語」
たとえば学習データに「再起動」という単語がなかったとしても、FastTextなら「再」「起動」などのサブワード情報から、それらしいベクトルを組み立てられます。SNSの新語やタイプミスを含むテキストなど、表記が安定しない実データを扱う場面で、この性質は大きな強みになります。
⚠️ よくある誤解・紛らわしい用語
- 分散表現との違い — 分散表現は「意味を低次元の連続ベクトルに分散して持たせる」という表現の考え方、単語埋め込みは「単語をそのようなベクトルにする手法(とその成果物)」を指します。実質的にほぼ同じものを指して使われることも多いですが、概念(分散表現)と実現手法(埋め込み)という整理で覚えると混乱しません。
- スキップグラム・CBOWとの関係 — これらは単語埋め込みを学習するための方式であり、Word2Vecの内部のアプローチです。「単語埋め込み⊃Word2Vec⊃(CBOW/スキップグラム)」という階層で押さえましょう。
- one-hotベクトルは埋め込みではない — one-hotは高次元・疎で意味関係を持たない「置き換え前」の表現です。低次元・密で意味を反映する埋め込みとは対極に位置します。
- 1単語1ベクトルの限界 — word2vecなどの古典的な埋め込みは、多義語(例:「銀行」と「土手」の意味を持つbank)でも1つのベクトルしか持ちません。文脈に応じて表現を変えるELMoやBERTは、この限界を乗り越えた発展形として登場しました。
📝 試験でのポイント
- 定義問題では「単語やフレーズを数値ベクトルとして表現する」「低次元の密なベクトル空間にマッピングし意味的な類似性を反映する」が正解の目印です。
- one-hotベクトルとの対比(高次元・疎・意味を捉えにくい vs 低次元・密・意味を反映)は最頻出の構図です。
- 「王−男性+女性≒女王」のベクトル演算の例は、単語埋め込み・分散表現の説明として選択肢に登場します。
- Word2Vec(CBOW/スキップグラムの2アプローチ)・GloVe(共起行列ベース)・FastText(サブワードで未知語対応)の特徴の対応づけを問う問題に備えましょう。
📚 まとめ
- 単語埋め込みは、単語やフレーズを低次元の密な数値ベクトルで表現する手法で、コンピュータが言語を効果的に処理する土台です。
- 高次元・疎で意味関係を捉えられないone-hotベクトルの課題を解決し、意味的な類似性・関係性をベクトル空間に反映します。
- 「王」−「男性」+「女性」≒「女王」のような意味の演算が可能になります。
- 代表手法はWord2Vec・GloVe・FastTextで、それぞれ「予測ベース」「共起行列ベース」「サブワード対応」という特徴で区別できます。
