Tutorial: Abrufen von Daten mit genauer Textübereinstimmung aus einer ÄußerungTutorial: Get exact text-matched data from an utterance

In diesem Tutorial lernen Sie, wie Entitätsdaten abgerufen werden, die mit einer vordefinierten Liste von Elementen übereinstimmen.In this tutorial, understand how to get entity data that matches a predefined list of items.

In diesem Tutorial lernen Sie Folgendes:In this tutorial, you learn how to:

  • Erstellen einer AppCreate app
  • Hinzufügen einer AbsichtAdd intent
  • Hinzufügen einer Entität vom Typ „Liste“Add list entity
  • TrainierenTrain
  • VeröffentlichenPublish
  • Abrufen von Absichten und Entitäten vom EndpunktGet intents and entities from endpoint

Für diesen Artikel können Sie das kostenlose LUIS-Konto für die Erstellung Ihrer LUIS-Anwendung verwenden.For this article, you can use the free LUIS account in order to author your LUIS application.

Was ist eine Listenentität?What is a list entity?

Eine Listenentität ist eine genaue Textübereinstimmung mit den Wörtern in der Äußerung.A list entity is an exact text match to the words in the utterance.

Jedes Element auf der Liste kann eine Liste mit Synonymen enthalten.Each item on the list can include a list of synonyms. Für eine Personalverwaltungs-App kann eine Abteilung im Unternehmen anhand einiger Schlüsselinformationen identifiziert werden, etwa ihres offiziellen Namens, gängiger Akronyme und Codes der Buchhaltung.For the human resources app, a company department can be identified by several key pieces of information such as an official name, common acronyms, and billing department codes.

Die Personalverwaltungs-App muss die Abteilung bestimmen, zu der ein Mitarbeiter wechselt.The Human Resources app needs to determine the department an employee is transferring to.

Eine Listenentität ist eine gute Wahl für diese Art von Daten, wenn Folgendes gilt:A list entity is a good choice for this type of data when:

  • Bei den Datenwerten handelt es sich um einen bekannten Satz.The data values are a known set.
  • Für den Satz werden die maximalen LUIS-Grenzen dieses Entitätstyps nicht überschritten.The set doesn't exceed the maximum LUIS boundaries for this entity type.
  • Der Text in der Äußerung ist eine exakte Übereinstimmung mit einem Synonym oder dem kanonischen Namen.The text in the utterance is an exact match with a synonym or the canonical name. LUIS verwendet die Liste über genaue Textübereinstimmungen hinaus nicht.LUIS doesn't use the list beyond exact text matches. Wortstammerkennung, Pluralformen und andere Varianten lassen sich nur mithilfe einer Listenentität nicht auflösen.Stemming, plurals, and other variations are not resolved with just a list entity. Um Varianten zu behandeln, ziehen Sie die Verwendung eines Musters mit der optionalen Textsyntax in Erwägung.To manage variations, consider using a pattern with the optional text syntax.

Erstellen einer neuen AppCreate a new app

  1. Melden Sie sich beim LUIS-Portal mit der URL https://www.luis.ai an.Sign in to the LUIS portal with the URL of https://www.luis.ai.

  2. Klicken Sie auf Create new app (Neue App erstellen).Select Create new app.

    Screenshot der Seite „Meine Apps“ von Language Understanding (LUIS)Screenshot of Language Understanding (LUIS) My Apps page

  3. Geben Sie im Popupdialogfeld den Namen HumanResources ein, und behalten Sie die Standardkultur Englisch bei.In the pop-up dialog, enter the name HumanResources and keep the default culture, English. Lassen Sie die Beschreibung leer.Leave the description empty.

    Erstellen einer neuen LUIS-App namens „HumanResources“

  4. Wählen Sie Fertigaus.Select Done. Als nächstes zeigt die App die Seite Absichten mit der Absicht Keine an.Next, the app shows the Intents page with the None Intent.

Erstellen Sie eine Absicht, um Mitarbeiter in eine andere Abteilung zu überstellenCreate an intent to transfer employees to a different department

  1. Vergewissern Sie sich, dass sich Ihre Personal-App im LUIS-Abschnitt Build befindet.Make sure your Human Resources app is in the Build section of LUIS. Zu diesem Abschnitt gelangen Sie, indem Sie rechts oben auf der Menüleiste Build auswählen.You can change to this section by selecting Build on the top, right menu bar.

  2. Wählen Sie Create new intent (Neue Absicht erstellen) aus.Select Create new intent.

  3. Geben Sie im Popupdialogfeld die Zeichenfolge TransferEmployeeToDepartment ein, und klicken Sie anschließend auf Fertig.Enter TransferEmployeeToDepartment in the pop-up dialog box then select Done.

    Screenshot: Dialogfenster „Create new intent“ (Neue Absicht erstellen)

  4. Fügen Sie der Absicht Beispieläußerungen hinzu.Add example utterances to the intent.

    Beispiele für ÄußerungenExample utterances
    „move John W. Smith to the accounting department“ (John W. Smith in die Buchhaltungsabteilung versetzen)move John W. Smith to the accounting department
    Übertragen Sie Jill Jones an F&Etransfer Jill Jones from to R&D
    Abteilung 1234 hat ein neues Mitglied namens Bill BradstreetDept 1234 has a new member named Bill Bradstreet
    Setzen Sie John Jackson in der technischen Abteilung einPlace John Jackson in Engineering
    Versetzen Sie Debra Doughtery in den Inlandsvertriebmove Debra Doughtery to Inside Sales
    Versetzen Sie Jill Jones in die ITmv Jill Jones to IT
    Bringen Sie Alice Anderson in DevOps unterShift Alice Anderson to DevOps
    Carl Chamerlin wechselt zu FinanzenCarl Chamerlin to Finance
    Steve Standish in 1234Steve Standish to 1234
    Tanner Thompson in 3456Tanner Thompson to 3456

    Screenshot einer Absicht mit BeispieläußerungenScreenshot of intent with example utterances

    Diese Äußerungen dienen lediglich zur Veranschaulichung.These few utterances are for demonstration purposes only. Eine reale App sollte mindestens 15 Äußerungen mit unterschiedlicher Länge, Wortstellung, Zeitform, grammatikalischer Genauigkeit, Zeichensetzung und Wortanzahl enthalten.A real-world app should have at least 15 utterances of varying length, word order, tense, grammatical correctness, punctuation, and word count.

Entität „Abteilungsliste“Department list entity

Jetzt, da für die Absicht TransferEmployeeToDepartment Beispieläußerungen vorhanden sind, muss LUIS verstehen, was eine Abteilung ist.Now that the TransferEmployeeToDepartment intent has example utterances, LUIS needs to understand what is a department.

Der primäre, kanonische Name für jedes Element ist der Abteilungsname.The primary, canonical, name for each item is the department name. Dies sind ein paar Beispiele für Synonyme der einzelnen kanonischen Namen:Examples of the synonyms of each canonical name are:

Kanonischer NameCanonical name SynonymeSynonyms
BuchhaltungAccounting Buchh.acct
Bchltngaccting
34563456
Entwicklung und BetriebDevelopment Operations DevOpsDevops
49494949
EntwicklungEngineering Entweng
Devenging
45674567
FinanzenFinance Finfin
20202020
InformationstechnologieInformation Technology ITIT
23232323
Vertrieb InlandInside Sales I-Vertriebisale
I-Vertr.insale
14141414
Forschung und EntwicklungResearch and Development F&ER&D
12341234
  1. Klicken Sie im linken Bereich auf Entitäten.Select Entities in the left panel.

  2. Wählen Sie Neue Entität erstellen aus.Select Create new entity.

  3. Geben Sie im Popupdialogfeld Department als Entitätsname und List (Liste) als Entitätstyp ein.In the entity pop-up dialog, enter Department for the entity name, and List for entity type. Wählen Sie Fertigaus.Select Done.

    Screenshot des Popupdialogfensters zum Erstellen einer neuen EntitätScreenshot of creating new entity pop-up dialog

  4. Geben Sie auf der Seite mit der Abteilungsentität Accounting als neuen Wert ein.On the Department entity page, enter Accounting as the new value.

    Screenshot der Eingabe eines WertsScreenshot of entering value

  5. Fügen Sie als Synonyme die Synonyme aus der vorhergehenden Tabelle ein.For Synonyms, add the synonyms from the previous table.

    Screenshot der Eingabe von SynonymenScreenshot of entering synonyms

  6. Fahren Sie mit dem Hinzufügen aller kanonischen Namen und ihrer Synonyme fort.Continue adding all the canonical names and their synonyms.

Fügen Sie der Absicht „None“ Beispieläußerungen hinzuAdd example utterances to the None intent

Die Clientanwendung muss wissen, ob eine Äußerung für die Anwendung unsinnig oder ungeeignet ist.The client application needs to know if an utterance is not meaningful or appropriate for the application. Die Absicht None (Keine) wird jeder Anwendung bei ihrer Erstellung hinzugefügt, um zu bestimmen, ob eine Äußerung nicht von der Clientanwendung beantwortet werden kann.The None intent is added to each application as part of the creation process to determine if an utterance can't be answered by the client application.

Wenn LUIS für eine Äußerung die Absicht None (Keine) zurückgibt, kann Ihre Clientanwendung fragen, ob der Benutzer die Unterhaltung beenden oder weitere Anweisungen zum Fortsetzen der Unterhaltung angeben möchte.If LUIS returns the None intent for an utterance, your client application can ask if the user wants to end the conversation or give more directions for continuing the conversation.

Achtung

Belassen Sie die Absicht None (Keine) nicht leer.Do not leave the None intent empty.

  1. Klicken Sie im linken Bereich auf Intents (Absichten).Select Intents from the left panel.

  2. Wählen Sie die Absicht None (Keine) aus.Select the None intent. Fügen Sie drei Äußerungen hinzu, die der Benutzer unter Umständen eingibt, die für Ihre Personalwesen-App jedoch nicht relevant sind:Add three utterances that your user might enter but are not relevant to your Human Resources app:

    Beispiele für ÄußerungenExample utterances
    Bellende Hunde sind nervigBarking dogs are annoying
    Bestell mir eine PizzaOrder a pizza for me
    Pinguine im OzeanPenguins in the ocean

Trainieren der App, um die Absichtsänderungen testen zu könnenTrain the app so the changes to the intent can be tested

  1. Wählen Sie oben rechts auf der LUIS-Website die Schaltfläche Train (Trainieren) aus.In the top right side of the LUIS website, select the Train button.

    Schaltfläche „Train“ (Trainieren)

  2. Das Training ist abgeschlossen, wenn oben auf der Website die grüne Statusleiste angezeigt wird.Training is complete when you see the green status bar at the top of the website confirming success.

    Statusleiste bei abgeschlossenem Training

Veröffentlichen der App, damit das trainierte Modell über den Endpunkt abgefragt werden kannPublish the app so the trained model is queryable from the endpoint

Damit Sie eine LUIS-Vorhersage in einem Chatbot oder einer anderen Clientanwendung empfangen können, muss die App im Endpunkt veröffentlicht werden.In order to receive a LUIS prediction in a chat bot or other client application, you need to publish the app to the endpoint.

  1. Klicken Sie im Navigationsbereich oben rechts auf Veröffentlichen.Select Publish in the top right navigation.

    Schaltfläche für das Veröffentlichen von LUIS im Endpunkt im Menü oben rechts

  2. Wählen Sie den Produktionsslot und dann die Schaltfläche Veröffentlichen aus.Select the Production slot and the Publish button.

    Veröffentlichen von LUIS im Endpunkt

  3. Die Veröffentlichung ist abgeschlossen, wenn oben auf der Website die grüne Statusleiste angezeigt wird.Publishing is complete when you see the green status bar at the top of the website confirming success.

    Veröffentlichen von LUIS im Endpunkt

  4. Wählen Sie den Link Endpunkte in der grünen Statusleiste aus, um zur Seite Schlüssel und Endpunkte zu wechseln.Select the endpoints link in the green status bar to go to the Keys and endpoints page. Die Endpunkt-URLs sind unten aufgeführt.The endpoint URLs are listed at the bottom.

Abrufen von Absicht und Entitätsvorhersage vom EndpunktGet intent and entity prediction from endpoint

  1. Wählen Sie auf der Seite Schlüssel und Endpunkte (linkes Menü) im Abschnitt Verwalten (Menü oben rechts) die Endpunkt-URL unten auf der Seite aus.In the Manage section (top right menu), on the Keys and endpoints page (left menu), select the endpoint URL at the bottom of the page. Hierdurch wird eine weitere Browserregisterkarte mit der Endpunkt-URL in der Adressleiste geöffnet.This action opens another browser tab with the endpoint URL in the address bar.

    Die Endpunkt-URL sieht etwa so aus: https://<region>.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?verbose=true&subscription-key=<YOUR_KEY>&<optional-name-value-pairs>&q=<user-utterance-text>.The endpoint URL looks like https://<region>.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?verbose=true&subscription-key=<YOUR_KEY>&<optional-name-value-pairs>&q=<user-utterance-text>.

  2. Geben Sie in der Adressleiste am Ende der URL shift Joe Smith to IT ein.Go to the end of the URL in the address and enter shift Joe Smith to IT. Der letzte Parameter der Abfragezeichenfolge lautet q (für die Abfrage („query“) der Äußerung).The last querystring parameter is q, the utterance query. Diese Äußerung entspricht keiner der bezeichneten Äußerungen. Sie ist daher ein guter Test, und es sollte die Absicht TransferEmployeeToDepartment mit Extrahierung von Department zurückgegeben werden.This utterance is not the same as any of the labeled utterances so it is a good test and should return the TransferEmployeeToDepartment intent with Department extracted.

     {
       "query": "shift Joe Smith to IT",
       "topScoringIntent": {
         "intent": "TransferEmployeeToDepartment",
         "score": 0.9775754
       },
       "intents": [
         {
           "intent": "TransferEmployeeToDepartment",
           "score": 0.9775754
         },
         {
           "intent": "None",
           "score": 0.0154493852
         }
       ],
       "entities": [
         {
           "entity": "it",
           "type": "Department",
           "startIndex": 19,
           "endIndex": 20,
           "resolution": {
             "values": [
               "Information Technology"
             ]
           }
         }
       ]
     }
    

Bereinigen von RessourcenClean up resources

Löschen Sie die LUIS-App, falls Sie sie nicht mehr benötigen.When no longer needed, delete the LUIS app. Wählen Sie hierzu im Menü oben links die Option Meine Apps.To do so, select My apps from the top left menu. Klicken Sie in der Liste rechts vom App-Namen auf die Auslassungspunkte (...) und anschließend auf Löschen.Select the ellipsis (...) to the right of the app name in the app list, select Delete. Wählen Sie im Popupdialogfenster Delete App? (App löschen?) OK aus.On the pop-up dialog Delete app?, select Ok.

Nächste SchritteNext steps

In diesem Tutorial wurden eine neue Absicht erstellt, Beispieläußerungen hinzugefügt und dann eine Listenentität erstellt, um exakte Textübereinstimmungen aus Äußerungen zu extrahieren.This tutorial created a new intent, added example utterances, then created a list entity to extract exact text matches from utterances. Nach dem Trainieren und Veröffentlichen der App hat eine Abfrage des Endpunkts die Absicht identifiziert und die extrahierten Daten zurückgegeben.After training, and publishing the app, a query to the endpoint identified the intention and returned the extracted data.

Fahren Sie mit dieser App fort, mit Hinzufügen einer Entität vom Typ „Composite“.Continue with this app, adding a composite entity.