RAG(検索拡張生成)やベクトル検索を調べると、必ず出てくるのが「ベクトル化」「埋め込み」という言葉です。この、文章や画像を数値に変換する技術が エンベディング(embedding、埋め込み) です。生成AIが「意味の近さ」を扱えるのは、この仕組みのおかげです。
コンピューターは文字そのものを意味として理解できません。そこで、言葉や画像を「意味を表す数値の並び」に変換し、計算で扱えるようにする——それがエンベディングの役割です。この記事では、エンベディングとは何か、なぜそれで「意味」が捉えられるのか、そしてRAGやベクトル検索でどう使われているのかを、公式ドキュメントをもとに解説します。
エンベディングとは:意味を数値ベクトルに変換する
Microsoftの解説は、エンベディングを「LLM(大規模言語モデル)が意味を捉える方法」と位置づけ、「非数値データの数値表現であり、LLMが概念間の関係を判断するために使えるもの」1と定義しています。@ITの用語辞典も、エンベディングを「テキスト、画像、音声など様々なデータを、AI・機械学習で扱いやすい数値ベクトルに変換する技術」3と説明しています。
ここで言う「ベクトル」とは、数値を一列に並べた配列のことです。Microsoftの解説によれば、エンベディング用のAIモデルは「非数値データをベクトル(長い数値の配列)にエンコード(符号化)でき、逆にエンベディングを、元のデータと同じか近い意味を持つ非数値データにデコード(復号)することもできる」1とされます。つまり「犬」という言葉や1枚の写真が、数百〜数千個の数値の並びに変換される——これがエンベディングの正体です。
なぜ「意味」が捉えられるのか
ただ数値に変換するだけなら、意味は扱えません。エンベディングの肝は、意味が近いものは、数値空間の中で近くに配置されるという点にあります。
@ITの解説は、この性質が「分布仮説」——単語の意味は周囲の言葉によって決まるという考え方——に基づいており、結果として「意味的に関連した単語はベクトル空間で近い位置に配置される」3と説明しています。たとえば「犬」と「猫」は、どちらも動物・ペットという近い文脈で使われるため、ベクトル空間で近くに配置されます。一方「犬」と「経済」のように意味の遠い言葉は、遠くに離れて配置されます。
この「意味の地図」ができると、AIは言葉の関係を距離として計算できるようになります。Microsoftの解説が、エンベディングを使えば「入力の意味をモデルが理解し、要約や、テキストからの画像生成といった比較・変換ができる」1とするのは、この性質があるからです。なお、エンベディングはテキストに限りません。@ITも、この技術が画像や音声などのデータにも拡張されていると指摘しています3。
どこで使われているか:ベクトルDBとRAG
エンベディングの代表的な使い道が、検索です。一度ベクトルに変換しておけば、「意味が近いもの」を距離で探し出せます。
そのために使われるのが ベクトルデータベース です。Microsoftの解説は「エンベディングを生成したら、後でLLMから呼び出して取り出せるよう保存する手段が必要になる。ベクトルデータベースはベクトルを保存・処理するために設計されており、エンベディングにとって自然な置き場所だ」1と説明しています。LLMはエンベディングをすぐに使えるほか、ベクトルDBに保存して「必要に応じてLLMの意味的な記憶(semantic memory)」として与えることもできます1。
この仕組みは、当サイトでも解説したRAGの中核でもあります。Microsoftの解説は「自社のデータからエンベディングを生成してLLMと統合し、回答生成で使えるようにする。このエンベディングの使い方は、検索拡張生成(RAG)の重要な構成要素だ」1と述べています。RAGでは、社内文書をあらかじめエンベディングしてベクトルDBに保存しておき、質問が来たら「意味の近い文書」を検索してLLMに渡します。Anthropicの用語集も、RAGでは「外部の知識ベースや文書群がコンテキストウィンドウに渡され、データは問い合わせが送られた実行時に取得される」2と説明しており、その「意味の近い文書を探す」部分をエンベディングが担っています。
エンベディングには、もう一つ実用的な利点があります。Microsoftの解説は「必要なトークン数を増やさずに、プロンプトに収められる文脈の量を増やせる」1と指摘しています。大量の文書をそのまま入れるとコンテキストウィンドウの上限を超えてしまいますが、エンベディングで「意味の近い部分だけ」を選んで渡せば、限られた枠を有効に使えるのです。
エンベディングは普段は表に出ない裏方の技術ですが、RAG・セマンティック検索・レコメンドといった「意味で探す」仕組みすべての土台になっています。生成AIが単なる文字列処理を超えて「意味」を扱えるようになった鍵が、この数値ベクトルへの変換にあります。AIを業務に活かす際、自社データを使わせる多くの場面でこの技術が静かに働いています。
Sources
- How Embeddings Extend Your AI Model’s Reach - Microsoft Learnの公式解説(エンベディングの定義・ベクトルDB・RAG)
- Glossary - Anthropic公式用語集(RAGの定義)
- Embedding(エンベディング:埋め込み、埋め込み表現)とは? - @IT AI・機械学習の用語辞典