埋め込みなしのセマンティック検索(Semantic Search Without Embeddings)
(softwaredoug.com)2026年になっても、まだ「セマンティック検索 = 埋め込み + ベクターDB」だと考えていますか?
核心的な主張
セマンティック検索は単に 類似度(similarity) だけが重要なのではなく、
① 表現(representation) + ② 類似度(similarity) + ③ マッチング基準(match criteria) の3つをすべてうまく満たしてこそ、本当に優れた検索だという考えです。
埋め込みベースのベクトル検索は①、②は得意ですが、③(正確にユーザーが望む範囲内でのみ結果を含める/除外すること) では非常に脆弱だという指摘です。
核心的な例:
クエリ: 「木になる丸くて赤い果物」
優れた埋め込みシステムの結果(上位によく出るもの):
- りんご
- オレンジ
- ⚾️ 野球ボール
→ ユーザーは野球ボールなど決して求めていないのに、埋め込みは「丸くて赤い」という点でかなり近いとして含めてしまいます
しきい値では解決不可能です(ドメインごと、クエリごとに異なるため)
代案として提示されているもの: 適切に管理された階層分類体系(Managed Taxonomies)
Wayfair の家具カテゴリの例のように
Baby & Kids
└─ Toddler & Kids Playroom
└─ Indoor Play
└─ Rocking Horses
└─ Novelty Rocking Horses
これを BM25 の上に階層トークナイザーとして載せると
- より具体的な(子)カテゴリ = df が低い → BM25 スコアが自動的により高くなる
- ユーザーが理解する言語で正確に範囲を調整できる(親/祖父母へ上がるほど徐々に広がる)
- LLM で分類を自動化すれば、保守の負担も大幅に減る
結論:
埋め込みは強力ですが、必須ではありません。
ドメインですでに持っている優れたカテゴリ化・分類能力に LLM の補助を組み合わせるだけでも、
埋め込みより はるかに正確でユーザー体験の良い セマンティック検索を作れるという主張です。
Eコマース、医療、法律、図書館など、ドメイン特化検索 に取り組む方に特におすすめです。
1件のコメント
ハイブリッド検索、マルチクエリRAGが必要そうですね