このプロジェクトでは、Python を使用したドキュメント検索のためのさまざまな検索手法を示します。実装される技術には、HyDe、Basic、逆ランク融合 (RRF)、融合検索、およびサブクエリ分解 (SQD) が含まれます。このプロジェクトでは、ユーザー インターフェイスに Streamlit を使用し、ドキュメントの処理と取得にさまざまなライブラリを使用します。
リポジトリのクローンを作成します。
git clone https://github.com/yourusername/yourrepository.git
cd yourrepository
必要な依存関係をインストールします。
pip install -r requirements.txt
Streamlit アプリケーションを実行します。
streamlit run app.py
サイドバーを使用して PDF ファイルをアップロードします。
サイドバーから取得手法を選択します。
テキスト入力ボックスにクエリを入力し、取得したドキュメントを表示します。
HyDe (Hypothetical Document) 検索は、クエリに基づいて仮説的な文書を生成し、類似した文書を検索します。
基本的な検索では、単純な類似性検索を使用して、クエリに基づいてドキュメントを取得します。
Reciprocal Rank Fusion (RRF) は、複数の取得アルゴリズムの結果を組み合わせて、全体的な取得パフォーマンスを向上させます。
フュージョン検索では、加重合計を使用してベクトル検索と BM25 検索結果を組み合わせて、最も関連性の高いドキュメントを取得します。
サブクエリ分解 (SQD) は、クエリをサブクエリに分解し、サブクエリに基づいてドキュメントを取得する手法です。
貢献は大歓迎です!改善やバグ修正が必要な場合は、問題をオープンするか、プル リクエストを送信してください。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、 LICENSE
ファイルを参照してください。