「単語をベクトル(数字の列)に変換する」。初めて聞いたとき、なんのこっちゃと思った。でもこれがLLMの根幹を支える技術で、ちゃんと理解すると世界の見え方が変わる。
Embedding(埋め込み)は、テキストを意味を反映した数値ベクトルに変換する技術。例えば「犬」と「猫」のベクトルは空間上で近くに位置し、「犬」と「自動車」は遠くに位置する。意味の近さが、数学的な距離で表現される。これ、考えた人すごすぎる。
Embeddingの何がすごいかって、従来のキーワード検索とは根本的に違うところだ。「嬉しい」で検索したら「ハッピー」も「楽しい」も「最高」もヒットする。単語の一致じゃなくて意味の一致で検索できる。これは検索の概念を変えた。
実際の使い道:
- 意味検索 — 曖昧な記憶でも欲しい情報にたどり着ける。「なんかあの、認証のやつ…」でOAuthのドキュメントが出てくる。
- RAGの検索部分 — 質問と文書のEmbeddingを比較して、関連する文書を見つける。
- クラスタリング — 大量のテキストを「似た意味ごと」に自動グルーピング。カスタマーフィードバックの分類とか。
- レコメンデーション — 「この記事に近い意味の記事」が一発で出せる。
代表的なEmbeddingモデル:OpenAIのtext-embedding-3(安くて高性能)、Cohere Embed、BGE(オープンソースで強い)。
ベクトルが「意味」を表現できるって発想自体、コンピュータの新しい可能性を感じさせる。初めてセマンティック検索を体験したときの「おおっ」っていう感動、ぜひ味わってほしい。