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 ist Ihr Fenster zur 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 durchführen oder eine Äußerung als Testfall integrieren, um die Intent-Auflösung über verschiedene Versionen von Trainingsmodellen hinweg zu messen.
Testfälle
Jeder Test hat eine Äußerung und das Intent, auf das er voraussichtlich 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, 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 die Testsuites des Skills enthalten sind, 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, in der die Funktionalität der Testsuite erläutert wird.
- Füllen Sie die Testsuite mit Testfällen mit einer beliebigen (oder einer Kombination) der folgenden Methoden auf:
- Manuelles Hinzufügen von Testfällen (entweder durch Erstellen eines Testfalls oder durch Speichern einer Äußerung als Testfall im Äußerungstester).
- Testfälle werden importiert.
Hinweis
Um einer Testsuite per Import einen Testfall zuzuweisen, kann das FeldtestSuite
der CSV-Datei entweder leer sein oder einen Namen enthalten, der mit der Testsuite übereinstimmt, die im Importdialogfeld ausgewählt ist. - 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 Testsuite aktivieren.
- Wenn die Testsuite nicht im Skillexport enthalten sein soll, deaktivieren Sie In Skillexport einschließen. Wenn Sie diese Option für eine Testsuite ausschalten, wird sie nicht im Ordner
nluTestSuites
enthalten sein, in dem die Testsuites des Skills in der exportierten ZIP-Datei enthalten sind.
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 Testsuite gehören. Bevor Sie also einen Testfall erstellen, legen Sie zunächst eine Testsuit an, die einige Merkmale des Intent-Tests widerspiegelt, wie Fehlertests, In-Domain-Tests oder Out-of-Domain-Tests.
Tipp:
Erstellen Sie Test-Suite-Ausdrücke, die nicht nur konzeptionell, sondern auch grammatikalisch variiert sind, da Benutzer keine einheitlichen Anforderungen stellen. Sie können diese Dimensionen hinzufügen, indem Sie Testsuites aus der tatsächlichen Benutzernachricht erstellen, die im Insights Retrainer abgefragt wurden, sowie aus Crowdsourcing-Eingaben, die in Data Manufacturing erfasst wurden.Testfälle aus dem Äußerungstester hinzufügen
- Klicken Sie auf Äußerungen testen.
- 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, der die Neuzuweisung des Testfalls zu einer anderen Testsuite umfasst.
- So testen Sie Entitywerte:
- Schalten Sie Entitys testen ein. 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 Entitys testen aktiviert haben. Der Testfall schlägt fehl, wenn Sie Testeinheiten 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 Testsuitenamen aufweisen 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 Testsuite auswählen, werden diese der Standardtestsuite zugewiesen. - Testfälle mit aufgefüllten
testSuite
-Feldern werden der Testsuite zugewiesen, die Sie beim Import der CSV-Datei nur dann auswählen, wenn der Name der ausgewählten Testsuite mit dem Namen im FeldtestSuite
übereinstimmt. - Wenn eine Testsuite mit dem Namen der im Feld
testSuite
angegebenen Testsuite noch nicht vorhanden ist, wird sie nach dem Import der CSV-Datei 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 Importieren von Versionen vor Version 21.04 der CSV-Datei erfahren Sie, wie Sie CSV-Dateien vor Version 21.04 neu formatieren, damit Sie sie für Massentests verwenden können.enabled
:TRUE
nimmt den Testfall in den Testlauf auf. BeiFALSE
wird er ausgeschlossen.languageTag
: Das Sprachtag (z.B.en
). Wenn kein Wert vorhanden ist, wird standardmäßig die in den Spracheinstellungen des Skills erkannte Sprache 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 ist, muss dieses Tag mit der erkannten Sprache übereinstimmen.expectedEntities
: Die übereinstimmenden Entitys in der Testfalläußerung, die als Array vonentityName
-Objekten dargestellt werden. JedeentityName
identifiziert die Position des Entitywerts in der Äußerung mit den EigenschaftenbeginOffset
undendOffset
. Dieser Versatz wird durch Zeichen, nicht durch Wort, bestimmt und aus dem ersten Zeichen der Äußerung (0-1) berechnet. Beispiel: Das ObjektentityName
für den Entitywert PizzaSize mit kleinem Wert 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.
- Suchen Sie nach der CSV-Datei, und wählen Sie diese aus.
- Wählen Sie die Testsuite aus. 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.
Pre-21.04-Versionen der CSV-Datei importieren
query
und TopIntent
verfügen, werden nur der Standardtest-Suite hinzugefügt. Sie können diese Testfälle anderen Testsuites einzeln zuweisen, indem Sie sie nach dem Import der CSV-Datei bearbeiten. Sie können die CSV-Datei aber auch in 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. Importieren Sie die CSV-Datei anschließend 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 Fassung zusammengeführt. Es werden neue Aktualisierungen 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 Testsuites, die darauf abzielen, einen Teil der Kognition des Skills zu bewerten. Der Inhalt (und das Volumen) 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 Testsuite, eine vollständige Testsuite oder mehrere Testsuites umfassen.
Die in einem Testlauf enthaltenen Testfälle werden mit dem Konfidenzschwellenwert verglichen, der für den Skill festgelegt ist. Damit ein Testfall im gesamten Testlauf erfolgreich ist, muss er den Konfidenzschwellenwert in das erwartete Intent oder höher auflösen. Wenn angegeben, muss der Testfall auch den Entitywert und die Sprachnachrichtenkriterien erfüllen. Wenn Sie die Ergebnisse der Testläufe prüfen, können Sie herausfinden, ob Änderungen an der Plattform oder am Skill selbst der Genauigkeit der Intent-Auflösung beeinträchtigt haben.
Neben dem Testen des Modells können Sie auch die Ergebnisse des Testlaufs 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 nicht das aktuelle Training widerspiegeln, da ihre Äußerungen zu einfach sind oder erhebliche Überschneidungen in Bezug auf die Konzepte und Ausdrücke aufweisen, auf die sie testen. Eine hohe Anzahl von fehlgeschlagenen Tests kann 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 gekoppelt 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 zunächst die Testsuite aus, öffnen Sie die Registerkarte "Allgemein", und schalten Sie dann Testsuite aktivieren aus.
- 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 den Testgegenstand 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 Metrik "Genauigkeit", und der Bericht "Intents" wird angezeigt, 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 mit den tatsächlichen Testfällen, indem Sie den Bericht Testfälle filtern, in dem alle im Testlauf enthaltenen Testfälle für erfolgreiche und nicht erfolgreiche Testfälle aufgeführt werden. Anschließend können Sie die Ergebnisse der einzelnen Testfälle prüfen. Sie können auch den Genauigkeitsscore im Überblicksbericht mit dem Genauigkeitsscore im Intents-Bericht 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 - Übersichtsbericht
Im Übersichtsbericht erhalten Sie eine Gesamtbewertung darüber, wie erfolgreich das Modell den Typ der Benutzereingabe verarbeiten kann, der im Testlauf behandelt wird. Für die Testsuites, die im Testlauf enthalten sind, wird die Gesamtanzahl der Testfälle angezeigt, die zur Bewertung des Modells verwendet wurden, und ab dieser Summe die Anzahl der Testfälle (sowohl zuverlässig als auch unzuverlässig), die nicht erfolgreich waren, sowie die Anzahl der zuverlässigen und unzuverlässigen Testfälle, die bestanden haben. Die Gesamtgenauigkeit des Modells – seine 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 bestandenen Tests im Testlauf ermittelt.
Beschreibung der Abbildung test-run-test-results-summary.png
Kennzahlen für Übersichtsbericht
- Genauigkeit – Die Genauigkeit des Modells in Bezug auf die Erfolgsrate der bestandenen Testfälle (die Anzahl der bestandenen Testfälle im Vergleich zur Gesamtanzahl der im Testlauf enthaltenen Testfälle).
Hinweis
Deaktivierte Testfälle werden nicht in den Genauigkeitsscore einbezogen. Auch die Tests sind aufgrund von Fehlern nicht erfolgreich. Alle nicht erfolgreichen Tests werden stattdessen der Anzahl der nicht erfolgreichen Tests hinzugefügt.Ein niedriger Genauigkeitswert kann darauf hindeuten, dass der Testlauf das Modell anhand von Konzepten und Sprachen bewertet, die von den Trainingsdaten nicht ausreichend unterstützt werden. Um den Genauigkeitsscore 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 stellt einen separaten Score von der Genauigkeitsmetrik im Intents-Bericht bereit. Diese Kennzahl entspricht dem Prozentsatz der Testfälle, in denen das Modell alle Testfallkriterien bestanden hat. Der Genauigkeitsscore im Bericht "Intents" hingegen ist kein End-to-End-Test. Dies 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 Skillsprache) werden nicht berücksichtigt. Angesichts der unterschiedlichen Kriterien, was ein bestehender Testfall für diese beiden Berichte bedeutet, sind ihre jeweiligen Genauigkeitswerte möglicherweise nicht immer in einem Schritt. Der Genauigkeitsscore für den Intent-Abgleich kann höher sein als der Gesamttestlaufscore, wenn die Testdaten nicht mit den Trainingsdaten abgestimmt sind. Wenn Sie das Modell mit Äußerungen umschalten, die Testfälle unterstützen, kann es die erwarteten Intents mit höherer Sicherheit vorhersagen, was wiederum den Genauigkeitsscore für den Testlauf erhöht.
Hinweis
Die Genauigkeitsmetrik ist erst verfügbar, wenn der Testlauf abgeschlossen ist. Sie ist nicht für Testläufe verfügbar, 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), die im Testlauf enthalten sind. Übersprungene Testfälle sind in dieser Tally enthalten, werden jedoch bei der Berechnung der Genauigkeitsmetrik nicht berücksichtigt.
- Bestanden: Die Anzahl der Testfälle (sowohl zuverlässig als auch unzuverlässig), die durch Auflösen in das Intent am Konfidenzschwellenwert und durch Abgleich der ausgewählten Entitywerte oder Sprache übergeben wurden.
- Nicht erfolgreich: Die Anzahl der Testfälle (botzuverlässig und unzuverlässig), die beim Konfidenzschwellenwert nicht in das erwartete Intent aufgelöst und nicht mit den ausgewählten Entitywerten oder der ausgewählten Entitysprache ü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
Aufschlüsselung der Testsuite
In der Tabelle "Test Suite-Aufschlüsselung" werden die im Testlauf enthaltenen Testsuites und ihre individuellen 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
Intent-Bericht
Die Metriken in diesem Bericht verfolgen die Labelübereinstimmungen des Modells in den Testfällen des Testlaufs. Hier prognostiziert das Modell das erwartete Intent für die Testfalläußerung korrekt. Im Zusammenhang mit diesem Bericht werden Genauigkeit, Erfolg und Misserfolg anhand der Testfälle gemessen, in denen das Modell das richtige erwartete Intent mit oder über dem Konfidenzschwellenwert vorhergesagt hat. Andere Kriterien, die im Übersichtsbericht berücksichtigt werden, wie z.B. übereinstimmende Entitywerte 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.
Kennzahlen für Intents-Bericht
- Testfälle: Die Anzahl der Testfälle, die in diesem Testlauf enthalten sind. Diese Summe umfasst sowohl zuverlässige als auch unzuverlässige Testfälle. Übersprungene Testfälle sind in dieser Tally nicht enthalten.
Tipp:
Die unzuverlässigen Testfalllinks für die Metriken "Testfälle", "Erfolgreich" und "Nicht erfolgreich" öffnen den Bericht Testfälle, der nach unzuverlässigen Testfällen gefiltert wird. Diese Navigation ist nicht verfügbar, wenn Sie den Bericht nach Testsuite filtern. - Genauigkeit: Die Genauigkeit des Modells bei der Übereinstimmung mit dem erwarteten Intent bei oder über dem Konfidenzschwellenwert des Skills über die Testfälle in diesem Testlauf. Die Untermetrik Labelabgleich 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 bestandenen Testfällen berücksichtigt werden, kann der Score höher sein als der Genauigkeitsscore.
Sie können diese Genauigkeitskennzahl mit der Genauigkeitskennzahl aus dem Übersichtsbericht vergleichen. Wenn der Genauigkeitsscore 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 Genauigkeitsscore 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 Genauigkeitsscore des Testlaufs zu erhöhen, können Sie stattdessen das Hinzufügen von Äußerungen fokussieren, die die Konzepte und Sprache in den Testfalläußerungen widerspiegeln.
- Erfolgreich: Die Anzahl der Testfälle (zuverlässig und unzuverlässig), bei denen das Modell das erwartete Intent im 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 bestanden haben.
- 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 Bericht "Testfälle" ü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 anschließend entfernen). Es tabelliert die Ergebnisse des Intent-Abgleichs 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.
Durch das Filtern nach Testsuite wird die Navigation zum Testfallbericht über die unzuverlässigen Testfalllinks in den Kacheln "Testfälle", "Erfolgreich" und "Nicht erfolgreich" deaktiviert. Die Links in der Spalte "Gesamt" der Intents-Aufschlüsselung sind ebenfalls deaktiviert. Alle diese Links werden wieder aktiv, nachdem Sie alle Einträge aus dem Feld "Nach Testsuite filtern" entfernt haben.
Intent-Aufschlüsselung
Das Feld "Nach Intent filtern" ändert die Ansicht der Tabelle "Intents-Aufschlüsselung", ändert jedoch nicht die Gesamtmetriken des Berichts. Diese Metriken spiegeln die Einträge (oder das Fehlen von Einträgen) 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. Sie können den Testfallbericht aufrufen, indem Sie auf diesen Link klicken.
Hinweis
Sie können nicht zum Bericht "Testfälle" navigieren, wenn Sie einen Testsuite-Filter 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 am oder über dem Konfidenzschwellenwert des Skills vorhergesagt hat.
- Bestanden - Unzuverlässig: Die Anzahl der Testfälle, bei denen das Modell das erwartete Intent vorhergesagt hat, liegt bei 5% oder weniger über dem Konfidenzschwellenwert des Skills.
- 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 die
- Labelabgleich - Die Anzahl der Testfälle, bei denen das Modell das erwartete Intent erfolgreich vorhergesagt hat, unabhängig vom Konfidenzniveau. Da sie in nicht erfolgreichen Testfällen berücksichtigt werden, sind die Label Match- und Accuracy-Scores möglicherweise nicht immer aufeinander abgestimmt. Beispiel: Vier von fünf erfolgreichen Testfällen führen zu einem 80-prozentigen Genauigkeitsscore für das Intent. Wenn das Modell das Intent jedoch für den einen nicht erfolgreichen Testfall korrekt vorhergesagt hat, würde die Genauigkeit der Labelübereinstimmung um 20% überschritten.
- Konfidenzpass: Ein Durchschnitt der Konfidenzscores für alle Testfälle, die erfolgreich mit dem erwarteten Intent abgeglichen wurden.
- 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 den Filter nach 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 entweder in der Warnmeldung 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.
- Klicken Sie für unzuverlässige und nicht erfolgreiche Testfälle auf Ähnliche Äußerungen anzeigen (auf der Seite "Testinformationen"), um herauszufinden, ob die Testfalläußerung eine Ähnlichkeit mit den Äußerungen im Trainingsset aufweist.
- Prüfen Sie die folgenden Ergebnisse:
- Testinformationen: Zeigt den Testfallüberblick an, einschließlich des Zielkonfidenzschwellenwerts, des erwarteten Intents und der übereinstimmenden Entitywerte.
- Testergebnis: Das Ranking 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. Wenn der Konfidenzschwellenwert des Skills auf 0,7 gesetzt wird, kann ein Testfall, der bei 74% erfolgreich ist, fehlschlagen, 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 wenige sind und dass Sie die Trainingsdaten des Intents möglicherweise mit ähnlichen Äußerungen ausgleichen müssen.
- Testen Sie die Suite. Klicken Sie dann auf Testergebnisse, und wählen Sie den Testlauf. 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 Meldung 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 Meldung auf Unzuverlässige Fälle anzeigen.
- Um die Nähe des obersten Intents des Testfalls zum Konfidenzschwellenwert zu finden, öffnen Sie das Fenster "Testergebnis". Um den Konfidenzscore mit dem Konfidenzschwellenwert zu vergleichen, klicken Sie auf
.
- Wenn Sie die Trainingsdaten für das Top-Intent ergänzen müssen, klicken Sie in der Warnmeldung auf Zum Top-Intent wechseln.
- Wenn Sie die Menge 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 eine der Äußerungen, die der Testfalläußerung am ähnlichsten sind, auch Anomalien im Trainingsset sind, indem Sie den Anomaliebericht ausführen.
Exportierte Testläufe
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 Bulkteste von Äußerungen durchführen, die nie aufgelöst wurden sollen, entweder weil sie zu unresolvedIntent führen oder weil sie nur als andere Intents aufgelöst wurden, die unter dem Konfidenzschwellenwerte für alle Intents lagen.
- 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 beim Erstellen eines Testlaufs bei Bedarf den Konfidenzschwellenbetrag an, um zu bestätigen, dass die falschen Wortgruppen (diejenigen mit
unresolvedIntent
als erwartetem Intent) nur unterhalb des hier festgelegten Wertes 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 Ihnen eine zusätzliche Perspektive auf die Trainingsdaten des Skills, indem es Ihnen zeigt, wie ähnlich die Äußerungen der Testphrase sind und wie ähnlich die Äußerungen intentübergreifend 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 "like-utterance-report-all-intents.png"
Die von diesem Tool generierte Liste stuft 20 Äußerungen (zusammen mit den zugehörigen Intents) ein, die der Testphrase am nächsten sind. Idealerweise gehört die oberste Äußerung auf dieser Liste - diejenige, die der Testphrase am meisten ä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 Überprüfung der Liste einige Hinweise dazu enthalten. Beispiel: Wenn Sie eine Intent-Äußerung für Transaktionen testen, wie viel Geld habe ich gestern überwiesen?, würden Sie erwarten, dass die oberste Äußerung ebenfalls zu einem Transaktions-Intent gehört. Wenn diese Testäußerung jedoch auf das falsche Intent aufgelöst wird oder sich unter dem Konfidenzniveau auflöst, kann die Liste zeigen, dass sie mehr mit hochrangigen Äußerungen mit ähnlicher Formulierung gemeinsam hat, die zu anderen Intents gehören. Beispiel: Die Äußerung des Intents "Salden" Wie viel Geld habe ich auf allen meinen Konten? ist möglicherweise näher an der Testäußerung als die Äußerung des Intents "Transaktionen" mit niedrigerem Rang Wie viel habe ich im April eingezahlt?.
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 Intent) gehören.
- Nach Äußerung filtern – Gibt 20 der Äußerungen zurück, die der Testäußerung am nächsten sind und ein Wort oder eine Wortgruppe enthalten.
- Language (Sprache) – Bei mehrsprachigen Skills können Sie den Bericht abfragen und filtern, indem Sie eine Sprache auswählen.
Durch das Anwenden dieser Filter werden die Rankings nicht geändert, sondern nur die Ansicht. Eine Äußerung, die beispielsweise als dritter eingestuft wird, wird unabhängig vom Filter als solche angegeben. Die Rangfolge und der Inhalt des Berichts ändern sich nur, wenn Sie das Korpus aktualisiert und den Skill mit Trainer Tm umgeschult haben.