Freigeben über


Auswertungsmetriken für CLU-Modelle

Ihr Dataset ist aufgeteilt, nämlich in zwei Teile, einen Teil für das Training und einen für das Testen. Der Trainingsdatensatz wird zum Trainieren des Modells verwendet, während der Testdatensatz als Test für das Modell nach dem Training genutzt wird, um die Modellleistung zu berechnen und auszuwerten. Der Testdatensatz wird dem Modell beim Training nicht zugeführt, um sicherzustellen, dass das Modell mit neuen Daten getestet wird.

Die Modellauswertung wird automatisch ausgelöst, nachdem das Training erfolgreich abgeschlossen wurde. Der Auswertungsprozess beginnt mit dem trainierten Modell, um benutzerdefinierte Absichten und Entitäten für Äußerungen im Testsatz vorherzusagen. Dann vergleicht der Prozess sie mit den bereitgestellten Tags, um eine Wahrheitsbaseline zu schaffen. Die Ergebnisse werden zurückgegeben, sodass Sie die Leistung des Modells überprüfen können. Bei der Auswertung werden von Conversational Language Understanding folgende Metriken verwendet:

  • Genauigkeit: Misst, wie präzise oder genau Ihr Modell ist. Dies ist das Verhältnis zwischen den richtig identifizierten positiven (True Positives) und allen identifizierten positiven Ergebnissen. Die Genauigkeitsmetrik gibt an, wie viele der vorhergesagten Klassen richtig beschriftet wurden.

    Precision = #True_Positive / (#True_Positive + #False_Positive)

  • Abruf: Misst die Fähigkeit des Modells, tatsächliche positive Klassen vorherzusagen. Dies ist das Verhältnis zwischen den vorhergesagten True Positives und den markierten Klassen. Die Abrufmetrik gibt an, wie viele der vorhergesagten Klassen richtig sind.

    Recall = #True_Positive / (#True_Positive + #False_Negatives)

  • F1-Bewertung: Die F1-Bewertung ist eine Funktion von Genauigkeit und Abruf. Sie ist erforderlich, wenn Sie ein Gleichgewicht zwischen Genauigkeit und Abruf suchen.

    F1 Score = 2 * Precision * Recall / (Precision + Recall)

Genauigkeit, Abruf und F1-Score werden wie folgt berechnet:

  • Für jede Entität separat (Auswertung auf Entitätsebene)
  • Für jede Absicht separat (Auswertung auf Absichtsebene)
  • Für das Modell im Ganzen (Auswertung auf Modellebene)

Die Definitionen für Genauigkeit, Abruf und Auswertung sind für Auswertungen auf Entitäts-, Absichts- und Modellebene gleich. Die Anzahl von True Positives, False Positives und False Negatives kann aber variieren. Sehen Sie sich beispielsweise den folgenden Text an:

Beispiel

  • Make a response with „thank you very much“ (Antwort mit „Vielen Dank“ erstellen)
  • Reply with saying „yes“ (Mit „Ja“ antworten)
  • Check my email please. (Meine E-Mails überprüfen)
  • Email to Cynthia that dinner last week was splendid (E-Mail an Cynthia: Das Essen letzte Woche war hervorragend.)
  • E-Mail an Mike senden

Die verwendeten Absichten sind Reply, sendEmail und readEmail. Die Entitäten sind contactName und message.

Das Modell liefert ggf. folgende Vorhersagen:

Äußerung Vorhergesagte Absicht Tatsächliche Absicht Vorhergesagte Entität Tatsächliche Entität
Make a response with „thank you very much“ (Antwort mit „Vielen Dank“ erstellen) Antworten Antworten thank you very much as message thank you very much as message
Reply with saying „yes“ (Mit „Ja“ antworten) sendEmail Antworten -- yes as message
Check my email please (Meine E-Mails überprüfen) readEmail readEmail -- --
Email to Cynthia that dinner last week was splendid (E-Mail an Cynthia: Das Essen letzte Woche war hervorragend.) Antworten sendEmail dinner last week was splendid as message cynthia als contactName, dinner last week was splendid als message
E-Mail an Mike senden sendEmail sendEmail mike as message mike as contactName

Auswertung auf Absichtsebene für die Absicht „Reply“

Schlüssel Anzahl Erklärung
Richtig positiv 1 Äußerung 1 wurde korrekt als Reply vorhergesagt.
Falsch positiv 1 Äußerung 4 wurde fälschlicherweise als Reply vorhergesagt.
Falsch-negativ 1 Äußerung 2 wurde fälschlicherweise als sendEmail vorhergesagt.

Genauigkeit = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5

Abruf = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

F1-Score = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Auswertung auf Absichtsebene für die Absicht „sendEmail“

Schlüssel Anzahl Erklärung
Richtig positiv 1 Äußerung 5 wurde korrekt als sendEmail vorhergesagt.
Falsch positiv 1 Äußerung 2 wurde fälschlicherweise als sendEmail vorhergesagt.
Falsch-negativ 1 Äußerung 4 wurde fälschlicherweise als Reply vorhergesagt.

Genauigkeit = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5

Abruf = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

F1-Score = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Auswertung auf Absichtsebene für die Absicht „readEmail“

Schlüssel Anzahl Erklärung
Richtig positiv 1 Äußerung 3 wurde korrekt als readEmail vorhergesagt.
Falsch positiv 0 --
Falsch-negativ 0 --

Genauigkeit = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 0) = 1

Abruf = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 0) = 1

F1-Score = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 1) / (1 + 1) = 1

Auswertung auf Entitätsebene für die Entität „contactName“

Schlüssel Anzahl Erklärung
Richtig positiv 1 cynthia wurde in Äußerung 4 korrekt als contactName vorhergesagt.
Falsch positiv 0 --
Falsch-negativ 1 mike wurde in Äußerung 5 fälschlicherweise als message vorhergesagt.

Genauigkeit = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 0) = 1

Abruf = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

F1-Score = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.5) / (1 + 0.5) = 0.67

Auswertung auf Entitätsebene für die Entität „message“

Schlüssel Anzahl Erklärung
Richtig positiv 2 thank you very much wurde in Äußerung 1 korrekt als message vorhergesagt, und dinner last week was splendid wurde in Äußerung 4 korrekt als message vorhergesagt.
Falsch positiv 1 mike wurde in Äußerung 5 fälschlicherweise als message vorhergesagt.
Falsch-negativ 1 yes wurde in Äußerung 2 nicht als message vorhergesagt.

Genauigkeit = #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67

Abruf = #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67

F1-Bewertung = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

Auswertung auf Modellebene für das gemeinsame Modell

Schlüssel Anzahl Erklärung
Richtig positiv 6 Summe der True Positive-Ergebnisse für alle Absichten und Entitäten
Falsch positiv 3 Summe der False Positive-Ergebnisse für alle Absichten und Entitäten
Falsch-negativ 4 Summe der False Negative-Ergebnisse für alle Absichten und Entitäten

Genauigkeit = #True_Positive / (#True_Positive + #False_Positive) = 6 / (6 + 3) = 0.67

Abruf = #True_Positive / (#True_Positive + #False_Negatives) = 6 / (6 + 4) = 0.60

F1-Score = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.60) / (0.67 + 0.60) = 0.63

Konfusionsmatrix

Eine Konfusionsmatrix ist eine n × n-Matrix, die für die Auswertung der Modellleistung verwendet wird, wobei „n“ die Anzahl von Entitäten oder Absichten ist. Die Matrix vergleicht die erwarteten Bezeichnungen mit den vom Modell vorhergesagten Bezeichnungen. Durch diese Matrix erhalten Sie einen ganzheitlichen Überblick darüber, wie gut das Modell funktioniert und welche Arten von Fehlern es macht.

Sie können die Konfusionsmatrix verwenden, um Absichten oder Entitäten zu identifizieren, die zu nah beieinander liegen und häufig verwechselt werden (Mehrdeutigkeit). Erwägen Sie in diesem Fall, die betreffenden Absichten oder Entitäten zusammenzuführen. Wenn eine Zusammenführung nicht möglich ist, sollten Sie erwägen, weitere Beispiele mit Tags für beide Absichten oder Entitäten hinzuzufügen. So können Sie es für das Modell einfacher machen, dazwischen zu unterscheiden.

Die hervorgehobene Diagonale in der Abbildung steht für die richtig vorhergesagten Entitäten, wobei das vorhergesagte Tag mit dem tatsächlichen Tag identisch ist.

Screenshot mit einem Beispiel für eine Konfusionsmatrix

Anhand der Konfusionsmatrix können Sie die Auswertungsmetriken auf Absichts- oder Entitätsebene und auf Modellebene berechnen:

  • Die Werte auf der Diagonalen sind die True Positive-Werte der einzelnen Absichten oder Entitäten.
  • Die Summe der Werte in den Absichts- oder Entitätenzeilen (ausschließlich der Diagonalen) sind die False Positive-Werte des Modells.
  • Die Summe der Werte in den Absichts- oder Entitätenspalten (ausschließlich der Diagonalen) sind die False Negative-Werte des Modells.

Ähnlich:

  • Der True Positive-Wert des Modells ist die Summe der True Positives für alle Absichten oder Entitäten.
  • Der False Positive-Wert des Modells ist die Summe der False Positives für alle Absichten oder Entitäten.
  • Der False Negative-Wert des Modells ist die Summe der False Negatives für alle Absichten oder Entitäten.

Leitfaden

Nachdem Sie Ihr Modell trainiert haben, werden Ihnen einige Anleitungen und Empfehlungen zur Verbesserung des Modells angezeigt. Es wird empfohlen, ein Modell zu haben, das jeden Punkt im Abschnitt des Leitfadens abdeckt.

  • Der Trainingssatz umfasst genügend Daten: Wenn eine Absicht oder Entität weniger als 15 beschriftete Instanzen in den Trainingsdaten aufweist, kann dies zu einer geringeren Genauigkeit führen, da das Modell in diesen Fällen nicht angemessen für diese Absicht trainiert wurde. In diesem Fall sollten Sie dem Trainingssatz weitere beschriftete Daten hinzufügen. Sie sollten ihrer Entität nur dann weitere beschriftete Daten hinzufügen, wenn Ihre Entität über eine gelernte Komponente verfügt. Wenn Ihre Entität nur durch Listen-, vordefinierte und RegEx-Komponenten definiert ist, dann gilt diese Empfehlung nicht.
  • Alle Absichten oder Entitäten sind im Testsatz enthalten: Wenn für die Testdaten beschriftete Instanzen für eine Absicht oder eine Entität fehlen, ist die Modellauswertung aufgrund von nicht getesteten Szenarien weniger umfassend. Erwägen Sie, Testdaten für alle Absichten und Entitäten in Ihrem Modell zu verwenden, um sicherzustellen, dass alles getestet wird.
  • Unklare Unterscheidung zwischen Absichten oder Entitäten: Wenn Daten für unterschiedliche Absichten oder Entitäten ähnlich sind, führt dies möglicherweise zu einer geringeren Genauigkeit, da sie häufig gegenseitig falsch klassifiziert werden. Überprüfen Sie die folgenden Absichten und Entitäten, und erwägen Sie deren Zusammenführung, wenn sie ähnlich sind. Fügen Sie andernfalls weitere Beispiele hinzu, um sie besser voneinander zu unterscheiden. Sie können sich die Registerkarte Konfusionsmatrix ansehen, um weitere Anleitungen zu erhalten. Wenn zwei Entitäten ständig für die gleichen Spannen vorhergesagt werden, da sie die gleichen Listen-, vordefinierten oder RegEx-Komponenten verwenden, fügen Sie jeder Entität eine gelernte Komponente hinzu, und machen diese erforderlich. Weitere Informationen über Entitätskomponenten.