Metriche di valutazione per modelli di riconoscimento delle entità denominati personalizzati

Il set di dati è suddiviso in due parti: un set per il training e un set di test. Il set di training viene usato per eseguire il training del modello, mentre il set di test viene usato come test per il modello dopo il training per calcolare le prestazioni e la valutazione del modello. Il set di test non viene introdotto nel modello tramite il processo di training, per assicurarsi che il modello venga testato sui nuovi dati.

La valutazione del modello viene attivata automaticamente dopo il completamento del training. Il processo di valutazione inizia usando il modello sottoposto a training per stimare le entità definite dall'utente per i documenti nel set di test e li confronta con i tag di dati forniti (che stabilisce una baseline di verità). I risultati vengono restituiti in modo da poter esaminare le prestazioni del modello. Per la valutazione, NER personalizzato usa le metriche seguenti:

  • Precisione: misura la precisione/precisione del modello. È il rapporto tra i positivi identificati correttamente (veri positivi) e tutti i positivi identificati. La metrica di precisione rivela il numero di entità stimate etichettate correttamente.

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

  • Richiamo: misura la capacità del modello di stimare le classi positive effettive. È il rapporto tra i veri positivi stimati e ciò che è stato effettivamente contrassegnato. La metrica di richiamo rivela il numero di entità stimate corrette.

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

  • Punteggio F1: il punteggio F1 è una funzione di precisione e richiamo. È necessario quando si cerca un equilibrio tra precisione e richiamo.

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

Nota

Precisione, richiamo e punteggio F1 vengono calcolati per ogni entità separatamente (valutazione a livello di entità) e per il modello collettivamente (valutazione a livello di modello ).

Metriche di valutazione a livello di modello e a livello di entità

La precisione, il richiamo e il punteggio F1 vengono calcolati separatamente per ogni entità (valutazione a livello di entità) e per il modello collettivamente (valutazione a livello di modello).

Le definizioni di precisione, richiamo e valutazione sono uguali sia per le valutazioni a livello di entità che a livello di modello. Tuttavia, i conteggi per true positivi, falsi positivi e falsi negativi possono differire . Si consideri ad esempio il testo seguente.

Esempio

La prima parte di questo contratto è John Smith, residente nel 5678 Main Rd., Città di Frederick, stato del Nebraska. E la seconda festa è Forrest Ray, residente di 123-345 Integer Rd., Città di Corona, stato del New Messico. C'è anche Fannie Thomas residente a 7890 River Road, città di Colorado Springs, Stato del Colorado.

Il modello che estrae entità da questo testo potrebbe avere le stime seguenti:

Entità Stimato come Tipo effettivo
Giorgio Cavaglieri Persona Persona
Frederick Persona City
Forrest City Persona
Fannie Thomas Persona Persona
Colorado Springs City City

Valutazione a livello di entità per l'entità persona

Il modello avrà la valutazione a livello di entità seguente per l'entità persona :

Chiave Conteggio Spiegazione
Veri positivi 2 John Smith e Fannie Thomas sono stati stimati correttamente come persona.
Falsi positivi 1 Frederick era erroneamente stimato come persona mentre doveva essere città.
Falsi negativi 1 Forrest è stato stimato in modo errato come città mentre dovrebbe essere stato persona.
  • Precisione: #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67
  • Richiamo: #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67
  • Punteggio F1: 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

Valutazione a livello di entità per l'entità città

Il modello avrà la valutazione a livello di entità seguente per l'entità city :

Chiave Conteggio Spiegazione
Veri positivi 1 Colorado Springs è stato stimato correttamente come città.
Falsi positivi 1 Forrest è stato stimato in modo errato come città mentre dovrebbe essere stato persona.
Falsi negativi 1 Frederick era erroneamente stimato come persona mentre doveva essere città.
  • Precisione = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
  • Ricordare = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
  • Punteggio F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Valutazione a livello di modello per il modello collettivo

Il modello avrà la valutazione seguente per il modello nell'intera durata:

Chiave Conteggio Spiegazione
Veri positivi 3 John Smith e Fannie Thomas sono stati stimati correttamente come persona. Colorado Springs è stato stimato correttamente come città. Questa è la somma dei veri positivi per tutte le entità.
Falsi positivi 2 Forrest è stato stimato in modo errato come città mentre dovrebbe essere stato persona. Frederick era erroneamente stimato come persona mentre doveva essere città. Si tratta della somma dei falsi positivi per tutte le entità.
Falsi negativi 2 Forrest è stato stimato in modo errato come città mentre dovrebbe essere stato persona. Frederick era erroneamente stimato come persona mentre doveva essere città. Si tratta della somma di falsi negativi per tutte le entità.
  • Precisione = #True_Positive / (#True_Positive + #False_Positive) = 3 / (3 + 2) = 0.6
  • Ricordare = #True_Positive / (#True_Positive + #False_Negatives) = 3 / (3 + 2) = 0.6
  • Punteggio F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.6 * 0.6) / (0.6 + 0.6) = 0.6

Interpretazione delle metriche di valutazione a livello di entità

Quindi cosa significa in realtà avere una precisione elevata o un richiamo elevato per una determinata entità?

Richiamo Precisione Interpretazione
Alto Alto Questa entità viene gestita correttamente dal modello.
Basso Alto Il modello non può sempre estrarre questa entità, ma quando lo fa è con elevata attendibilità.
Alto Basso Il modello estrae bene questa entità, tuttavia è con bassa confidenza poiché talvolta viene estratta come un altro tipo.
Bassa Bassa Questo tipo di entità è gestito in modo non adeguato dal modello, perché in genere non viene estratto. Quando è, non è con fiducia elevata.

Indicazioni

Dopo aver eseguito il training del modello, verranno visualizzate alcune indicazioni e consigli su come migliorare il modello. È consigliabile avere un modello che copre tutti i punti nella sezione linee guida.

  • Il set di training dispone di dati sufficienti: quando un tipo di entità ha meno di 15 istanze etichettate nei dati di training, può causare un'accuratezza inferiore a causa del modello non adeguatamente sottoposto a training su questi casi. In questo caso, prendere in considerazione l'aggiunta di altri dati etichettati nel set di training. Per altre indicazioni, è possibile controllare la scheda distribuzione dei dati .

  • Tutti i tipi di entità sono presenti nel set di test: quando i dati di test non contengono istanze etichettate per un tipo di entità, le prestazioni di test del modello potrebbero diventare meno complete a causa di scenari non testati. Per altre indicazioni, è possibile controllare la scheda distribuzione dei dati del set di test .

  • I tipi di entità sono bilanciati all'interno di set di training e test: quando il campionamento causa una rappresentazione imprecisa della frequenza di un tipo di entità, può causare una precisione inferiore a causa del modello che prevede che il tipo di entità si verifichi troppo spesso o troppo poco. Per altre indicazioni, è possibile controllare la scheda distribuzione dei dati .

  • I tipi di entità vengono distribuiti uniformemente tra set di training e test: quando la combinazione di tipi di entità non corrisponde tra set di training e test, può causare una precisione di test inferiore a causa del training del modello sottoposto a training in modo diverso dal modo in cui viene testato. Per altre indicazioni, è possibile controllare la scheda distribuzione dei dati .

  • Distinzione non chiara tra i tipi di entità nel set di training: quando i dati di training sono simili a più tipi di entità, può causare un'accuratezza inferiore perché i tipi di entità possono essere spesso non classificati come gli altri. Esaminare i tipi di entità seguenti e considerarne l'unione se sono simili. In caso contrario, aggiungere altri esempi per distinguerli meglio tra loro. È possibile controllare la scheda matrice di confusione per altre indicazioni.

Matrice di confusione

Una matrice confusione è una matrice N x N usata per la valutazione delle prestazioni del modello, dove N è il numero di entità. La matrice confronta le etichette previste con quelle stimate dal modello. Ciò offre una visione olistica del funzionamento del modello e dei tipi di errori che sta facendo.

È possibile usare la matrice confusione per identificare le entità troppo vicine tra loro e spesso si verificano errori (ambiguità). In questo caso si consideri l'unione di questi tipi di entità insieme. Se non è possibile, è consigliabile aggiungere altri esempi di tag di entrambe le entità per facilitare la differenziazione del modello tra di essi.

La diagonale evidenziata nell'immagine seguente è l'entità stimata correttamente, in cui il tag stimato è uguale al tag effettivo.

Screenshot che mostra una matrice di confusione di esempio.

È possibile calcolare le metriche di valutazione a livello di entità e modello dalla matrice di confusione:

  • I valori della diagonale sono i valori True Positive di ogni entità.
  • La somma dei valori nelle righe di entità (escluse la diagonale) è il falso positivo del modello.
  • La somma dei valori nelle colonne di entità (esclusa la diagonale) è il falso Negativo del modello.

Analogamente,

  • Il vero positivo del modello è la somma di veri positivi per tutte le entità.
  • Il falso positivo del modello è la somma di falsi positivi per tutte le entità.
  • False Negativo del modello è la somma di falsi negativi per tutte le entità.

Passaggi successivi