Skapa en fråga för semantiska under texter i Kognitiv sökningCreate a query for semantic captions in Cognitive Search

Viktigt

Semantisk sökning finns i en offentlig för hands version, som är tillgänglig via förhands granskning REST API och Azure Portal.Semantic search is in public preview, available through the preview REST API and Azure portal. För hands versions funktionerna erbjuds i befintligt skick under kompletterande användnings villkor.Preview features are offered as-is, under Supplemental Terms of Use. Dessa funktioner är fakturerbara.These features are billable. Mer information finns i tillgänglighet och priser.For more information, see Availability and pricing.

I den här artikeln får du lära dig att formulera en sökbegäran som använder semantisk rangordning och returnerar semantiska beskrivningar (och eventuellt semantiska svar), med högdagrar som visar de mest relevanta termerna och fraserna.In this article, learn how to formulate a search request that uses semantic ranking and returns semantic captions (and optionally semantic answers), with highlights over the most relevant terms and phrases. Både under texter och svar returneras i frågor som formuleras med typen "semantisk".Both captions and answers are returned in queries formulated using the "semantic" query type.

Under texter och svar extraheras orda Grant från text i Sök dokumentet.Captions and answers are extracted verbatim from text in the search document. Det semantiska under systemet avgör vilken del av ditt innehåll som har egenskaperna för en under text eller ett svar, men de skapar inte nya meningar eller fraser.The semantic subsystem determines what part of your content has the characteristics of a caption or answer, but it does not compose new sentences or phrases. Av den anledningen fungerar innehåll som innehåller förklaringar eller definitioner bäst för semantisk sökning.For this reason, content that includes explanations or definitions work best for semantic search.

FörutsättningarPrerequisites

  • En Sök tjänst på standard nivån (S1, S2, S3), som finns i någon av följande regioner: Norra centrala USA, västra USA, västra USA 2, östra USA 2, norra Europa, Västeuropa.A search service at a Standard tier (S1, S2, S3), located in one of these regions: North Central US, West US, West US 2, East US 2, North Europe, West Europe. Om du har en befintlig S1 eller större tjänst i någon av dessa regioner kan du begära åtkomst utan att behöva skapa en ny tjänst.If you have an existing S1 or greater service in one of these regions, you can request access without having to create a new service.

  • Åtkomst till för hands version av semantisk sökning: Registrera digAccess to semantic search preview: sign up

  • Ett befintligt Sök index som innehåller engelskt innehållAn existing search index containing English content

  • En Sök klient för att skicka frågorA search client for sending queries

    Sök klienten måste ha stöd för för hands versioner av REST-API: er i förfrågan.The search client must support preview REST APIs on the query request. Du kan använda Postman, Visual Studio Codeeller Code som gör rest-anrop till för hands versions-API: erna.You can use Postman, Visual Studio Code, or code that makes REST calls to the preview APIs. Du kan också använda Sök Utforskaren i Azure Portal för att skicka en semantisk fråga.You can also use Search explorer in Azure portal to submit a semantic query.

  • En fråge förfrågan måste innehålla semantiskt alternativ och andra parametrar som beskrivs i den här artikeln.A query request must include the semantic option and other parameters described in this article.

Vad är en semantisk fråga?What's a semantic query?

I Kognitiv sökning är en fråga en parametriserad begäran som avgör bearbetning av frågor och svars form.In Cognitive Search, a query is a parameterized request that determines query processing and the shape of the response. En semantisk fråga lägger till parametrar som anropar den semantiska ranknings modellen som kan bedöma kontexten och betydelsen av matchnings resultat, höja mer relevanta matchningar till toppen och returnera semantiska svar och bild texter.A semantic query adds parameters that invoke the semantic reranking model that can assess the context and meaning of matching results, promote more relevant matches to the top, and return semantic answers and captions.

Följande begäran är representativ för en minimal semantisk fråga (utan svar).The following request is representative of a minimal semantic query (without answers).

POST https://[service name].search.windows.net/indexes/[index name]/docs/search?api-version=2020-06-30-Preview      
{    
    "search": " Where was Alan Turing born?",    
    "queryType": "semantic",  
    "searchFields": "title,url,body",  
    "queryLanguage": "en-us"  
}

Precis som med alla frågor i Kognitiv sökning riktar begäran dokument samlingen för ett enskilt index.As with all queries in Cognitive Search, the request targets the documents collection of a single index. Dessutom har en semantisk fråga samma sekvens med parsning, analys, skanning och bedömning som en icke-semantisk fråga.Furthermore, a semantic query undergoes the same sequence of parsing, analysis, scanning, and scoring as a non-semantic query.

Skillnaden är relevans och poäng.The difference lies in relevance and scoring. Som definieras i den här för hands versionen är en semantisk fråga en vars resultat rangordnas med hjälp av en semantisk språk modell, vilket ger ett sätt att presentera de matchningar som bedöms mest relevant av semantisk rangation i stället för poängen som tilldelas av standardalgoritmen för algoritmen för likheter.As defined in this preview release, a semantic query is one whose results are reranked using a semantic language model, providing a way to surface the matches deemed most relevant by the semantic ranker, rather than the scores assigned by the default similarity ranking algorithm.

Endast de översta 50-matchningarna från de första resultaten kan semantiskt rangordnas och alla inkludera under texter i svaret.Only the top 50 matches from the initial results can be semantically ranked, and all include captions in the response. Alternativt kan du ange en answer parameter på begäran för att extrahera ett möjligt svar.Optionally, you can specify an answer parameter on the request to extract a potential answer. Mer information finns i semantiska svar.For more information, see Semantic answers.

Fråga med SökutforskarenQuery with Search explorer

Sök Utforskaren har uppdaterats för att inkludera alternativ för semantiska frågor.Search explorer has been updated to include options for semantic queries. De här alternativen blir synliga i portalen när du har slutfört följande steg:These options become visible in the portal after completing the following steps:

  1. Registrera dig och tilldela din Sök tjänst till för hands versions programmetSign up and admittance of your search service into the preview program

  2. Öppna portalen med följande syntax: https://portal.azure.com/?feature.semanticSearch=trueOpen the portal with this syntax: https://portal.azure.com/?feature.semanticSearch=true

Frågealternativen innehåller växlar för att aktivera semantiska frågor, searchFields och stavnings korrigering.Query options include switches to enable semantic queries, searchFields, and spell correction. Du kan också klistra in de obligatoriska frågeparametrarna i frågesträngen.You can also paste the required query parameters into the query string.

Frågealternativ i Sök Utforskaren

Fråga med RESTQuery using REST

Använd Sök dokumenten (rest Preview) för att formulera begäran program mässigt.Use the Search Documents (REST preview) to formulate the request programmatically.

Ett svar innehåller under texter och markeringar automatiskt.A response includes captions and highlighting automatically. Om du vill att svaret ska innehålla stavnings korrigering eller-svar lägger du till en valfri speller answers parameter eller parameter på begäran.If you want the response to include spelling correction or answers, add an optional speller or answers parameter on the request.

I följande exempel används hotell-Sample-indexet för att skapa en semantisk förfrågan med semantiska svar och bild texter:The following example uses the hotels-sample-index to create a semantic query request with semantic answers and captions:

POST https://[service name].search.windows.net/indexes/hotels-sample-index/docs/search?api-version=2020-06-30-Preview      
{
    "search": "newer hotel near the water with a great restaurant",
    "queryType": "semantic",
    "queryLanguage": "en-us",
    "searchFields": "HotelName,Category,Description",
    "speller": "lexicon",
    "answers": "extractive|count-3",
    "highlightPreTag": "<strong>",
    "highlightPostTag": "</strong>",
    "select": "HotelId,HotelName,Description,Category",
    "count": true
}

I följande tabell sammanfattas frågeparametrar som används i en semantisk fråga så att du kan se dem holistiskt.The following table summarizes the query parameters used in a semantic query so that you can see them holistically. En lista över alla parametrar finns i Sök efter dokument (rest-förhands granskning)For a list of all parameters, see Search Documents (REST preview)

ParameterParameter TypType BeskrivningDescription
queryTypequeryType SträngString Giltiga värden är enkel, fullständig och semantisk.Valid values include simple, full, and semantic. Värdet "semantisk" krävs för semantiska frågor.A value of "semantic" is required for semantic queries.
queryLanguagequeryLanguage SträngString Krävs för semantiska frågor.Required for semantic queries. För närvarande är endast "en-US" implementerad.Currently, only "en-us" is implemented.
searchFieldssearchFields SträngString En kommaavgränsad lista över sökbara fält.A comma-delimited list of searchable fields. Anger de fält över vilka semantisk rangordning inträffar, från vilken under texter och svar extraheras.Specifies the fields over which semantic ranking occurs, from which captions and answers are extracted.

I motsats till enkla och fullständiga frågetyper, bestämmer ordningen i vilka fält som är prioritet.In contrast with simple and full query types, the order in which fields are listed determines precedence. Mer information om användning finns i steg 2: Ange searchFields.For more usage instructions, see Step 2: Set searchFields.
stavningskontrollspeller SträngString Valfri parameter, inte bara för semantiska frågor, som korrigerar felstavade villkor innan de når sökmotorn.Optional parameter, not specific to semantic queries, that corrects misspelled terms before they reach the search engine. Mer information finns i lägga till stavnings korrigering i frågor.For more information, see Add spell correction to queries.
svaranswers SträngString Valfria parametrar som anger om semantiska svar ingår i resultatet.Optional parameters that specify whether semantic answers are included in the result. För närvarande implementeras endast "extraktion".Currently, only "extractive" is implemented. Svar kan konfigureras för att returnera högst fem.Answers can be configured to return a maximum of five. Standardvärdet är ett.The default is one. Det här exemplet visar antalet tre svar: "extraherings | count3".This example shows a count of three answers: "extractive|count3"`. Mer information finns i returnera semantiska svar.For more information, see Return semantic answers.

Formulera begäranFormulate the request

I det här avsnittet beskrivs de frågeparametrar som krävs för semantisk sökning.This section steps through the query parameters necessary for semantic search.

Steg 1: Ange frågetyp och queryLanguageStep 1: Set queryType and queryLanguage

Lägg till följande parametrar i resten.Add the following parameters to the rest. Båda parametrarna måste anges.Both parameters are required.

"queryType": "semantic",
"queryLanguage": "en-us",

QueryLanguage måste vara konsekvent med alla språk analys verktyg som har tilldelats fält definitioner i index schemat.The queryLanguage must be consistent with any language analyzers assigned to field definitions in the index schema. Om queryLanguage är "en-US" måste alla språk analyser också vara en engelsk variant ("en. Microsoft" eller "en. Lucene").If queryLanguage is "en-us", then any language analyzers must also be an English variant ("en.microsoft" or "en.lucene"). Alla språk oberoende analyser, till exempel nyckelord eller enkla, har ingen konflikt med queryLanguage-värden.Any language-agnostic analyzers, such as keyword or simple, have no conflict with queryLanguage values.

Om du också använder stavnings korrigeringi en förfrågan, gäller den queryLanguage som du anger lika med stavning, svar och bild texter.In a query request, if you are also using spelling correction, the queryLanguage you set applies equally to speller, answers, and captions. Det finns ingen åsidosättning för enskilda delar.There is no override for individual parts.

Även om innehåll i ett Sök index kan bestå av flera språk, är frågans Indatatyp mest troligt i ett.While content in a search index can be composed in multiple languages, the query input is most likely in one. Sökmotorn kontrollerar inte kompatibiliteten för queryLanguage, språk analys och det språk som innehållet består av, så se till att omfattnings frågorna inte genererar felaktiga resultat.The search engine doesn't check for compatibility of queryLanguage, language analyzer, and the language in which content is composed, so be sure to scope queries accordingly to avoid producing incorrect results.

Steg 2: Ange searchFieldsStep 2: Set searchFields

Parametern searchFields används för att identifiera passager som ska utvärderas för "semantisk likhet" i frågan.The searchFields parameter is used to identify passages to be evaluated for "semantic similarity" to the query. För för hands versionen rekommenderar vi inte att du lämnar searchFields tomt eftersom modellen kräver ett tips för vilka fält som är viktigast att bearbeta.For the preview, we do not recommend leaving searchFields blank as the model requires a hint as to what fields are the most important to process.

SearchFields-ordningen är kritisk.The order of the searchFields is critical. Om du redan använder searchFields i befintlig kod för enkla eller fullständiga Lucene-frågor kan du gå tillbaka till den här parametern för att söka efter fält ordning när du växlar till en semantisk frågetyp.If you already use searchFields in existing code for simple or full Lucene queries, revisit this parameter to check for field order when switching to a semantic query type.

För två eller fler searchFields:For two or more searchFields:

  • Inkludera endast sträng fält och toppnivå sträng fält i samlingar.Include only string fields and top-level string fields in collections. Om du råkar ta med fält som inte är strängar eller fält på lägre nivåer i en samling, finns det inga fel, men dessa fält används inte i semantisk rangordning.If you happen to include non-string fields or lower-level fields in a collection, there is no error, but those fields won't be used in semantic ranking.

  • Det första fältet måste alltid vara koncist (till exempel titel eller namn), helst under 25 ord.First field should always be concise (such as a title or name), ideally under 25 words.

  • Om indexet har ett URL-fält som är text (som kan läsas av människa, t. ex www.domain.com/name-of-the-document-and-other-details ., och inte maskin fokuserat som www.domain.com/?id=23463&param=eis ), placerar du det andra i listan (eller första om det inte finns något koncist rubrik fält).If the index has a URL field that is textual (human readable such as www.domain.com/name-of-the-document-and-other-details, and not machine focused such as www.domain.com/?id=23463&param=eis), place it second in the list (or first if there is no concise title field).

  • Följ dessa fält genom beskrivande fält där svaret på semantiska frågor kan hittas, till exempel huvud innehållet i ett dokument.Follow those fields by descriptive fields where the answer to semantic queries may be found, such as the main content of a document.

Om bara ett fält har angetts använder du ett beskrivande fält där svaret på semantiska frågor kan hittas, till exempel huvud innehållet i ett dokument.If only one field specified, use a descriptive field where the answer to semantic queries may be found, such as the main content of a document.

Steg 3: ta bort orderBy-satserStep 3: Remove orderBy clauses

Ta bort eventuella orderBy-satser, om de finns i en befintlig begäran.Remove any orderBy clauses, if they exist in an existing request. Det semantiska resultatet används för att beställa resultat, och om du inkluderar explicit sorterings logik returneras ett HTTP 400-fel.The semantic score is used to order results, and if you include explicit sort logic, an HTTP 400 error is returned.

Steg 4: Lägg till svarStep 4: Add answers

Du kan också lägga till "svar" om du vill inkludera ytterligare bearbetning som ger ett svar.Optionally, add "answers" if you want to include additional processing that provides an answer. Svar (och under texter) extraheras från passager som finns i fält som anges i searchFields.Answers (and captions) are extracted from passages found in fields listed in searchFields. Se till att inkludera innehålls rika fält i searchFields för att få bästa svar i ett svar.Be sure to include content-rich fields in searchFields to get the best answers in a response. Mer information finns i så här returnerar du semantiska svar.For more information, see How to return semantic answers.

Steg 5: Lägg till andra parametrarStep 5: Add other parameters

Ange andra parametrar som du vill ha i begäran.Set any other parameters that you want in the request. Parametrar som stavfel, Selectoch Count förbättrar kvaliteten på begäran och läsningen av svaret.Parameters such as speller, select, and count improve the quality of the request and readability of the response.

Du kan också anpassa markerings formatet som används för under texter.Optionally, you can customize the highlight style applied to captions. Under texter används Markera formatering framför nyckel passager i det dokument som sammanfattar svaret.Captions apply highlight formatting over key passages in the document that summarize the response. Standardvärdet är <em>.The default is <em>. Om du vill ange typ av formatering (till exempel gul bakgrund) kan du ange highlightPreTag och highlightPostTag.If you want to specify the type of formatting (for example, yellow background), you can set the highlightPreTag and highlightPostTag.

Utvärdera svaretEvaluate the response

Som med alla frågor består ett svar av alla fält som har marker ATS som hämtnings bara eller bara de fält som anges i SELECT-parametern.As with all queries, a response is composed of all fields marked as retrievable, or just those fields listed in the select parameter. Den innehåller den ursprungliga relevansen och kan också innehålla ett antal, eller batchade resultat, beroende på hur du formulerat begäran.It includes the original relevance score, and might also include a count, or batched results, depending on how you formulated the request.

I en semantisk fråga har svaret ytterligare element: en ny semantiskt rangordnad resultat text, under texter i klartext och med högdagrar och eventuellt ett svar.In a semantic query, the response has additional elements: a new semantically ranked relevance score, captions in plain text and with highlights, and optionally an answer.

I en klient app kan du strukturera Sök sidan så att den innehåller en beskrivning av matchningen, i stället för hela innehållet i ett särskilt fält.In a client app, you can structure the search page to include a caption as the description of the match, rather than the entire contents of a specific field. Detta är användbart när enskilda fält är för kompakta för sidan Sök resultat.This is useful when individual fields are too dense for the search results page.

Svaret för exempel frågan ovan returnerar följande matchning som den översta plockningen.The response for the above example query returns the following match as the top pick. Under texter returneras automatiskt med oformaterad text och markerade versioner.Captions are returned automatically, with plain text and highlighted versions. Svar utelämnas från exemplet eftersom ett inte kunde fastställas för den aktuella fråge-och sökkorpus.Answers are omitted from the example because one could not be determined for this particular query and corpus.

"@odata.count": 35,
"@search.answers": [],
"value": [
    {
        "@search.score": 1.8810667,
        "@search.rerankerScore": 1.1446577133610845,
        "@search.captions": [
            {
                "text": "Oceanside Resort. Luxury. New Luxury Hotel. Be the first to stay. Bay views from every room, location near the pier, rooftop pool, waterfront dining & more.",
                "highlights": "<strong>Oceanside Resort.</strong> Luxury. New Luxury Hotel. Be the first to stay.<strong> Bay</strong> views from every room, location near the pier, rooftop pool, waterfront dining & more."
            }
        ],
        "HotelName": "Oceanside Resort",
        "Description": "New Luxury Hotel. Be the first to stay. Bay views from every room, location near the pier, rooftop pool, waterfront dining & more.",
        "Category": "Luxury"
    },

Nästa stegNext steps

Kom ihåg att semantisk rangordning och svar skapas över en första resultat uppsättning.Recall that semantic ranking and responses are built over an initial result set. All logik som förbättrar kvaliteten på de första resultaten kommer att överföras till semantisk sökning.Any logic that improves the quality of the initial results will carry forward to semantic search. I nästa steg ska du gå igenom de funktioner som bidrar till de första resultaten, inklusive analys verktyg som påverkar hur strängarna är tokens, bedömnings profiler som kan justera resultat och standardalgoritmen för relevans.As a next step, review the features that contribute to initial results, including analyzers that affect how strings are tokenized, scoring profiles that can tune results, and the default relevance algorithm.