Semantische zoekopdrachten in Azure Cognitive Search

Belangrijk

Semantic Search is in openbare preview onder aanvullende gebruiksvoorwaarden. De SDK is beschikbaar via de Azure Portal-, preview REST API- en bèta-SDK's. Deze functies zijn factureerbaar. Zie Beschikbaarheid en prijzen voor meer informatie over.

Semantic Search is een verzameling querygerelateerde mogelijkheden die semantische relevantie en taalkennis bieden voor zoekresultaten. Dit artikel is een inleiding op hoog niveau over semantische zoekopdrachten, met beschrijvingen van elke functie en hoe ze gezamenlijk werken. In de ingesloten video wordt de technologie beschreven en in de sectie aan het einde worden de beschikbaarheid en prijzen beschreven.

Semantische zoekopdrachten is een premium-functie. We raden dit artikel aan voor achtergrondinformatie, maar als u liever aan de slag wilt, volgt u deze stappen:

Semantisch zoeken is een verzameling functies die de kwaliteit van zoekresultaten verbeteren. Wanneer deze functie is ingeschakeld in uw zoekservice, wordt de pijplijn voor het uitvoeren van query's op twee manieren uitgebreid. Eerst wordt er een secundaire rangschikking toegevoegd ten opzichte van een eerste resultatenset, waardoor de meest semantisch relevante resultaten bovenaan de lijst worden gepromoot. Ten tweede extraheert en retourneert het bijschriften en antwoorden in het antwoord, dat u kunt renderen op een zoekpagina om de zoekervaring van de gebruiker te verbeteren.

Functie Beschrijving
Semantische herrangschikking Maakt gebruik van de context of semantische betekenis om een nieuwe relevantiescore te berekenen voor bestaande resultaten.
Semantische bijschriften en markeringen Extraheert zinnen en zinnen uit een document dat de inhoud het beste samenvatten, met belangrijke punten voor eenvoudige scan. Bijschriften die een resultaat samenvatten, zijn handig wanneer afzonderlijke inhoudsvelden te compact zijn voor de resultatenpagina. 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 aanvullende substructuur die worden geretourneerd door een semantische query. Het biedt een direct antwoord op een query die lijkt op een vraag. Hiervoor is vereist dat een document tekst bevat met de kenmerken van een antwoord.
Spellingcontrole Corrigeert typfouten voordat de querytermen de zoekmachine bereiken.

Hoe semantische rangschikking werkt

Semantische rangschikking zoekt naar context en verwante termen, en vereendt overeenkomsten die logischer zijn gezien de query. Language Understanding vindt samenvattingen of bijschriften en antwoorden in uw inhoud en bevat deze in het antwoord, dat vervolgens kan worden weergegeven op een pagina met zoekresultaten voor een productievere zoekervaring.

State-of-the-art vooraf getrainde modellen worden gebruikt voor samenvatting en classificatie. Om de snelle prestaties te behouden die gebruikers verwachten van zoeken, worden semantische samenvatting en rangschikking toegepast op alleen de top 50-resultaten, zoals wordt behaald door het standaardalgoritme voor vergelijkbaarheidsscores. Door deze resultaten te gebruiken als de documentbibliotheek, worden deze resultaten met semantische rangschikking opnieuw scoren op basis van de semantische sterkte van de overeenkomst.

De onderliggende technologie is afkomstig van Bing en Microsoft Research en is als een invoegfunctie geïntegreerd in de Cognitive Search-infrastructuur. Zie How AI from Bing is powering Azure Cognitive Search (Microsoft Research Blog)(Hoe AI van Bing powering Azure Cognitive Search (Microsoft Research Blog) ) voor meer informatie over het onderzoek en ai-investeringen die semantisch zoeken mogelijk maken.

De volgende video biedt een overzicht van de mogelijkheden.

Volgorde van bewerkingen

Onderdelen van semantische zoekopdrachten breiden de bestaande pijplijn voor het uitvoeren van query's uit in beide richtingen. Als u spellingcorrectie inschakelen, corrigeert de spellingcontrole typfouten bij het starten van de query voordat termen de zoekmachine bereiken.

Semantische onderdelen bij het uitvoeren van query's

De uitvoering van query's wordt op de gebruikelijke manier uitgevoerd, met de term parseren, analyseren en scannen via de omgekeerde indexen. De engine haalt documenten op met behulp van tokenmatching en scoort de resultaten met behulp van het standaardalgoritme voor vergelijkbaarheidsscore. Scores worden berekend op basis van de mate van taalkundige gelijkenis tussen querytermen en overeenkomende termen in de index. Als u deze hebt gedefinieerd, worden scoreprofielen ook in deze fase toegepast. Resultaten worden vervolgens doorgegeven aan het subsysteem voor semantische zoekopdrachten.

In de voorbereidingsstap wordt het document dat door de eerste resultatenset wordt geretourneerd, geanalyseerd op zins- en alineaniveau om te zoeken naar de documenten die elk document samenvatten. In tegenstelling tot zoeken met trefwoorden maakt deze stap gebruik van machine reading en begrip om de inhoud te evalueren. In deze fase van de inhoudsverwerking retourneert een semantische query bijschriften en antwoorden. Om deze te formuleren, maakt semantische zoekopdracht gebruik van taalweergave om sleuteltermen te extraheren en te markeren die het beste een resultaat samenvatten. Als de zoekquery een vraag is en antwoorden worden aangevraagd, bevat het antwoord ook een tekstbericht waarin de vraag het beste wordt beantwoord, zoals uitgedrukt in de zoekquery.

Voor zowel bijschriften als antwoorden wordt bestaande tekst gebruikt in de formulering. De semantische modellen bevatten geen nieuwe zinnen of zinnen uit de beschikbare inhoud en passen geen logica toe om tot nieuwe conclusies te komen. Kortom, het systeem zal nooit inhoud retourneren die nog niet bestaat.

Resultaten worden vervolgens opnieuw scoren op basis van de conceptuele gelijkenis van querytermen.

Als u semantische mogelijkheden in query's wilt gebruiken, moet u kleine wijzigingen aanbrengen in de zoekaanvraag,maar er is geen extra configuratie of herindexering vereist.

Semantische mogelijkheden en beperkingen

Semantische zoekopdrachten is een nieuwere technologie, dus het is belangrijk om verwachtingen in te stellen over wat het wel en niet kan doen. Wat het kan doen, is de kwaliteit van zoeken verbeteren door:

  • Het promoten van overeenkomsten die semantisch dichter bij de intentie van de oorspronkelijke query liggen.

  • Tekenreeksen zoeken in elk resultaat dat kan worden gebruikt als bijschriften en mogelijk antwoorden die kunnen worden weergegeven op een pagina met zoekresultaten.

Wat u niet kunt doen, is de query opnieuw uitvoeren voor het hele -woordenboek om semantisch relevante resultaten te vinden. Semantische zoekopdrachten rangschikt de bestaande resultatenset opnieuw, bestaande uit de top 50 van de resultaten, zoals deze is vastgesteld door het standaard classificatiealgoritme. Bovendien kan semantische zoekopdrachten geen nieuwe informatie of tekenreeksen maken. Bijschriften en antwoorden worden verbatim uit uw inhoud geëxtraheerd, dus als de resultaten geen antwoord-achtige tekst bevatten, zullen de taalmodellen er geen produceren.

Hoewel semantische zoekopdrachten niet in elk scenario nuttig zijn, kan bepaalde inhoud aanzienlijk profiteren van de mogelijkheden ervan. De taalmodellen in semantische zoekopdrachten werken het beste voor doorzoekbare inhoud met uitgebreide informatie en gestructureerd als prose. Een knowledge base, online documentatie of documenten die beschrijvende inhoud bevatten, zien de meeste voordelen van semantische zoekmogelijkheden.

Beschikbaarheid en prijzen

Semantische zoekopdrachten zijn beschikbaar via registratie. Er is één aanmelding voor zowel semantisch zoeken als spellingcontrole.

Functie Laag Regio Aanmelden Prijzen
Semantische zoekopdracht (positie, bijschriften, markeringen, antwoorden) Standard-laag (S1, S2, S3) VS - noord-centraal, VS - west, VS - west 2, VS - oost 2, Europa - noord, Europa - west Vereist Cognitive Search pagina met prijzen
Spellingcontrole Basic1 en hoger Alles Geen Geen (gratis)

1 Vanwege de inrichtingsmechanismen en levensduur van gedeelde (gratis) zoekservices, is er een klein aantal services die een spellingcontrole hebben in de gratis laag. De beschikbaarheid van spellingcontrole op services in de gratis laag wordt echter niet gegarandeerd en mag niet worden verwacht.

Kosten voor semantische zoekopdrachten worden in rekening gebracht wanneer queryaanvragen 'queryType=semantic' bevatten en de zoekreeks 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 queryType is ingesteld op 'semantic'.

Voor volledige beveiliging tegen onbedoeld gebruik en kosten kunt u semantische zoekopdrachten uitschakelen met behulp van de API Service maken of bijwerken in uw zoekservice. Nadat de functie is uitgeschakeld, worden alle aanvragen met het semantische querytype geweigerd.

  • Management REST API versie 2021-04-01-Preview biedt deze optie

  • Eigenaars- of inzendermachtigingen zijn vereist om functies uit te schakelen

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"
      }
    }

Als u semantische zoekopdrachten opnieuw wilt inschakelen, moet u de bovenstaande aanvraag opnieuw inschakelen door semanticSearch in te stellen op 'gratis' (standaard) of 'standaard'.

Tip

Aanroepen REST API beheerbeleid worden geverifieerd via Azure Active Directory. Zie dit blogbericht Azure REST API's with Postman (2021) (Azure REST API's met Postman (2021)voor hulp bij het instellen van een beveiligingsprincipe en een aanvraag. Het vorige voorbeeld is getest met behulp van de instructies en Postman Collection in de blogpost.

Volgende stappen

Meld u aan voor de preview-versie van een zoekservice die voldoet aan de laag en regionale vereisten die u in de vorige sectie hebt genoteerd.

Het kan maximaal twee werkdagen duren voordat de aanvraag is verwerkt. Zodra uw service klaar is, maakt u een semantische query om de prestaties van uw inhoud te evalueren.