Condividi tramite


Metriche di valutazione per modelli di analisi testuale personalizzata per la salute

Il set di dati è suddiviso in due parti: un set per il training e un set per i 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 verificare che il modello venga testato sui nuovi dati.

La valutazione del modello viene attivata automaticamente dopo che è stato eseguito il training correttamente. 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 le etichette di dati forniti (per stabilire una baseline di verità). I risultati vengono restituiti per consentire l’esame delle prestazioni del modello. Le entità definite dall'utente vengono incluse nel factoring di valutazione nei componenti Appresi ed Elenco; l'analisi del testo per le entità predefinite di integrità non viene sottoposta a factoring nella valutazione del modello. Per la valutazione, l'analisi testuale personalizzata per la salute usa le metriche seguenti:

  • Precisione: misura la precisione o l'accuratezza del modello. È il rapporto tra i positivi identificati correttamente (veri positivi) e tutti i positivi identificati. La metrica Precision rivela quante delle entità stimate sono 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 indica il numero di entità stimate che sono corrette.

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

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

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

Nota

La precisione, il richiamo e il punteggio F1 vengono calcolati separatamente per ogni entità (valutazione a livello di entità) e collettivamente per il modello (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 collettivamente per il modello (valutazione a livello di modello).

Le definizioni di precisione, richiamo e valutazione sono le stesse per le valutazioni a livello di entità e a livello di modello. Tuttavia, i conteggi per Veri positivi, Falsi positivi e Falsi negativi possono variare. Si consideri ad esempio il testo seguente.

Esempio

La prima parte di questo contratto è John Smith, residente di 5678 Main Rd., Città di Frederick, stato di Nebraska. E la seconda parte è Forrest Ray, residente di 123-345 Integer Rd., Città di Corona, stato Nuovo 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 Person Città
Forrest Città Person
Fannie Thomas Persona Persona
Colorado Springs Città Città

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

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

Chiave Conteggio Spiegazione
Veri positivi 2 John Smith e Fannie Thomas sono stati definiti correttamente come persona.
Falsi positivi 1 Frederick è stato definito erroneamente come persona mentre avrebbe dovuto essere città.
Falsi negativi 1 Forrest è stato definito erroneamente come città mentre avrebbe dovuto essere 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 seguente valutazione a livello di entità seguente per l'entità città:

Chiave Conteggio Spiegazione
Veri positivi 1 Colorado Springs è stata definita correttamente come città.
Falsi positivi 1 Forrest è stato definito erroneamente come città mentre avrebbe dovuto essere persona.
Falsi negativi 1 Frederick è stato definito erroneamente come persona mentre avrebbe dovuto essere città.
  • Precisione = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
  • Richiamo = #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 nel suo complesso:

Chiave Conteggio Spiegazione
Veri positivi 3 John Smith e Fannie Thomas sono stati definiti correttamente come persona. Colorado Springs è stata definita correttamente come città. Si tratta della somma dei veri positivi per tutte le entità.
Falsi positivi 2 Forrest è stato definito erroneamente come città mentre avrebbe dovuto essere persona. Frederick è stato definito erroneamente come persona mentre avrebbe dovuto essere città. Si tratta della somma dei falsi positivi per tutte le entità.
Falsi negativi 2 Forrest è stato definito erroneamente come città mentre avrebbe dovuto essere persona. Frederick è stato definito erroneamente come persona mentre avrebbe dovuto essere città. Si tratta della somma dei falsi negativi per tutte le entità.
  • Precisione = #True_Positive / (#True_Positive + #False_Positive) = 3 / (3 + 2) = 0.6
  • Richiamo = #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 effettivamente avere una precisione elevata o un richiamo elevato per una determinata entità?

Richiamo Precisione Interpretazione
Elevato Alta Questa entità viene gestita correttamente dal modello.
Ridotto Elevato Il modello non è sempre in grado di estrarre questa entità, ma quando lo esegue dispone di una elevata attendibilità.
Alto Basso Il modello estrae bene questa entità, ma dispone di bassa attendibilità poiché a volte viene estratta come un altro tipo.
Basso Basso Questo tipo di entità non è gestito correttamente dal modello, perché in genere non viene estratto. Quando lo è, non è con elevata attendibilità.

Linee guida

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 delle linee guida.

  • Il set di training ha dati sufficienti: quando un tipo di entità ha meno di 15 istanze etichettate nei dati di training, l’accuratezza può essere minore a causa del fatto che il modello non viene sottoposto a training adeguato in questi casi. In questo caso, prendere in considerazione l'aggiunta di altri dati etichettati nel set di training. Per materiale sussidiario, vedere la scheda distribuzione dei dati.

  • Tutti i tipi di entità sono presenti nel set di test: quando i dati di test non dispongono di istanze etichettate per un tipo di entità, le prestazioni dei test del modello possono risultare meno complete a causa di scenari non verificati. Per materiale sussidiario, vedere la scheda distribuzione dei dati del set di dati.

  • I tipi di entità sono bilanciati nei set di training e test: quando la distorsione di campionamento causa una rappresentazione imprecisa della frequenza di un tipo di entità, l’accuratezza può risultare minore a causa del fatto che il modello prevede che il tipo di entità si verifichi troppo spesso o troppo poco. Per materiale sussidiario, vedere la scheda distribuzione dei dati.

  • I tipi di entità vengono distribuiti uniformemente tra i set di training e di test: quando la combinazione di tipi di entità non corrisponde tra i set di training e di test, l’accuratezza dei test può essere minore a causa del fatto che il modello è stato sottoposto a training in modo diverso rispetto al modo in cui viene testato. Per materiale sussidiario, vedere la scheda distribuzione dei dati.

  • I tipi di entità nel set di training non sono chiaramente distinti: quando i dati di training sono simili per più tipi di entità, l’accuratezza può essere minore perché i tipi di entità possono essere spesso erroneamente classificati tra loro. Esaminare i tipi di entità seguenti e valutare la possibilità di unirli se sono simili. In caso contrario, aggiungere altri esempi per distinguerli meglio l'uno dall'altro. Per materiale sussidiario, è possibile controllare la matrice di confusione.

Matrice di confusione

Una matrice di 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 delle prestazioni del modello e dei tipi di errori che sta facendo.

È possibile usare la matrice di confusione per identificare le entità troppo vicine tra loro che vengono spesso erroneamente classificate (ambiguità). In questo caso, prendere in considerazione l'unione di questi tipi di entità. Se non è possibile, valutare l’assegnazione di etichette di entrambe le entità a più documenti per facilitare la loro differenziazione nel modello.

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

Screenshot che mostra un esempio di matrice di confusione.

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

  • I valori in diagonale sono i valori veri positivi di ogni entità.
  • La somma dei valori nelle righe dell’entità (esclusa la diagonale) è il falso positivo del modello.
  • La somma dei valori nelle colonne dell’entità (esclusa la diagonale) è il falso negativo del modello.

Analogamente,

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

Passaggi successivi