Verbessern der Relevanz von Ergebnissen durch Hinzufügen von Bewertungsprofilen

Abgeschlossen

Die Azure KI-Suche verwendet den BM25-Ähnlichkeitsbewertungsalgorithmus. Der Algorithmus bewertet Dokumente basierend auf den verwendeten Suchbegriffen.

Hier erfahren Sie, wie Sie Bewertungsprofile hinzufügen, um die Ergebnisse für Dokumente basierend auf Ihren eigenen Kriterien zu ändern.

Berechnung von Suchergebnissen

Die Bewertung ist die letzte Phase der Verarbeitung einer Suchabfrage.

Diagramm mit hervorgehobener Bewertungsphase der Suche.

Die Suchmaschine bewertet die aus den ersten drei Phasen zurückgegebenen Dokumente. Die Bewertung ist eine Funktion für die Anzahl der Vorkommen identifizierter Suchbegriffe in einem Dokument, die Größe des Dokuments und die Seltenheit der einzelnen Begriffe. Standardmäßig werden die Suchergebnisse zuerst nach der Suchbewertung von der höchsten zur niedrigsten sortiert. Wenn zwei Dokumente über eine identische Suchbewertung verfügen, können Sie den Gleichstand durch Hinzufügen einer $orderby-Klausel aufheben.

Verbessern der Bewertung für relevantere Dokumente

Da die Standardbewertung anhand der Häufigkeit von Begriffen und deren Seltenheit durchgeführt wird, gibt die endgültige berechnete Bewertung möglicherweise nicht die höchste Bewertung für das relevanteste Dokument zurück. Jedes Dataset ist anders, daher können Sie über die KI-Suche eine Dokumentbewertung mithilfe von Bewertungsprofilen beeinflussen.

Diagramm mit einer gewichteten Feldbewertung.

Das einfachste Bewertungsprofil definiert unterschiedliche Gewichtungen für Felder in einem Index. Im obigen Beispiel weist der Index „Hotel“ ein Bewertungsprofil auf, in dem das Feld „Description“ (Beschreibung) fünfmal relevanter ist als die Daten in den Feldern „Location“ (Standort) oder „Rooms“ (Zimmer). Das Feld „Category“ (Kategorie) ist doppelt so relevant wie „HotelName“.

Das Bewertungsprofil kann auch Funktionen enthalten, z. B. für Entfernung oder Aktualität. Funktionen bieten mehr Steuerungsmöglichkeiten als die einfache Gewichtung. Beispielsweise können Sie die Boostingdauer definieren, die auf neuere Dokumente angewendet wird, bevor diese in derselben Weise bewertet werden wie ältere Dokumente.

Die Leistungsfähigkeit von Bewertungsprofilen liegt darin, dass Sie keinen bestimmten Begriff in einer Suchanfrage verstärken, sondern ein Bewertungsprofil auf einen Index anwenden können, sodass bestimmte Felder automatisch für alle Abfragen verstärkt werden.

Hinzufügen eines gewichteten Bewertungsprofils

Sie können einem Suchindex bis zu 100 Bewertungsprofile hinzufügen. Die einfachste Möglichkeit zum Erstellen eines Bewertungsprofils befindet sich im Azure-Portal.

  1. Navigieren Sie zu Ihrem Suchdienst.
  2. Wählen Sie Indizes aus, und wählen Sie dann den Index aus, dem ein Bewertungsprofil hinzugefügt werden soll.
  3. Wählen Sie Bewertungsprofile aus.
  4. Wählen Sie + Bewertungsprofil hinzufügen aus.
  5. Geben Sie im Profilnamen einen eindeutigen Namen ein.
  6. Um das Bewertungsprofil als Standard festzulegen, der auf alle Suchen angewendet wird, wählen Sie Als Standardprofil festlegen.
  7. Wählen Sie unter Feldname ein Feld aus. Geben Sie unter Gewichtung einen Gewichtungswert ein.
  8. Wählen Sie Speichern.

Screenshot des Bereichs „Bewertungsprofile“ des Azure-Portals.

Im obigen Beispiel wurde das Bewertungsprofil boost-category dem hotels-sample-index hinzugefügt. Die Kategorie hat eine Gewichtung von fünf.

Das Profil wurde außerdem als Standardprofil festgelegt. Anschließend können Sie diese Suchabfrage verwenden:

search=luxury AND Tags:'air con'*&$select=HotelId, HotelName, Category, Tags, Description&$count=true&queryType=full

Die Ergebnisse entsprechen jetzt derselben Abfrage mit einem verstärkten Ausdruck:

search=(Description:luxury OR Category:luxury^5) AND Tags:'air con'*&$select=HotelId, HotelName, Category, Tags, Description&$count=true&queryType=full

Sie können steuern, welches Bewertungsprofil auf eine Suchabfrage angewendet wird, indem Sie den Parameter &scoringProfile=PROFILE NAME anfügen.

Bewertungsprofile können auch programmgesteuert mithilfe der REST-API „Index aktualisieren“ oder in Azure SDKs hinzugefügt werden, z. B. in der ScoreProfile-Klasse im Azure SDK für .NET.

Verwenden von Funktionen in einem Bewertungsprofil

Folgende Funktionen können einem Bewertungsprofil hinzugefügt werden:

Funktion BESCHREIBUNG
Größe Ändern von Bewertungen basierend auf einem Wertebereich für ein numerisches Feld
Aktualität Ändern von Bewertungen basierend auf der Aktualität von Dokumenten gemäß einem DateTimeOffset-Feld
Distance Ändern von Bewertungen basierend auf der Entfernung zwischen einem Referenzstandort und einem GeographyPoint-Feld
Tag Ändern von Bewertungen basierend auf allgemeinen Tagwerten in Dokumenten und Abfragen

Wenn Sie beispielsweise den Hotelindex verwenden, kann die Größenfunktion auf das Feld „Rating“ (Bewertung) angewendet werden. Das Azure-Portal leitet Sie durch die Angabe der Parameter für die einzelnen Funktionen.

Screenshot mit den Parametern für die Größenfunktion.