Delen via


Semantische rangschikking in Azure AI Search

In Azure AI Search is semantische rangschikking een functie die de relevantie van de zoekfunctie aanzienlijk verbetert door de taalbegripmodellen van Microsoft te gebruiken om zoekresultaten opnieuw te rangschikken. De semantische ranker is ook gebouwd in agentisch ophalen. Dit artikel is een inleiding op hoog niveau om inzicht te krijgen in het gedrag en de voordelen van semantische rangschikking.

Semantische ranker is een Premium-functie die wordt gefactureerd op basis van gebruik, maar u kunt deze gratis gebruiken, afhankelijk van servicelimieten voor de gratis laag. We raden dit artikel aan voor achtergrond, maar als u liever aan de slag wilt gaan, volgt u deze stappen.

Wat is semantische rangschikking?

Semantische rangschikking is een verzameling mogelijkheden aan de queryzijde die de kwaliteit verbeteren van een eerste BM25-gerangschikt of RRF-gerangschikt zoekresultaat voor op tekst gebaseerde query's, het tekstgedeelte van vectorquery's en hybride query's. Semantische classificatie breidt de pijplijn voor het uitvoeren van query's op drie manieren uit:

  • Eerst voegt het altijd een secundaire rangschikking toe aan een initiële reeks van resultaten die is gescoord met behulp van BM25 of Reciprocal Rank Fusion (RRF). Deze secundaire classificatie maakt gebruik van meertalige deep learning-modellen die zijn aangepast van Microsoft Bing om de meest semantisch relevante resultaten te promoten.

  • Ten tweede retourneert het bijschriften en extraheert het eventueel antwoorden in het antwoord, die u op een zoekpagina kunt weergeven om de zoekervaring van de gebruiker te verbeteren.

  • Ten derde, als u het herschrijven van query's inschakelt, wordt een eerste queryreeks uitgebreid naar meerdere semantisch vergelijkbare queryreeksen.

Secundaire classificatie en antwoorden zijn van toepassing op het queryantwoord. Het herschrijven van query's maakt deel uit van de queryaanvraag.

Hier volgen de mogelijkheden van de semantische reranker.

Capability Description
L2-classificatie Gebruikt de context of semantische betekenis van een query om een nieuwe relevantiescore te berekenen ten opzichte van vooraf gedefinieerde resultaten.
Semantische bijschriften en markeringen Extraheert exacte zinnen en woordgroepen uit velden die de inhoud het beste samenvatten, met markeringen over belangrijke passages voor eenvoudig scannen. Bijschriften die een resultaat samenvatten, zijn handig wanneer afzonderlijke inhoudsvelden te dicht zijn voor de pagina met zoekresultaten. Gemarkeerde tekst verhoogt de meest relevante termen en woordgroepen, zodat gebruikers snel kunnen bepalen waarom een overeenkomst als relevant werd beschouwd.
Semantische antwoorden Een optionele en extra substructuur die wordt geretourneerd door een semantische query. Het biedt een direct antwoord op een query die lijkt op een vraag. Het vereist dat een document tekst bevat met de kenmerken van een antwoord.
Query opnieuw schrijven Met behulp van tekstquery's of het tekstgedeelte van een vectorquery maakt de semantische rangschikking maximaal 10 varianten van de query, mogelijk het corrigeren van typefouten of spelfouten, of het herformuleren van een query met behulp van gegenereerde synoniemen. De herschreven query wordt uitgevoerd op de zoekmachine. De resultaten worden gescoord door middel van BM25- of RRF-score en vervolgens opnieuw gescoord door semantische rangschikking.

Hoe de semantische ranker werkt

Semantische ranker neemt een query en resultaten en verzendt deze vervolgens naar taalkennismodellen die worden gehost door Microsoft. Het scant op betere overeenkomsten.

In de volgende afbeelding wordt het concept uitgelegd. Houd rekening met de term 'kapitaal'. Het heeft verschillende betekenissen, afhankelijk van of de context financieel, recht, geografie of grammatica is. Via taalkennis detecteert de semantische ranker context en bevordert deze resultaten die passen bij de queryintentie.

Afbeelding van vectorweergave voor context.

Semantische classificatie maakt gebruik van veel resources en tijd. Om de verwerking binnen de verwachte latentie van een querybewerking te voltooien, consolideert en vermindert het systeem de invoer tot de semantische rangschikking. Deze aanpak helpt de herrankeringsstap zo snel mogelijk te voltooien.

Semantische classificatie heeft drie stappen:

  1. Invoer verzamelen en samenvatten
  2. Resultaten scoren met behulp van de semantische ranker
  3. Hernieuwde scores, bijschriften en antwoorden genereren

Hoe het systeem invoer verzamelt en samenvat

In semantische classificatie geeft het querysubsysteem zoekresultaten door als invoer voor samenvattings- en classificatiemodellen. Omdat de classificatiemodellen beperkingen voor invoergrootte hebben en intensief worden verwerkt, moeten zoekresultaten worden aangepast en gestructureerd (samengevat) voor een efficiënte verwerking.

  1. De semantische ranker begint met een BM25-gerangschikt resultaat van een tekstquery of een RRF-gerangschikt resultaat van een vector- of hybride query. In de herrankeringsoefening wordt alleen tekst gebruikt. Zelfs als resultaten meer dan 50 resultaten bevatten, wordt alleen de top 50 resultaten voortgezet naar een semantische rangschikking. Semantische rangschikking maakt doorgaans gebruik van informatieve en beschrijvende velden.

  2. Voor elk document in het zoekresultaat accepteert het samenvattingsmodel maximaal 2000 tokens, waarbij een token ongeveer 10 tekens is. Het model verzamelt invoer uit de velden 'title', 'keyword' en 'content' die worden vermeld in de semantische configuratie.

  3. Het systeem trimt overmatig lange tekenreeksen om ervoor te zorgen dat de totale lengte voldoet aan de invoervereisten van de samenvattingsstap. Deze bijsnijdoefening is waarom het belangrijk is om velden toe te voegen aan uw semantische configuratie in volgorde van prioriteit. Als u zeer grote documenten met tekstzware velden hebt, negeert het systeem alles na de maximale limiet.

    Semantisch veld Tokenlimiet
    "title" 128 tokens
    "keywords 128 tokens
    "content" resterende tokens
  4. De samenvattingsuitvoer is een samenvattingstekenreeks voor elk document, samengesteld uit de meest relevante informatie uit elk veld. Het systeem verzendt samenvattingstekenreeksen naar de rangschikker voor scoren en naar computerlezingsmodellen voor bijschriften en antwoorden.

    Vanaf november 2024 is de maximale lengte van elke gegenereerde samenvattingstekenreeks die wordt doorgegeven aan de semantische rangschikking 2048 tokens. Voorheen waren het 256 tokens.

Hoe resultaten worden beoordeeld

Het systeem scoret resultaten op basis van het bijschrift en eventuele andere inhoud uit de samenvattingsreeks die de lengte van 2048 tokens invult.

  1. Het systeem evalueert bijschriften voor conceptuele en semantische relevantie ten opzichte van de query die u opgeeft.

  2. Het systeem wijst een @search.rerankerScore toe aan elk document op basis van de semantische relevantie van het document voor de opgegeven query. Scores variëren van 4 tot 0 (hoog tot laag), waarbij een hogere score een hogere relevantie aangeeft.

    Score Meaning
    4.0 Het document is zeer relevant en beantwoordt de vraag volledig, hoewel de passage mogelijk extra tekst bevat die niet aan de vraag is gerelateerd.
    3.0 Het document is relevant, maar ontbreekt aan details waarmee het document kan worden voltooid.
    2.0 Het document is enigszins relevant; het beantwoordt de vraag gedeeltelijk of alleen een aantal aspecten van de vraag.
    1.0 Het document is gerelateerd aan de vraag en beantwoordt een klein deel ervan.
    0.0 Het document is niet relevant.
  3. Het systeem lijst overeenkomsten in aflopende volgorde op score en neemt deze op in de payload van het queryantwoord. De payload bevat antwoorden, platte tekst en gemarkeerde bijschriften, en velden die u hebt gemarkeerd als ophaalbaar of opgegeven in een select-clause.

Note

Voor een bepaalde query kunnen de distributies van @search.rerankerScore kleine variaties vertonen vanwege omstandigheden op infrastructuurniveau. Updates van classificatiemodellen kunnen ook van invloed zijn op de distributie. Als u om deze redenen aangepaste code schrijft voor minimale drempelwaarden of de drempelwaarde-eigenschap instelt voor vector- en hybride query's, moet u de limieten niet te gedetailleerd maken.

Uitvoer van semantische rangschikker

Uit elke samenvattingstekenreeks vinden de machinebegripmodellen passages die het meest representatief zijn.

De uitvoer is:

  • Een semantisch bijschrift voor het document. Elk bijschrift is beschikbaar in een tekst zonder opmaak en een markeringsversie en is vaak minder dan 200 woorden per document.

  • Een optioneel semantisch antwoord, ervan uitgaande dat u de answers parameter hebt opgegeven, is de query ingesteld als een vraag en wordt een passage gevonden in de lange tekenreeks die waarschijnlijk antwoord geeft op de vraag.

Bijschriften en antwoorden zijn altijd exacte tekst uit uw index. Er is geen generatief AI-model in deze werkstroom waarmee nieuwe inhoud wordt gemaakt of samengesteld.

Semantische mogelijkheden en beperkingen

Wat semantische rangschikking kan doen:

  • Stimuleer overeenkomsten die inhoudelijk dichter bij de oorspronkelijke intentie van de query liggen.

  • Zoek tekenreeksen die moeten worden gebruikt als bijschriften en antwoorden. Het antwoord retourneert bijschriften en antwoorden, die u op een pagina met zoekresultaten kunt weergeven.

Wat semantische ranker niet kan doen, is de query opnieuw uitvoeren op het hele corpus om semantisch relevante resultaten te vinden. De Semantische classificatie herschikt de bestaande resultatenset, bestaande uit de top 50 resultaten, zoals beoordeeld door het standaardclassificatie-algoritme. Bovendien kan de semantische rangschikker geen nieuwe informatie of tekenreeksen maken. De taalmodellen halen bijschriften en antwoorden uit uw inhoud uit, dus als de resultaten geen antwoordachtige tekst bevatten, produceren ze er geen.

Hoewel semantische rangschikking in elk scenario niet nuttig is, kan bepaalde inhoud aanzienlijk profiteren van de mogelijkheden ervan. De taalmodellen in semantische rangschikking werken het beste voor doorzoekbare inhoud die informatierijk en gestructureerd is als proza. Een knowledge base, onlinedocumentatie of documenten die beschrijvende inhoud bevatten, zien de meeste voordelen van semantische classificatiemogelijkheden.

De onderliggende technologie is afkomstig van Bing en Microsoft Research en is geïntegreerd in de Azure AI Search-infrastructuur als een invoegtoepassingsfunctie. Voor meer informatie over de onderzoeks- en AI-investeringen die de semantische rangschikking ondersteunen, zie Hoe AI van Bing Azure AI Search aanstuurt (Microsoft Research Blog).

De volgende video biedt een overzicht van de mogelijkheden.

Hoe semantische ranker synoniemenkaarten gebruikt

Als u ondersteuning inschakelt voor synoniementoewijzingen die zijn gekoppeld aan een veld in uw zoekindex en dat veld in de semantische rangschikkingsconfiguratie opneemt, past de semantische rangschikking automatisch de geconfigureerde synoniemen toe tijdens het herrankeringsproces.

Beschikbaarheid en prijzen

De semantische rangschikking is beschikbaar in geselecteerde regio's. Gebruik het als een zelfstandige functie en als een ingebouwd onderdeel van agentisch ophalen.

U kunt semantische rangschikking uitschakelen voor uw zoekservice, deze op beperkte basis gratis gebruiken of deze uitgebreider gebruiken met betalen per gebruik-facturering:

Plannen Description
Gratis Een zoekservice voor een gratis niveau biedt 1000 semantische rangschikverzoeken per maand en 50 miljoen gratis agentic reasoning tokens per maand. Hogere lagen kunnen ook gebruikmaken van het gratis abonnement.
Standaard Het standaardabonnement hanteert betalen naar gebruik zodra het maandelijkse gratis quotum is gebruikt. Na de eerste 1000 semantische rangschikkingsaanvragen betaalt u voor elke extra 1000 aanvragen. Na de eerste 50 miljoen agentische redeneringstokens per maand betaalt u een nominale vergoeding voor elk 1 miljoen agentische redeneringstokens. De overgang van Free naar Standard is naadloos. U ontvangt geen melding wanneer de overgang plaatsvindt. Zie de pagina met prijzen voor Azure AI Search voor meer informatie over kosten per valuta.

Op de pagina met prijzen voor Azure AI Search ziet u het factureringstarief voor verschillende valuta's en intervallen.

Er worden kosten in rekening gebracht voor de semantische rangschikking wanneer een queryaanvraag queryType=semantic bevat en de zoekopdracht niet leeg is (bijvoorbeeld search=pet friendly hotels in New York). Als uw zoekreeks leeg is (search=*), worden er geen kosten in rekening gebracht, zelfs niet als het queryType is ingesteld op semantisch.

Aan de slag met semantische ranker

  1. Controleer de regionale beschikbaarheid.

  2. Meld u aan bij Azure Portal.

  3. Configureer een semantische rangschikking voor de zoekservice en kies een prijsplan. Het gratis abonnement is de standaardinstelling.

  4. Semantische rangschikking configureren in een zoekindex.

  5. Stel queries in om semantische bijschriften en markeringen te retourneren.

  6. Retourneer desgewenst semantische antwoorden.

Zie ook