海外からのアクセス:www.kdjingpai.com
Ctrl + D このサイトをブックマークする

Zerank-1はZeroEntropyによって開発された高度なリランカーモデルである。 情報検索や意味検索システムにおいて、「第二のフィルター」として重要な役割を果たす。 まず、最初の検索システム(例えばベクトル検索)は、大量の文書ライブラリから関連する可能性のあるコンテンツのセットを素早く特定する。 次にZerank-1は、この最初の選択を分析し、再ランク付けすることで、より正確でユーザーのクエリの意図に沿った検索結果のリストを生成する。 このモデルの核となる利点は、ユーザーのクエリと個々のドキュメントの両方を処理することで、両者のより深く微妙な意味的関連性を捉えることである。 公開されているベンチマークデータに基づくと、Zerank-1はいくつかの分野で類似モデルを上回り、検索システムの精度を大幅に向上させている。

機能一覧

  • 関連性スコアの計算このモデルは「クエリと文書」のペアを入力とし、クエリと文書の関連性を表すスコアを出力する。
  • 結果の並び替え最初の検索(ベクトル検索やキーワード検索など)の後、モデルを用いて候補文書の二次的なランキングを行い、最も関連性の高い文書を上位に配置する。
  • 検索精度の向上きめ細かなソートにより、最初の検索で潜在的に邪魔なアイテムや関連性の低いコンテンツをフィルタリングすることで、最終的にユーザーや大規模言語モデル(LLM)に提供される情報の質を向上させる。
  • 横断的な適用可能性金融、法律、医学、コード、対話など幅広い専門分野で優れた業績を残す。
  • RAGシステムのサポート大規模な言語モデルによって生成されたコンテンツの精度と関連性は、検索拡張生成(RAG)プロセスにおいて、より正確な文脈情報を提供することで大幅に改善することができます。

ヘルプの使用

再ランキングとは?

Zerank-1がどのように使われるかを説明する前に、それが検索プロセス全体のどこに位置づけられるかを理解することが重要である。最新のインテリジェント検索システムは通常2つの段階に分けられる:

  1. リコール/リトリーバル(検索):これは第一段階である。システムは高速で効率的な方法(キーワードベースのBM25アルゴリズムやベクトルベースの類似性検索など)を使って、大規模なデータベースからユーザーのクエリに関連する可能性のある数百から数千の文書を素早く探し出す。この段階での目標は「1つ見逃す前に1000を殺す」ことであり、できるだけ多くの関連文書が含まれるようにするため、スピードが優先される。
  2. 再ランキング: これは第2段階だ。第一段階はスピードと幅を追求するため、結果の精度が十分でない可能性がある。そこで、再順序付けモデル(Zerank-1など)が登場する。 これは、第一段階で呼び出された文書を一つずつきめ細かく評価し、各文書のクエリに対する正確な関連性スコアを計算し、このスコアに従って再順位付けを行う。 このアプローチは計算量が多く、速度も遅いが、より正確である。

Zerank-1は第2ステージ専用のクロスエンコーダーモデルである。

PythonでのZerank-1の使い方

ハギング・フェイス経由 sentence-transformers ライブラリを使えば、あなたのプロジェクトでZerank-1を使うのはとても簡単です。

ステップ1:必要なライブラリをインストールする

あなたの環境にまだインストールされていない場合 sentence-transformers 歌で応える torchこれは pip インストールを実行する。

pip install -U sentence-transformers torch

ステップ 2: モデルの読み込み

利用する CrossEncoder ハギング・フェイス・ハブからロードされたクラス zeroentropy/zerank-1 モデルプログラムを初めて実行すると、自動的にモデル・ファイルがローカル・キャッシュにダウンロードされます。

from sentence_transformers import CrossEncoder
# 加载模型,trust_remote_code=True 是必须的
model = CrossEncoder("zeroentropy/zerank-1", trust_remote_code=True)

ステップ3:問い合わせと書類の準備

クエリとソートされるドキュメントのセットを準備する必要があります。データの形式はタプルのリストで、各タプルは (查询, 文档) の形式である。

例えば、クエリーがあり、最初のステージからいくつかの文書が検索されたとする:

query = "全球变暖的主要原因是什么?"
documents = [
"太阳活动周期的变化是地球气候波动的一个自然因素。",
"根据IPCC的报告,人类活动,特别是温室气体排放,是自20世纪中期以来观测到的全球变暖的主要驱动力。",
"火山爆发会向大气中释放气溶胶,短期内可能导致地球表面温度下降。",
"燃烧化石燃料(如煤、石油和天然气)为交通和电力生产提供能源,会释放大量的二氧化碳。"
]

ステップ4:予測を立て、得点を得る

クエリとドキュメントをモデルが必要とする入力フォーマットに結合し、そして model.predict() 方法。

# 按照 (查询, 文档) 的格式创建输入对
query_document_pairs = [(query, doc) for doc in documents]
# 使用模型预测相关性得分
scores = model.predict(query_document_pairs)
print("各文档的相关性得分:", scores)

出力はNumPyの配列で、それぞれの値が入力ペアの関連性スコアに対応します。スコアが高ければ高いほど、そのドキュメントはクエリに対してより意味的に関連していることを意味します。

ステップ5:得点順に並べ替える

これで、スコアを元の文書にマッピングし、スコアの高いものから低いものへとソートして、最終的な正確な結果リストを得ることができる。

import numpy as np
# 将分数和文档打包
scored_documents = list(zip(scores, documents))
# 按分数降序排序
sorted_documents = sorted(scored_documents, key=lambda x: x[0], reverse=True)
# 打印排序后的结果
print("重排序后的结果:")
for score, doc in sorted_documents:
print(f"得分: {score:.4f} - 文档: {doc}")

上記のコードを実行すると、「地球温暖化の主な原因」に関連する最も関連性の高い文書がリストの一番上にあることがわかる。

アプリケーションシナリオ

  1. エンタープライズクラスのセマンティック検索
    社内のナレッジベースやウェブサイトの検索エンジンの場合、ユーザーは単純なキーワードではないクエリを入力することが多い。zerank-1を一次検索(Elasticsearchやベクトル検索など)の後に導入することで、最初に返される100件の結果を並べ替え、上位10件がユーザーが最も見たい結果であるようにし、検索体験と効率を劇的に改善することができる。
  2. 検索機能拡張ジェネレーション(RAG)
    RAGアプリケーションでは、質問に答える大規模言語モデル(LLM)の品質は、LLMに提供される文脈情報の品質に直接依存する。 LLMに送る前にZerank-1を用いて検索された文書断片を並べ替えることで、無関係な情報やノイズの多い情報をフィルタリングし、質問に最も関連する文脈のみを保持する。
  3. インテリジェント質疑応答システム(Q&A)
    自動化されたカスタマーサービス、テクニカルサポート、その他のQ&Aシナリオでは、システムは多数のFAQ文書、製品マニュアルなどからユーザーの質問に最もよく答える段落を見つける必要があります。
  4. 文書またはコードの重複排除
    大規模なドキュメントコレクションやコードベースを扱う場合、意味的に反復しているが同一ではないテキストコンテンツに多数遭遇する可能性がある。あるドキュメントを「クエリ」、他のドキュメントを「比較するアイテム」として扱うことで、Zerank-1を用いてそれらの相関スコアを計算することができ、類似したコンテンツを持つドキュメントやコードスニペットを効果的に識別し、クラスタリングすることができる。

品質保証

  1. Zerank-1と通常の埋め込みモデルの違いは何ですか?
    通常の埋め込みモデル(Bi-Encoderとも呼ばれる)は、クエリと文書に対してそれぞれ独立にベクトル(つまり埋め込み)を生成し、この2つのベクトルの余弦類似度を計算することで関連性を判定する。 一方、Zerank-1はクロスエンコーダとして、クエリとドキュメントの両方を処理するため、両者のより複雑な相互作用や意味的関係を捉えることができ、一般的にランキング精度は高くなるが、それに伴い計算コストも増加する。
  2. Zerank-1は無料ですか?
    zeroentropy/zerank-1 このモデル自体はHugging Faceで使用ライセンス制限付きで入手可能です。 非商用ライセンスです。 営利目的で必要な場合は、ZeroEntropyに直接連絡してライセンスを取得する必要があります。 しかし、ZeroEntropyでは少し小さめの完全オープンソース(Apache 2.0ライセンス)版も提供しています。 zeroentropy/zerank-1-small無料で商用利用可能。
  3. Zerank-1を使用するにはどのようなハードウェアが必要ですか?
    ディープラーニング・モデルとして、GPUを使用することで、特に大量のドキュメントをソートする必要がある場合、計算が大幅にスピードアップする。ただし、データ量がそれほど多くない場合はCPUでも実行可能で、その場合は処理速度が遅くなるだけだ。正確なニーズは、アプリケーションのシナリオとパフォーマンス要件によって異なります。
  4. モデルが出力するスコアの範囲は?
    モデルの出力は相関を表す浮動小数点数である。スコア自体には上限も下限もなく、相対値である。ドキュメントのバッチをソートする際には、それぞれのスコアが高いか低いかを比較すればよい。
0ブックマークに登録
0表彰される

おすすめ

AIツールが見つからない?こちらをお試しください!

キーワードを入力する アクセシビリティこのサイトのAIツールセクションは、このサイトにあるすべてのAIツールを素早く簡単に見つける方法です。

受信箱

お問い合わせ

トップに戻る

ja日本語