単語埋め込みとは?Word2Vec・GloVe・one-hot表現との違いをわかりやすく解説

単語埋め込みとは?Word2Vec・GloVe・one-hot表現との違いをわかりやすく解説

AIの初心者

「単語埋め込み」って、単語を数字の列で表すことですよね。one-hot表現と何が違うのかがまだ曖昧です。

AI専門家

単語埋め込みは、単語を意味の近さが反映されたベクトルに変換する方法だよ。one-hot表現は単語を区別するだけだけれど、単語埋め込みでは「猫」と「犬」が近く、「猫」と「銀行」は遠い、といった関係を数値で扱いやすくなるんだ。

AIの初心者

「王様 – 男性 + 女性 ≒ 女王」という例も、単語の意味の近さを計算しているということですか?

AI専門家

その通り。ただし、どんなモデルでも必ずそうなるわけではなく、学習データや学習方法に依存するよ。この記事では、Word2VecやGloVeのような静的な単語埋め込みを中心に、便利な点と文脈を考慮できない限界まで整理しよう。

単語埋め込みとは。

単語埋め込みとは、単語を意味の近さが反映された数値ベクトルに変換する自然言語処理の技術です。単語を単なるIDとして扱うのではなく、「猫」と「犬」は近く、「猫」と「机」は遠い、といった関係をベクトル空間上で表せます。単語埋め込みは埋め込み表現の一種であり、本記事ではWord2Vec、GloVe、one-hot表現との違い、ベクトル演算、静的埋め込みの限界に絞って解説します。

単語埋め込みは単語を意味のベクトルに変える方法

単語埋め込みは、英語ではword embeddingと呼ばれます。コンピュータはそのままでは「王様」「女王」「銀行」「猫」といった単語の意味を理解できません。そこで、単語を数十次元から数百次元程度の数値の並び、つまりベクトルに変換します。

重要なのは、単語をただ数字に置き換えるだけではない点です。単語埋め込みでは、大量の文章における単語の使われ方から、意味や使われる場面が近い単語ほど近いベクトルになるように学習します。たとえば「医師」と「看護師」、「猫」と「犬」、「東京」と「大阪」は、それぞれ関係の近い単語として配置されやすくなります。

このように単語をベクトルにすると、単語同士の類似度を計算したり、機械学習モデルの入力として扱ったりできます。検索、文章分類、感情分析、機械翻訳など、多くの自然言語処理の土台として使われてきました。ただし、本記事で扱う単語埋め込みは、主に1つの単語に1つの固定ベクトルを割り当てる静的な単語埋め込みです。文章埋め込み、画像埋め込み、RAGなどを含む埋め込み表現全般は、親記事の埋め込み表現:言葉の意味を捉える技術で整理しています。

one-hot表現と単語埋め込みの違いを比較する図

one-hot表現との違い

単語埋め込みを理解するには、まずone-hot表現との違いを見ると分かりやすくなります。one-hot表現は、語彙に含まれる単語の数だけ長いベクトルを用意し、該当する単語の位置だけを1、それ以外を0にする方法です。

たとえば語彙が「猫、犬、机、銀行」の4語だけなら、「猫」は[1, 0, 0, 0]、「犬」は[0, 1, 0, 0]のように表せます。この方法は単純で扱いやすい一方、単語同士の意味の近さを表せません。「猫」と「犬」は意味的には近いですが、one-hot表現では「猫」と「犬」も「猫」と「机」も、同じように別物として扱われます。

単語埋め込みでは、各単語を短い密なベクトルで表します。密なベクトルとは、0ばかりではなく、さまざまな数値が入ったベクトルのことです。たとえば「猫」は[0.21, -0.08, 0.74, …]、「犬」は[0.19, -0.05, 0.70, …]のように表され、似た意味の単語ほど近い値になりやすくなります。

観点 one-hot表現 単語埋め込み
基本の考え方 単語ごとにIDのようなベクトルを割り当てる。 単語の使われ方から意味を反映したベクトルを学習する。
ベクトルの長さ 語彙数と同じ長さになりやすい。 数十から数百次元程度に圧縮できる。
値の入り方 1つだけ1で、残りは0。 多くの次元に小数値が入る。
意味の近さ 表しにくい。 近い意味の単語ほど近い位置に置ける。
代表的な用途 単純な分類、単語の識別、基礎的な特徴量。 類似語検索、文章分類、翻訳、推薦、自然言語処理モデルの入力。

ベクトル空間と類似度の考え方

単語埋め込みでは、単語がベクトル空間の中に点として配置されていると考えます。実際には数百次元の空間なので人間には直接見えませんが、2次元や3次元の図にすると、意味の近い単語が近くに集まるイメージになります。

たとえば「猫」「犬」「動物」は近くに集まり、「車」「電車」「道路」は別の近い場所に集まります。「銀行」は「預金」「融資」「口座」に近くなりやすいでしょう。このような配置は、単語が文章の中でどのような単語と一緒に現れやすいかをもとに学習されます。

単語同士の近さを測るときによく使われるのが類似度です。代表的にはコサイン類似度が使われます。これはベクトルの向きがどれくらい似ているかを見る指標です。初心者の段階では、細かな数式よりも近い文脈で使われる単語ほど、ベクトル空間でも近くなるという感覚を押さえると十分です。

ただし、近いからといって必ず同じ意味とは限りません。反対語の「高い」と「低い」は同じような文脈で使われるため、単語埋め込みでは比較的近くなることがあります。単語埋め込みが捉えるのは、辞書的な意味そのものというより、大量の文章に現れる使われ方のパターンです。

単語が意味の近さでベクトル空間に配置される図

Word2Vecは周辺語の予測から単語の意味を学ぶ

Word2Vecは、単語埋め込みを広く知られる技術にした代表的な手法です。基本の考え方は、「同じような文脈で使われる単語は、近い意味を持つことが多い」というものです。たとえば「猫は魚を食べる」「犬は肉を食べる」のような文章が多ければ、「猫」と「犬」は似た位置に置かれやすくなります。

Word2Vecには、よく説明される2つの学習方式があります。CBOWとSkip-gramです。どちらも単語の周辺に現れる単語を使いますが、予測の向きが違います。

方式 何を入力にするか 何を予測するか 特徴
CBOW 周辺の単語 中央の単語 周囲の文脈から対象語を当てる。比較的高速で、頻出語を安定して学習しやすい。
Skip-gram 中央の単語 周辺の単語 対象語から周囲に出やすい単語を当てる。低頻度語の関係を拾いやすいことがある。

CBOWは、たとえば「私は ___ を飲む」という周辺語から、空欄に入りそうな「水」「コーヒー」「お茶」などを予測するイメージです。一方、Skip-gramは「コーヒー」という単語から、その周辺に出やすい「飲む」「朝」「カップ」などを予測するイメージです。

どちらの方式でも、予測問題をたくさん解く過程で、単語のベクトルが少しずつ調整されます。学習が進むと、似た文脈で使われる単語のベクトルが近づき、異なる文脈で使われる単語は離れやすくなります。これがWord2Vecによる単語埋め込みの基本です。

Word2VecのCBOWとSkip-gramの学習イメージ

GloVeは単語の共起情報を全体から捉える

GloVeはGlobal Vectors for Word Representationの略で、Word2Vecと並んでよく知られる単語埋め込み手法です。Word2Vecが周辺語を予測する学習として説明されることが多いのに対し、GloVeはコーパス全体における単語同士の共起情報を重視します。

共起とは、ある単語と別の単語が同じ文脈に一緒に現れることです。たとえば「氷」と「冷たい」、「銀行」と「預金」、「医師」と「病院」は、文章の中で一緒に現れやすい組み合わせです。GloVeは、こうした共起の統計をもとに、単語同士の関係がベクトルに反映されるように学習します。

初心者向けには、Word2Vecは「周辺語を予測する訓練から単語の意味を学ぶ方法」、GloVeは「文章全体でどの単語がどの単語と一緒に出やすいかを使って意味を学ぶ方法」と捉えるとよいでしょう。どちらも単語単位の静的埋め込みを作る代表的な方法であり、BERTのような文脈埋め込みが普及する前の自然言語処理で広く使われました。

手法 中心となる考え方 初心者向けの理解
Word2Vec 周辺語の予測を通じて単語ベクトルを学習する。 近くに出る単語を当てる練習で意味を覚える。
GloVe コーパス全体の共起統計を使って単語ベクトルを学習する。 単語同士が一緒に出る頻度の全体像から意味を覚える。
共通点 単語ごとに固定されたベクトルを作る。 「銀行」のような単語には基本的に1つのベクトルが割り当てられる。

王様 – 男性 + 女性 ≒ 女王 の意味

単語埋め込みの説明で有名なのが、「王様 – 男性 + 女性 ≒ 女王」というベクトル演算の例です。これは、単語のベクトル空間に、単語同士の関係性が方向として現れることがある、という考え方を示しています。

「王様」と「女王」は、どちらも王族や統治者に関係する単語です。一方で、「王様」には男性的な属性、「女王」には女性的な属性が含まれます。もし単語埋め込みがこうした関係をうまく学習していれば、「王様」のベクトルから「男性」に関係する方向を引き、「女性」に関係する方向を足した先が、「女王」のベクトルに近づくことがあります。

この例は、単語埋め込みが単語を単なる番号としてではなく、意味の関係を含むベクトルとして扱えることを示す直感的な例です。国と首都、男性形と女性形、単数形と複数形など、一定の関係がベクトル空間上の似た方向として表れる場合があります。

ただし、これは常に成り立つ法則ではありません。結果は学習データ、語彙、モデルの種類、次元数、前処理、評価方法に依存します。また、学習データに含まれる社会的な偏りがベクトルに反映されることもあります。そのため、この演算は「単語埋め込みの性質を説明する分かりやすい例」として理解し、過度に断定しないことが大切です。

ベクトル演算「王様 - 男性 + 女性 ≒ 女王」の概念図

静的単語埋め込みの限界

Word2VecやGloVeのような単語埋め込みは便利ですが、大きな限界があります。それは、同じ単語には基本的に同じベクトルが割り当てられることです。このような表現を静的埋め込みと呼びます。

たとえば「銀行」という単語を考えてみましょう。「銀行で口座を作る」という文では金融機関を意味します。一方、「川の銀行」という表現を英語のbankで考えると、川岸を意味する場合があります。日本語でも「橋」「箸」「端」のように音が同じ言葉や、「走る」のように人、車、プログラムなど複数の使われ方を持つ言葉があります。

静的な単語埋め込みでは、こうした文脈ごとの意味の違いを1つのベクトルに押し込めることになります。そのため、文脈によって意味が変わる語を正確に扱うのが苦手です。「銀行」が金融機関として使われているのか、別の意味で使われているのかは、周囲の文を見なければ判断できません。

また、単語埋め込みは学習データに強く依存します。学習データに古い表現が多ければ古い意味に寄り、新しい用語や専門用語が少なければ十分なベクトルを得にくくなります。さらに、学習データに含まれる偏りも反映されるため、単語の近さをそのまま客観的な意味関係と見なすのは危険です。

BERTなどの文脈埋め込みとの違い

BERT以降のモデルでは、同じ単語でも文脈に応じて異なるベクトルを作れるようになりました。このような表現は、文脈埋め込みまたは contextual embedding と呼ばれます。静的な単語埋め込みとの大きな違いは、単語だけを見て固定ベクトルを返すのではなく、周囲の文全体を読んだうえでベクトルを作る点です。

たとえば「銀行でお金を引き出す」と「川のbankを歩く」では、bankという語の意味が違います。静的な単語埋め込みではbankに1つのベクトルが割り当てられますが、BERTのような文脈埋め込みでは、前後の単語を踏まえて異なる表現を作れます。

この違いにより、BERT以降のモデルは読解、質問応答、文章分類、生成AIの基盤などで強力な性能を発揮します。一方で、Word2VecやGloVeのような単語埋め込みは、軽量で理解しやすく、ベクトル表現の基本を学ぶうえで今でも重要です。RAGや生成AIを学ぶ場合も、まず単語埋め込みで「言葉をベクトルとして扱う」という発想を理解しておくと、文章埋め込みやベクトル検索の理解につながります。

静的単語埋め込みとBERT型文脈埋め込みの違い

観点 静的単語埋め込み BERTなどの文脈埋め込み
代表例 Word2Vec、GloVe、fastTextなど。 BERT、RoBERTa、GPT系モデルの内部表現など。
ベクトルの作り方 単語ごとに固定ベクトルを持つ。 文全体の文脈を見て、その場のベクトルを作る。
多義語への対応 苦手。1つの単語に1つの意味が混ざりやすい。 得意。前後の文から意味を切り替えられる。
計算量 比較的軽い。 一般に重いが、表現力が高い。
学習上の位置づけ ベクトル表現の基本を理解する入口。 現代の自然言語処理や生成AIの基盤。

単語埋め込みを学ぶときの整理

単語埋め込みは、自然言語処理の歴史の中で非常に重要な考え方です。one-hot表現では難しかった「意味の近さ」をベクトル空間で扱えるようにし、類似語検索、文章分類、翻訳、推薦などの精度向上に貢献しました。

学習の順番としては、まずone-hot表現との違いを押さえ、次にベクトル空間と類似度を理解し、その後にWord2VecのCBOWとSkip-gram、GloVeの位置づけを見ると整理しやすくなります。最後に、静的埋め込みでは文脈を考慮できないため、BERTのような文脈埋め込みが登場した、という流れで捉えると自然です。

現在の生成AIやRAGでは、単語単位ではなく文章やチャンク全体をベクトル化する場面が多くなっています。それでも、単語埋め込みは「意味を数値空間で扱う」発想の出発点です。親記事の埋め込み表現:言葉の意味を捉える技術と合わせて読むと、単語、文章、画像、検索システムへと考え方を広げやすくなります。

更新履歴

日付 内容
2025年2月1日 初回公開
2026年5月2日 単語埋め込みに特化し、one-hot表現との違い、Word2Vec、GloVe、ベクトル演算、静的埋め込みと文脈埋め込みの違いを中心に再構成

Weeybleの最新イベント

イベント一覧

イベント情報を読み込んでいます。

この記事の内容に興味を持った方へ

コワーキングスペース秋葉原Weeybleでは、AI、Web開発、クラウド、セキュリティなど、エンジニア向けの勉強会やもくもく会を開催しています。

もくもく作業したい方、技術について話したい方、これから学びたい方も歓迎です。

「もくもく会って何?」「初めて参加しても大丈夫?」という方は、もくもく会とは?意味や参加方法をわかりやすく解説の記事もあわせてご覧ください。

生成AI・AIエージェント開発のご相談

AWS Bedrockを活用したAI開発支援

業務システム自動化・エージェント開発に対応

PoC・技術検証・研究開発フェーズからご相談いただけます

アルゴリズム