Semantisk rankning i Azure AI Search

I Azure AI Search förbättrar semantisk rankning mätbart sökrelevansen genom att använda språkförstörelse för att rangordna sökresultaten igen. Den här artikeln är en introduktion på hög nivå. Avsnittet i slutet beskriver tillgänglighet och priser.

Semantisk ranker är en premiumfunktion som debiteras av användning. Vi rekommenderar den här artikeln för bakgrund, men om du hellre vill komma igång följer du dessa steg:

Kommentar

Semantisk rangordning använder inte generativ AI eller vektorer. Om du letar efter vektorstöd och likhetssökning? Mer information finns i Vektorsökning i Azure AI Search .

Vad är semantisk rankning?

Semantisk rankning är en samling frågerelaterade funktioner som förbättrar kvaliteten på ett första BM25-rankat eller RRF-rankat sökresultat för textbaserade frågor. När du aktiverar den i söktjänsten utökar semantisk rangordning frågekörningspipelinen på två sätt:

  • Först lägger den till sekundär rangordning över en första resultatuppsättning som poängsatts med BM25 eller RRF. Den här sekundära rankningen använder flerspråkiga djupinlärningsmodeller som är anpassade från Microsoft Bing för att främja de mest semantiskt relevanta resultaten.

  • För det andra extraherar och returnerar den bildtext och svar i svaret, som du kan återge på en söksida för att förbättra användarens sökupplevelse.

Här är funktionerna i den semantiska rerankern.

Funktion beskrivning
Semantisk rankning Använder kontexten eller den semantiska innebörden av en fråga för att beräkna en ny relevanspoäng över förrankade resultat.
Semantiska bildtext och höjdpunkter Extraherar ordagranna meningar och fraser från ett dokument som bäst sammanfattar innehållet, med markeringar över nyckelpassagen för enkel genomsökning. Bildtexter som sammanfattar ett resultat är användbara när enskilda innehållsfält är för kompakta för sökresultatsidan. Markerad text höjer de mest relevanta termerna och fraserna så att användarna snabbt kan avgöra varför en matchning ansågs relevant.
Semantiska svar En valfri och extra understruktur som returneras från en semantisk fråga. Det ger ett direkt svar på en fråga som ser ut som en fråga. Det kräver att ett dokument har text med egenskaperna för ett svar.

Så här fungerar semantisk ranker

Semantisk rangordning matar en fråga och resultat till språktolkningsmodeller som hanteras av Microsoft och söker efter bättre matchningar.

Följande bild förklarar begreppet. Överväg termen "kapital". Den har olika betydelser beroende på om kontexten är ekonomi, lag, geografi eller grammatik. Genom språktolkning kan den semantiska rankaren identifiera kontext och höja upp resultat som passar fråge avsikter.

Illustration of vector representation for context.

Semantisk rangordning är både resurs- och tidsintensiv. För att slutföra bearbetningen inom den förväntade svarstiden för en frågeåtgärd konsolideras indata till den semantiska rankern och minskas så att omrankningssteget kan slutföras så snabbt som möjligt.

Det finns två steg för semantisk rangordning: sammanfattning och bedömning. Utdata består av omkorrigering av resultat, bildtext och svar.

Hur indata samlas in och sammanfattas

I semantisk rangordning skickar frågeundersystemet sökresultat som indata till sammanfattnings- och rangordningsmodeller. Eftersom rangordningsmodellerna har begränsningar för indatastorlek och bearbetar intensivt måste sökresultaten vara storleksanpassade och strukturerade (sammanfattade) för effektiv hantering.

  1. Semantisk rangordning börjar med ett BM25-rankat resultat från en textfråga eller ett RRF-rankat resultat från en hybridfråga. Endast textfält används i omrankningsövningen och endast de 50 främsta resultaten går vidare till semantisk rangordning, även om resultaten innehåller fler än 50. Fält som används i semantisk rangordning är vanligtvis informations- och beskrivande.

  2. För varje dokument i sökresultatet accepterar sammanfattningsmodellen upp till 2 000 token, där en token är cirka 10 tecken. Indata sammanställs från fälten "title", "keyword" och "content" som anges i den semantiska konfigurationen.

  3. Alltför långa strängar trimmas för att säkerställa att den totala längden uppfyller indatakraven i sammanfattningssteget. Den här trimningsövningen är därför det är viktigt att lägga till fält i din semantiska konfiguration i prioritetsordning. Om du har mycket stora dokument med textintensiva fält ignoreras allt efter maxgränsen.

    Semantiskt fält Tokengräns
    "title" 128 tokens
    "nyckelord 128 tokens
    "innehåll" återstående token
  4. Sammanfattningsutdata är en sammanfattningssträng för varje dokument som består av den mest relevanta informationen från varje fält. Sammanfattningssträngar skickas till rankaren för bedömning och till maskinläsningsförståelsemodeller för bildtext och svar.

    Den maximala längden för varje genererad sammanfattningssträng som skickas till den semantiska rankern är 256 token.

Utdata från semantisk ranker

Från varje sammanfattningssträng hittar maskinläsningsförståelsemodellerna de passager som är mest representativa.

Utdata är:

  • En semantisk bildtext för dokumentet. Varje bildtext är tillgänglig i en oformaterad textversion och en markeringsversion och är ofta färre än 200 ord per dokument.

  • Ett valfritt semantiskt svar, förutsatt att du angav parametern answers , frågan ställdes som en fråga och en passage hittas i den långa strängen som ger ett troligt svar på frågan.

Undertexter och svar är alltid ordagrant text från ditt index. Det finns ingen generativ AI-modell i det här arbetsflödet som skapar eller skapar nytt innehåll.

Så här poängsätts sammanfattningar

Bedömning görs över bildtext och allt annat innehåll från sammanfattningssträngen som fyller ut 256 tokenlängden.

  1. Undertexter utvärderas för konceptuell och semantisk relevans i förhållande till den angivna frågan.

  2. En @search.rerankerScore tilldelas varje dokument baserat på dokumentets semantiska relevans för den angivna frågan. Poängen varierar från 4 till 0 (hög till låg), där en högre poäng indikerar högre relevans.

  3. Matchningar visas i fallande ordning efter poäng och ingår i nyttolasten för frågesvar. Nyttolasten innehåller svar, oformaterad text och markerade bildtext och alla fält som du har markerat som hämtningsbara eller angivna i en select-sats.

Kommentar

Från och med den 14 juli 2023 ändras distributionen @search.rerankerScore . Effekten på poäng kan inte fastställas förutom genom testning. Om du har ett hårt tröskelberoende för den här svarsegenskapen kör du testerna igen för att förstå vad de nya värdena ska vara för tröskelvärdet.

Semantiska funktioner och begränsningar

Semantisk ranker är en nyare teknik så det är viktigt att sätta förväntningar på vad den kan och inte kan göra. Vad den kan göra:

  • Flytta upp matchningar som är semantiskt närmare avsikten med den ursprungliga frågan.

  • Hitta strängar som ska användas som bildtext och svar. Bildtexter och svar returneras i svaret och kan återges på en sökresultatsida.

Vad semantisk rangordning inte kan göra är att köra frågan igen över hela corpus för att hitta semantiskt relevanta resultat. Semantisk rangordning rangordnar om den befintliga resultatuppsättningen, som består av de 50 bästa resultaten enligt standardrankningsalgoritmen. Dessutom kan semantisk rangordning inte skapa ny information eller strängar. Bildtexter och svar extraheras ordagrant från ditt innehåll, så om resultaten inte innehåller svarsliknande text kommer språkmodellerna inte att producera någon.

Även om semantisk rangordning inte är fördelaktig i varje scenario kan visst innehåll dra stor nytta av dess funktioner. Språkmodellerna i semantisk rangordning fungerar bäst på sökbart innehåll som är informationsrikt och strukturerat som prosa. En kunskapsbas, onlinedokumentation eller dokument som innehåller beskrivande innehåll ser de största vinsterna från semantiska rankningsfunktioner.

Den underliggande tekniken kommer från Bing och Microsoft Research och är integrerad i Azure AI Search-infrastrukturen som en tilläggsfunktion. Mer information om forsknings- och AI-investeringar som stöder semantisk rankning finns i How AI from Bing is powering Azure AI Search (Microsoft Research Blog).

Följande video ger en översikt över funktionerna.

Tillgänglighet och priser

Semantisk rankning är tillgängligt på söktjänster på nivåerna Basic och högre, beroende på regional tillgänglighet.

När du aktiverar semantisk rankning väljer du en prisplan för funktionen:

  • Vid lägre frågevolymer (under 1 000 per månad) är semantisk rangordning kostnadsfri.
  • Vid högre frågevolymer väljer du standardprisplanen.

På prissättningssidan för Azure AI Search visas faktureringsfrekvensen för olika valutor och intervall.

Avgifter för semantisk rangordning debiteras när frågebegäranden inkluderas queryType=semantic och söksträngen inte är tom (till exempel search=pet friendly hotels in New York). Om söksträngen är tom (search=*) debiteras du inte, även om queryType är inställd på semantisk.

Se även