埋め込み表現(Embeddings) うめこみひょうげん(えんべでぃんぐす)
埋め込み表現Embeddingsベクトル意味的類似性ベクトルデータベース自然言語処理
埋め込み表現について教えて
簡単に言うとこんな感じ!
単語や文章を「意味が近いものが空間上で近くなる」数値のベクトルに変換する仕組みだよ!「猫」と「ネコ」は意味が同じだから近い場所に、「猫」と「自動車」は遠い場所に置かれる。この「意味の地図」があるから、AIが類似文書検索や質問応答を行えるんだ!
埋め込み表現(Embeddings)とは
埋め込み表現(Embeddings) とは、テキスト(単語・文・文書)を高次元の実数ベクトルに変換したものです。コンピューターはテキストをそのまま扱えませんが、数百〜数千次元のベクトルに変換することで、意味的な近さ・遠さをコサイン類似度などで数値計算できます。
「王様 - 男性 + 女性 ≈ 女王」という有名な演算(Word2Vecによるもの)が示すように、適切な埋め込みは意味の類似性・関係性を幾何学的に表現します。LLMの内部でもトークンは最初に埋め込みベクトルに変換され、アテンション計算を経て最終的な回答が生成されます。また検索・RAG・推薦システムでの意味的類似検索にも広く使われます。
埋め込みの主な活用場面
| 用途 | 仕組み | 例 |
|---|---|---|
| 意味的検索 | 質問と文書をベクトル化し類似度計算 | 「同じ意味の別表現」でも検索ヒット |
| RAG | 関連文書を埋め込み検索でリトリーバル | 社内文書から関連箇所を抽出 |
| クラスタリング | 類似ベクトルをグループ化 | 顧客の問い合わせを自動分類 |
| 推薦システム | 商品・コンテンツの類似性判断 | 「この商品を買った人は…」 |
歴史と背景
- 2013年:GoogleがWord2Vecを発表(単語レベルの埋め込みの実用化)
- 2014年:GloVe(スタンフォード)でグローバルな統計情報を活用した埋め込み
- 2018年:BERTによって「文脈を考慮した動的埋め込み」が実現
- 2022年:OpenAI text-embedding-ada-002でAPIでの埋め込み活用が普及
- 現在:多言語埋め込み・マルチモーダル埋め込みが発展
埋め込みの具体例(コサイン類似度)
埋め込みモデルでベクトル化した例(次元を大幅に省略):
「犬」 = [0.8, 0.2, 0.6, ...]
「猫」 = [0.7, 0.3, 0.5, ...] ← 犬と近い(どちらもペット)
「自動車」 = [0.1, 0.9, 0.2, ...] ← 犬と遠い
コサイン類似度(-1〜1、1が最も近い):
犬 vs 猫: 0.92(高い類似度)
犬 vs 自動車: 0.15(低い類似度)
関連用語
- トークン — 埋め込みに変換される前の入力単位
- ポジショナルエンコーディング — 埋め込みに位置情報を加算する技術
- ベクトルデータベース — 埋め込みベクトルを格納・検索するデータベース
- コンテキスト内学習 — 埋め込みを活用したRAGとの組み合わせで実現する学習
- マルチヘッドアテンション — 埋め込みベクトルを処理するアテンション機構