【エンベディングモデル】

Embeddingモデル とは?

最終更新:
💡 データの特徴を、比較できる数値ベクトルへ

テキストや画像などを、特徴や関係を数値ベクトルとして表すモデル。ベクトル同士を比較して意味の近さなどを推定し、検索・分類・推薦に利用する。表せる情報や精度はモデルと用途による。

📌 このページのポイント
Embedding:特徴をベクトルへ 入力テキスト 犬が走る Embeddingモデル [0.2, 0.8, …] ベクトル同士の類似度を比較 犬が走る ワンちゃんが駆ける 株価が上がる 位置と数値は説明用の例
高次元のベクトルを平面でイメージした図で、実測結果ではありません。近さはモデル・入力・比較方法に左右されます。
ひよこ ひよこ
Embeddingモデルは文章を作るAIなの?
ペンギン先生 ペンギン先生
主な出力は文章ではなく、数値を並べたベクトルだよ。たとえば文章の特徴を変換し、別の文章のベクトルと比べることで、関連する内容を探しやすくするんだ。
ひよこ ひよこ
文字が違っても探せる?
ペンギン先生 ペンギン先生
「犬が走る」と「ワンちゃんが駆ける」のような近い意味を、似たベクトルとして扱うことを目指すよ。ただし、意味を完全に保存する変換ではない。専門用語や否定表現などで、期待した近さにならないこともあるので、実際のデータで確かめよう。
ひよこ ひよこ
どんなモデルを選べばいい?
ペンギン先生 ペンギン先生
日本語への対応に加え、検索したい資料で精度を確かめることが大切。入力の長さや前処理もモデルごとに違う。たとえばmultilingual-e5-largeでは検索の質問にquery:、文書にpassage:を付ける使い方が示されているよ。
ひよこ ひよこ
次元数が大きいほど良いの?
ペンギン先生 ペンギン先生
次元数だけで品質は決まらないよ。保存容量・処理速度・目的に合う精度を比べよう。Matryoshka方式のように、小さい次元に切り詰めても使えるよう学習したモデルもあるけれど、どのモデルでも自由に切ればよいわけではないんだ。
ひよこ ひよこ
モデルを変えても、保存済みのベクトルは使える?
ペンギン先生 ペンギン先生
違うモデルでは数値が表す空間も違うので、そのまま混ぜて類似度を比べることはできないよ。検索側と文書側を対応するモデル・設定でそろえ、モデルを変更したら文書のベクトルも作り直すなどの移行が必要になる。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Embeddingモデル」って出てきたら「データの特徴を比較できる数値ベクトルにするモデル」と思えばだいたいOK!
📖 おまけ:英語の意味
「Embedding Model」 = 埋め込みモデル
💬 「embed(埋め込む)」から来ていて、言葉の意味を数値空間に「埋め込む」イメージだよ

参考資料

← 用語集にもどる