埋め込み(Embedding)とは、単語・文章・画像・音声クリップ、あるいはユーザーのクリック履歴などの情報を、ベクトルと呼ばれる数値のリストに変換する手法です。このリストは通常数百から数千の数値で構成され、各数値は入力の何らかの特徴を捉えた学習済みの値です。重要なのは、意味が似た項目は似たベクトルに、無関係な項目は遠く離れたベクトルになるようにモデルが学習されるという点です。
あらゆる入力が同じ数学的空間上の点に変換されるため、コンピュータは文字の一致ではなく、意味同士の加算・減算・距離測定を初めて可能にします。これが、埋め込みが現代のセマンティック検索、検索拡張生成(RAG)、推薦システム、クラスタリング、分類の基盤となっている理由です。
埋め込みの仕組み
内部的には、埋め込みはエンコーダーと呼ばれるニューラルネットワークによって生成されます。学習中、モデルは膨大なデータを処理し、類似した文脈で現れる入力(たとえばkingとqueen、またはゴールデンレトリバーの写真と「yellow dog」というキャプションなど)が似た方向を向くベクトルに対応付けられるように重みを調整します。結果として得られる座標は人手で作られたものではなく、近隣単語・マスクされた単語・関連項目の予測というモデルの目的から自然に生まれるものです。
直感的なイメージとしては、単語の3次元地図を思い浮かべてください。学習後、king、queen、prince、princessが1つのクラスターを形成し、cat、dog、hamsterが別のクラスターを形成し、happy、joyful、elatedがさらに別のクラスターを形成します。実際の埋め込みはもっと高次元(多くは768、1,536、3,072次元)に存在しますが、原理は同じです。ベクトル空間上の近さは意味的な類似性に対応し、通常はコサイン類似度やユークリッド距離で測定されます。学習方法について詳しくは、Mikolov氏らの原著word2vec論文や、OpenAIの埋め込みガイドをご覧ください。
埋め込みが重要な理由
埋め込みは、煩雑で非構造化なデータを、アルゴリズムが効率的に推論できる形式に変換します。検索エンジンはキーワードの完全一致ではなく意味によって文書をランク付けできるため、「how to fix a leaky faucet」というクエリが「repairing a dripping tap」というタイトルの記事にもマッチします。推薦システムは、カタログに共通タグがなくても、ユーザーが閲覧中の商品に似た商品を見つけられます。また検索拡張生成(RAG)では、LLMがユーザーの質問に最も近い埋め込みを持つチャンクを検索することで、独自文書や最新文書に基づいた回答を生成できます。
同じ仕組みは画像(CLIP系モデル)、音声、コード、構造化レコードにも有効であり、だからこそ埋め込みはデータとAIの間の普遍的な交換フォーマットとなっています。
埋め込みの主な種類
- 単語埋め込み — word2vecやGloVeのように、単語ごとに固定ベクトルを持たせる方式。
- 文章・文書埋め込み — 文章ごとに1つのベクトルを生成し、Sentence-BERTやOpenAIの
text-embedding-3などが代表的。 - 画像埋め込み — CLIP、ResNet、DINOv2などのビジョンエンコーダーからのベクトルで、モーダル横断検索を可能にする。
- マルチモーダル埋め込み — テキスト・画像・音声が同じ空間に共存する共有空間で、画像とキャプションを相互に検索できる。
- グラフ・エンティティ埋め込み — ナレッジグラフのノードに対応するベクトルで、推薦や不正検知に利用される。
埋め込みを生成した後は、通常Pinecone、Weaviate、Milvus、pgvectorなどのベクターデータベースに保存し、k近傍法(k-NN)や近似最近傍探索(ANN)で問い合わせることで、大規模に最も近い一致を見つけます。
埋め込みは現代AIの縁の下の力持ちです。意味を幾何学に変換することで、ディープラーニングがベクトル表現を安価かつ驚くほど正確にする以前は不可能だった方法で、機械が世界を比較・検索・推論することを可能にしています。