Freigeben über


Auswertungsmetriken für Orchestrierungsworkflow-Modelle

Ihr Dataset ist aufgeteilt, nämlich in zwei Sätze, einen Satz für das Training und einen Satz 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. Beim Auswertungsprozess werden zunächst auf der Grundlage des trainierten Modells benutzerdefinierte Absichten für Äußerungen im Testsatz vorhergesagt und mit den bereitgestellten Tags verglichen, um eine Wahrheitsbaseline zu erhalten. Die Ergebnisse werden zurückgegeben, sodass Sie die Leistung des Modells überprüfen können. Die Auswertung in Orchestrierungsworkflows nutzt die folgenden Metriken:

  • Genauigkeit: Misst, wie präzise/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 tatsächlich 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 Absicht separat (Auswertung auf Absichtsebene)
  • Für das Modell im Ganzen (Auswertung auf Modellebene)

Die Definitionen von Genauigkeit, Abruf und Auswertung sind für Auswertungen auf 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)
  • Freund anrufen
  • Hallo
  • Guten Morgen

Dies sind die verwendeten Absichten: CLUEmail und Greeting.

Das Modell liefert ggf. folgende Vorhersagen:

Äußerung Vorhergesagte Absicht Tatsächliche Absicht
Make a response with thank you very much (Antwort mit „Vielen Dank“ erstellen) CLUEmail CLUEmail
Freund anrufen Greeting (Begrüßung) CLUEmail
Hallo CLUEmail Greeting (Begrüßung)
Goodmorning Greeting (Begrüßung) Greeting (Begrüßung)

Auswertung auf Absichtsebene für die Absicht CLUEmail

Schlüssel Anzahl Erklärung
Richtig positiv 1 Äußerung 1 wurde korrekt als CLUEmail vorhergesagt.
Falsch positiv 1 Äußerung 3 wurde fälschlicherweise als CLUEmail vorhergesagt.
Falsch negativ 1 Äußerung 2 wurde fälschlicherweise als Greeting 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-Bewertung = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Auswertung auf Absichtsebene für die Absicht Greeting

Schlüssel Anzahl Erklärung
Richtig positiv 1 Äußerung 4 wurde korrekt als Greeting vorhergesagt.
Falsch positiv 1 Äußerung 2 wurde fälschlicherweise als Greeting vorhergesagt.
Falsch negativ 1 Äußerung 3 wurde fälschlicherweise als CLUEmail 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-Bewertung = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Auswertung auf Modellebene für das gemeinsame Modell

Schlüssel Anzahl Erklärung
Richtig positiv 2 Summe von TP für alle Absichten
Falsch positiv 2 Summe von FP für alle Absichten
Falsch negativ 2 Summe von FN für alle Absichten

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

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

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

Konfusionsmatrix

Eine Konfusionsmatrix ist eine n x n-Matrix, die für die Auswertung der Modellleistung verwendet wird, wobei „n“ die Anzahl der Absichten ist. Die Matrix vergleicht die tatsächlichen Tags mit den vom Modell vorhergesagten Tags. Dadurch 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 zu identifizieren, die zu nah beieinander liegen und häufig verwechselt werden (Mehrdeutigkeit). Erwägen Sie in diesem Fall, die betreffenden Absichten zusammenzuführen. Wenn dies nicht möglich ist, sollten Sie erwägen, weitere Beispiele mit Tags für beide Absichten hinzuzufügen. So können Sie es für das Modell einfacher machen, dazwischen zu unterscheiden.

Anhand der Konfusionsmatrix können Sie die Auswertungsmetriken auf Modellebene berechnen:

  • Der True Positive-Wert des Modells ist die Summe der True Positive-Werte für alle Absichten.
  • Der False Positive-Wert des Modells ist die Summe der False Positive-Werte für alle Absichten.
  • Der False Negative-Wert des Modells ist die Summe der False Negative-Werte für alle Absichten.

Nächste Schritte

Trainieren eines Modells in Language Studio