Semantisk sökning i Azure Cognitive Search

Viktigt

Semantisk sökning är i offentlig förhandsversion under kompletterande användningsvillkor. Den är tillgänglig via Azure Portal, förhandsversion av REST API och beta-SDK:er. Dessa funktioner är fakturerbara (se Tillgänglighet och prissättning).

Semantisk sökning är en samling frågerelaterade funktioner som ger semantisk relevans och språkförstågning till sökresultaten. Den här artikeln är en introduktion till semantisk sökning på hög nivå. 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 den är aktiverad i söktjänsten utökas pipelinen för frågekörning på två sätt. Först lägger den till sekundär rangordning över en första resultatuppsättning och höjer de mest semantiskt relevanta resultaten högst upp i listan. För det andra extraheras och returneras undertexter och svar i svaret, som du kan återge på en söksida för att förbättra användarens sökupplevelse.

Funktion Beskrivning
Semantisk omrankning Använder kontexten eller den semantiska innebörden av en fråga för att beräkna en ny relevanspoäng för 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 ansågs 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 ett svars egenskaper.

Så här fungerar semantisk rangordning

Semantisk rangordning söker efter kontext och samband mellan termer och höjer matchningar som är mer meningsfulla med tanke på frågan. Språktolkning hittar sammanfattningar eller bildtexter och svar i ditt innehåll och innehåller dem i svaret, som sedan kan renderas på en sökresultatsida för en mer produktiv sökupplevelse.

Avancerade förtränad modeller 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ökning tillämpas semantisk sammanfattning och rangordning på bara de 50 främsta resultaten, enligt standardbedömningsalgoritmen. Med hjälp av dessa resultat som dokumentkorus får semantisk rangordning om resultaten baserat på matchningens semantiska styrka.

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

Följande video innehåller 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 stavfel vid frågestart innan termerna når sökmotorn.

Semantiska komponenter i frågekörning

Frågekörningen fortsätter som vanligt med termparsning, analys och genomsökningar över de inverterade indexen. Motorn hämtar dokument med tokenmatchning och poängsätter resultaten med hjälp av standardbedömningsalgoritmen. Poängen beräknas baserat på graden av språklig likhet mellan frågetermer och matchande termer i indexet. Om du har definierat 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 dokumentkorus som returneras från den första resultatuppsättningen på menings- och styckenivå 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ållsbearbetningen 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 nyckelavsnitt som bäst sammanfattar ett resultat. Om sökfrågan är en fråga – och svar begärs – innehåller svaret även ett textavsnitt som bäst svarar på frågan, vilket 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ängsätts sedan på nytt baserat på den konceptuella likheten mellan 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 frågan igen ö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 bästa resultaten enligt standardrankningsalgoritmen. Dessutom kan semantisk sökning inte skapa ny information eller strängar. Undertexter och svar extraheras ordagrant från ditt innehåll, så om resultatet inte innehåller svarsliknande text genererar språkmodellerna inte en sådan.

Ä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 från semantiska sökfunktioner.

Tillgänglighet och prissättning

Semantisk sökning och stavningskontroll är tillgängliga för tjänster som uppfyller kriterierna i tabellen nedan. Om du vill använda semantisk sökning måste du först aktivera funktionerna i söktjänsten.

Funktion Nivå Region Registrera dig Prissättning
Semantisk sökning Standardnivå (S1, S2, S3, S3 HD), lagringsoptimerad nivå (L1, L2) Regional tillgänglighet Obligatorisk Prissättning1
Stavningskontroll Grundläggande 2 och senare Alla Ingen Ingen (kostnadsfri)

1 På prissättningssidan rullar du ned för att visa ytterligare funktioner som debiteras separat. Vid lägre frågevolymer (under 1 000 per månad) är semantisk sökning kostnadsfri. Om du vill gå över den gränsen kan du välja standardprisplanen för semantisk sökning. På prissättningssidan visas den semantiska frågefaktureringsfrekvensen för olika valutor och intervall.

2 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 för tjänster på den kostnadsfria nivån är dock inte garanterad och bör inte förväntas.

Avgifter för semantisk sökning tas ut 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 har angetts till "semantisk".

Som standard inaktiveras semantisk sökning på alla tjänster. Så här aktiverar du semantisk sökning efter söktjänsten:

  1. Öppna Azure-portalen.
  2. Gå till söktjänsten på standardnivå.
  3. Kontrollera om tjänstregionen stöder semantisk sökning. tjänsten Search region anges på översiktssidan. Semantiska sökregioner anges på sidan Tillgängliga produkter per region .
  4. Välj Semantisk sökning (förhandsversion) i det vänstra navigeringsfönstret.
  5. Välj antingen den kostnadsfria planen eller standardplanen. Du kan växla mellan den kostnadsfria planen och standardplanen när som helst.

Skärmbild av aktivering av semantisk sökning i Azure Portal

Semantic Searchs kostnadsfria plan är begränsad till 1 000 frågor per månad. Efter de första 1 000 frågorna i den kostnadsfria planen får du ett felmeddelande om att du har förbrukat kvoten när du utfärdar en semantisk fråga. När detta inträffar måste du uppgradera till standardplanen för att fortsätta använda semantisk sökning.

Du kan också aktivera semantisk sökning med hjälp av API:et För att skapa eller uppdatera tjänsten som beskrivs i nästa avsnitt.

Om du vill aktivera omvända funktioner eller för fullständigt skydd mot oavsiktlig användning och avgifter kan du inaktivera semantisk sökning med hjälp av API:et Skapa eller Uppdatera tjänst i söktjänsten. När funktionen har inaktiverats avvisas alla begäranden som innehåller den semantiska frågetypen.

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

  • Ägar- eller deltagarbehörigheter 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 begäran ovan igen och anger "semanticSearch" till antingen "kostnadsfri" (standard) eller "standard".

Tips

REST API-anrop för hantering autentiseras via Azure Active Directory. Vägledning om hur du konfigurerar ett säkerhetsobjekt och en begäran finns i det här blogginlägget om Azure REST-API:er med Postman (2021). Föregående exempel testades med hjälp av instruktionerna och Postman-samlingen i blogginlägget.

Nästa steg

Aktivera semantisk sökning efter din söktjänst och följ stegen i Konfigurera semantisk rangordning så att du kan testa semantisk sökning på ditt innehåll.