Batchtests mit einem Satz von BeispieläußerungenBatch testing with a set of example utterances

Mit Batchtests wird Ihre aktive trainierte Version überprüft, um ihre Vorhersagegenauigkeit zu messen.Batch testing validates your active trained version to measure its prediction accuracy. Ein Batchtest hilft Ihnen, die Genauigkeit der einzelnen Absichten und Entitäten in Ihrer aktuellen Version zu visualisieren.A batch test helps you view the accuracy of each intent and entity in your active version. Überprüfen Sie die Ergebnisse des Batchtests, um geeignete Maßnahmen zum Verbessern der Genauigkeit einzuleiten, etwa indem Sie einer Absicht weitere Beispieläußerungen hinzufügen, wenn Ihre App häufig Fehler beim Erkennen der korrekten Absicht oder beim Bezeichnen von Entitäten innerhalb der Äußerung macht.Review the batch test results to take appropriate action to improve accuracy, such as adding more example utterances to an intent if your app frequently fails to identify the correct intent or labeling entities within the utterance.

Gruppieren von Daten für BatchtestsGroup data for batch test

Es ist wichtig, dass die für Batchtests verwendeten Äußerungen für LUIS neu sind.It is important that utterances used for batch testing are new to LUIS. Wenn Sie über ein Dataset mit Äußerungen verfügen, teilen Sie die Äußerungen in die folgenden drei Gruppen auf: Beispieläußerungen, die einer Absicht hinzugefügt wurden, Äußerungen, die vom veröffentlichten Endpunkt empfangen wurden und Äußerungen, die für Batchtests von LUIS nach dem Training verwendet werden.If you have a data set of utterances, divide the utterances into three sets: example utterances added to an intent, utterances received from the published endpoint, and utterances used to batch test LUIS after it is trained.

Die von Ihnen verwendete JSON-Batchdatei sollte Äußerungen mit bezeichneten Machine Learning-Entitäten der obersten Ebene enthalten, einschließlich Start- und Endposition.The batch JSON file you use should include utterances with top-level machine-learning entities labeled including start and end position. Die Äußerungen sollten nicht Teil der Beispiele sein, die bereits in der App enthalten sind.The utterances should not be part of the examples already in the app. Es sollte sich um Äußerungen handeln, für die Sie in Bezug auf Absichten und Entitäten positive Vorhersagen treffen möchten.They should be utterances you want to positively predict for intent and entities.

Sie können Tests nach Absicht bzw. Entität unterteilen oder alle Tests (maximal 1.000 Äußerungen) in derselben Datei vorhalten.You can separate out tests by intent and/or entity or have all the tests (up to 1000 utterances) in the same file.

Häufige Fehler beim Importieren eines BatchesCommon errors importing a batch

Wenn beim Hochladen der Batchdatei in LUIS Fehler auftreten, überprüfen Sie, ob die folgenden häufig auftretenden Probleme vorliegen:If you run into errors uploading your batch file to LUIS, check for the following common issues:

  • Mehr als 1.000 Äußerungen in einer BatchdateiMore than 1,000 utterances in a batch file
  • Ein JSON-Äußerungsobjekt ohne Entitätseigenschaft.An utterance JSON object that doesn't have an entities property. Die Eigenschaft kann ein leeres Array sein.The property can be an empty array.
  • Wörter, die in mehreren Entitäten bezeichnet werdenWord(s) labeled in multiple entities
  • Entitätsbezeichnungen, die mit einem Leerzeichen beginnen oder endenEntity labels starting or ending on a space.

Beheben von BatchfehlernFixing batch errors

Wenn im Batchtest Fehler auftreten, können Sie entweder weitere Äußerungen zu einer Absicht hinzufügen und/oder weitere Äußerungen mit der Entität bezeichnen, um LUIS bei der Unterscheidung zwischen Absichten zu unterstützen.If there are errors in the batch testing, you can either add more utterances to an intent, and/or label more utterances with the entity to help LUIS make the discrimination between intents. Wenn Sie Äußerungen hinzugefügt und sie bezeichnet haben und trotzdem noch Vorhersagefehler beim Batchtest erhalten, erwägen Sie, ein Begriffslisten-Feature mit domänenspezifischem Fachwortschatz hinzuzufügen, um LUIS beim schnelleren Lernen zu unterstützen.If you have added utterances, and labeled them, and still get prediction errors in batch testing, consider adding a phrase list feature with domain-specific vocabulary to help LUIS learn faster.

Batchtests im LUIS-PortalBatch testing using the LUIS portal

Importieren und Trainieren einer Beispiel-AppImport and train an example app

Importieren Sie eine App, mit der eine Pizzabestellung angenommen wird, z. B. 1 pepperoni pizza on thin crust.Import an app that takes a pizza order such as 1 pepperoni pizza on thin crust.

  1. Laden Sie die App-JSON-Datei herunter, und speichern Sie sie.Download and save app JSON file.

  2. Melden Sie sich beim LUIS-Portal an, und wählen Sie Ihr Abonnement und Ihre Erstellungsressource aus, um die Apps anzuzeigen, die dieser Erstellungsressource zugewiesen sind.Sign in to the LUIS portal, and select your Subscription and Authoring resource to see the apps assigned to that authoring resource.

  3. Wählen Sie den Pfeil neben Neue App aus, und klicken Sie auf Als JSON importieren, um die JSON-Datei in eine neue App zu importieren.Select the arrow next to New app and click Import as JSON to import the JSON into a new app. Benennen Sie die App Pizza app.Name the app Pizza app.

  4. Wählen Sie oben rechts im Navigationsbereich die Option Trainieren aus, um die App zu trainieren.Select Train in the top-right corner of the navigation to train the app.

Rollen in BatchtestsRoles in batch testing

Achtung

Entitätsrollen werden bei Batchtests nicht unterstützt.Entity roles are not supported in batch testing.

BatchtestdateiBatch test file

Der JSON-Beispielcode enthält eine Äußerung mit einer bezeichneten Entität, um darzustellen, wie eine Testdatei aussieht.The example JSON includes one utterance with a labeled entity to illustrate what a test file looks like. Für Ihre eigenen Tests sollten Sie viele Äußerungen mit der richtigen Absicht und einer bezeichneten Machine Learning-Entität verwenden.In your own tests, you should have many utterances with correct intent and machine-learning entity labeled.

  1. Erstellen Sie pizza-with-machine-learned-entity-test.json in einem Text-Editor, oder laden Sie es herunter.Create pizza-with-machine-learned-entity-test.json in a text editor or download it.

  2. Fügen Sie in der Batchdatei im JSON-Format eine Äußerung mit der Absicht hinzu, für die Sie im Test eine Vorhersage erhalten möchten.In the JSON-formatted batch file, add an utterance with the Intent you want predicted in the test.

    [
        {
            "text": "I want to pick up 1 cheese pizza",
            "intent": "ModifyOrder",
            "entities": [
                {
                    "entity": "Order",
                    "startPos": 18,
                    "endPos": 31
                },
                {
                    "entity": "ToppingList",
                    "startPos": 20,
                    "endPos": 25
                }
            ]
        }
    ]
    

Ausführen des BatchsRun the batch

  1. Wählen Sie auf der oberen Navigationsleiste Test aus.Select Test in the top navigation bar.

  2. Wählen Sie im rechten Bereich Batch testing panel (Batchtestbereich) aus.Select Batch testing panel in the right-side panel.

    Link zum Testen in Batches

  3. Wählen Sie Importieren aus.Select Import. Wählen Sie im daraufhin angezeigten Dialogfeld Datei auswählen aus, und suchen Sie eine JSON-Datei mit dem richtigen JSON-Format, die höchstens 1.000 zu testende Äußerungen enthält.In the dialog box that appears, select Choose File and locate a JSON file with the correct JSON format that contains no more than 1,000 utterances to test.

    Fehler beim Importieren werden auf einer roten Benachrichtigungsleiste am oberen Rand des Browsers gemeldet.Import errors are reported in a red notification bar at the top of the browser. Wenn ein Import Fehler aufweist, wird kein Dataset erstellt.When an import has errors, no dataset is created. Weitere Informationen finden Sie unter Häufige Fehler.For more information, see Common errors.

  4. Wählen Sie den Speicherort für die Datei pizza-with-machine-learned-entity-test.json aus.Choose the file location of the pizza-with-machine-learned-entity-test.json file.

  5. Versehen Sie das Dataset mit dem Namen pizza test, und klicken Sie auf Fertig.Name the dataset pizza test and select Done.

  6. Wählen Sie die Schaltfläche Ausführen.Select the Run button. Wählen Sie nach der Ausführung des Batchtests Ergebnisse anzeigen aus.After the batch test runs, select See results.

    Tipp

    • Wenn Sie Download auswählen, wird dieselbe Datei heruntergeladen, die Sie hochgeladen haben.Selecting Download will download the same file that you uploaded.
    • Wenn Sie sehen, dass beim Batchtest ein Fehler aufgetreten ist, entsprach mindestens eine Absicht einer Äußerung nicht der Vorhersage.If you see the batch test failed, at least one utterance intent did not match the prediction.

Überprüfen der Batchergebnisse für AbsichtenReview batch results for intents

Wählen Sie zum Überprüfen der Batchtestergebnisse See results (Ergebnisse anzeigen) aus.To review the batch test results, select See results. Die Testergebnisse zeigen grafisch, wie die Testäußerungen für die aktive Version vorhergesagt wurden.The test results show graphically how the test utterances were predicted against the active version.

Das Batchdiagramm zeigt die Ergebnisse in vier Quadranten an.The batch chart displays four quadrants of results. Rechts neben dem Diagramm befindet sich ein Filter.To the right of the chart is a filter. Der Filter enthält Absichten und Entitäten.The filter contains intents and entities. Wenn Sie einen Diagrammabschnitt oder einen Punkt innerhalb des Diagramms auswählen, werden die zugehörigen Äußerungen unterhalb des Diagramms angezeigt.When you select a section of the chart or a point within the chart, the associated utterance(s) display below the chart.

Wenn Sie auf das Diagramm zeigen, können Sie mit dem Mausrad die Ansicht im Diagramm vergrößern oder verkleinern.While hovering over the chart, a mouse wheel can enlarge or reduce the display in the chart. Dies ist hilfreich, wenn es viele Punkte im Diagramm gibt, die nah beieinander gruppiert sind.This is useful when there are many points on the chart clustered tightly together.

Das Diagramm ist in vier Quadranten unterteilt, von denen zwei in Rot angezeigt werden.The chart is in four quadrants, with two of the sections displayed in red.

  1. Wählen Sie in der Filterliste die Absicht ModifyOrder aus.Select the ModifyOrder intent in the filter list. Die Äußerung wird als Richtig positiv vorhergesagt. Dies bedeutet, dass die Äußerung erfolgreich mit der zugehörigen positiven Vorhersage in der Batchdatei abgeglichen werden konnte.The utterance is predicted as a True Positive meaning the utterance successfully matched its positive prediction listed in the batch file.

    Erfolgreicher Abgleich der Äußerung mit der positiven VorhersageUtterance successfully matched its positive prediction

    Die grünen Häkchen in der Filterliste zeigen auch den Erfolg des Tests für jede Absicht an.The green checkmarks in the filters list also indicate the success of the test for each intent. Alle anderen Absichten sind mit einer positiven Bewertung von „1/1“ angegeben, da die Äußerung für jede Absicht getestet wurde – als negativer Test für alle Absichten, die im Batchtest nicht aufgeführt sind.All the other intents are listed with a 1/1 positive score because the utterance was tested against each intent, as a negative test for any intents not listed in the batch test.

  2. Wählen Sie die Absicht Bestätigung aus.Select the Confirmation intent. Diese Absicht ist im Batchtest nicht aufgelistet. Es handelt sich hierbei also um einen negativen Test der Äußerung aus dem Batchtest.This intent isn't listed in the batch test so this is a negative test of the utterance that is listed in the batch test.

    Erfolgreiche negative Vorhersage für die Äußerung für eine nicht in der Batchdatei enthaltene AbsichtUtterance successfully predicted negative for unlisted intent in batch file

    Der negative Test war erfolgreich. Dies ist am grünen Text im Filter und am Raster zu erkennen.The negative test was successful, as noted with the green text in the filter, and the grid.

Überprüfen der Ergebnisse von Batchtests für EntitätenReview batch test results for entities

Die Entität „ModifyOrder“ als Computerentität mit Unterentitäten zeigt an, ob sich für die Entität der obersten Ebene eine Übereinstimmung ergibt und wie die Vorhersage für die Unterentitäten lautet.The ModifyOrder entity, as a machine entity with subentities, displays if the top-level entity matched and how the subentities are predicted.

  1. Wählen Sie in der Filterliste die Entität ModifyOrder und anschließend im Raster den Kreis aus.Select the ModifyOrder entity in the filter list then select the circle in the grid.

  2. Die Entitätsvorhersage wird unterhalb des Diagramms angezeigt.The entity prediction displays below the chart. Die Anzeige enthält durchgehende Linien für Vorhersagen, die der Erwartung entsprechen, und gepunktete Linien für Vorhersagen, die die Erwartung nicht erfüllen.The display includes solid lines for predictions that match the expectation and dotted lines for predictions that don't match the expectation.

    Erfolgreiche Vorhersage des übergeordneten Entitätselements in der BachdateiEntity parent successfully predicted in batch file

Filtern von DiagrammergebnissenFilter chart results

Um das Diagramm nach einer bestimmten Absicht oder Entität zu filtern, wählen Sie die Absicht bzw. die Entität im Filterbereich rechts aus.To filter the chart by a specific intent or entity, select the intent or entity in the right-side filtering panel. Die Datenpunkte und ihre Verteilung im Diagramm werden entsprechend Ihrer Auswahl aktualisiert.The data points and their distribution update in the graph according to your selection.

Visualisierte Batchtestergebnisse

Beispiele für Ergebnisse im Diagramm darstellenChart result examples

Mit dem Diagramm im LUIS-Portal können Sie folgende Aktionen ausführen:The chart in the LUIS portal, you can perform the following actions:

Anzeigen von Einzelpunkt-ÄußerungsdatenView single-point utterance data

Zeigen Sie im Diagramm auf einen Datenpunkt, um die Bewertung seiner Vorhersage anzuzeigen.In the chart, hover over a data point to see the certainty score of its prediction. Wählen Sie einen Datenpunkt aus, um die zugehörige Äußerung in der Liste der Äußerungen am unteren Rand der Seite abzurufen.Select a data point to retrieve its corresponding utterance in the utterances list at the bottom of the page.

Ausgewählte Äußerung

Anzeigen von AbschnittsdatenView section data

Wählen Sie im Diagramm mit vier Abschnitten den Namen des Abschnitts aus, z.B. Falsch positive Ergebnisse rechts oben im Diagramm.In the four-section chart, select the section name, such as False Positive at the top-right of the chart. Unter dem Diagramm werden alle Äußerungen in diesem Abschnitt in einer Liste angezeigt.Below the chart, all utterances in that section display below the chart in a list.

Ausgewählte Äußerungen nach Abschnitt

Im vorhergehenden Bild ist die Äußerung switch on mit der Absicht „TurnAllOn“ bezeichnet, erhielt jedoch als Vorhersage die Absicht „None“.In this preceding image, the utterance switch on is labeled with the TurnAllOn intent, but received the prediction of None intent. Dies ist ein Hinweis darauf, dass für die Absicht „TurnAllOn“ weitere Beispieläußerungen erforderlich sind, um die erwartete Vorhersage zu treffen.This is an indication that the TurnAllOn intent needs more example utterances in order to make the expected prediction.

Die beiden Abschnitte des Diagramms in Rot weisen auf Äußerungen hin, bei denen die Vorhersage nicht mit der erwarteten übereinstimmte.The two sections of the chart in red indicate utterances that did not match the expected prediction. Diese zeigen Äußerungen an, für die LUIS mehr Training benötigt.These indicate utterances which LUIS needs more training.

In den beiden Abschnitten des Diagramms in Grün entsprach die Vorhersage der Erwartung.The two sections of the chart in green did match the expected prediction.

Batchtests mithilfe der REST-APIBatch testing using the REST API

LUIS ermöglicht Ihnen Batchtests im LUIS-Portal und mithilfe der REST-API.LUIS lets you batch test using the LUIS portal and REST API. Die Endpunkte für die REST-API sind unten aufgeführt.The endpoints for the REST API are listed below. Informationen zu Batchtests im LUIS-Portal finden Sie unter Tutorial: Batchtests von Datasets.For information on batch testing using the LUIS portal, see Tutorial: batch test data sets. Verwenden Sie die unten aufgeführten vollständigen URLs, und ersetzen Sie die Platzhalterwerte durch Ihren eigenen LUIS-Vorhersageschlüssel und Ihren Endpunkt.Use the complete URLs below, replacing the placeholder values with your own LUIS Prediction key and endpoint.

Vergessen Sie nicht, im Header Ihren LUIS-Schlüssel zu Ocp-Apim-Subscription-Key hinzuzufügen, und legen Sie Content-Type auf application/json fest.Remember to add your LUIS key to Ocp-Apim-Subscription-Key in the header, and set Content-Type to application/json.

Starten eines BatchtestsStart a batch test

Starten Sie einen Batchtest, und verwenden Sie entweder eine App-Versions-ID oder einen Veröffentlichungsslot.Start a batch test using either an app version ID or a publishing slot. Senden Sie eine POST-Anforderung an eins der folgenden Endpunktformate.Send a POST request to one of the following endpoint formats. Fügen Sie Ihre Batchdatei in den Text der Anforderung ein.Include your batch file in the body of the request.

VeröffentlichungsslotPublishing slot

  • <YOUR-PREDICTION-ENDPOINT>/luis/prediction/v3.0-preview/apps/<YOUR-APP-ID>/slots/<YOUR-SLOT-NAME>/evaluations

App-Versions-IDApp version ID

  • <YOUR-PREDICTION-ENDPOINT>/luis/prediction/v3.0-preview/apps/<YOUR-APP-ID>/versions/<YOUR-APP-VERSION-ID>/evaluations

Diese Endpunkte geben eine Vorgangs-ID zurück, die Sie verwenden, um den Status zu überprüfen und Ergebnisse abzurufen.These endpoints will return an operation ID that you will use to check the status, and get results.

Den Status eines laufenden Batchtests abrufenGet the status of an ongoing batch test

Verwenden Sie die Vorgangs-ID des Batch Tests, den Sie gestartet haben, um seinen Status aus den folgenden Endpunktformaten abzurufen:Use the operation ID from the batch test you started to get its status from the following endpoint formats:

VeröffentlichungsslotPublishing slot

  • <YOUR-PREDICTION-ENDPOINT>/luis/prediction/v3.0-preview/apps/<YOUR-APP-ID>/slots/<YOUR-SLOT-ID>/evaluations/<YOUR-OPERATION-ID>/status

App-Versions-IDApp version ID

  • <YOUR-PREDICTION-ENDPOINT>/luis/prediction/v3.0-preview/apps/<YOUR-APP-ID>/versions/<YOUR-APP-VERSION-ID>/evaluations/<YOUR-OPERATION-ID>/status

Abrufen der Ergebnisse eines BatchtestsGet the results from a batch test

Verwenden Sie die Vorgangs-ID des Batch Tests, den Sie gestartet haben, um seine Ergebnisse aus den folgenden Endpunktformaten abzurufen:Use the operation ID from the batch test you started to get its results from the following endpoint formats:

VeröffentlichungsslotPublishing slot

  • <YOUR-PREDICTION-ENDPOINT>/luis/prediction/v3.0-preview/apps/<YOUR-APP-ID>/slots/<YOUR-SLOT-ID>/evaluations/<YOUR-OPERATION-ID>/result

App-Versions-IDApp version ID

  • <YOUR-PREDICTION-ENDPOINT>/luis/prediction/v3.0-preview/apps/<YOUR-APP-ID>/versions/<YOUR-APP-VERSION-ID>/evaluations/<YOUR-OPERATION-ID>/result

Batchdatei mit ÄußerungenBatch file of utterances

Senden Sie eine Batchdatei mit Äußerungen, die als Dataset bezeichnet wird, zum Ausführen eines Batchtests.Submit a batch file of utterances, known as a data set, for batch testing. Das Dataset ist eine Datei im JSON-Format, die maximal 1.000 bezeichnete Äußerungen enthält.The data set is a JSON-formatted file containing a maximum of 1,000 labeled utterances. Sie können bis zu 10 Datasets in einer App testen.You can test up to 10 data sets in an app. Wenn Sie mehr Datasets testen müssen, löschen Sie ein Dataset, und fügen Sie dann ein neues hinzu.If you need to test more, delete a data set and then add a new one. Alle benutzerdefinierten Entitäten im Modell werden auch dann im Batchtest-Entitätenfilter angezeigt, wenn keine entsprechenden Entitäten in den Batchdateidaten vorhanden sind.All custom entities in the model appear in the batch test entities filter even if there are no corresponding entities in the batch file data.

Die Batchdatei besteht aus Äußerungen.The batch file consists of utterances. Jeder Äußerung muss eine erwartete Absichtsvorhersage in Verbindung mit allen Machine-Learning-Entitäten zugeordnet sein, deren Erkennung Sie erwarten.Each utterance must have an expected intent prediction along with any machine-learning entities you expect to be detected.

Batchsyntaxvorlage für Absichten mit EntitätenBatch syntax template for intents with entities

Verwenden Sie die folgende Vorlage, um die Batchdatei zu starten:Use the following template to start your batch file:

{
    "LabeledTestSetUtterances": [
        {
            "text": "play a song",
            "intent": "play_music",
            "entities": [
                {
                    "entity": "song_parent",
                    "startPos": 0,
                    "endPos": 15,
                    "children": [
                        {
                            "entity": "pre_song",
                            "startPos": 0,
                            "endPos": 3
                        },
                        {
                            "entity": "song_info",
                            "startPos": 5,
                            "endPos": 15
                        }
                    ]
                }
            ]
        }
    ]
}

Die Batchdatei erkennt anhand der Eigenschaften startPos und endPos Anfang und Ende einer Entität.The batch file uses the startPos and endPos properties to note the beginning and end of an entity. Die Werte sind nullbasiert und dürfen nicht mit einem Leerzeichen beginnen oder enden.The values are zero-based and should not begin or end on a space. Dies ist ein Unterschied zu den Abfrageprotokollen, die die Eigenschaften „startIndex“ und „endIndex“ verwenden.This is different from the query logs, which use startIndex and endIndex properties.

Wenn Sie keine Entitäten testen möchten, schließen Sie die Eigenschaft entities ein, und legen Sie den Wert auf ein leeres Array ([]) fest.If you do not want to test entities, include the entities property and set the value as an empty array, [].

REST-API-BatchtestergebnisseREST API batch test results

Von der API werden mehrere Objekte zurückgegeben:There are several objects returned by the API:

  • Information zu den Absichts- und Entitätsmodellen, wie etwa der Genauigkeit, dem Abruf und der F-Bewertung.Information about the intents and entities models, such as precision, recall and F-score.
  • Informationen zu den Entitätsmodellen, wie etwa Genauigkeit, Abruf und F-Bewertung, für jede EntitätInformation about the entities models, such as precision, recall and F-score) for each entity
    • Mithilfe des verbose-Flags können Sie weitere Informationen zur Entität erhalten, wie etwa entityTextFScore und entityTypeFScore.Using the verbose flag, you can get more information about the entity, such as entityTextFScore and entityTypeFScore.
  • Bereitgestellte Äußerungen mit den vorhergesagten und bezeichneten AbsichtsnamenProvided utterances with the predicted and labeled intent names
  • Eine Liste falsch positiver Entitäten und eine Liste falsch negativer Entitäten.A list of false positive entities, and a list of false negative entities.

Nächste SchritteNext steps

Wenn sich in Tests herausstellt, dass Ihre LUIS-App nicht die richtige Absichten und Entitäten erkennt, können Sie die Leistung Ihrer LUIS-App verbessern, indem Sie aktiv weitere Äußerungen bezeichnen oder Features hinzufügen.If testing indicates that your LUIS app doesn't recognize the correct intents and entities, you can work to improve your LUIS app's performance by labeling more utterances or adding features.