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 von utterance-tester-quick-test.png folgt
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.

Schnelltests

So finden Sie heraus, wie gut Ihre Intents funktionieren:
  1. Klicken Sie auf Äußerungen testen (links).
  2. Wenn der Skill mehrere native Sprachen unterstützt, wählen Sie die Testsprache aus. Durch Auswahl dieser Option wird sichergestellt, dass die Äußerung zur entsprechenden Sprachversion des Korpus hinzugefügt werden. Standardmäßig ist die primäre Sprache des Skills ausgewählt.
  3. Geben Sie eine Zeichenfolge ein.
  4. Klicken Sie auf Testen, und prüfen Sie dann das Ranking und die in der Äußerung erkannten Entitys (sofern vorhanden).
  5. Prüfen Sie die Intent-Konfidenzscores. (Die Fortschrittsbalken für jedes aufgelistete Intent sind grün, wenn sie das Konfidenzniveau erfüllen oder überschreiten, oder rot, wenn sie das Niveau nicht erreichen).
    Wenn der von Ihrem Skill an oberster Stelle eingestufte Kandidat nicht Ihren Erwartungen entspricht, müssen Sie möglicherweise die Intents nachtrainieren, nachdem Sie eine oder beide der folgenden Aktionen durchgeführt haben:
    • Aktualisieren Sie das Korpus des besseren Kandidaten mit dem soeben eingegebenen Eingabetext. Wählen Sie dazu das entsprechende Intent aus, und klicken Sie dann auf Zu Intent hinzufügen.

      Achtung:

      Überlegen Sie, wie sich das Hinzufügen einer neuen Testphrase auf die Trainingsdaten auswirken kann. Das Hinzufügen einer Testwortgruppe kann die Art und Weise ändern, wie die Äußerungen, die dieser Wortgruppe ähnlich sind, nach dem Nachtrainieren klassifiziert werden. Darüber hinaus führt das Hinzufügen einer Testwortgruppe zur Ungültigkeit des Tests, denn die Aufnahme einer Testwortgruppe in das Trainingsset stellt sicher, dass der Test erfolgreich sein wird. Anstatt eine Testwortgruppe zu den Trainingsdaten hinzufügen, sollten Sie sie stattdessen als Testfall speichern.
    • Auf der Seite "Intents" können Sie eine Äußerung bearbeiten (Dieses Bild zeigt die Schaltfläche "Bearbeiten".) oder entfernen. Beispiel: Ein Intent mit häufig gestellten Fragen erhält möglicherweise aufgrund des Umfangs und der Formulierung seiner konstituierenden Äußerungen eine hohe Einstufung. Wenn Sie nicht möchten, dass Ihre Benutzer häufig gestellte Fragen erhalten, wenn sie typische Fragen stellen, müssen Sie das Korpus überarbeiten.

    Sie müssen ein Intent immer dann nachtrainieren, wenn Sie eine Äußerung hinzufügen, ändern oder löschen. Training erforderlich Dieses Bild zeigt den Indikator "Training erforderlich". wird immer angezeigt, wenn Sie die Trainingsdaten ändern.

  6. Wenn Intents nicht wie beabsichtigt aufgelöst werden, können Sie das JSON-Fenster erweitern, um die abgeglichenen Intents, Scores und erkannten Entitys in der zurückgegebenen JSON zu prüfen.
  7. Klicken Sie auf Zurücksetzen.

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

Auf der Seite "Testfälle", auf der Sie im Äußerungstester auf Gehe zu Testfällen klicken, werden die Test-Suites und die zugehörigen Testfälle aufgelistet. Die Testsuites können von Ihnen erstellte oder von einem Skill geerbt worden sein, den Sie erweitert oder geklont haben. Auf dieser Seite können Sie neben dem Bearbeiten, Hinzufügen und Entfernen von Testfällen auch Testfälle zu Testläufen kompilieren. Standardmäßig ist Alle ausgewählt, wodurch jeder Testfall angezeigt wird. Wenn Sie die Anzeige nur auf die Testfälle beschränken möchten, die zu einer einzelnen Testsuite gehören, können Sie entweder die Testsuite aus der Liste der Testsuites auswählen oder diese Liste mit einer vollständigen oder teilweisen Übereinstimmung des Testsuitenamens filtern. In der Testsuite-Ansicht können Sie die Member-Testfälle der Suite auf der Registerkarte "Testfälle" verwalten. Auf der Registerkarte "Allgemein" können Sie nicht nur den Namen und die Beschreibung der Testsuite aktualisieren, sondern auch die Testsuite aus einem Testlauf ausschließen, indem Sie Testsuite aktivieren deaktivieren. Wenn Sie In Skillexport einschließen deaktivieren, können Sie verhindern, dass die Testsuite in den Ordner nluTestSuites aufgenommen wird, in dem die Testsuites des Skills enthalten sind, wenn der Skill exportiert wird.

Testsuites erstellen

Alle Testfälle gehören zu einer Testsuite. Wir stellen Ihnen eine Standardtest-Suite zur Verfügung, aber Sie können Ihre Tests partitionieren, indem Sie Ihre eigenen Testsuites erstellen. Sie können Testsuites manuell oder durch Importieren einer CSV-Datei erstellen. So erstellen Sie eine Testsuite manuell:
  1. Klicken Sie auf + Test Suite.
  2. 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.
  3. Fügen Sie optional eine Beschreibung hinzu, in der die Funktionalität der Testsuite erläutert wird.
  4. 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 Feld testSuite 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
  5. 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.
  6. 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.

Wir stellen eine Suite namens Standardtestsuite bereit. Sie können dieser Testsuite Testfälle zuweisen, wenn Sie noch keine anderen Suites erstellt haben. Später können Sie den Testfall bearbeiten, um ihn einer neuen Testsuite zuzuweisen.

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

Sie können nicht nur Äußerungen zum Trainingskorpus hinzufügen, sondern auch auf der Seite "Schnelltest" einen Testfall erstellen:
  1. Klicken Sie auf Äußerungen testen.
  2. Wenn der Skill mehrsprachig ist, wählen Sie die native Sprache aus.
  3. Geben Sie die Äußerung ein, und klicken Sie auf Testen.
  4. Klicken Sie auf Als Testfall speichern, und wählen Sie eine Testsuite aus.

Testfall erstellen

So erstellen Sie einen einzelnen Testfall:
  1. Klicken Sie im Äußerungstester auf Gehe zu Testfällen.
  2. Klicken Sie auf + Testfall.
  3. 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.
  4. 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.

  5. 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

Auf der Seite "Testfälle", auf die Sie durch Klicken auf Gehe zu Testfällen im Äußerungstester zugreifen, können Sie Testsuites und ihre Fälle per Bulkverfahren hinzufügen, indem Sie eine CSV-Datei hochladen, die folgende Felder enthält:
  • testSuite: Der Name der Testsuite, zu der der Testfall gehört. Das Feld testSuite 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 Feld testSuite ü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.
  • utterance: Eine Beispieläußerung (erforderlich). Wird in Versionen vor 21.04 von Oracle Digital Assistant query zugeordnet.
  • expectedIntent: Das übereinstimmende Intent (erforderlich). Dieses Feld wird in Versionen vor 21.04 von Oracle Digital Assistant TopIntent 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. Bei FALSE 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 von entityName-Objekten dargestellt werden. Jede entityName identifiziert die Position des Entitywerts in der Äußerung mit den Eigenschaften beginOffset und endOffset. Dieser Versatz wird durch Zeichen, nicht durch Wort, bestimmt und aus dem ersten Zeichen der Äußerung (0-1) berechnet. Beispiel: Das Objekt entityName 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"}, …]


So importieren Sie diese CSV-Datei:
  1. Klicken Sie auf Mehr, und wählen Sie Importieren aus.
  2. Suchen Sie nach der CSV-Datei, und wählen Sie diese aus.
  3. 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.
  4. Klicken Sie auf Hochladen.
Pre-21.04-Versionen der CSV-Datei importieren
Testfälle, die über die Versionen vor 21.04 von CSVs importiert wurden, die über die Felder 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:
  1. Klicken Sie auf Mehr > Importieren.
  2. 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.
  3. 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.

So erstellen Sie einen Testlauf:
  1. 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).

  2. Geben Sie einen Testlaufnamen ein, der den Testgegenstand widerspiegelt. Dies ist ein optionaler Schritt.
  3. Klicken Sie auf Starten

  4. 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.


  5. 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 von test-run-test-results-summary.png folgt
Beschreibung der Abbildung test-run-test-results-summary.png

Kennzahlen für Übersichtsbericht
Der Übersichtsbericht enthält die folgenden Metriken:
  • 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 von test-runs-intent-report.png folgt
    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 von test-suite-breakdown.png folgt
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.

In diesem Bericht erhalten Sie Label-Match-(oder Intent-Match-)Metriken für den Testlauf auf zwei Ebenen: eine, die die Ergebnisse für den Testlauf aggregiert und eine diese Ergebnisse nach Intent trennt.
Hinweis

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
Die Ergebnisse der Intent-Übereinstimmung umfassen:
  • 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.
Hinweis

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
Die Standardergebnisse des Berichts "Intents" spiegeln alle im Testlauf enthaltenen Testsuites wider. Ebenso basieren seine Metriken auf allen aktivierten Testfällen, die zu diesen Test-Suites gehören. Wenn Sie die Performance einer einzelnen Testsuite aufschlüsseln möchten (und im Wesentlichen einen Vergleich mit der Tabelle Testsuite-Aufschlüsselung des Übersichtsberichts erstellen), müssen Sie keine zusätzlichen Testläufe erstellen. Stattdessen können Sie die Ergebnisse für die betreffende Testsuite (oder Testsuites) mit dem Feld "Filtern nach Testsuite" isolieren. Sie können diesem Feld eine oder mehrere Testsuites hinzufügen.
Dieses Bild zeigt das Feld "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.
Hinweis

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.
Hinweis

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
Die Tabelle "Intents-Aufschlüsselung" des Berichts enthält die folgenden Metriken der obersten Ebene für die erwarteten Intents, die in den Testfällen des Testlaufs benannt sind. Sie können den Fokus eingrenzen, indem Sie die Namen dieser Intents im Feld "Nach Intents filtern" auswählen.
Hinweis

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

Dieser Bericht listet alle Testfälle auf, die im Testlauf enthalten sind.
  1. 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.
  2. Filtern Sie bei Bedarf die Ergebnisse nach einem bestimmten Intent oder einer bestimmten Entity oder nach zuverlässigen oder unzuverlässigen Testfällen.
  3. 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.
    Dieses Bild zeigt die Schaltfläche "Ähnliche Äußerungen anzeigen".

  4. 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.

So finden Sie unzuverlässige Testfälle:
  1. 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 gekennzeichnetDieses Bild zeigt das Warnsymbol..

  2. So isolieren Sie die unzuverlässigen Testfälle:
    • Klicken Sie in der Meldung auf Unzuverlässige Fälle anzeigen.
      Dies ist ein Bild des Links Zeige mir die unzuverlässigen Fälle.

    • Wählen Sie im Menü "Nach Fällen filtern" die Option Nur unzuverlässige Fälle aus.
      Dieses Bild zeigt die Filteroption "Nur unzuverlässige Fälle".

  3. 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 Dieses Bild zeigt das Warnsymbol. .

  4. Wenn Sie die Trainingsdaten für das Top-Intent ergänzen müssen, klicken Sie in der Warnmeldung auf Zum Top-Intent wechseln.
    Dieses Bild zeigt den Link "Gehe zum obersten Intent" in der Warnmeldung.

  5. 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.

So führen Sie Fehlertests durch:
  • 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 von Similar-utterance-report-all-intents.png folgt
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?.

You can access the list, which is generated for skills trained on Trainer Tm, by clicking View Similar Utterances in the Utterance Tester or from the Test Cases report.

Hinweis

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).
Sie können Äußerungen sowohl vom Äußerungstester als auch über Tests im Tool "Ähnliche Äußerungen anzeigen" abfragen. Wenn Sie auf Ähnliche Äußerungen anzeigen klicken, wird das gesamte Korpus mit der Testphrase verglichen, und auf jede Äußerung wird ein Ranking angewendet. Da jedoch standardmäßig keine Filter angewendet werden, enthält die Liste nur die 20 hochrangigen Äußerungen und nummeriert sie sequenziell. Um herauszufinden, wie Äußerungen im Vergleich auf 21 und höher eingestuft wurden, müssen Sie die Filter verwenden. Durch die Anwendung der folgenden Filter können Sie die Nähe ähnlicher Äußerungen innerhalb des Rankings in Bezug auf Sprache, die Intents, zu denen sie gehören, oder die Wörter oder Phrasen, die sie gemeinsam haben, kennenlernen.
Hinweis

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.