Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite

Zerank-1 ist ein fortschrittliches Rerankermodell, das von ZeroEntropy entwickelt wurde. Es spielt eine Schlüsselrolle als "zweiter Filter" in Information Retrieval oder semantischen Suchsystemen. Zunächst identifiziert ein erstes Retrievalsystem (z. B. eine Vektorsuche) schnell einen Satz potenziell relevanter Inhalte aus einer großen Bibliothek von Dokumenten. Zerank-1 analysiert dann diese erste Auswahl und ordnet sie neu ein, um eine Liste von Ergebnissen zu erstellen, die präziser sind und der Suchabsicht des Benutzers besser entsprechen. Der Hauptvorteil dieses Modells besteht darin, dass es sowohl die Benutzeranfrage als auch die einzelnen Dokumente verarbeitet und somit die tieferen und subtileren semantischen Zusammenhänge zwischen beiden erfasst. Auf der Grundlage öffentlich zugänglicher Benchmark-Daten übertrifft Zerank-1 ähnliche Modelle in mehreren Bereichen und verbessert die Genauigkeit des Suchsystems erheblich.

Funktionsliste

  • Berechnung der RelevanzbewertungDas Modell nimmt als Eingabe ein "Abfrage-Dokument"-Paar und gibt einen Wert aus, der die Relevanz des Dokuments für die Abfrage darstellt.
  • Neuordnung der ErgebnisseNach einer ersten Suche (z. B. Vektor- oder Schlagwortsuche) wird das Modell verwendet, um eine sekundäre Einstufung der Kandidatendokumente vorzunehmen, wobei die relevantesten Dokumente an die Spitze gesetzt werden.
  • Verbesserung der SuchgenauigkeitVerbesserung der Qualität der Informationen, die dem Benutzer oder dem Large Language Model (LLM) letztendlich zur Verfügung gestellt werden, indem potenziell ablenkende Elemente oder weniger relevante Inhalte bei der ersten Suche durch feinkörnige Sortierung herausgefiltert werden.
  • Übergreifende AnwendbarkeitHervorragende Leistungen in einem breiten Spektrum von Berufsfeldern, darunter Finanzen, Recht, Medizin, Recht und Dialog.
  • Unterstützung für das RAG-SystemDie Genauigkeit und Relevanz von Inhalten, die von großen Sprachmodellen generiert werden, kann durch die Bereitstellung präziserer Kontextinformationen im Retrieval Augmented Generation (RAG)-Prozess erheblich verbessert werden.

Hilfe verwenden

Was ist Reranking?

Bevor beschrieben wird, wie Zerank-1 verwendet wird, ist es wichtig zu verstehen, wo es in den gesamten Suchprozess passt. Ein modernes intelligentes Suchsystem ist in der Regel in zwei Phasen unterteilt:

  1. Rückruf/Abruf (Retrieval):: Dies ist die erste Stufe. Das System verwendet ein schnelles und effizientes Verfahren (z.B. einen stichwortbasierten BM25-Algorithmus oder eine vektorbasierte Ähnlichkeitssuche), um schnell Hunderte oder Tausende von Dokumenten aus einer großen Datenbank zu finden, die für die Anfrage des Benutzers relevant sein könnten. Das Ziel dieser Phase ist es, "Tausend zu töten, bevor man eines übersieht" und sicherzustellen, dass so viele relevante Dokumente wie möglich einbezogen werden, so dass Schnelligkeit das Hauptanliegen ist.
  2. Neueinstufung:: Dies ist die zweite Phase. Da die erste Phase auf Schnelligkeit und Breite abzielt, ist die Genauigkeit der Ergebnisse möglicherweise nicht hoch genug. An dieser Stelle kommt ein Reordering-Modell (z.B. Zerank-1) zum Einsatz. Es bewertet die in der ersten Phase abgerufenen Dokumente eines nach dem anderen auf feinkörnige Weise, berechnet die genaue Relevanzbewertung jedes Dokuments für die Anfrage und ordnet sie dann entsprechend dieser Bewertung neu an. Dieser Ansatz ist rechenintensiver und langsamer, dafür aber genauer.

Zerank-1 ist ein Cross-Encoder-Modell für die zweite Stufe.

Wie man Zerank-1 in Python verwendet

über Hugging Face sentence-transformers Bibliothek ist es sehr einfach, Zerank-1 in Ihren Projekten zu verwenden.

Schritt 1: Installation der erforderlichen Bibliotheken

Wenn Sie es nicht bereits in Ihrer Umgebung installiert haben sentence-transformers im Gesang antworten torchDies kann über die Funktion pip Führen Sie die Installation durch.

pip install -U sentence-transformers torch

Schritt 2: Laden des Modells

ausnutzen CrossEncoder Von Hugging Face Hub geladene Klassen zeroentropy/zerank-1 Modelle. Wenn Sie das Programm zum ersten Mal starten, lädt es die Modelldateien automatisch in den lokalen Zwischenspeicher herunter.

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

Schritt 3: Vorbereiten von Anfragen und Dokumenten

Sie müssen eine Abfrage und eine Reihe von zu sortierenden Dokumenten vorbereiten. Das Format der Daten ist eine Liste von Tupeln, von denen jedes ein (查询, 文档) Die Form der

Nehmen wir zum Beispiel an, Sie haben eine Abfrage und mehrere Dokumente, die Sie in der ersten Phase abgerufen haben:

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

Schritt 4: Vorhersagen treffen und Ergebnisse ermitteln

Kombinieren Sie die Abfrage und das Dokument in das für das Modell erforderliche Eingabeformat und rufen Sie dann die model.predict() Methoden.

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

Die Ausgabe ist ein NumPy-Array, in dem jeder Wert dem Relevanzwert eines Eingabepaares entspricht. Eine höhere Punktzahl bedeutet, dass das Dokument semantisch relevanter für die Abfrage ist.

Schritt 5: Sortieren nach Punktzahl

Jetzt können Sie die Ergebnisse dem Originaldokument zuordnen und die Ergebnisse vom höchsten zum niedrigsten Wert sortieren, um die endgültige Liste der genauen Ergebnisse zu erhalten.

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}")

Nach der Ausführung des obigen Codes werden Sie sehen, dass die relevantesten Dokumente zu den "Hauptursachen der globalen Erwärmung" ganz oben auf der Liste stehen, was genau der Funktionsweise des Neuordnungsmodells entspricht.

Anwendungsszenario

  1. Semantische Suche der Unternehmensklasse
    Bei Suchmaschinen für interne Wissensdatenbanken oder Websites geben die Nutzer oft Anfragen ein, die nicht nur aus einfachen Schlüsselwörtern bestehen. zerank-1 kann nach primären Suchanfragen (z. B. Elasticsearch oder Vektorsuchen) eingesetzt werden, um die ersten 100 Ergebnisse neu zu ordnen und so sicherzustellen, dass die ersten 10 Ergebnisse diejenigen sind, die die Nutzer am meisten sehen wollen, was das Sucherlebnis und die Effizienz erheblich verbessert.
  2. Retrieval Augmentation Generation (RAG)
    In RAG-Anwendungen hängt die Qualität eines Large Language Model (LLM), das eine Frage beantwortet, direkt von der Qualität der ihm zur Verfügung gestellten Kontextinformationen ab. Durch die Neuordnung der abgerufenen Dokumentfragmente mit Zerank-1, bevor sie in das LLM eingespeist werden, werden irrelevante oder verrauschte Informationen herausgefiltert und nur der relevanteste Kontext für die Frage beibehalten, wodurch das LLM genauere und sachlichere Antworten generieren kann.
  3. intelligentes Frage- und Antwortsystem (Q&A)
    In automatisierten Kundendienst-, technischen Support- und anderen Q&A-Szenarien muss das System aus einer großen Anzahl von FAQ-Dokumenten, Produkthandbüchern usw. den Absatz finden, der die Frage des Benutzers am besten beantwortet. Zerank-1 kann den Grad der Übereinstimmung zwischen jedem Kandidatenabsatz und der Frage des Benutzers genau berechnen, um so die genaueste Antwort zu finden und die Problemlösungsrate zu verbessern.
  4. Dokumenten- oder Code-Deduplizierung
    Bei der Arbeit mit großen Dokumentensammlungen oder Codebasen kann man auf eine große Anzahl von sich semantisch wiederholenden, aber nicht identischen Textinhalten stoßen. Indem ein Dokument als "Abfrage" und andere Dokumente als "zu vergleichende Elemente" behandelt werden, kann Zerank-1 verwendet werden, um Korrelationswerte zwischen ihnen zu berechnen und so Dokumente oder Codeschnipsel mit ähnlichem Inhalt effektiv zu identifizieren und zu gruppieren.

QA

  1. Was ist der Unterschied zwischen Zerank-1 und einem normalen Einbettungsmodell?
    Gewöhnliche Einbettungsmodelle (auch Bi-Encoder genannt) erzeugen unabhängig voneinander einen Vektor (d. h. eine Einbettung) für die Suchanfrage und das Dokument und bestimmen dann die Relevanz durch Berechnung der Kosinusähnlichkeit dieser beiden Vektoren. Zerank-1 hingegen verarbeitet als Cross-Encoder sowohl die Suchanfrage als auch das Dokument, wodurch komplexere Interaktionen und semantische Beziehungen zwischen den beiden erfasst werden können, was in der Regel zu einer höheren Ranking-Genauigkeit führt, allerdings mit einem entsprechenden Anstieg der Rechenkosten.
  2. Ist Zerank-1 kostenlos?
    zeroentropy/zerank-1 Das Modell selbst ist auf Hugging Face mit einer Lizenzbeschränkung für seine Verwendung verfügbar. Es ist unter einer nicht-kommerziellen Lizenz lizenziert. Wenn es für kommerzielle Zwecke benötigt wird, müssen Sie sich wegen einer Lizenz direkt an ZeroEntropy wenden. ZeroEntropy bietet jedoch auch eine etwas kleinere, vollständig quelloffene (Apache 2.0 Lizenz) Version an zeroentropy/zerank-1-smallfür die freie kommerzielle Nutzung zur Verfügung.
  3. Welche Art von Hardware benötige ich, um Zerank-1 zu verwenden?
    Als Deep-Learning-Modell beschleunigt die Verwendung des Grafikprozessors die Berechnungen erheblich, insbesondere wenn eine große Anzahl von Dokumenten sortiert werden muss. Es kann jedoch auch auf der CPU laufen, wenn die Datenmenge nicht zu groß ist, es wird nur langsamer sein. Die genauen Anforderungen hängen von Ihrem Anwendungsszenario und Ihren Leistungsanforderungen ab.
  4. Wie groß ist die Bandbreite der vom Modell ausgegebenen Punktzahlen?
    Die Modellausgabe ist eine Fließkommazahl, die die Korrelation darstellt. Die Punktzahl selbst hat keine feste Ober- oder Untergrenze; sie ist ein relativer Wert. Beim Sortieren eines Stapels von Dokumenten müssen Sie nur vergleichen, wie hoch oder niedrig die jeweiligen Punktzahlen sind; je höher die Punktzahl, desto relevanter ist das Dokument.
0Lesezeichen
0Gelobt

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

Posteingang

Kontakt

zurück zum Anfang

de_DEDeutsch