Gegevens extraheren uit utterancetekst met intenties en entiteiten

Belangrijk

LUIS wordt op 1 oktober 2025 buiten gebruik gesteld en vanaf 1 april 2023 kunt u geen nieuwe LUIS-resources maken. We raden u aan uw LUIS-toepassingen te migreren naar gesprekstaalbegrip om te profiteren van continue productondersteuning en meertalige mogelijkheden.

LUIS biedt u de mogelijkheid om informatie op te halen uit de uitingen van natuurlijke taal van een gebruiker. De informatie wordt geëxtraheerd op een manier die kan worden gebruikt door een programma, toepassing of chatbot om actie te ondernemen. In de volgende secties leert u welke gegevens worden geretourneerd uit intenties en entiteiten met voorbeelden van JSON.

De moeilijkste gegevens die moeten worden geëxtraheerd, zijn de machine learning-gegevens, omdat deze geen exacte tekstovereenkomst zijn. Gegevensextractie van de machine learning-entiteitenmoet deel uitmaken van de ontwerpcyclus totdat u zeker weet dat u de verwachte gegevens ontvangt.

Gebruik van gegevenslocatie en sleutel

LUIS extraheert gegevens uit de uiting van de gebruiker op het gepubliceerde eindpunt. De HTTPS-aanvraag (POST of GET) bevat de utterance en enkele optionele configuraties, zoals faserings- of productieomgevingen.

Aanvraag voor V2-voorspellingseindpunt

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

Aanvraag voor V3-voorspellingseindpunt

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

De appID app is beschikbaar op de Instellingen pagina van uw LUIS-app, evenals een deel van de URL (na/apps/) wanneer u die LUIS-app bewerkt. Dit subscription-key is de eindpuntsleutel die wordt gebruikt voor het uitvoeren van query's op uw app. Hoewel u uw gratis creatie-/starterssleutel kunt gebruiken terwijl u LUIS leert, is het belangrijk om de eindpuntsleutel te wijzigen in een sleutel die ondersteuning biedt voor uw verwachte LUIS-gebruik. De timezoneOffset eenheid is minuten.

Het HTTPS-antwoord bevat alle intentie- en entiteitsgegevens die LUIS kan bepalen op basis van het huidige gepubliceerde model van het faserings- of productie-eindpunt. De eindpunt-URL vindt u op de LUIS-website , in de sectie Beheren , op de pagina Sleutels en eindpunten .

Gegevens uit intenties

De primaire gegevens zijn de naam van de beste scorende intentie. Het eindpuntantwoord is:

{
  "query": "when do you open next?",
  "topScoringIntent": {
    "intent": "GetStoreInfo",
    "score": 0.984749258
  },
  "entities": []
}
Gegevensobject Gegevenstype Gegevenslocatie Weergegeven als
Intentie String topScoringIntent.intent "GetStoreInfo"

Als uw chatbot of luis-aanroepende app een beslissing neemt op basis van meer dan één intentiescore, retourneert u alle scores van de intenties.

Stel de querytekenreeksparameter in. verbose=true Het eindpuntantwoord is:

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

De intenties worden gerangschikt van hoogste naar laagste score.

Gegevensobject Gegevenstype Gegevenslocatie Weergegeven als Score
Intentie String intents[0].intent "GetStoreInfo" 0.984749258
Intentie String intents[1].intent "Geen" 0.0168218873

Als u vooraf gedefinieerde domeinen toevoegt, geeft de intentienaam het domein aan, zoals Utilties of Communication de intentie:

{
  "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 Gegevensobject Gegevenstype Gegevenslocatie Weergegeven als
Hulpprogramma's Intentie String intents[0].intent "Hulpprogramma's. ShowNext"
Communicatie Intentie String intents[1].intent Communicatie. StartOver"
Intentie String intents[2].intent "Geen"

Gegevens van entiteiten

De meeste chatbots en toepassingen hebben meer nodig dan de intentienaam. Deze aanvullende, optionele gegevens zijn afkomstig van entiteiten die zijn gedetecteerd in de utterance. Elk type entiteit retourneert verschillende informatie over de overeenkomst.

Eén woord of woordgroep in een utterance kan overeenkomen met meer dan één entiteit. In dat geval wordt elke overeenkomende entiteit geretourneerd met de bijbehorende score.

Alle entiteiten worden geretourneerd in de matrix met entiteiten van het antwoord van het eindpunt

Tokenized entiteit geretourneerd

Controleer de tokenondersteuning in LUIS.

Vooraf gemaakte entiteitsgegevens

Vooraf gemaakte entiteiten worden gedetecteerd op basis van een reguliere expressieovereenkomst met behulp van het opensource Recognizers-Text-project . Vooraf gemaakte entiteiten worden geretourneerd in de matrix met entiteiten en gebruiken de typenaam met het voorvoegsel builtin::.

Entiteitsgegevens weergeven

Lijstentiteiten vertegenwoordigen een vaste, gesloten set gerelateerde woorden, samen met hun synoniemen. LUIS detecteert geen aanvullende waarden voor lijstentiteiten. Gebruik de functie Aanbevelen om suggesties voor nieuwe woorden weer te geven op basis van de huidige lijst. Als er meer dan één lijstentiteit met dezelfde waarde is, wordt elke entiteit geretourneerd in de eindpuntquery.

Entiteitsgegevens voor reguliere expressies

Een entiteit met een reguliere expressie extraheert een entiteit op basis van een reguliere expressie die u opgeeft.

Namen extraheren

Het ophalen van namen uit een uiting is moeilijk omdat een naam vrijwel elke combinatie van letters en woorden kan zijn. Afhankelijk van het type naam dat u ophaalt, hebt u verschillende opties. De volgende suggesties zijn geen regels, maar meer richtlijnen.

Vooraf gemaakte PersonName- en GeographyV2-entiteiten toevoegen

Entiteiten PersonName en GeographyV2 zijn beschikbaar in sommige taalculturen.

Namen van personen

de naam van Mensen kan een lichte indeling hebben, afhankelijk van de taal en cultuur. Gebruik een vooraf gedefinieerde personName-entiteit of een eenvoudige entiteit met rollen voor- en achternaam.

Als u de eenvoudige entiteit gebruikt, moet u voorbeelden geven die gebruikmaken van de voor- en achternaam in verschillende delen van de utterance, in uitingen van verschillende lengten en uitingen voor alle intenties, inclusief de intentie None. Controleer regelmatig eindpuntuitingen om namen te labelen die niet correct zijn voorspeld.

Namen van plaatsen

Locatienamen worden ingesteld en bekend als steden, provincies, provincies en landen/regio's. Gebruik de vooraf gedefinieerde entiteit geographyV2 om locatiegegevens te extraheren.

Nieuwe en opkomende namen

Sommige apps moeten nieuwe en opkomende namen kunnen vinden, zoals producten of bedrijven. Deze typen namen zijn het moeilijkste type gegevensextractie. Begin met een eenvoudige entiteit en voeg een woordgroepenlijst toe. Controleer regelmatig eindpuntuitingen om namen te labelen die niet correct zijn voorspeld.

Pattern.any-entiteitsgegevens

Pattern.any is een tijdelijke aanduiding voor variabele lengte die alleen wordt gebruikt in de sjabloonuiting van een patroon om aan te geven waar de entiteit begint en eindigt. De entiteit die in het patroon wordt gebruikt, moet worden gevonden om het patroon toe te passen.

Sentimentanalyse

Als sentimentanalyse is geconfigureerd tijdens het publiceren, bevat het JSON-antwoord van LUIS sentimentanalyse. Meer informatie over sentimentanalyse vindt u in de documentatie van de Language-service .

Entiteitsgegevens voor sleuteltermextractie

De entiteit sleuteltermextractie retourneert sleuteltermen in de uiting, geleverd door de Language-service.

Gegevens die overeenkomen met meerdere entiteiten

LUIS retourneert alle entiteiten die zijn gedetecteerd in de utterance. Als gevolg hiervan moet uw chatbot mogelijk een beslissing nemen op basis van de resultaten.

Gegevens die overeenkomen met meerdere lijstentiteiten

Als een woord of woordgroep overeenkomt met meer dan één lijstentiteit, retourneert de eindpuntquery elke entiteit Lijst.

Voor de query when is the best time to go to red rock?en de app het woord red in meer dan één lijst bevat, herkent LUIS alle entiteiten en retourneert een matrix met entiteiten als onderdeel van het JSON-eindpuntantwoord.

Volgende stappen

Zie Entiteiten toevoegen voor meer informatie over het toevoegen van entiteiten aan uw LUIS-app.