RAGも意味検索もレコメンドも、その裏側で必ず使われている"縁の下の力持ち"がエンベディング(embedding/ベクトル)だ。ひとことで言えば、「言葉の意味を数字の並びに変換する技術」。地味だが、これがAI時代の検索や知識活用の土台になっている。
本記事では、エンベディングとは何か・なぜ意味を測れるのか・何に使うのか・モデルの選び方・ベクトルDBと始め方までを初心者向けに整理する。
意味が近いほど、ベクトルも近い
— 検索・RAG・分類・推薦の"土台"
意味を数値化
文章を「数字の並び」に変換し、機械が扱えるようにする。
近い=似ている
意味が近い言葉は、空間上の近い位置に置かれる。
意味で検索
単語一致でなく「意味の近さ」で探せるようになる。
1. エンベディング(ベクトル)とは
エンベディングとは、テキスト(や画像など)の"意味"を、数字の並び=ベクトルに変換したものだ。たとえば「犬」という単語を [0.21, -0.78, 0.34, ...] のような数百〜数千個の数字の列に置き換える。人間には意味のない数字に見えるが、この数字の並びが「意味の座標」になっている。
イメージは「意味の地図」だ。地図上で近い街どうしが地理的に近いように、エンベディングの空間では意味の近い言葉どうしが近くに配置される。「犬」と「子犬」は近く、「犬」と「自動車」は遠い。この"距離"を計算できるのが最大のポイントだ。
💡 ひとことで:エンベディング=「言葉の意味を数値の座標に変換する技術」。コンピュータは文字の意味を直接は理解できないが、数値にすれば"意味の近さ"を計算できる。
2. なぜ"近さ"で意味が測れるのか
エンベディングは大量の文章から「どの言葉が一緒に使われやすいか」を学習して作られる。その結果、似た文脈で使われる言葉は近い数値になる。2つのベクトルの近さはコサイン類似度などで数値化でき、1に近いほど「意味が似ている」と判定される。
「犬」との意味の近さ(イメージ)
※傾向を示す概念図。有名な例では「王様 − 男性 + 女性 ≒ 女王」のように、意味の関係がベクトルの足し引きで表れることも知られている。
実際のベクトルは数百〜数千個の数字(次元)でできており、その多さが「動物か」「乗り物か」「大きいか小さいか」といった無数の意味の側面を少しずつ表現している。次元が多いほど細かなニュアンスを捉えられるが、その分だけ保存・計算のコストも増える。
つまり、文字が一致していなくても「意味が近いかどうか」を機械が判断できる。これが「AI」と「人工知能」を同じ意味として扱えたり、「返金したい」という質問から「キャンセル・払い戻しの手順」という別表現の文書を探し出せたりする仕組みの正体だ。
3. 何に使う?(RAG・意味検索ほか)
エンベディングは単独で使うより、"意味の近さ"を土台にした様々な機能を支える。代表的な用途を挙げる。
RAG(検索拡張生成)
質問に意味が近い文書を探し、AIの回答に根拠として渡す。RAGの心臓部。
意味検索(セマンティック検索)
キーワード一致でなく、意味で探す。表現が違っても見つかる。
分類・重複検出
問い合わせの自動仕分けや、似た文書・重複の発見に使える。
推薦(レコメンド)
「これに似た商品・記事」を、意味の近さで提示する。
とくにRAGはエンベディングがなければ成り立たない。社内文書を検索してAIに答えさせる仕組みは、文書を事前にベクトル化しておくことで実現している。テキストだけでなく画像や音声を同じ空間に埋め込むマルチモーダルな埋め込みも広がっている。
4. 埋め込みモデルの選び方
エンベディングは専用の「埋め込みモデル」で作る。選択肢は大きく2つだ。
💡 Matryoshka(マトリョーシカ):一部の新しいモデルは、ベクトルの次元数を後から縮められる。例えば3,072次元を1,024次元に減らしても品質を約95%保ちつつ、保存・検索コストを約1/3にできる、と報告されている。コストと精度のバランス調整に便利。
※モデル名・数値は各種ガイド・公表資料の引用(2026年6月時点)。最適なモデルは言語・用途・予算で変わるため、実際に試して選ぶのが確実。
5. ベクトルDBと始め方
作ったエンベディングはベクトルデータベース(ベクトルDB)に保存する。大量のベクトルから「質問に近いもの」を高速に探すための専用DBで、Pinecone・Weaviate・Qdrant・Chroma・pgvector などがある。これが意味検索やRAGの"検索エンジン"になる。
始め方はシンプルだ。
- ① 埋め込みモデルを1つ選ぶ:まずはAPI型(例:OpenAIのtext-embedding-3-small)が手軽。
- ② 文書をベクトル化して保存:手元の文書をモデルでベクトル化し、ベクトルDBに入れる。
- ③ 質問もベクトル化して検索:質問を同じモデルでベクトル化し、近い文書を取り出す。
この3ステップが、そのままRAGの実装の土台になる。作った検索の精度は、AI評価(Evals)で測りながら改善していくとよい。
まとめ
エンベディングを3点に整理する。
- 正体:言葉などの"意味"を数字の並び(ベクトル)に変換する技術。意味が近いほどベクトルが近い。
- 役割:RAG・意味検索・分類・重複検出・推薦の土台。文字一致でなく"意味"で扱える。
- 始め方:API型モデルで手軽に開始。ベクトルDBに保存して検索。Matryoshkaでコスト調整も可能。
エンベディングは、AIで検索・知識活用を作るうえでの最初の一歩だ。まずは埋め込みモデルで2つの文章をベクトル化し、その近さを計算してみよう。あわせてRAGやLLMの仕組みも読むと、全体像がつかめる。
埋め込み検索の精度をさらに上げたいなら、次は「リランキング」だ。リランキング(reranking)とはを読むと、取得した候補を関連度で並べ替えてRAGの精度を底上げする方法がわかる。
FAQ
Q. エンベディングとLLMは何が違う?
A. 役割が違います。LLMは文章を生成するモデル、エンベディング(埋め込みモデル)は意味を数値化するモデルです。RAGでは、エンベディングで関連文書を探し、その結果をLLMが文章にする——という分担で協力します。
Q. 次元数は多いほど良い?
A. 必ずしもそうではありません。次元が多いほど表現力は上がりますが、保存・検索のコストも増えます。Matryoshka対応モデルなら、品質をほぼ保ったまま次元を減らせるので、コストと精度のバランスを取りやすいです。
Q. 無料で使える?
A. オープンソースの埋め込みモデル(BGE-M3など)は無料で使えます。API型は少額の課金が多いですが、埋め込みは生成よりずっと安価です。まずは無料枠や小さなデータで試すのがおすすめです。
Q. ベクトルDBは必須?
A. 少量なら普通の計算でも検索できますが、文書が増えると専用のベクトルDBが実用的です。Chromaのように手軽なものから、pgvectorのように既存DBに足せるものまであり、規模に応じて選べます。