Vedere Metriche di valutazione per i modelli del flusso di lavoro di orchestrazione
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 gli intenti definiti dall'utente per le espressioni nel set di test e li confronta con i tag forniti (per stabilire una baseline di verità). I risultati vengono restituiti per consentire l’esame delle prestazioni del modello. Per la valutazione, il flusso di lavoro di orchestrazione 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 classi 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 rivela il numero di classi stimate 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)
La precisione, il richiamo e il punteggio F1 vengono calcolati per:
- Ogni intento separatamente (valutazione a livello di intento)
- Per il modello collettivamente (valutazione a livello di modello).
Le definizioni di precisione, richiamo e valutazione sono le stesse per le valutazioni a livello di intento 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
- Dare una risposta con grazie molte
- Chiama il mio amico
- Buongiorno
- Buongiorno
Questi sono gli intenti usati: CLUEmail e Saluti
Il modello potrebbe eseguire le stime seguenti:
Espressione | Intento stimato | Intento effettivo |
---|---|---|
Dare una risposta con grazie molte | CLUEmail | CLUEmail |
Chiama il mio amico | Greeting | CLUEmail |
Buongiorno | CLUEmail | Greeting |
Buongiorno | Greeting | Greeting |
Valutazione a livello di intento per intento CLUEmail
Chiave | Conteggio | Spiegazione |
---|---|---|
Veri positivi | 1 | L'espressione 1 è stata stimata correttamente come CLUEmail. |
Falsi positivi | 1 | L'espressione 3 è stata stimata erroneamente come CLUEmail. |
Falsi negativi | 1 | L'espressione 2 è stata stimata erroneamente come Saluti. |
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 intento per intento Saluti
Chiave | Conteggio | Spiegazione |
---|---|---|
Veri positivi | 1 | L'espressione 4 è stata stimata correttamente come Saluti. |
Falsi positivi | 1 | L'espressione 2 è stata stimata erroneamente come Saluti. |
Falsi negativi | 1 | L'espressione 3 è stata stimata erroneamente come CLUEmail. |
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
Chiave | Conteggio | Spiegazione |
---|---|---|
Veri positivi | 2 | Somma di Veri positivi per tutti gli intenti |
Falsi positivi | 2 | Somma di Falsi positivi per tutti gli intenti |
Falsi negativi | 2 | Somma di Falsi negativi per tutti gli intenti |
Precisione = #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 2) = 0.5
Richiamo = #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 2) = 0.5
Punteggio F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
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 finalità. La matrice confronta i tag effettivi con i tag stimati 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 gli intenti troppi vicini tra loro che vengono spesso erroneamente classificati (ambiguità). In questo caso, prendere in considerazione l'unione di questi intenti. Se non è possibile, valutare l’assegnazione di etichette di entrambi gli intenti per facilitare la loro differenziazione nel modello.
È possibile usare la matrice di confusione per calcolare le metriche di valutazione a livello di modello:
- Il vero positivo del modello è la somma dei veri positivi di tutti gli intenti.
- Il falso positivo del modello è la somma di falsi positivi di tutti gli intenti.
- Il falso negativo del modello è la somma di falsi negativi di tutti gli intenti.