なぜ、ハイブリッド検索は有効なのか?
https://scrapbox.io/files/6632ec57170e6d00254a11a5.png
意味的関連性に焦点を当てたベクトル検索は、RAG検索フェーズの主要な方法です。その技術原理は、外部の知識ベースからのドキュメントを意味的に完全な段落または文に分解し、それらをコンピューターが理解できる数値表現(多次元ベクトル)に埋め込むことを含みます。このプロセスは、ユーザーのクエリにも適用されます。 コンピューターは、ユーザークエリと文の間の微妙な意味的関係を検出できます。たとえば、「猫がネズミを追いかける」と「子猫がネズミを狩る」の意味的関係は、「猫がネズミを追いかける」と「私はハムを食べるのが好きです」の関係よりも強くなります。最も関連性の高いテキストを特定すると、RAGシステムはこの情報を大規模モデルのコンテキストとして使用し、質問に対する回答の作成を支援します。
複雑な意味的テキスト検索に加えて、ベクトル検索にはいくつかの利点があります。
マウス/mousestrap/チーズやGoogle/Bing/検索エンジンの比較に例示される類似の意味を理解します。
英語の入力と中国語のコンテンツのマッチングを可能にするなど、多言語の理解を提供します。
テキスト、画像、音声、動画間の類似マッチングを可能にする、マルチモーダルな理解をサポートします。
スペルミスや曖昧な説明を効率的に処理する、フォールトトレランスを提供します。
ただし、ベクトル検索には、次のようなシナリオで不足している点があります。
Elon MuskやiPhone 15などの人物や物の特定の名前を検索する。
RAGやRLHFなどの頭字語や短いフレーズを検索する。
gpt-3.5-turboやtitan-xlarge-v1.01などのIDを検索する。
これらの制限は、従来の全文検索(キーワード検索)が優れている点です。特に次の点で優れています。 正確なマッチング
商品名、人名、商品コードなど
ほんの数文字でのマッチング
ベクトル検索では難しいが、ユーザーの間では一般的なもの
低頻度の語彙とのマッチング
これらの単語はしばしば重要な意味を持っています。たとえば、「コーヒーを飲みに行きませんか?」では、「have」や「coffee」は「you」や「me」よりも意味があります。
ほとんどのテキスト検索シナリオでは、最も関連性の高い結果が候補リストに表示されることを保証することが主な目的です。ベクトル検索とキーワード検索はどちらも検索において長所があります。ハイブリッド検索は、これら2つの技術の利点を組み合わせ、それぞれの弱点を補完します。