Modelltests
Hier sind einige Best Practices zum Testen Ihres Modells für das Verständnis natürlicher Sprache.
Sie müssen das Verständnis Ihres Modells für jeden Skill und später für den gesamten digitalen Assistenten testen. Ein gut trainiertes Modell in einem Skill, das versteht, wie In-Domain-Nachrichten korrekt einem Intent zugeordnet werden, und das nicht auf Nicht-Domain-Nachrichten reagiert, ist ein wichtiger Pfeiler eines gut trainierten digitalen Assistenten.
Oracle Digital Assistant bietet einen Äußerungstester in seinen Skills, mit dem Sie manuelle und Batchtests ausführen können, wie gut das Modell Intents aus Benutzernachrichten auflöst. Bei Batchtests verwenden Sie die 20% der Äußerungen, die Sie für ein Intent definiert haben, die Sie jedoch zum Testen zurückgehalten haben.
Im Allgemeinen sollten Sie Ihre Modelle häufig und frühzeitig testen, jedoch nicht, bevor Sie genügend gute Äußerungen für die Intents des Skills haben. Das Ziel Ihrer Tests ist es, dass das Modell ein hohes Maß an Vertrauen in die Auflösung von Intents gewinnt.
Baseline erstellen
Nachdem die Entwicklung abgeschlossen ist, sollten Sie Tests ausführen und die Ergebnisse verwenden, um eine Baseline für das Verständnis des Modells festzulegen. Sie können diese Baseline als Vergleichspunkt verwenden, wenn Sie das Trainingsmodell mit zusätzlichen und verbesserten Äußerungen aktualisieren und wenn Sie den Skill später auf aktualisierten Versionen der Digital Assistant-Plattform testen. Für diese und zukünftige Tests benötigen Sie ein Modell, das mit einer ausreichenden Anzahl von Qualitätsäußerungen trainiert wird.
Positive und negative Tests durchführen
Sie sollten sowohl positive als auch negative Tests durchführen:
-
In positiven Tests sollen die Äußerungen in dem von Ihnen angegebenen Intent aufgelöst werden. Je mehr Tests bestehen, desto besser wird das Modell trainiert.
-
Bei negativen Tests sollen die Äußerungen nicht aufgelöst werden. Negative Tests helfen Ihnen, die Grenzen des Verständnisses für eine Absicht zu verschärfen.
Beispiel: Bei einem positiven Test gehen Sie davon aus, dass Sie in einem Spesenabrechnungsskill das Intent "Spesen erstellen" testen. Alle Äußerungen in einem positiven Test enthalten Nachrichten, die in dieses Intent aufgelöst werden sollen. Je mehr Tests bestehen, desto besser wird das Modell trainiert.
Negative Tests umfassen die folgenden Arten von Tests:
-
Neighbour Testing: Testen Sie ein Intent mit den Äußerungen, die Sie erstellt haben, um die anderen Intents in einem Skill zu testen.
-
Testen außerhalb der Domäne: Mit diesen Tests versuchen Sie Äußerungen, die semantisch nicht zum Intent gehören, sondern ähnliche Wörter verwenden. Beispiel: Eine Spesenabrechnung sollte "Ich habe einen Familienkalender für die Arbeit gekauft" als Benutzer verstehen, der eine neue Spesenabrechnung anfordert, aber nicht auf "Neuen Eintrag in meinem Familienkalender erstellen" antworten.
-
Zufälliges Testen von Phrasen: Zufällige Nachrichten sollten nicht in das Intent aufgelöst werden, das Sie testen. Beispiel: "Der Cookie-Schneider schneidet Cookies" oder "Ich bin auf einer Treppe zum Himmel" sollte nicht zu einer Übereinstimmung für die Absicht "Kosten erstellen" führen.
Checkliste für Modelltests
- ☑ Testen Sie frühzeitig und häufig.
- ☑ Testen Sie kein durchdachtes Modell.
- ☑ Verwenden Sie positive und negative Tests.
- ☑ Äußerungen, die für Tests verwendet werden, sollten dieselbe Qualität aufweisen wie Trainingsäußerungen, dürfen jedoch nicht dieselben Äußerungen sein, die für das Training verwendet werden.
- ☑ Erreichen Sie Ergebnisse, die beim Testen von Äußerungen deutlich über dem Konfidenzschwellenwert liegen. (Eine Konfidenzrate von 100% ist jedoch kein Ziel.)
- ☑ Bevor Sie Ihren Skill in Betrieb nehmen, notieren Sie sich die Testergebnisse als Baseline für zukünftige Tests, die Sie ausführen.