Intents trainieren und testen
Indem Sie ein Modell mit Ihrem Trainingskorpus trainieren, kann Ihr Bot erkennen, was die Benutzer sagen (oder in bestimmten Fällen, was sie zu sagen versuchen).
Sie können die Genauigkeit der Erkennung durch mehrere Runden von Intent-Tests und -Trainings verbessern. Sie steuern das Training allein durch die Intent-Definitionen. Der Skill kann nicht eigenständig aus dem Benutzerchat lernen.
Äußerungen testen
Wir empfehlen, 20 % des Korpus für das Testen von Intents aufzuheben und die verbleibenden 80 % zum Training der Intents zu verwenden. Halten Sie diese beiden Sets getrennt, sodass die Testäußerungen, die Sie in Testfälle integrieren, für den Skill "unbekannt" bleiben.
Wenden Sie die 80/20-Aufteilung auf die Datasets der einzelnen Intents an. Wählen Sie Ihre Äußerungen zufällig aus, bevor Sie diese Aufteilung vornehmen, damit die Trainingsmodelle die Begriffe und Muster in den Äußerungen gleich gewichten können.
Der Äußerungstester
Der Äußerungstester bietet Ihnen einen Überblick über die Erkennungsfähigkeit Ihres Skills. Durch die Eingabe von Wortgruppen, die nicht Teil des Trainingskorpus sind, können Sie anhand des Intent-Konfidenzrankings und der zurückgegebenen JSON feststellen, wie gut Sie die Intents ausgearbeitet haben. Dieses Ranking, das eine Schätzung des Skills für den besten Kandidaten zur Lösung der Benutzereingabe ist, zeigt die Genauigkeit zum aktuellen Zeitpunkt an.
Beschreibung der Abbildung utterance-tester-quick-test.png
Mit dem Äußerungstester können Sie Schnelltests für einmalige Tests ausführen oder eine Äußerung als Testfall integrieren, um die Intent-Lösung für verschiedene Versionen von Trainingsmodellen zu bewerten.
Testfälle
Jeder Test enthält eine Äußerung und das Intent, in das er aufgelöst werden soll. Dies wird als Labelübereinstimmung bezeichnet. Ein Testfall kann auch übereinstimmende Entitywerte und die erwartete Sprache für die Äußerung enthalten. Sie können Testfälle ausführen, wenn Sie einen Skill entwickeln, und später, wenn der Skill in Produktion ist, können Sie die Testfälle für Regressionstests verwenden. Im letzteren Fall können Sie Testfälle ausführen, um herauszufinden, ob ein neues Release des Trainingsmodells die Intent-Auflösung negativ beeinflusst hat.
Wie die Testfälle, die Sie mit dem Unterhaltungstester erstellen, gehören auch Äußerungstestfälle zum Skill und werden mit jeder Version übertragen. Wenn Sie einen Skill erweitern, übernimmt die Erweiterung die Testfälle. Während Unterhaltungstestfälle zum Testen eines Szenarios bestimmt sind, dienen Äußerungstestfälle dazu, Fragmente einer Unterhaltung unabhängig zu testen und sicherzustellen, dass jede Äußerung in das richtige Intent aufgelöst wird.
Testfälle verwalten
nluTestSuites
aufgenommen wird, in dem sich die Testsuites des Skills befinden, wenn der Skill exportiert wird.Testsuites erstellen
- Klicken Sie auf + Test Suite.
- Ersetzen Sie auf der Registerkarte "Allgemein" den Platzhalternamen (z.B. TestSuite0001) durch einen aussagekräftigeren Namen, indem Sie im Feld "Anzeigename" einen Wert hinzufügen.
- Fügen Sie optional eine Beschreibung hinzu, die erläutert, welche Funktionen von der Testsuite abgedeckt werden.
- Füllen Sie die Testsuite mit Testfällen auf, und verwenden Sie dabei eine der folgenden Methoden (oder eine Kombination davon):
- Fügen Sie Testfälle manuell hinzu (entweder durch Erstellen eines Testfalls oder durch Speichern einer Äußerung als Testfall im Äußerungstester).
- Testfälle werden importiert.
Hinweis
Um einer Testsuite über den Import einen Testfall zuzuweisen, kann das FeldtestSuite
der CSV-Datei entweder leer sein oder einen Namen enthalten, der mit der im Importdialogfeld ausgewählten Testsuite übereinstimmt. - Testfall bearbeiten, um seine Testsuite neu zuzuweisen.
- Wenn Sie die Testsuite von Testläufen ausschließen möchten, die mit den Optionen Alle und Alle ausführen gestartet werden, deaktivieren Sie die Option Test-Suite aktivieren.
- Wenn die Testsuite nicht im Skillexport enthalten sein soll, deaktivieren Sie In Skillexport einschließen. Wenn Sie diese Option für eine Testsuite deaktivieren, wird sie nicht im Ordner
nluTestSuites
enthalten sein, in dem sich die Testsuites des Skills in der exportierten ZIP-Datei befinden.
Testfälle für Äußerungen erstellen
Sie können Testfälle einzeln mit dem Äußerungstester oder dem Dialogfeld "Neuer Testfall" hinzufügen (auf das Sie durch Klicken auf + Testfall zugreifen). Sie können aber auch eine CSV-Datei hochladen, um sie massenweise hinzuzufügen.
Jeder Testfall muss zu einer Test-Suite gehören. Bevor Sie also einen Testfall erstellen, erstellen Sie zunächst eine Test-Suite, die eine Fähigkeit des Skills oder einen Aspekt der Intent-Tests widerspiegelt, wie Fehlertests oder domäneninterne Tests.
Tipp:
Um eine angemessene Abdeckung in Ihren Tests zu gewährleisten, erstellen Sie Test-Suite-Äußerungen, die nicht nur konzeptionell, sondern auch grammatikalisch unterschiedlich sind, da Benutzer keine Anforderungen einheitlich stellen. Sie können diese Dimensionen hinzufügen, indem Sie Testsuites aus tatsächlichen Benutzernachrichten erstellen, die im Insights Retrainer abgefragt wurden, sowie aus Crowdsourcing-Eingabe, die aus Data Manufacturing erfasst wurde.Testfälle aus dem Äußerungstester hinzufügen
- Klicken Sie auf Test Utterances.
- Wenn der Skill mehrsprachig ist, wählen Sie die native Sprache aus.
- Geben Sie die Äußerung ein, und klicken Sie auf Testen.
- Klicken Sie auf Als Testfall speichern, und wählen Sie eine Testsuite aus.
Testfall erstellen
- Klicken Sie im Äußerungstester auf Gehe zu Testfällen.
- Klicken Sie auf + Testfall.
- Füllen Sie das Dialogfeld "Neuer Testfall" aus:
- Deaktivieren Sie den Testfall gegebenenfalls.
- Geben Sie die Testäußerung ein.
- Wählen Sie die Testsuite aus.
- Wählen Sie das erwartete Intent aus. Wenn Sie einen Testfall für Fehlertests erstellen, wählen Sie unresolvedIntent aus.
- Wählen Sie bei mehrsprachigen Skills das Sprachtag und die erwartete Sprache aus.
- Klicken Sie auf Zu Suite hinzufügen. Auf der Seite "Testfälle" können Sie einen Testfall löschen oder einen Testfall bearbeiten. Dazu gehört die Neuzuweisung des Testfalls zu einer anderen Testsuite.
- So testen Sie Entitywerte:
- Aktivieren Sie Testentitäten. Klicken Sie anschließend auf Weiter.
- Markieren Sie das Wort (oder die Wörter), und wenden Sie dann ein Entitylabel an, indem Sie ein Objekt aus der Liste auswählen. Klicken Sie anschließend auf Zu Suite hinzufügen.
Hinweis
Wählen Sie immer Wörter oder Wortgruppen aus der Testfalläußerung aus, nachdem Sie Testobjekte aktiviert haben. Der Testfall verläuft nicht erfolgreich, wenn Sie Testentitäten aktiviert, aber keine Wörter hervorgehoben haben.
Testfälle für Testsuites auf Skillebene importieren
testSuite
: Der Name der Testsuite, zu der der Testfall gehört. Das FeldtestSuite
in jeder Zeile der CSV-Datei kann einen anderen Namen für die Testsuite haben oder leer sein.- Testfälle mit leeren
testSuite
-Feldern werden einer Testsuite hinzugefügt, die Sie beim Import der CSV-Datei auswählen. Wenn Sie keine Test-Suite auswählen, werden sie der Standardtest-Suite zugewiesen. - Testfälle mit ausgefüllten
testSuite
-Feldern werden der Testsuite zugewiesen, die Sie beim Import der CSV-Datei auswählen, nur wenn der Name der ausgewählten Testsuite mit dem Namen im FeldtestSuite
übereinstimmt. - Wenn noch keine Testsuite mit dem Namen der im Feld
testSuite
angegebenen vorhanden ist, wird sie nach dem Import der CSV erstellt.
- Testfälle mit leeren
utterance
: Eine Beispieläußerung (erforderlich). Wird in Versionen vor 21.04 von Oracle Digital Assistantquery
zugeordnet.expectedIntent
: Das übereinstimmende Intent (erforderlich). Dieses Feld wird in Versionen vor 21.04 von Oracle Digital AssistantTopIntent
zugeordnet.Tipp:
Unter Vor-21.04-Versionen der CSV-Datei importieren wird beschrieben, wie Sie CSV-Dateien vor 21.04 neu formatieren, damit Sie sie für Bulktests verwenden können.enabled
:TRUE
nimmt den Testfall in den Testlauf auf. BeiFALSE
wird er ausgeschlossen.languageTag
: Das Sprachtag (Beispiel:en
). Wenn kein Wert vorhanden ist, wird die in den Spracheinstellungen des Skills erkannte Sprache standardmäßig verwendet.expectedLanguageTag
(optional) - Bei mehrsprachigen Skills ist dies das Sprachtag für die Sprache, die das Modell beim Auflösen der Testäußerung in ein Intent verwenden soll. Damit der Testfall erfolgreich verläuft, muss dieses Tag mit der erkannten Sprache übereinstimmen.expectedEntities
: Die übereinstimmenden Entitys in der Testfalläußerung, dargestellt als ein Array vonentityName
-Objekten. JedeentityName
gibt die Position des Entitywerts in der Äußerung mit den EigenschaftenbeginOffset
undendOffset
an. Dieser Offset wird durch Zeichen und nicht durch Wort bestimmt und aus dem ersten Zeichen der Äußerung (0-1) berechnet. Beispiel: Das ObjektentityName
für den Entitywert PizzaSize "klein" in Ich möchte eine kleine Pizza bestellen lautet:[{"entityName":"PizzaSize","beginOffset":18,"endOffset":23,"originalString":"small"}, …]
- Klicken Sie auf Mehr, und wählen Sie Importieren aus.
- Navigieren Sie zu, und wählen Sie die CSV-Datei aus.
- Wählen Sie die Test-Suite. Der Testfall kann der ausgewählten Testsuite nur zugewiesen werden, wenn das Feld
testSuite
leer ist oder mit dem Namen der ausgewählten Testsuite übereinstimmt. - Klicken Sie auf Hochladen.
Vor-21.04-Versionen der CSV-Datei importieren
query
und TopIntent
verfügen, werden nur zur Standardtest-Suite hinzugefügt. Sie können diese Testfälle anderen Testsuites einzeln neu zuweisen, indem Sie sie nach dem Import der CSV-Datei bearbeiten. Sie können die CSV-Datei aber auch auf das aktuelle Format aktualisieren und dann vor dem Import wie folgt bearbeiten:
- Klicken Sie auf Mehr > Importieren.
- Wählen Sie nach Abschluss des Imports die Option Standardtestsuite aus, und klicken Sie dann auf Mehr > Ausgewählte Suite exportieren. Die exportierte Datei wird in das aktuelle Format konvertiert.
- Extrahieren Sie die ZIP-Datei, und bearbeiten Sie die CSV-Datei. Wenn Sie fertig sind, importieren Sie die CSV-Datei erneut (Weitere Informationen > Importieren). Möglicherweise müssen Sie doppelte Testfälle aus der Standardtestsuite löschen.
Hinweis
Wenn Sie dieselbe CSV-Datei mehrmals mit geringfügigen Änderungen hochladen, werden alle neuen oder aktualisierten Daten mit der alten Version zusammengeführt. Neue Aktualisierungen werden angewendet, und neue Zeilen werden eingefügt. Sie können jedoch keine Äußerungen löschen, indem Sie eine neue CSV-Datei hochladen. Wenn Sie Äußerungen löschen müssen, müssen Sie sie manuell aus der Benutzeroberfläche löschen.
Testläufe erstellen
Testläufe sind eine Zusammenstellung von Testfällen oder Testsuiten, die darauf abzielen, einen Aspekt der Erkenntnis des Skills zu bewerten. Der Inhalt (und das Volume) eines Testlaufs hängt von der Fähigkeit ab, die Sie testen möchten. Daher kann ein Testlauf eine Teilmenge von Testfällen aus einer Test-Suite, einer vollständigen Test-Suite oder mehreren Test-Suites enthalten.
Die in einem Testlauf enthaltenen Testfälle werden anhand des für den Skill festgelegten Konfidenzschwellenwerts bewertet. Damit ein Testfall in der gesamten Testausführung erfolgreich verläuft, muss er in das erwartete Intent bei oder über dem Konfidenzschwellenwert aufgelöst werden. Wenn angegeben, muss der Testfall auch den Entitywert und die Kriterien für die Sprachübereinstimmung erfüllen. Wenn Sie die Ergebnisse des Testlaufs prüfen, können Sie herausfinden, ob Änderungen an der Plattform oder am Skill selbst die Genauigkeit der Intent-Auflösung beeinträchtigt haben.
Neben dem Testen des Modells können Sie auch die Testlaufergebnisse verwenden, um die Zuverlässigkeit Ihrer Tests zu bewerten. Zum Beispiel können Ergebnisse, die zeigen, dass fast alle Testfälle bestanden haben, auf der Oberfläche auf eine optimale Funktion des Modells hinweisen. Eine Überprüfung der bestandenen Testfälle kann jedoch ergeben, dass die Testfälle das aktuelle Training nicht widerspiegeln, da ihre Äußerungen zu einfach sind oder sich in Bezug auf die Konzepte und die Sprache, auf die sie testen, erheblich überschneiden. Eine hohe Anzahl von nicht erfolgreichen Tests hingegen könnte auf Defizite in den Trainingsdaten hinweisen, aber eine Überprüfung dieser Testfälle könnte zeigen, dass ihre Äußerungen mit den falschen erwarteten Intents gepaart sind.
- Klicken Sie auf Alle ausführen, um einen Testlauf für alle Testfälle in einer ausgewählten Testsuite zu erstellen. (Wenn Sie alle Testsuites ausführen möchten, wählen Sie Alle aus, und klicken Sie dann auf Alle ausführen.)
- Um einen Testlauf für eine Auswahl von Testfällen innerhalb einer Suite zu erstellen (oder einen Testlauf für eine Teilmenge aller Testfälle, wenn Sie Alle ausgewählt haben), filtern Sie die Testfälle, indem Sie eine Zeichenfolge hinzufügen, die mit dem Äußerungstext und einem erwarteten Intent übereinstimmt. Wählen Sie die Äußerungen aus, und klicken Sie auf Ausführen.
- Um die Testsuite aus dem Testlauf auszuschließen, wählen Sie zuerst die Testsuite aus, öffnen die Registerkarte "Allgemein", und deaktivieren Sie dann Testsuite aktivieren.
- Bei mehrsprachigen Skills können Sie auch nach den Optionen Sprachtag und Erwartete Sprache filtern (auf die Sie über Optionale Attribute zugreifen).
- Um einen Testlauf für eine Auswahl von Testfällen innerhalb einer Suite zu erstellen (oder einen Testlauf für eine Teilmenge aller Testfälle, wenn Sie Alle ausgewählt haben), filtern Sie die Testfälle, indem Sie eine Zeichenfolge hinzufügen, die mit dem Äußerungstext und einem erwarteten Intent übereinstimmt. Wählen Sie die Äußerungen aus, und klicken Sie auf Ausführen.
- Geben Sie einen Testlaufnamen ein, der das Thema des Tests widerspiegelt. Dies ist ein optionaler Schritt.
- Klicken Sie auf Starten
- Klicken Sie auf Testergebnisse, und wählen Sie den Testlauf aus.
Tipp:
Testläufe, die eine große Anzahl von Testfällen enthalten, können einige Minuten dauern. Bei diesen großen Testläufen müssen Sie möglicherweise regelmäßig auf Aktualisieren klicken, bis der Test abgeschlossen ist. Ein Prozentsatz ersetzt den Status "In Bearbeitung" für die Genauigkeitsmetrik, und der Bericht "Intents" wird wiedergegeben, nachdem alle Testfälle ausgewertet wurden.
- Prüfen Sie die Testlaufberichte. Beispiel: Prüfen Sie zunächst die allgemeinen Metriken für den Testlauf, der im Überblicksbericht bereitgestellt wird. Validieren Sie als Nächstes die Testergebnisse anhand der tatsächlichen Testfälle, indem Sie den Bericht Testfälle filtern. Dieser Bericht listet alle Testfälle auf, die in der Testausführung enthalten sind, für bestandene und nicht erfolgreiche Testfälle. Anschließend können Sie die einzelnen Testfallergebnisse prüfen. Sie können den Genauigkeits-Score im Überblicksbericht auch mit dem Genauigkeits-Score im Bericht "Intents" vergleichen, der die Fähigkeit des Modells misst, die richtigen Intents vorherzusagen. Um die in diesem Bericht aufgeführten Testfälle zu prüfen, öffnen Sie den Bericht "Testfälle", und filtern Sie nach Intents.
Testlauf - Übersicht
Der Übersichtsbericht enthält eine Gesamtbewertung, wie erfolgreich das Modell den Typ der Benutzereingabe verarbeiten kann, der im Testlauf behandelt wird. Für die im Testlauf enthaltenen Testsuites wird die Gesamtanzahl der Testfälle angezeigt, die zur Bewertung des Modells verwendet wurden, und aus dieser Summe sowohl die Anzahl der Testfälle (sowohl zuverlässige als auch unzuverlässige), die zusammen mit der Anzahl der zuverlässigen und unzuverlässigen Testfälle nicht erfolgreich waren. Die Gesamtgenauigkeit des Modells – die Fähigkeit, erwartete Intents auf oder über dem Konfidenzniveau des Skills vorherzusagen, Entitywerte zu erkennen und Äußerungen in der Sprache des Skills aufzulösen – wird anhand der Erfolgsrate der erfolgreichen Tests im Testlauf gemessen.
Beschreibung der Abbildung test-run-test-results-summary.png
Metriken für Übersichtsbericht
- Genauigkeit: Die Genauigkeit des Modells in Bezug auf die Erfolgsrate der erfolgreichen Testfälle (die Anzahl der erfolgreichen Testfälle im Vergleich zur Gesamtanzahl der Testfälle, die im Testlauf enthalten sind).
Hinweis
Deaktivierte Testfälle werden nicht im Genauigkeitsscore berücksichtigt. Auch die Tests waren aufgrund von Fehlern nicht erfolgreich. Jeder nicht erfolgreiche Test wird stattdessen der Anzahl "Nicht erfolgreich" hinzugefügt.Ein niedriger Genauigkeitswert kann darauf hindeuten, dass der Testlauf das Modell auf Konzepten und Sprachen auswertet, die von den Trainingsdaten nicht ausreichend unterstützt werden. Um den Genauigkeitsgrad zu erhöhen, trainieren Sie das Modell mit Äußerungen, die den Testfällen im Testlauf entsprechen.
Diese Genauigkeitsmetrik gilt für den gesamten Testlauf und bietet einen separaten Score von der Genauigkeitsmetrik im Intents-Bericht. Diese Kennzahl entspricht dem Prozentsatz der Testfälle, bei denen das Modell alle Testfallkriterien bestanden hat. Der Genauigkeits-Score im Bericht "Intents" hingegen ist kein End-to-End-Test. Es ist der Prozentsatz der Testfälle, bei denen das Modell nur das erwartete Intent bei oder über dem Konfidenzschwellenwert des Skills vorhersagen musste. Andere Testfallkriterien (wie Enity-Wert oder Skill-Sprache) werden nicht berücksichtigt. Angesichts der unterschiedlichen Kriterien, was ein bestandener Testfall für diese beiden Berichte bedeutet, sind ihre jeweiligen Genauigkeitswerte möglicherweise nicht immer Schritt. Der Genauigkeitsscore für die Intent-Übereinstimmung kann höher sein als der Gesamttestlaufscore, wenn die Testdaten nicht mit den Trainingsdaten abgestimmt sind. Wenn das Modell mit Äußerungen trainiert wird, die Testfälle unterstützen, kann es die erwarteten Intents mit höherer Konfidenz vorhersagen, was wiederum den Genauigkeitsscore für den Testlauf erhöht.
Hinweis
Die Genauigkeitsmetrik ist erst verfügbar, wenn der Testlauf abgeschlossen ist und nicht für Testläufe verfügbar ist, die abgeschlossen wurden, als der Skill auf Versionen vor 22.12 der Oracle Digital Assistant-Plattform ausgeführt wurde. - Testfälle: Die Gesamtanzahl der Testfälle (sowohl zuverlässige als auch unzuverlässige Testfälle) im Testlauf. Übersprungene Testfälle sind in dieser Tally enthalten, werden jedoch bei der Berechnung der Genauigkeitsmetrik nicht berücksichtigt.
- Erfolgreich: Die Anzahl der Testfälle (sowohl zuverlässig als auch unzuverlässig), die durch Auflösung an das Intent am Konfidenzschwellenwert und durch Abgleich der ausgewählten Entitywerte oder Sprache übergeben wurden.
- Nicht erfolgreich: Die Anzahl der Testfälle (zuverlässig und unzuverlässig), die beim Konfidenzschwellenwert nicht in das erwartete Intent aufgelöst wurden und nicht mit den ausgewählten Entitywerten oder der ausgewählten Sprache übereinstimmen konnten.
Um die tatsächlichen Testfälle hinter den Metriken "Erfolgreich" und "Nicht erfolgreich" in diesem Bericht zu prüfen, öffnen Sie den Bericht Testfälle, und wenden Sie dann die Filter Erfolgreich oder Nicht erfolgreich an.
Beschreibung der Abbildung "test-runs-intent-report.png
Test-Suite-Aufschlüsselung
In der Aufgliederungstabelle der Testsuite werden die im Testlauf enthaltenen Testsuites und deren individuelle Statistiken aufgeführt. Sie können die tatsächlichen Testfälle einer Testsuite prüfen, indem Sie auf den Link in der Spalte "Testsuite" klicken.
Beschreibung der Abbildung test-suite-breakdown.png
Intentsbericht
Die Metriken in diesem Bericht verfolgen die Labelübereinstimmungen des Modells während der Testfälle des Testlaufs. Hier prognostiziert das Modell das erwartete Intent für die Testfalläußerung korrekt. Im Kontext dieses Berichts werden Genauigkeit, Bestehen und Nichtbestehen anhand der Testfälle gemessen, in denen das Modell das richtige erwartete Intent bei oder über dem Konfidenzschwellenwert vorhergesagt hat. Andere Kriterien, die im Übersichtsbericht berücksichtigt werden, wie Entitywertübereinstimmungen oder Skillsprache, werden nicht berücksichtigt. Infolgedessen bietet Ihnen dieser Bericht eine andere Ansicht der Modellgenauigkeit, mit der Sie prüfen können, ob das aktuelle Training es dem Modell ermöglicht, die richtigen Intents konsistent vorherzusagen.
Dieser Bericht ist nicht für Testläufe verfügbar, die abgeschlossen wurden, als der Skill auf einer Version vor 22.12 der Oracle Digital Assistant-Plattform ausgeführt wurde.
Metriken für Intentsbericht
- Testfälle: Die Anzahl der in diesem Testlauf enthaltenen Testfälle. Diese Summe umfasst sowohl zuverlässige als auch unzuverlässige Testfälle. Übersprungene Testfälle sind nicht in dieser Tally enthalten.
Tipp:
Die unzuverlässigen Testfalllinks für die Metriken "Testfälle", "Erfolgreich" und "Nicht erfolgreich" öffnen den nach unzuverlässigen Testfällen gefilterten Bericht Testfälle. Diese Navigation ist nicht verfügbar, wenn Sie den Bericht nach Testsuite filtern. - Genauigkeit: Die Genauigkeit des Modells beim Abgleich mit dem erwarteten Intent bei oder über dem Konfidenzschwellenwert des Skills in den Testfällen in diesem Testlauf. Die Untermetrik Labelübereinstimmung stellt den Prozentsatz der Testfälle im Testlauf dar, bei denen das Modell das erwartete Intent unabhängig vom Konfidenzscore korrekt vorhergesagt hat. Da Label Match-Faktoren in nicht erfolgreichen Testfällen zusammen mit dem Bestehen von Testfällen berücksichtigt werden, kann sein Score höher sein als der Genauigkeits-Score.
Sie können diese Genauigkeitsmetrik mit der Genauigkeitsmetrik aus dem Übersichtsbericht vergleichen. Wenn der Genauigkeits-Score im Übersichtsbericht niedrig ist, können Sie mit diesem Bericht schnell herausfinden, ob die Fehler des Modells auf die Unfähigkeit zurückzuführen sind, das erwartete Intent vorherzusagen. Wenn der Genauigkeits-Score in diesem Bericht jedoch hoch ist, können Sie den Labelabgleich als Ursache des Problems ausschließen. Anstatt die Trainingsdaten stark zu überarbeiten, um den Genauigkeits-Score des Testlaufs zu erhöhen, können Sie stattdessen auf das Hinzufügen von Äußerungen fokussieren, die den Konzepten und der Sprache in den Testfalläußerungen entsprechen.
- Erfolgreich: Die Anzahl der Testfälle (zuverlässig und unzuverlässig), bei denen das Modell das erwartete Intent am Konfidenzschwellenwert des Skills vorhergesagt hat.
- Nicht erfolgreich: Die Anzahl der Testfälle (zuverlässig und unzuverlässig), bei denen das Modell das erwartete Intent unter dem Konfidenzschwellenwert des Skills vorhergesagt hat.
- Confidence Pass: Ein Durchschnitt der Konfidenzscores für alle Testfälle, die in diesem Testlauf erfolgreich waren.
- Konfidenzfehler: Ein Durchschnitt der Konfidenzscores für alle Testfälle, die in diesem Testlauf nicht erfolgreich waren.
Wenn Sie den Intents-Bericht nach Testsuite filtern, ist der Zugriff auf den Testfallbericht über die unzuverlässigen Testfalllinks in den Kacheln "Testfälle", "Erfolgreich" und "Nicht erfolgreich" nicht verfügbar. Diese Links werden wieder aktiv, wenn Sie alle Einträge aus dem Feld "Nach Testsuite filtern" entfernen.
Nach Testsuite filtern

Der Bericht passt die Metriken für jede Testsuite an, die Sie hinzufügen (oder später entfernen). Es tabelliert die Intent-Übereinstimmungsergebnisse in Bezug auf die Anzahl der aktivierten Testfälle, die zur ausgewählten Testsuite gehören.
Sie können nicht nach Testsuites filtern, die auf einer Plattform vor Version 23.06 ausgeführt wurden. Um diese Testsuites einzuschließen, müssen Sie sie nach dem Upgrade auf Version 23.06 oder höher erneut ausführen.
Wenn Sie nach Testsuite filtern, wird die Navigation zum Testfallbericht über die Links für unzuverlässige Testfälle in den Kacheln "Testfälle", "Erfolgreich" und "Nicht erfolgreich" deaktiviert. Die Links in der Spalte "Gesamt" der Intent-Aufschlüsselung sind ebenfalls deaktiviert. Alle diese Links werden wieder aktiv, nachdem Sie alle Einträge aus dem Feld "Nach Testsuite filtern" entfernt haben.
Intentsaufschlüsselung
Das Feld "Nach Intent filtern" ändert die Ansicht der Intent-Aufgliederungstabelle, ändert jedoch nicht die Gesamtmetriken des Berichts. Diese Metriken spiegeln die Einträge (oder fehlende Einträge) im Feld "Nach Testsuite filtern" wider.
- Intent: Der Name des erwarteten Intents.
- Gesamt: Die Anzahl der Testfälle, die als Link für das erwartete Intent dargestellt werden. Klicken Sie auf diesen Link, um zum Bericht "Testfälle" zu gelangen.
Hinweis
Sie können nicht zum Bericht "Testfälle" navigieren, wenn Sie einen Testsuitefilter auf diesen Bericht angewendet haben. Dieser Link wird wieder aktiv, wenn Sie alle Einträge aus dem Feld "Nach Testsuite filtern" entfernen. - Genauigkeit: Der Prozentsatz der Testfälle, die zu Labelübereinstimmungen für das erwartete Intent bei oder über dem Konfidenzschwellenwert des Skills geführt haben.
- Erfolgreich: Die Anzahl der Testfälle (einschließlich unzuverlässiger Testfälle), bei denen das Modell das erwartete Intent bei oder über dem Konfidenzschwellenwert des Skills vorhergesagt hat.
- Erfolgreich - Unzuverlässig: Die Anzahl der Testfälle, bei denen das Modell das erwartete Intent um höchstens 5% über dem Konfidenzschwellenwert des Skills vorhergesagt hat.
- Nicht erfolgreich: Die Anzahl der Testfälle im Testlauf, die nicht erfolgreich waren, weil das Modell das erwartete Intent unter dem Konfidenzschwellenwert des Skills vorhergesagt hat.
- Nicht erfolgreich - Unzuverlässig: Die Anzahl der Testfälle, die nicht erfolgreich waren, weil die Konfidenz des Modells bei der Vorhersage des erwarteten Intents um 5% unter den Konfidenzschwellenwert des Skills fiel. Diese Testfälle können in die
- Labelübereinstimmung: Die Anzahl der Testfälle, bei denen das Modell das erwartete Intent erfolgreich vorhergesagt hat, unabhängig vom Konfidenzniveau. Da dies bei nicht erfolgreichen Testfällen berücksichtigt wird, sind die Label Match- und Accuracy-Scores möglicherweise nicht immer aufeinander abgestimmt. Beispiel: Vier erfolgreiche Testfälle von fünf ergeben einen 80%-Genauigkeitsscore für das Intent. Wenn das Modell jedoch das Intent für den einen nicht erfolgreichen Testfall korrekt vorhergesagt hat, würde die Labelübereinstimmung die Genauigkeit um 20% übertreffen.
- Konfidenzpass: Ein Durchschnitt der Konfidenzscores für alle Testfälle, die erfolgreich mit dem erwarteten Intent übereinstimmen.
- Konfidenzfehler: Ein Durchschnitt der Konfidenzscores für alle Testfälle, die nicht mit dem erwarteten Intent übereinstimmen.
Tipp:
Um die tatsächlichen Testfälle zu prüfen, öffnen Sie den Bericht Testfälle, und filtern Sie nach dem Intent.
Testfälle - Bericht
- Sie können die Ergebnisse filtern, indem Sie auf Alle, Erfolgreich (Grün) oder Nicht erfolgreich (Rot) klicken. Die als übersprungen gezählten Testfälle umfassen sowohl deaktivierte Testfälle als auch Testfälle, bei denen das erwartete Intent deaktiviert wurde.
Sie können die Ergebnisse nach unzuverlässigen Testfällen filtern, indem Sie in der Warnmeldung entweder auf Unzuverlässige Fälle anzeigen klicken oder den Filter Nur unzuverlässige Fälle auswählen. - Filtern Sie bei Bedarf die Ergebnisse nach einem bestimmten Intent oder einer bestimmten Entity oder nach zuverlässigen oder unzuverlässigen Testfällen.
- Bei unzuverlässigen und nicht erfolgreichen Testfällen klicken Sie auf Ähnliche Äußerungen anzeigen (auf der Seite "Testinfo"), um herauszufinden, ob die Testfalläußerung eine Ähnlichkeit mit den Äußerungen im Trainingsset aufweist.
- Prüfen Sie die folgenden Ergebnisse:
- Testinfo: Zeigt die Testfallübersicht an, einschließlich des Zielkonfidenzschwellenwerts, des erwarteten Intents und der übereinstimmenden Entitywerte.
- Testergebnis: Die Einstufung des Intents nach Konfidenzniveau. Wenn vorhanden, identifiziert der Bericht auch die in der Äußerung enthaltenen Entitys nach Entityname und Wert. Sie können auch das JSON-Objekt anzeigen, das die vollständigen Ergebnisse enthält.
- Fehleranalyse: Erläutert, warum der Testfall nicht erfolgreich war. Beispiel: Das tatsächliche Intent ist nicht das erwartete Intent, der beschriftete Entitywert im Testfall stimmt nicht mit der aufgelösten Entity überein, oder die erwartete Sprache ist nicht mit der erkannten Sprache identisch.
Unzuverlässige Testfälle
Einige Testfälle können keine konsistenten Ergebnisse liefern, da sie innerhalb von 5% oder weniger des Konfidenzschwellenwerts aufgelöst werden. Dieser enge Rand macht diese Testfälle unzuverlässig. Beispiel: Wenn der Konfidenzschwellenwert des Skills auf 0,7 festgelegt ist, verläuft ein Testfall mit 74% möglicherweise nicht erfolgreich, nachdem Sie nur geringfügige Änderungen an Ihren Trainingsdaten vorgenommen haben oder weil der Skill auf eine neue Version des Modells upgegradet wurde. Die Fragilität dieser Testfälle kann darauf hinweisen, dass die Äußerungen, die sie in den Trainingsdaten darstellen, möglicherweise zu wenig sind und dass Sie die Trainingsdaten des Intents möglicherweise mit ähnlichen Äußerungen ausgleichen müssen.
- Führen Sie die Test-Suite aus. Klicken Sie dann auf Testergebnisse, und wählen Sie den Testlauf aus. Die unzuverlässigen Testfälle werden zu Beginn der Testlaufergebnisse sortiert und mit Warnungen gekennzeichnet
.
- So isolieren Sie die unzuverlässigen Testfälle:
- Klicken Sie in der Nachricht auf Unzuverlässige Fälle anzeigen.
- Wählen Sie im Menü "Nach Fällen filtern" die Option Nur unzuverlässige Fälle aus.
- Klicken Sie in der Nachricht auf Unzuverlässige Fälle anzeigen.
- Um die Nähe des höchsten Intents des Testfalls zum Konfidenzschwellenwert zu ermitteln, öffnen Sie das Fenster "Testergebnis". Um den Konfidenzscore der obersten Rangfolge mit dem Konfidenzschwellenwert zu vergleichen, klicken Sie auf
.
- Wenn Sie die Trainingsdaten für das hochrangige Intent ergänzen müssen, klicken Sie in der Warnmeldung auf Zum obersten Intent gehen.
- Wenn Sie die Anzahl der Äußerungen bestimmen möchten, die durch den Testfall in den Trainingsdaten dargestellt werden, klicken Sie auf Ähnliche Äußerungen anzeigen.
Sie können auch prüfen, ob die Äußerungen, die der Testfalläußerung am ähnlichsten sind, auch Anomalien im Trainingsset sind, indem Sie den Anomalienbericht ausführen.
Exportiert
Testläufe werden nicht mit dem Skill persistiert, Sie können sie jedoch zur Analyse in Ihr System herunterladen, indem Sie auf Testlauf exportieren klicken. Wenn die Intents die Benutzereingabe nicht mehr wie erwartet auflösen oder wenn sich Plattformänderungen negativ auf die Intent-Auflösung auswirken, können Sie die Details für eine Serviceanfrage mit den Logs der exportierten Testläufe erfassen.
Fehlertests
Mit Fehlertests (oder Negativtests) können Sie Bulktests für Äußerungen ausführen, die nie aufgelöst werden sollen, entweder weil sie zu unresolvedIntent führen oder weil sie nur als andere Intents unter dem Konfidenzschwellenwert für alle Intents aufgelöst werden.
- Geben Sie "unresolvedIntent" als erwartetes Intent für alle Testfälle an, die voraussichtlich nicht aufgelöst werden. Idealerweise bleiben diese "falschen" Wortgruppen nicht aufgelöst.
- Passen Sie bei Bedarf den Konfidenzschwellenwert beim Erstellen eines Testlaufs an, um zu bestätigen, dass die falschen Wortgruppen (diejenigen mit
unresolvedIntent
als erwartetem Intent) nur unter dem hier festgelegten Wert aufgelöst werden können. Beispiel: Die Erhöhung des Schwellenwerts kann dazu führen, dass die falschen Wortgruppen auf dem Konfidenzniveau nicht als ein Intent (einschließlich unresolvedIntent) aufgelöst werden können. Dies bedeutet, dass sie übergeben werden, weil sie als nicht aufgelöst betrachtet werden. - Prüfen Sie die Testergebnisse, und stellen Sie sicher, dass die Testfälle mit "unresolvedIntent" beim Schwellenwert erfolgreich abgeglichen wurden oder keinen Intents (weder unresolvedIntent noch anderen) am Schwellenwert zugeordnet wurden.
Ähnliche Äußerungen
Sie können herausfinden, wie ähnlich Ihre Testphrase den Äußerungen im Trainingskorpus ist, indem Sie auf Ähnliche Äußerungen anzeigen klicken. Dieses Tool bietet eine zusätzliche Perspektive auf die Trainingsdaten des Skills, indem es Ihnen zeigt, wie ähnlich seine Äußerungen der Testphrase sind und wie ähnlich die Äußerungen in allen Intents zueinander sind. Mit diesem Tool können Sie herausfinden, ob die Ähnlichkeit der Testphrase mit Äußerungen anderer Intents der Grund ist, warum die Testphrase nicht wie erwartet aufgelöst wird. Es kann sogar darauf hinweisen, wo Trainingsdaten zum falschen Intent gehören, da sie der Testphrase ähneln.
Beschreibung der Abbildung "ear-utterance-report-all-intents.png"
Die von diesem Tool generierte Liste enthält 20 Äußerungen (zusammen mit den zugehörigen Intents), die der Testphrase am nächsten liegen. Idealerweise gehört die oberste Äußerung in dieser Liste - die am ehesten der Testphrase ähnelt - zu dem Intent, das für die Testphrase bestimmt ist. Wenn die nächste Äußerung, die zum erwarteten Intent gehört, weiter unten ist, kann eine Prüfung der Liste einige Hinweise darauf enthalten, warum. Beispiel: Wenn Sie eine Äußerung des Intents "Transaktionen" testen, wie viel Geld habe ich gestern überwiesen?, würden Sie erwarten, dass die hochrangige Äußerung ebenfalls zu einem Transaktions-Intent gehört. Wenn diese Testäußerung jedoch in das falsche Intent aufgelöst oder unter dem Konfidenzniveau aufgelöst wird, könnte die Liste zeigen, dass sie mit Äußerungen mit hoher Rangfolge mit ähnlichem Wortlaut, die zu anderen Intents gehören, mehr gemein hat. Beispiel: Die Äußerung des Intents "Salden" Wie viel Geld habe ich in allen meinen Konten? könnte näher an der Testäußerung liegen als die niedrigere Wie viel habe ich im April eingezahlt? des Intents "Transaktionen".
Sie können dieses Tool nur für Skills verwenden, die in Trainer Tm trainiert wurden (es ist nicht für Skills verfügbar, die mit Ht trainiert wurden).
- Nach Intent filtern: Gibt 20 Äußerungen zurück, die der Testäußerung am nächsten sind, die zum ausgewählten Intent (oder zu Intents) gehören.
- Nach Äußerung filtern - Gibt 20 der Äußerungen zurück, die der Testäußerung am nächsten liegen und ein Wort oder eine Wortgruppe enthalten.
- Sprache - Bei mehrsprachigen Skills können Sie den Bericht durch Auswahl einer Sprache abfragen und filtern.
Wenn Sie diese Filter anwenden, werden die Einstufungen nicht geändert, sondern nur die Ansicht. Eine Äußerung, die beispielsweise als Dritter eingestuft wird, wird unabhängig vom Filter als solche notiert. Die Rankings und Inhalte des Berichts ändern sich nur, wenn Sie das Korpus aktualisiert und den Skill mit Trainer Tm neu geschult haben.