Extrahieren von Daten aus dem Äußerungstext mit Absichten und Entitäten

Wichtig

LUIS wird am 1. Oktober 2025 eingestellt, und ab dem 1. April 2023 können Sie keine neuen LUIS-Ressourcen erstellen. Es wird die Migration Ihrer LUIS-Anwendungen zu Conversational Language Understanding empfohlen, um fortgesetzte Produktunterstützung und mehrsprachige Funktionen zu erhalten.

LUIS bietet Ihnen die Möglichkeit, Informationen aus Benutzeräußerungen in natürlicher Sprache zu erfassen. Die Informationen werden so extrahiert, dass sie von einem Programm, einer Anwendung oder einem Chatbot verwendet werden können. In den folgenden Abschnitten erfahren Sie anhand von JSON-Beispielen, welche Daten von Absichten und Entitäten zurückgegeben werden.

Am schwierigsten sind Machine-Learning-Daten zu extrahieren, da es sich nicht um genaue Textübereinstimmungen handelt. Das Extrahieren von Daten aus Machine-Learning-Entitäten muss im Rahmen des Erstellungszyklus erfolgen, bis Sie sicher sind, dass Sie die erwarteten Daten erhalten.

Speicherort der Daten und Schlüsselverwendung

Von LUIS werden Daten aus der Äußerung des Benutzers am veröffentlichten Endpunkt extrahiert. Die HTTPS-Anforderung (POST oder GET) enthält die Äußerung sowie einige optionale Konfigurationen wie z.B. Staging- oder Produktionsumgebung.

V2 – Anforderung für Vorhersageendpunkt

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 – Anforderung für Vorhersageendpunkt

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

Die App-ID (appID) finden Sie auf der Seite Einstellungen Ihrer LUIS-App sowie in der URL (nach /apps/), wenn Sie diese LUIS-App bearbeiten. Der subscription-key ist der Endpunktschlüssel, der für Abfragen an Ihre App verwendet wird. Sie können zwar Ihren kostenlosen Erstellungs-/Startschlüssel verwenden, während Sie sich mit LUIS vertraut machen, es ist aber wichtig, dass Sie den Endpunktschlüssel in einen Schlüssel ändern, der die erwartete LUIS-Nutzung unterstützt. Die Einheit für das timezoneOffset ist Minuten.

Die HTTPS-Antwort enthält alle Informationen zur Absicht und den Entitäten, die LUIS anhand des aktuell veröffentlichten Modells auf dem Staging- oder Produktionsendpunkt ermitteln konnte. Die Endpunkt-URL befindet sich auf der LUIS-Website auf der Seite Schlüssel und Endpunkte im Abschnitt Verwalten.

Daten aus Absichten

Die wichtigste Angabe ist der Name der Absicht mit der höchsten Bewertung. Die Endpunktantwort lautet:

{
  "query": "when do you open next?",
  "topScoringIntent": {
    "intent": "GetStoreInfo",
    "score": 0.984749258
  },
  "entities": []
}
Datenobjekt Datentyp Speicherort der Daten Wert
Intent String topScoringIntent.intent "GetStoreInfo"

Wenn Ihr Chatbot oder die App, die den Aufruf an LUIS durchgeführt hat, eine Entscheidung basierend auf mehreren Absichtsbewertungen trifft, geben Sie die Bewertungen aller Absichten zurück.

Legen Sie den QueryString-Parameter verbose=true fest. Die Endpunktantwort lautet:

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

Die Absichten werden von der höchsten zur niedrigsten Bewertung sortiert.

Datenobjekt Datentyp Speicherort der Daten Wert Ergebnis
Intent String intents[0].intent "GetStoreInfo" 0.984749258
Intent String intents[1].intent "None" 0.0168218873

Wenn Sie vordefinierte Domänen hinzufügen, gibt der Name der Absicht die Domäne, wie z.B. Utilties oder Communication, sowie die Absicht an:

{
  "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": []
}
Domäne Datenobjekt Datentyp Speicherort der Daten Wert
Versorgungsunternehmen Intent String intents[0].intent "Utilities.ShowNext"
Kommunikation Intent String intents[1].intent Communication.StartOver"
Intent String intents[2].intent "None"

Daten von Entitäten

Die meisten Chatbots und Anwendungen benötigen mehr als den Namen der Absicht. Diese zusätzlichen, optionalen Daten stammen von Entitäten, die in der Äußerung erkannt wurden. Jeder Entitätstyp gibt andere Informationen zur Übereinstimmung zurück.

Ein einzelnes Wort oder ein Ausdruck in einer Äußerung kann mehreren Entitäten entsprechen. In diesem Fall wird jede übereinstimmende Entität mit ihrer Bewertung zurückgegeben.

Alle Entitäten werden im Array entities der Endpunktantwort zurückgegeben.

Zurückgegebene tokenisierte Entität

Überprüfen Sie die Tokenunterstützung in LUIS.

Daten vordefinierter Entität

Vordefinierte Entitäten werden basierend auf einer Übereinstimmung mit einem regulären Ausdruck mithilfe des Open-Source-Projekts Recognizers-Text ermittelt. Die vordefinierten Entitäten werden im Array „entities“ zurückgegeben. Dabei wird dem Typnamen das Präfix builtin:: vorangestellt.

Daten von Listenentitäten

Listenentitäten stellen eine feste, geschlossene Gruppe verwandter Wörter zusammen mit ihren Synonymen dar. LUIS ermittelt keine zusätzlichen Werte für Listenentitäten. Suchen Sie mithilfe des Features Empfehlen nach Vorschlägen für neue Wörter basierend auf der aktuellen Liste. Wenn mehr als eine Listenentität mit demselben Wert vorhanden ist, wird in der Endpunktabfrage jede Entität zurückgegeben.

Daten von Entitäten aus regulären Ausdrücken

Bei einer Entität vom Typ „Regulärer Ausdruck“ wird eine Entität anhand eines von Ihnen angegebenen regulären Ausdrucks extrahiert.

Extrahieren von Namen

Das Abrufen von Namen aus einer Äußerung ist schwierig, da es sich bei einem Namen um nahezu jede Kombination aus Buchstaben und Wörtern handeln kann. Je nach Art des Namens, den Sie extrahieren möchten, haben Sie verschiedene Optionen. Die folgenden Vorschläge sind keine Regeln, sondern eher Richtlinien.

Hinzufügen der vordefinierten Entitäten „PersonName“ und „GeographyV2“

Die Entitäten PersonName und GeographyV2 sind in einigen Sprachkulturen verfügbar.

Namen von Personen

Für Namen von Personen gelten je nach Sprache und Kultur nur wenige Formatvorgaben. Verwenden Sie entweder eine vordefinierte personName -Entität oder eine einfache Entität mit Rollen für Vor- und Nachname.

Wenn Sie die einfache Entität verwenden, geben Sie unbedingt Beispiele an, bei denen die Vor- und Nachnamen an unterschiedlichen Positionen in der Äußerung, in Äußerungen von verschiedener Länge und in Äußerungen aller Absichten (einschließlich der Absicht „None“) verwendet werden. Überprüfen Sie die Endpunktäußerungen regelmäßig, um alle Namen zu bezeichnen, die nicht richtig vorhergesagt wurden.

Namen von Orten

Namen von Orten sind feststehend und bekannt. Sie umfassen z. B. Städte, Landkreise, Bundesländer, Provinzen und Länder/Regionen. Verwenden Sie die vordefinierte Entität geographieV2 , um Standortinformationen zu extrahieren.

Neue und sich entwickelnde Namen

Einige Apps müssen in der Lage sein, neue oder sich entwickelnde Namen, z.B. von Produkten oder Unternehmen, finden zu können. Solche Namen sind am schwersten zu extrahieren. Beginnen Sie mit einer einfachen Entität , und fügen Sie eine Ausdrucksliste hinzu. Überprüfen Sie die Endpunktäußerungen regelmäßig, um alle Namen zu bezeichnen, die nicht richtig vorhergesagt wurden.

Daten in Entitäten vom Typ „Pattern.any“

Pattern.any ist ein Platzhalter variabler Länge, der nur in der Vorlagenäußerung eines Musters verwendet wird, um zu kennzeichnen, wo die Entität beginnt und endet. Die im Muster verwendete Entität muss gefunden werden, damit das Muster angewendet wird.

Stimmungsanalyse

Wenn beim Veröffentlichen die Stimmungsanalyse konfiguriert wird, enthält die JSON-Antwort von LUIS eine Stimmungsanalyse. Weitere Informationen zur Stimmungsanalyse finden Sie in der Dokumentation zum Sprachdienst.

Daten von Entitäten zur Schlüsselbegriffserkennung

Von der Entität zur Schlüsselbegriffserkennung werden Schlüsselausdrücke in der Äußerung zurückgegeben, die vom Sprachdienst bereitgestellt werden.

Datenabgleich bei mehreren Entitäten

LUIS gibt alle Entitäten zurück, die in der Äußerung ermittelt wurden. Folglich muss Ihr Chatbot unter Umständen eine Entscheidung basierend auf den Ergebnissen treffen.

Daten, die mehreren Listenentitäten entsprechen

Wenn ein Wort oder ein Ausdruck mit mehreren Listenentitäten übereinstimmt, wird bei der Endpunktabfrage jede Listenentität zurückgegeben.

Wenn die App bei der Abfrage when is the best time to go to red rock? das Wort red in mehreren Listen enthält, erkennt LUIS alle Entitäten und gibt als Teil der JSON-Endpunktantwort ein Array von Entitäten zurück.

Nächste Schritte

Weitere Informationen zum Hinzufügen von Entitäten zu LUIS-Apps finden Sie unter Hinzufügen von Entitäten.