Skip to content
モデル・研究

埋め込み

vector embedding · vector representation

ひとことで

埋め込み(エンベディング)は、モデルによって生成される固定長の数値ベクトルで、テキスト、画像、音声の一部を表します。意味が似ているアイテムは、このベクトル空間内で近い位置に配置され、これが意味的検索、クラスタリング、推薦に役立っています。

埋め込みモデルはテキストを読み取り、ベクトルを出力します。通常数百から数千の数値からなります。その空間内の距離は意味の類似度を近似するため、「キャンセル my subscription」は「how do I end my plan」に近い位置に配置されますが、ほとんど単語が共有されていません。

この性質が意味検索、重複除去、クラスタリング、最近傍に基づく分類、そして RAG の取得部分のエンジンとなっています。

実践的なポイントは4つあります:

  • ベクトル空間はモデル固有です。異なるモデルからの埋め込みは比較できず、モデルを変更するとすべて再埋め込みが必要です。
  • チャンクサイズは品質に影響します。大きすぎると信号が薄れ、小さすぎるとコンテキストが失われます。固定文字数よりも文書構造で分割する方が一般的に良いです。
  • セマンティック類似性は関連性と同一ではありません。同じトピックについての2つのパッセージでも、質問に答えるのは1つだけです。クエリ-パッセージのペアを直接スコアリングするモデルを使った再ランク付けでこの問題を大幅に解決できます。
  • 完全一致はキーワードが必要です。名前、コード、識別子はベクトル検索が苦手で、キーワード検索が強みです。

埋め込み呼び出し自体は個別に安価ですが、まとめると重要です。チャンク分割を変更して大規模コーパスを再インデックス化する際は実際のコストがかかります。

よくある質問

異なるモデルの埋め込みを比較できますか?
いいえ。各モデルはそれぞれ独自のベクトル空間を定義しています。埋め込みモデルを切り替えると、コーパス全体を再埋め込みしなければなりません。
ベクトル検索が、請求書番号のような正確な用語を見逃すのはなぜですか?
識別子は意味がほとんどなく、その埋め込みは特徴的でない。キーワード検索ではすぐに見つかるため、両方を組み合わせたハイブリッド検索が実用的なデフォルトとなっている。

関連語

2026年8月22日 最終更新