Auswertungsmetriken für Modelle für die benutzerdefinierte benannte Entitätserkennung
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. Der Auswertungsprozess beginnt damit, dass das trainierte Modell zum Vorhersagen benutzerdefinierter Entitäten für Dokumente im Testdatensatz und für deren Vergleich mit den bereitgestellten Datentags verwendet wird (wodurch eine Wahrheitsbaseline gebildet wird). Die Ergebnisse werden zurückgegeben, sodass Sie die Leistung des Modells überprüfen können. Für die Auswertung verwendet die benutzerdefinierte Erkennung benannter Entitäten 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 Entitäten richtig bezeichnet 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 gekennzeichneten Klassen. Die Abrufmetrik gibt an, wie viele der vorhergesagten Entitäten 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)
Hinweis
Genauigkeit, Abruf und F1-Score werden für jede Entität separat (Auswertung auf Entitätsebene) und für das Modell insgesamt (Auswertung auf Modellebene) berechnet.
Auswertungsmetriken auf Modell- und Entitätsebene
Genauigkeit, Abruf und F1-Score werden für jede Entität separat (Auswertung auf Entitätsebene) und für das Modell insgesamt (Auswertung auf Modellebene) berechnet.
Die Definitionen für Genauigkeit, Abruf und Auswertung sind für Auswertungen auf Entitäts- und Modellebene identisch. Die Anzahl von True Positives, False Positives und False Negatives kann aber variieren. Sehen Sie sich beispielsweise den folgenden Text an:
Beispiel
Die erste Partei dieses Vertrags ist John Smith, 5678 Main Rd., Frederick, Bundesstaat Nebraska. Die zweite Partei ist Forrest Ray, 123-345 Integer Rd., Corona, Bundesstaat New Mexico. Eine weitere Partei ist Fannie Thomas, 7890 River Road, Colorado Springs, Bundesstaat Colorado.
Das Modell, mit dem Entitäten aus diesem Text extrahiert werden, könnte beispielsweise die folgenden Vorhersagen aufweisen:
Entität | Vorhergesagt als | Tatsächlicher Typ |
---|---|---|
Johan Lorenz | Person | Person |
Frederick | Person | City |
Forrest | City | Person |
Fannie Thomas | Person | Person |
Colorado Springs | City | City |
Auswertung auf Entitätsebene für die Entität Person
Das Modell würde für die Entität Person die folgende Auswertung auf Entitätsebene aufweisen:
Schlüssel | Anzahl | Erklärung |
---|---|---|
Richtig positiv | 2 | John Smith und Fannie Thomas wurden richtig als Person vorhergesagt. |
Falsch positiv | 1 | Frederick wurde falsch als Person vorhergesagt und hätte Stadt lauten sollen. |
Falsch negativ | 1 | Forrest wurde falsch als Stadt vorhergesagt und hätte Person lauten sollen. |
- 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-Score:
2 * Precision * Recall / (Precision + Recall)
=(2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67
Auswertung auf Entitätsebene für die Entität Stadt
Das Modell würde für die Entität Stadt die folgende Auswertung auf Entitätsebene aufweisen:
Schlüssel | Anzahl | Erklärung |
---|---|---|
Richtig positiv | 1 | Colorado Springs wurde richtig als Stadt vorhergesagt. |
Falsch positiv | 1 | Forrest wurde falsch als Stadt vorhergesagt und hätte Person lauten sollen. |
Falsch negativ | 1 | Frederick wurde falsch als Person vorhergesagt und hätte Stadt lauten sollen. |
- 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
Das Modell würde die folgende Auswertung für das gesamte Modell aufweisen:
Schlüssel | Anzahl | Erklärung |
---|---|---|
Richtig positiv | 3 | John Smith und Fannie Thomas wurden richtig als Person vorhergesagt. Colorado Springs wurde richtig als Stadt vorhergesagt. Dies ist die Summe der True Positives für alle Entitäten. |
Falsch positiv | 2 | Forrest wurde falsch als Stadt vorhergesagt und hätte Person lauten sollen. Frederick wurde falsch als Person vorhergesagt und hätte Stadt lauten sollen. Dies ist die Summe der False Positives für alle Entitäten. |
Falsch negativ | 2 | Forrest wurde falsch als Stadt vorhergesagt und hätte Person lauten sollen. Frederick wurde falsch als Person vorhergesagt und hätte Stadt lauten sollen. Dies ist die Summe der False Negatives für alle Entitäten. |
- Genauigkeit =
#True_Positive / (#True_Positive + #False_Positive)
=3 / (3 + 2) = 0.6
- Abruf =
#True_Positive / (#True_Positive + #False_Negatives)
=3 / (3 + 2) = 0.6
- F1-Score =
2 * Precision * Recall / (Precision + Recall)
=(2 * 0.6 * 0.6) / (0.6 + 0.6) = 0.6
Interpretieren von Auswertungsmetriken auf Entitätsebene
Was genau bedeutet also ein hoher Genauigkeitswert oder ein hoher Abrufwert für eine bestimmte Entität?
Recall | Precision | Interpretation |
---|---|---|
High | High | Diese Entität wird vom Modell gut verarbeitet. |
Niedrig | High | Das Modell kann diese Entität nicht immer extrahieren, aber wenn es möglich ist, erfolgt dies mit hoher Konfidenz. |
High | Niedrig | Das Modell kann diese Entität gut extrahieren, aber die Konfidenz ist niedrig, da manchmal die Extraktion als anderer Typ erfolgt. |
Niedrig | Niedrig | Dieser Entitätstyp wird vom Modell nicht gut verarbeitet, da er in der Regel nicht extrahiert wird. Gelingt die Extraktion trotzdem, ist die Konfidenz niedrig. |
Leitfaden
Nachdem Sie Ihr Modell trainiert haben, werden Ihnen einige Anleitungen und Empfehlungen zur Verbesserung des Modells angezeigt. Es wird ein Modell empfohlen, das alle Punkte im Leitfadenabschnitt abdeckt.
Trainingssatz umfasst genügend Daten: Wenn ein Entitätstyp 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 trainiert wird. In diesem Fall sollten Sie dem Trainingssatz weitere beschriftete Daten hinzufügen. Sie können die Registerkarte Datenverteilung überprüfen, um weitere Anleitungen zu erhalten.
Alle Entitätstypen sind im Testsatz enthalten: Wenn für die Testdaten beschriftete Instanzen für einen Entitätstyp fehlen, ist die Testleistung des Modells aufgrund von nicht getesteten Szenarien möglicherweise weniger umfassend. Sie können die Registerkarte Testsatzdatenverteilung überprüfen, um weitere Anleitungen zu erhalten.
Entitätstypen sind innerhalb von Trainings- und Testsätzen ausgeglichen: Wenn die Häufigkeit eines Entitätstyps durch ein Ungleichgewicht bei der Stichprobenentnahme falsch dargestellt wird, kann dies zu einer geringeren Genauigkeit führen, weil das Modell diesen Entitätstyp zu häufig oder zu selten erwartet. Sie können die Registerkarte Datenverteilung überprüfen, um weitere Anleitungen zu erhalten.
Entitätstypen sind zwischen Trainings- und Testsätzen gleichmäßig verteilt: Wenn die Mischung aus Entitätstypen zwischen Trainings- und Testsätzen nicht überstimmt, kann es zu einer niedrigeren Testgenauigkeit führen, da das Modell anders trainiert als getestet wird. Sie können die Registerkarte Datenverteilung überprüfen, um weitere Anleitungen zu erhalten.
Unklare Unterscheidung zwischen Entitätstypen im Trainingssatz: Wenn die Trainingsdaten für mehrere Entitätstypen ähnlich sind, kann dies zu geringerer Genauigkeit führen, da die Entitätstypen häufig als andere Entitätstypen fehlklassifiziert werden können. Überprüfen Sie die folgenden Entitätstypen, 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 die Registerkarte Konfusionsmatrix überprüfen, um weitere Anleitungen zu erhalten.
Konfusionsmatrix
Eine Konfusionsmatrix ist eine n x n-Matrix, die für die Auswertung der Modellleistung verwendet wird, wobei „n“ die Anzahl von Entitäten ist. Die Matrix vergleicht die erwarteten Bezeichnungen mit den vom Modell vorhergesagten Bezeichnungen. 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 Entitäten zu identifizieren, die zu nah beieinander liegen und häufig verwechselt werden (Mehrdeutigkeit). Erwägen Sie in diesem Fall, die betreffenden Entitätstypen zusammenzuführen. Wenn dies nicht möglich ist, sollten Sie erwägen, weitere Beispiele mit Tags für beide 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.
Anhand der Konfusionsmatrix können Sie die Auswertungsmetriken auf Entitäts- und Modellebene berechnen:
- Die Werte auf der Diagonalen sind die True Positive-Werte der einzelnen Entitäten.
- Die Summe der Werte in den Entitätszeilen (ausschließlich der Diagonalen) sind die False Positive-Werte des Modells.
- Die Summe der Werte in den Entitätsspalten (ausschließlich der Diagonalen) sind die False Negative-Werte des Modells.
Ebenso gilt:
- Der True Positive-Wert des Modells ist die Summe der True Positive-Werte für alle Entitäten.
- Der False Positive-Wert des Modells ist die Summe der False Positive-Werte für alle Entitäten.
- Der False Negative-Wert des Modells ist die Summe der False Negative-Werte für alle Entitäten.