Extrahera data från yttrandetext med avsikter och entiteter

Viktigt!

LUIS dras tillbaka den 1 oktober 2025 och från och med den 1 april 2023 kommer du inte att kunna skapa nya LUIS-resurser. Vi rekommenderar att du migrerar dina LUIS-program till förståelse för konversationsspråk för att dra nytta av fortsatt produktsupport och flerspråkiga funktioner.

LUIS ger dig möjlighet att hämta information från en användares naturliga språkyttranden. Informationen extraheras på ett sätt som kan användas av ett program, ett program eller en chattrobot för att vidta åtgärder. I följande avsnitt får du lära dig vilka data som returneras från avsikter och entiteter med exempel på JSON.

De svåraste data att extrahera är maskininlärningsdata eftersom det inte är en exakt textmatchning. Dataextrahering av maskininlärningsentiteter måste ingå i redigeringscykeln tills du är säker på att du får de data du förväntar dig.

Dataplats och nyckelanvändning

LUIS extraherar data från användarens yttrande vid den publicerade slutpunkten. HTTPS-begäran (POST eller GET) innehåller yttrandet samt några valfria konfigurationer, till exempel mellanlagrings- eller produktionsmiljöer.

V2-förutsägelseslutpunktsbegäran

https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&q=book 2 tickets to paris

V3-förutsägelseslutpunktsbegäran

https://westus.api.cognitive.microsoft.com/luis/v3.0-preview/apps/<appID>/slots/<slot-type>/predict?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&query=book 2 tickets to paris

appID Finns på sidan Inställningar i LUIS-appen samt en del av URL:en (efter /apps/) när du redigerar LUIS-appen. subscription-key är slutpunktsnyckeln som används för att fråga din app. Du kan använda din kostnadsfria redigerings-/startnyckel medan du lär dig LUIS, men det är viktigt att ändra slutpunktsnyckeln till en nyckel som stöder din förväntade LUIS-användning. Enheten timezoneOffset är minuter.

HTTPS-svaret innehåller all avsikts- och entitetsinformation som LUIS kan fastställa baserat på den aktuella publicerade modellen för antingen mellanlagrings- eller produktionsslutpunkten. Slutpunkts-URL:en finns på LUIS-webbplatsen i avsnittet Hanterasidan Nycklar och slutpunkter .

Data från avsikter

De primära data är det namn på den mest poänggivande avsikten. Slutpunktssvaret är:

{
  "query": "when do you open next?",
  "topScoringIntent": {
    "intent": "GetStoreInfo",
    "score": 0.984749258
  },
  "entities": []
}
Dataobjekt Datatyp Dataplats Värde
Avsikt String topScoringIntent.intent "GetStoreInfo"

Om din chattrobot eller LUIS-anropande app fattar ett beslut baserat på mer än en avsiktspoäng returnerar du alla avsikters poäng.

Ange parametern querystring, verbose=true. Slutpunktssvaret är:

{
  "query": "when do you open next?",
  "topScoringIntent": {
    "intent": "GetStoreInfo",
    "score": 0.984749258
  },
  "intents": [
    {
      "intent": "GetStoreInfo",
      "score": 0.984749258
    },
    {
      "intent": "None",
      "score": 0.2040639
    }
  ],
  "entities": []
}

Avsikterna sorteras från högsta till lägsta poäng.

Dataobjekt Datatyp Dataplats Värde Poäng
Avsikt String intents[0].intent "GetStoreInfo" 0.984749258
Avsikt String intents[1].intent "Ingen" 0.0168218873

Om du lägger till fördefinierade domäner anger avsiktsnamnet domänen, till exempel Utilties eller Communication samt avsikten:

{
  "query": "Turn on the lights next monday at 9am",
  "topScoringIntent": {
    "intent": "Utilities.ShowNext",
    "score": 0.07842206
  },
  "intents": [
    {
      "intent": "Utilities.ShowNext",
      "score": 0.07842206
    },
    {
      "intent": "Communication.StartOver",
      "score": 0.0239675418
    },
    {
      "intent": "None",
      "score": 0.0168218873
    }],
  "entities": []
}
Domain Dataobjekt Datatyp Dataplats Värde
Verktyg Avsikt String intents[0].intent "Verktyg. VisaNästa"
Kommunikation Avsikt String intents[1].intent Kommunikation. StartOver"
Avsikt String intents[2].intent "Ingen"

Data från entiteter

De flesta chattrobotar och program behöver mer än avsiktsnamnet. Dessa ytterligare, valfria data kommer från entiteter som identifieras i yttrandet. Varje typ av entitet returnerar olika information om matchningen.

Ett ord eller en fras i ett yttrande kan matcha mer än en entitet. I så fall returneras varje matchande entitet med dess poäng.

Alla entiteter returneras i entitetsmatrisen för svaret från slutpunkten

Tokeniserad entitet som returneras

Granska tokensupporten i LUIS.

Fördefinierade entitetsdata

Fördefinierade entiteter identifieras baserat på en reguljär uttrycksmatchning med projektet Recognizers-Text med öppen källkod. Fördefinierade entiteter returneras i entitetsmatrisen och använder typnamnet prefixet med builtin::.

Lista entitetsdata

Listentiteter representerar en fast, stängd uppsättning relaterade ord tillsammans med deras synonymer. LUIS identifierar inte ytterligare värden för listentiteter. Använd funktionen Rekommendera om du vill se förslag på nya ord baserat på den aktuella listan. Om det finns fler än en listentitet med samma värde returneras varje entitet i slutpunktsfrågan.

Entitetsdata för reguljära uttryck

En entitet med reguljära uttryck extraherar en entitet baserat på ett reguljärt uttryck som du anger.

Extrahera namn

Det är svårt att hämta namn från ett yttrande eftersom ett namn kan vara nästan vilken kombination som helst av bokstäver och ord. Beroende på vilken typ av namn du extraherar har du flera alternativ. Följande förslag är inte regler utan fler riktlinjer.

Lägga till fördefinierade PersonName- och GeographyV2-entiteter

PersonName- och GeographyV2-entiteter är tillgängliga i vissa språkkulturer.

Namn på personer

Personer namn kan ha lite format beroende på språk och kultur. Använd antingen en fördefinierad personName-entitet eller en enkel entitet med roller med för- och efternamn.

Om du använder den enkla entiteten ser du till att ge exempel som använder för- och efternamn i olika delar av yttrandet, i yttranden med olika längd och yttranden i alla avsikter, inklusive avsikten Ingen. Granska slutpunktsyttranden regelbundet för att märka namn som inte förutsagts korrekt.

Namn på platser

Platsnamn anges och kallas för städer, län, delstater, provinser och länder/regioner. Använd den fördefinierade entiteten geographyV2 för att extrahera platsinformation.

Nya och nya namn

Vissa appar måste kunna hitta nya och nya namn, till exempel produkter eller företag. Dessa typer av namn är den svåraste typen av dataextrahering. Börja med en enkel entitet och lägg till en fraslista. Granska slutpunktsyttranden regelbundet för att märka namn som inte förutsagts korrekt.

Pattern.any-entitetsdata

Pattern.any är en platshållare med variabel längd som endast används i ett mönsters mallyttrande för att markera var entiteten börjar och slutar. Entiteten som används i mönstret måste hittas för att mönstret ska kunna tillämpas.

Attitydanalys

Om attitydanalys konfigureras vid publicering innehåller LUIS json-svaret attitydanalys. Läs mer om attitydanalys i dokumentationen för Språktjänsten .

Extrahering av entitetsdata för nyckelfraser

Entiteten extrahering av nyckelfraser returnerar nyckelfraser i yttrandet som tillhandahålls av språktjänsten.

Data som matchar flera entiteter

LUIS returnerar alla entiteter som identifierats i yttrandet. Därför kan chattroboten behöva fatta ett beslut baserat på resultatet.

Data som matchar flera listentiteter

Om ett ord eller en fras matchar mer än en listentitet returnerar slutpunktsfrågan varje listentitet.

För frågan when is the best time to go to red rock?, och appen har ordet red i mer än en lista, identifierar LUIS alla entiteter och returnerar en matris med entiteter som en del av JSON-slutpunktssvaret.

Nästa steg

Mer information om hur du lägger till entiteter i LUIS-appen finns i Lägga till entiteter .