Semantisk sökning i Azure Cognitive Search

Viktigt

Semantisk sökning är i offentlig förhandsversion under kompletterande villkor för användning. Den är tillgänglig via Azure Portal, förhandsversion REST API och beta-SDK:er. Dessa funktioner är fakturerbara. Mer information om finns i Tillgänglighet och prissättning.

Semantisk sökning är en samling frågerelaterade funktioner som ger sökresultaten semantisk relevans och språkförståelse. Den här artikeln är en introduktion på hög nivå till semantisk sökning, med beskrivningar av varje funktion och hur de fungerar tillsammans. Den inbäddade videon beskriver tekniken och avsnittet i slutet beskriver tillgänglighet och priser.

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

Semantisk sökning är en samling funktioner som förbättrar sökresultatens kvalitet. När det är aktiverat i söktjänsten utökas frågekörningspipelinen på två sätt. Först lägger den till sekundär rangordning över en inledande resultatuppsättning, vilket främjar de mest semantiskt relevanta resultaten överst i listan. För det andra extraherar och returnerar den undertexter och svar i svaret, som du kan rendera på en söksida för att förbättra användarens sökupplevelse.

Funktion Beskrivning
Semantisk omr rangordning Använder kontexten eller den semantiska innebörden för att beräkna en ny relevanspoäng över befintliga resultat.
Semantiska undertexter och markeringar Extraherar meningar och fraser från ett dokument som bäst sammanfattar innehållet, med markeringar över viktiga avsnitt för enkel genomsökning. Undertexter som sammanfattar ett resultat är användbara när enskilda innehållsfält är för kompakta för resultatsidan. Markerad text höjer de mest relevanta termerna och fraserna så att användarna snabbt kan avgöra varför en matchning anses vara relevant.
Semantiska svar En valfri och ytterligare understruktur som returneras från en semantisk fråga. Den 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.
Stavningskontroll Korrigerar skrivfel innan frågetermerna når sökmotorn.

Så här fungerar semantisk rangordning

Semantisk rangordning söker efter kontext och relaterat mellan termer, och höjer matchningar som är mer meningsfulla med tanke på frågan. Språkförståelse hittar sammanfattningar eller undertexter och svar i ditt innehåll och inkluderar dem i svaret, som sedan kan återges på en sökresultatsida för en mer produktiv sökupplevelse.

De senaste tränade modellerna används för sammanfattning och rangordning. För att upprätthålla den snabba prestanda som användarna förväntar sig av sökningen tillämpas semantisk sammanfattning och rangordning bara på de 50 främsta resultaten, enligt standardalgoritmen för likhetsbedömning. Med hjälp av dessa resultat som dokument corpus, semantisk rangordning ompoäng dessa resultat baserat på den semantiska styrkan hos matchningen.

Den underliggande tekniken kommer från Bing och Microsoft Research och integreras i Cognitive Search-infrastrukturen som en tilläggsfunktion. Mer information om forskning och AI-investeringar som backar upp semantisk sökning finns i How AI from Bing is powering Azure Cognitive Search (Microsoft Research Blog) .

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

Ordningen på åtgärder

Komponenter i semantisk sökning utökar den befintliga frågekörningspipelinen i båda riktningarna. Om du aktiverar stavningskorrigering korrigerar stavningskontrollen stavfel vid frågeutbrott innan villkoren når sökmotorn.

Semantiska komponenter i frågekörning

Frågekörningen fortsätter som vanligt med termparsning, analys och genomsökningar över inverterade index. Motorn hämtar dokument med tokenmatchning och poängsättning av resultaten med standardalgoritmen för likhetsbedömning. Poängen beräknas baserat på graden av språklikhet mellan frågetermer och matchande termer i indexet. Om du definierade dem tillämpas även bedömningsprofiler i det här skedet. Resultaten skickas sedan till undersystemet för semantisk sökning.

I förberedelsesteget analyseras dokumentet corpus som returneras från den inledande resultatuppsättningen på menings- och styckesnivå för att hitta avsnitt som sammanfattar varje dokument. Till skillnad från nyckelordssökning använder det här steget maskinläsning och förståelse för att utvärdera innehållet. I det här steget av innehållsbearbetning returnerar en semantisk fråga undertexter och svar. För att formulera dem använder semantisk sökning språkrepresentation för att extrahera och markera viktiga avsnitt som bäst sammanfattar ett resultat. Om sökfrågan är en fråga – och svaren efterfrågas – innehåller svaret även ett textmeddelande som bäst besvarar frågan, som uttrycks av sökfrågan.

För både undertexter och svar används befintlig text i formuleringen. Semantikmodellerna skriver inte nya meningar eller fraser från det tillgängliga innehållet och tillämpar inte heller logik för att komma fram till nya slutsatser. Kort sagt returnerar systemet aldrig innehåll som inte redan finns.

Resultaten poängas sedan om baserat på konceptuell likhet för frågetermer.

Om du vill använda semantiska funktioner i frågor måste du göra små ändringar i sökbegäran ,men ingen extra konfiguration eller omindexering krävs.

Semantiska funktioner och begränsningar

Semantisk sökning är en nyare teknik så det är viktigt att ange förväntningar på vad den kan och inte kan göra. Vad den kan göra är att förbättra sökkvaliteten genom att:

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

  • Hitta strängar i varje resultat som kan användas som undertexter och potentiellt svar som kan återges på en sökresultatsida.

Vad den inte kan göra är att köra om frågan över hela corpus för att hitta semantiskt relevanta resultat. Semantisk sökning rangordnar om den befintliga resultatuppsättningen, som består av de 50 främsta resultaten som poängsatts av standardr rangordningsalgoritmen. Dessutom kan semantisk sökning inte skapa ny information eller strängar. Undertexter och svar extraheras ordagrann från ditt innehåll, så om resultatet inte innehåller svarsliknande text kommer språkmodellerna inte att producera någon.

Även om semantisk sökning inte är fördelaktigt i alla scenarier kan visst innehåll dra stor nytta av dess funktioner. Språkmodellerna i semantisk sökning 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 med semantiska sökfunktioner.

Tillgänglighet och prissättning

Semantisk sökning är tillgänglig via registrering. Det finns en registrering för både semantisk sökning och stavningskontroll.

Funktion Nivå Region Registrera dig Prissättning
Semantisk sökning (rangordning, undertexter, markeringar, svar) Standardnivå (S1, S2, S3) USA, norra centrala, USA, västra, USA, västra 2, USA, östra 2, Europa, norra, Europa, västra Obligatorisk Cognitive Search prissättningssidan
Stavningskontroll Basic1 och högre Alla Ingen Ingen (kostnadsfri)

1 På grund av etableringsmekanismerna och livslängden för delade (kostnadsfria) söktjänster råkar ett litet antal tjänster ha stavningskontroll på den kostnadsfria nivån. Tillgängligheten för stavningskontroll på tjänster på den kostnadsfria nivån är dock inte garanterad och bör inte förväntas.

Avgifter för semantisk sökning debiteras när frågebegäranden inkluderar "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".

Om du vill ha fullständigt skydd mot oavsiktlig användning och kostnader kan du inaktivera semantisk sökning med hjälp av API:et för att skapa eller uppdatera tjänsten i söktjänsten. När funktionen har inaktiverats avvisas alla begäranden som innehåller den semantiska frågetypen.

  • Hantering REST API version 2021-04-01-Preview innehåller det här alternativet

  • Behörighet som ägare eller deltagare krävs för att inaktivera funktioner

PUT https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2021-04-01-Preview
    {
      "location": "{{region}}",
      "sku": {
        "name": "standard"
      },
      "properties": {
        "semanticSearch": "disabled"
      }
    }

Om du vill återaktivera semantisk sökning kör du ovanstående begäran igen och anger "semanticSearch" till antingen "free" (default) eller "standard".

Tips

Hanterings REST API-anrop autentiseras via Azure Active Directory. Vägledning om hur du ställer in en säkerhetsprincip och en begäran finns i det här blogginlägget om Azure REST API:er med Postman (2021). Föregående exempel har testats med hjälp av instruktionerna och Postman-samlingen i blogginlägget.

Nästa steg

Registrera dig för förhandsversionen på en söktjänst som uppfyller de krav på nivå och region som anges i föregående avsnitt.

Det kan ta upp till två arbetsdagar att bearbeta begäran. När tjänsten är klar kan du skapa en semantisk fråga för att utvärdera dess prestanda för ditt innehåll.