モデル・技術

埋め込み(Embedding)とは?意味ベクトル・類似度

読み:うめこみ / 英:Embedding

更新日: 読了目安:約6分

埋め込み(Embedding/埋め込み表現)は、テキストなどを数値のベクトル(配列)に変換し、意味が近いものほどベクトル空間上で近くなるように表現する技術です。本記事はword2vecの数式復習ではなく、RAG・検索での役割——なぜベクトルが必要か——に焦点を当てます。

試験で問われる見方

G検定では古典的な単語埋め込み(word2vec等)と、音声のMFCCを混同しない問題があります(G-344)。MFCCは音声特徴量であり、単語埋め込みモデルではありません。

生成AIパスポート第3章では、埋め込みベクトルを保存・検索するDBベクトルデータベースの説明であり、チャンクRAGの定義ではありません(HQ-0448の誤答パターン)。

演習で確認する

G検定:G-344(MFCCとの区別)

生成AIパスポート:TF-0232HQ-0449(ベクトルDB)

埋め込みとは

コンピュータは文字列をそのままでは「意味の距離」を計算できません。埋め込みは、文書・単語・画像などを固定長の実数ベクトルに写像し、機械学習や検索で扱える形にします。

学習方法は時代とともに進化しています(BoW、TF-IDF、word2vec、Transformer系の埋め込みモデルなど)。試験では「意味が近いほどベクトルも近い」という概念が中心です。

ベクトル空間のイメージ

2次元に射影すると次のようにイメージできます(実際は数百〜数千次元)。

  • 「犬」「子犬」「ペット」 — 近い位置に集まりやすい
  • 「犬」「株価」 — 離れた位置
  • 類似度 — コサイン類似度やユークリッド距離で測る

対照学習のContrastive Lossは、似たペアを近く・異なるペアを遠くにする損失です(G-127)。埋め込み学習の一例として出ることがあります。

RAGでの使われ方

  1. 文書チャンクを埋め込みベクトルに変換
  2. ベクトルDBに保存
  3. 質問も同じモデルで埋め込み
  4. ベクトル検索で近いチャンクを取得 → RAGの入力へ

LLMとの違い

埋め込みLLM
主な出力固定長ベクトルテキスト(次トークン列)
典型用途検索・クラスタリング・推薦対話・要約・生成
RAGでの役割検索のための表現最終回答の生成

よくある質問

埋め込み=トークン?

いいえ。トークンはLLMの処理単位、埋め込みは意味を表すベクトルです。LLM内部でもトークン埋め込み層がありますが、用語としては区別します。

埋め込みモデルは必須?

意味検索ベースのRAGでは実質必須です。キーワードのみのRAGなら別経路もあります。

画像にも使える?

はい。マルチモーダル埋め込みで画像とテキストを同じ空間に載せる手法もあります。