ハイブリッド検索とは?

ハイブリッド検索の定義

ハイブリッド検索は、2つ以上の検索手法を組み合わせた検索アルゴリズムで、強力な情報検索戦略です。

通常ハイブリッド検索は、キーワード検索とセマンティック検索を組み合わせたもので、高度な機械学習技術を利用しています。セマンティック検索はテキストの意味に基づいて結果を検索しますが、全文検索は正確な単語の一致に焦点を当てます。ハイブリッド検索は、会話型クエリや「あれは何て言ったっけ?」という瞬間のように、ユーザーが正確なキーワードを入力しない、またはできない場合に不可欠です。

キーワード検索とセマンティック検索のどちらにも、それぞれ独自の長所があります。キーワード検索は、ランキングアルゴリズムと特定の用語を使用して、検索クエリに対する文書の関連性を判断します。セマンティック検索は、検索クエリを受け取ってコンテキストを考慮します。

ハイブリッド検索は、セマンティック検索と従来の検索の長所を組み合わせることで、検索精度を向上させます。セマンティックな理解と正確なクエリ用語の尊重を両立させるハイブリッド検索は、ユーザーの検索エクスペリエンスを向上するような結果を提供します。

ハイブリッド検索の仕組み

ハイブリッド検索は、キーワード検索とベクトル検索を組み合わせて包括的な検索結果を提供します。ベクトル埋め込みは、文章や写真などのデータを、それらの意味や関係性を捉える数値に変換します。データはトークン化され、インデックス化され、数値埋め込みで表現されます。ベクトル検索は非構造化データの意味を捉えることができます。ベクトル検索はキーワード検索の限界を克服し、ユーザーが正確な説明やキーワードを思い出せなくても、意味する内容で検索できるようにします。ハイブリッド検索は、高密度ベクトルと低密度ベクトルの両方を解析して、最も関連性の高い結果を提供できます。

高密度ベクトル

高密度ベクトルはセマンティックな理解とコンテキストに基づくクエリを処理します。それらは、最新の機械学習で一般的に使用されており、特に埋め込み生成のようなタスクに使用されます。

低密度ベクトル

低密度ベクトルは従来のキーワードベースのインデックスを処理し、情報がまばらに含まれています。これらのベクトルは、大規模なデータセットで一般的に使用されます。

クエリ処理

ハイブリッド検索におけるクエリ処理は、低密度ベクトルをキーワードの正確な一致と優先順位付けに使用し、コンテキストの意味と意図を捉え、セマンティックな理解のためには高密度ベクトルを使用します。これら2種類のベクトルを組み合わせることにより、ハイブリッド検索は特異性と関連性のバランスが取れた包括的な検索結果を提供します。結果を達成するために、ハイブリッド検索は逆順位融合(RRF)を使用し、関連性指標がそれぞれ異なる複数の結果セットを1つの結果セットに統合します。

RAGを用いたハイブリッド検索

検索拡張生成(RAG)は、プライベートまたは独自のデータソースを使用して、LLMの元のナレッジベースを補足するコンテキストを提供する検索手法です。RAGはクエリに有用です。なぜなら、生成AIシステムが外部情報ソースを利用して、より関連性の高い対応を生成することを可能にするからです。

RAGを使用したハイブリッド検索と追加のデータソースを取り込むことで、コンテキストを追加し、検索エクスペリエンスの関連性を向上させることができます。追加の情報ソースは、組織や顧客がクエリに回答するために必要なものであれば、インターネット上の新しい情報から、独自または機密のビジネス文書まで、何でもかまいません。

RAGには、単独で動作する言語モデルにはないメリットがいくつかあります。費用対効果が高く、コンピューティングとストレージの必要量が少なく、モデルが最新の情報にアクセスできるようにします。

RAGの実行

Elasticを使用したハイブリッド検索

Elasticは、すぐに使えるセマンティック検索をサポートすることで、ハイブリッド検索の実装を簡単にします。Elasticを使用すると、共通プラットフォームや1つのAPIで、高い速度とスケールでハイブリッド検索を実行でき、最初から高い関連性を示せます。

ElasticのPlaygroundを使用すると、開発者は、ローコードのインターフェースで独自のプライベートデータを用いて、選択したLLMをグラウンディングできます。

Elasticは、新たに導入されたクエリリトリーバー(標準、kNN、RRF)を用いて、開発者がクエリの構築を簡素化する手助けをします。これらのクエリを使用することで、Elasticは選択されたデータを理解し、統合クエリを自動生成します。