単語ベクトルとEmbeddingの違い|Word2Vec比較

単語ベクトル Embedding|単語ベクトルからEmbeddingへ|Word2Vec・CBOWと最新の埋め込みの違い のアイキャッチ画像 生成AI・LLM

単語ベクトルとEmbeddingの違い、3つの軸で整理

単語ベクトル(Word2VecのCBOW/Skip-Gramで作るベクトル)と、最近よく聞くEmbeddingは「別物」ではない。単語ベクトルはEmbeddingという大きな枠の中の「静的な一種」だ。両者の本質的な違いは、①文脈を考慮するかどうか、②ベクトル化の単位(単語か文・文書か)、③使い方(自分で学習する部品かAPIで呼ぶ既製品か)の3点に集約できる。Word2Vecは2013年にGoogleが生み出した画期的な手法で、2026年現在も研究・産業の現場で使われ続けているが、多くの現代NLPタスクではより高度な文脈埋め込みに「発展した基盤技術」という位置づけになっている。

まず全体像を表で確認しよう。

比較軸 Word2Vec(CBOW / Skip-Gram) 最新の文脈埋め込み(BERT系・文Embedding)
文脈の考慮 なし(同じ単語は常に同じベクトル) あり(文ごとにベクトルが変わる)
ベクトル化の単位 単語1個 単語・文・段落・文書まるごと
多義語 区別できない 文脈で意味を切り替えられる
未知語(OOV) 扱えない(固定語彙) サブワード分割で実質無制限
代表的な次元数 300次元 1536〜3072次元(API既定値)
入手方法 学習済みファイルを落とす/自前学習 APIにテキストを送るだけ
日本語対応 言語ごとにモデルを別途用意 多言語モデルで100言語以上を一括対応
計算コスト 軽量・高速 高品質だがWord2Vecより重い

Word2Vecの単語ベクトルとEmbeddingの違い、そもそも何が違うの?

「単語埋め込み(Word Embedding)」は単語をベクトル化する技術の総称であり、Word2VecはEmbeddingの一具体例だ。「Embedding = Word2Vec」ではなく、「Word2Vec ⊂ Embedding」という包含関係にある。


「ヤモリくん、Word2VecのCBOWやSkip-Gramを勉強してきたんだね。まずここだけ押さえておいて。」

トカゲ先生(通常)の立ち絵

ヤモリくん(驚き)の立ち絵

「はい!でもEmbeddingって最近めちゃくちゃよく聞くじゃないですか。あれって別の技術なんですか?」
「別物じゃないよ。Embeddingっていうのは『テキストをベクトルで表す技術全般』の総称で、Word2Vecはその中の一種なんだ。コンビニで例えると、Embeddingが『飲み物』でWord2Vecが『緑茶』みたいな関係。」

トカゲ先生(笑顔)の立ち絵

ヤモリくん(通常)の立ち絵

「なるほど!じゃあ最近よく聞くEmbeddingって、何が進化したんですか?」
「大きく3つ変わった。文脈、単位、使い方。それを順番に見ていこう。」

トカゲ先生(ひらめき)の立ち絵


違い①文脈:Word2Vecは常に同じベクトル、今のEmbeddingは文ごとに変わる

Word2Vecは「1単語=1ベクトル」の静的な埋め込みで、文脈を見ない。BERTなどの現代モデルは文全体を見て単語の意味を動的に決める「文脈埋め込み」であり、この分岐が最大の進化ポイントだ。


「まず文脈の話から。Word2Vecで作る単語ベクトルは、static(静的)なんだ。辞書みたいなもので、単語ごとにベクトルが1個だけ決まってる。」

トカゲ先生(通常)の立ち絵

ヤモリくん(通常)の立ち絵

「それってどんな問題があるんですか?」
「『bank』って単語を考えてみて。『river bank(川岸)』と『bank account(銀行口座)』、まったく意味が違うよね。でもWord2Vecだとどちらの文に出てきても同じベクトルになっちゃう。多義語を区別できないんだ。」

トカゲ先生(困り)の立ち絵

ヤモリくん(驚き)の立ち絵

「あー!それは困りますね……じゃあ今のEmbeddingはどうするんですか?」
「BERT(Devlin et al., 2018)みたいなモデルは、文全体を読んでから各単語のベクトルを決める。アテンションという仕組みで『この単語の周りにどんな単語があるか』を見て、意味を動的に切り替えるんだ。河の話ならbank=川岸ベクトル、お金の話ならbank=銀行ベクトルになる。」

トカゲ先生(ひらめき)の立ち絵

Word2Vecは文脈に関わらず同じベクトルを返すが、BERTは文脈に応じて異なるベクトルを返す比較図

ヤモリくん(通常)の立ち絵

「すごい!じゃあ辞書に載ってない新しい単語、たとえば流行語とかはどうなるんですか?」
「それがもう一つの大きな違い。Word2Vecは単語レベルで学習するから、学習データにない未知語(OOV)のベクトルは作れない。辞書に載ってない単語は『知りません』って言うしかないんだよ。」

トカゲ先生(困り)の立ち絵

ヤモリくん(通常)の立ち絵

「BERTは?」
「BERTはWordPieceっていうサブワード分割を使う。『流行語』を知らなくても、細かい部品に分けてそれぞれのベクトルを組み合わせることで実質的に語彙が無制限になる。fastTextが文字n-gramで同じ問題に対処したのと発想は近いね。」

トカゲ先生(笑顔)の立ち絵

CBOWとSkip-Gramの仕組みが気になる人は 【自然言語処理】CBOW Modelについて解説【自然言語処理】単語ベクトル作成アルゴリズム Skip-Gram Modelを解説 も参照してほしい。


違い②単位:Word2Vecは単語1個、今のEmbeddingは文・文書まるごと

Word2Vecは単語1個をベクトルにする設計なので、文や文書をまるごと1ベクトルで表すには後付けの合成(平均など)が必要だった。現代のEmbeddingは最初から文・段落・文書単位を直接ベクトル化できるよう設計されており、これが意味検索やRAGを実用にした決定的な差だ。


ヤモリくん(通常)の立ち絵

「Word2Vecで文どうしを比べたいときはどうしてたんですか?」
「文中の単語ベクトルを全部足して平均を取る、っていうやり方が多かった。やってみれば動くんだけど、語順も文法も無視した雑な合成だから限界があった。」

トカゲ先生(通常)の立ち絵

ヤモリくん(通常)の立ち絵

「そっか。今のEmbeddingだと文を丸ごとベクトルにできるんですよね?何が嬉しいんですか?」
「文丸ごとが1本のベクトルになると、2つの文の意味の近さがコサイン類似度1回の計算で出るんだよ。Sentence-BERT(SBERT, Reimers & Gurevych, 2019)っていうモデルが出てきたとき、これが劇的に変わった。」

トカゲ先生(ひらめき)の立ち絵

ヤモリくん(驚き)の立ち絵

「どのくらい劇的なんですか?」
「論文によると、素のBERTで1万文の中から最も似た文ペアを探すには約65時間かかっていた。SBERTは事前に文ベクトルを計算しておく方式なので、同じ作業が約5秒になった。」

トカゲ先生(笑顔)の立ち絵

ヤモリくん(驚き)の立ち絵

「65時間が5秒!?それは実務で使える速さになりますね。」
「そう。この高速化によって意味検索が現実的になった。そしてそれがRAGにもつながる。」

トカゲ先生(通常)の立ち絵

ヤモリくん(通常)の立ち絵

「RAGとどうつながるんですか?」
「RAGは文書チャンクをEmbeddingに変換してデータベースに保存しておいて、質問が来たら質問もEmbeddingに変換して、意味的に近いチャンクを引き出してLLMに渡す仕組みだ。」

トカゲ先生(ひらめき)の立ち絵

RAGの処理フローで文書をEmbeddingに変換しDBに保存し質問と意味検索してLLMに渡す流れ

ヤモリくん(ひらめき)の立ち絵

「つまり意味検索エンジンが中に入ってる感じか。文丸ごとベクトルにできないとRAGは成立しないんですね。」
「まさにそう。単語ベクトルの平均じゃ精度が足りなかった。文単位のEmbeddingがなければ今のRAGブームもなかった。」

トカゲ先生(通常)の立ち絵


違い③使い方:Word2Vecは自分で学習する部品、今のEmbeddingはAPIで呼ぶ既製品

Word2Vecはモデルファイルを用意して手元で使う「部品」で、最新のEmbeddingはテキストを送るだけでベクトルが返る「サービス」だ。次元数・多言語対応・コスト感も大きく違う。


ヤモリくん(通常)の立ち絵

「実際に使うには何を準備するんですか?Word2Vecは?」
「主に2択。Googleが公開している学習済みモデルを使うか、自前のコーパスで学習するかだ。Googleの学習済みWord2VecはGoogle Newsの約1000億語で学習した300次元ベクトルで、約300万語・フレーズを収録、ファイルサイズは1.5GBある。gensimのKeyedVectorsでロードして使う。自前学習する場合はgensimのWord2Vecクラスに次元数や窓幅などのハイパーパラメータを渡すだけでOK。」

トカゲ先生(通常)の立ち絵

ヤモリくん(通常)の立ち絵

「今のEmbeddingAPIは?」
「テキスト文字列とモデル名をAPIのembeddingsエンドポイントに送るだけ。モデルファイルの管理も学習も不要。1リクエストで最大2048件をまとめて処理でき、入力は最大8191トークンまで受け付ける。」

トカゲ先生(笑顔)の立ち絵

ヤモリくん(通常)の立ち絵

「次元数ってどのくらい違うんですか?」
「Word2Vecの代表例が300次元、text-embedding-3-smallが1536次元、text-embedding-3-largeが3072次元。桁が一つ大きくなってる。」

トカゲ先生(通常)の立ち絵

ヤモリくん(通常)の立ち絵

「次元が多いほど良いんですか?」
「一般には次元を増やすほど表現の質は上がるけど、ある点を超えると収穫逓減になる。面白いのがtext-embedding-3系で、Matryoshka Representation Learning(MRL)という技術で学習されていて、後ろ側の次元を切り落として短くしても概念を表す性質を保てる。実際、text-embedding-3-largeを256次元に切り詰めたものが、旧モデルtext-embedding-ada-002の1536次元をMTEBスコアで上回る(62.0対61.0)というデータがある。」

トカゲ先生(ひらめき)の立ち絵

ヤモリくん(通常)の立ち絵

「へー、短くしても強いことがある。コストはどのくらいかかるんですか?」
「text-embedding-3-smallは100万トークンあたり$0.02という料金体系だ(2026年7月時点の情報。価格は変わりうるので利用前に公式ページで要確認)。あとWord2Vecは基本的に1言語1モデルだけど、multilingual-e5-largeは24層・約5.6億パラメータで100言語をサポートしていて、複数言語のテキストを1つの共有ベクトル空間に埋め込めるから、日本語←→英語をまたいだ検索も1モデルでできる。」

トカゲ先生(通常)の立ち絵

ヤモリくん(笑顔)の立ち絵

「日本語も英語も一緒に扱えるのは便利ですね。」

どっちを使う?Word2Vec/CBOWと最新Embeddingの使い分け基準【まとめ】

「静的=古い、捨てる」は間違いだ。用途・速度・コストによって使い分けが正解で、Word2Vecを学ぶ意味も今なお十分ある。


ヤモリくん(通常)の立ち絵

「これから何か作るとき、どっちを選べばいいんですか?」
「まず用途で判断して。意味検索・RAG・チャットボットなど『文や文書の意味を扱う』システムなら、文脈対応の文Embeddingモデル(SBERT系やtext-embedding-3系、多言語ならmultilingual-e5系)を選ぶのが基本線。Transformerベースは意味理解に優れるが、静的埋め込みより計算コストは高い。」

トカゲ先生(通常)の立ち絵

ヤモリくん(通常)の立ち絵

「じゃあ静的なWord2VecやfastTextが活きる場面は?」
「速度と省リソースが要る場面だ。2024年10月にMinishLabが発表したModel2Vecは、大きなsentence transformerを蒸留して静的埋め込みモデルに変換する手法で、学習データ不要でモデルサイズ最大15倍削減・最大500倍高速化しながら実用的な精度を保つ。sentence-transformersでも静的モデルを学習でき、Transformer級の品質の最大85%をはるかに低い計算コストで出せるモデルがある。つまり『静的=古い』ではなく現役の選択肢なんだよ。」

トカゲ先生(ひらめき)の立ち絵

ヤモリくん(通常)の立ち絵

「Model2Vecの仕組みってどういうイメージですか?」
「文をトークン化してルックアップテーブルからトークンの埋め込みを引き、プーリングして文ベクトルにするという仕組み。単語ベクトルを引いて平均する古典的なやり方と発想が地続きでしょ。CBOW/Skip-Gramを理解してれば、最新手法の仕組みもすんなり入ってくるんだ。」

トカゲ先生(笑顔)の立ち絵

ヤモリくん(ひらめき)の立ち絵

「じゃあCBOW/Skip-Gramを学ぶ意味はある、ってことですね?」
「十分ある。単語埋め込みはWord2Vec→GloVe→ELMo→BERTと発展して今のAIを支える文脈表現に至った。出発点を理解することが最新モデルの挙動やトラブルシューティングの理解につながる。今のEmbeddingがなぜ文脈を持てるのか、なぜ多義語を扱えるのか、それを感覚で掴めるのはWord2Vecを知っているからだよ。」

トカゲ先生(通常)の立ち絵

Word2VecからGloVe、ELMo、BERT、文Embedding、静的蒸留モデルへと発展するEmbeddingの歴史的系譜


モデル選びで迷ったときの指針として、MTEB(Massive Text Embedding Benchmark, 2022)というベンチマークがある。8つのタスクカテゴリ・50以上のデータセット・112言語をカバーし、30以上のモデルで約5000回の実験を行った結果、「全タスクで最強」のモデルは存在せず、タスクによって強いモデルが大きく異なることが示された。APIを選ぶ際はMTEBのリーダーボードで用途に合ったカテゴリのスコアを確認するのがおすすめだ。

最後に3つの違いをまとめる。

違いの軸 Word2Vec(静的) 最新Embedding(文脈対応)
①文脈 固定ベクトル(多義語×、OOV×) 文ごとに変わるベクトル(多義語◎、OOV◎)
②単位 単語1個 文・段落・文書まるごと
③使い方 自分で学習・管理する部品 APIで呼ぶ既製の多言語モデル

単語ベクトルは捨てられたのではなく、Embeddingという大きな枠の中の「静的な一種」として残り、その上に文脈と文単位が積み上がった。基礎から体系的に理解したい場合は 単語ベクトルとは?直感でわかる入門 も合わせて読んでみてほしい。

参考文献

単語ベクトルとは?直感でわかる入門
単語ベクトルとは何かを数式なしで解説。会話と図でWord2Vecの仕組みをやさしく説明。機械学習を学び始めた人が最初に読む自然言語処理の基礎記事。
【自然言語処理】CBOW Modelについて解説
こんにちは! zhackです!今回は単語ベクトルの生成方法の一つ、CBOW Modelについて私の理解を解説していきます。(今回の記事は、少し内容に自信がありません。。内容に間違いがある場合はコメントいただけますとありがたいです、、、)自然...
【自然言語処理】単語ベクトル作成アルゴリズム Skip-Gram Modelを解説
こんにちは! zhackです!先日、自然言語処理シリーズの第一弾として、単語ベクトルについて説明いたしました。今回は単語ベクトルの生成方法として、Skip-Gram Modelについて解説していきます。また、Skip-Gram Modelに...

コメント

タイトルとURLをコピーしました