Métricas de avaliação dos modelos do fluxo de trabalho de orquestração
Seu conjunto de dados é dividido em duas partes: um conjunto para treinamento e um conjunto para teste. O conjunto de treinamento é usado para treinar o modelo, enquanto o conjunto de teste é usado como um teste para o modelo após o treinamento para calcular o desempenho e a avaliação do modelo. O conjunto de teste não é introduzido no modelo por meio do processo de treinamento, para garantir que o modelo seja testado em novos dados.
A avaliação do modelo é disparada automaticamente depois que o treinamento é concluído com êxito. O processo de avaliação começa usando o modelo treinado para prever as intenções definidas pelo usuário para enunciados no conjunto de teste e as compara com as marcas fornecidas (o que estabelece uma linha de base da verdade). Os resultados são retornados para que você possa revisar o desempenho do modelo. Para a avaliação, o fluxo de trabalho de orquestração usa as seguintes métricas:
Precisão: mede a precisão/exatidão do modelo. É a taxa entre os positivos identificados corretamente (verdadeiros positivos) e todos os positivos identificados. A métrica de precisão revela quantas das classes previstas estão rotuladas corretamente.
Precision = #True_Positive / (#True_Positive + #False_Positive)
Recall: mede a capacidade do modelo de prever classes positivas reais. É a taxa entre os verdadeiros positivos previstos e o que foi realmente marcado. A métrica de recall revelam quantas das classes previstas estão corretas.
Recall = #True_Positive / (#True_Positive + #False_Negatives)
Medida f: a medida f é uma função de Precisão e Recall. Ela é necessária quando você busca um equilíbrio entre Precisão e Recall.
F1 Score = 2 * Precision * Recall / (Precision + Recall)
Precisão, recall e medida f são calculadas para:
- Cada intenção separadamente (avaliação no nível da intenção)
- O modelo coletivamente (avaliação no nível do modelo).
As definições de precisão, recall e avaliação são as mesmas para avaliações no nível da intenção e no nível do modelo. No entanto, as contagens para Verdadeiros Positivos, Falsos Positivos e Falsos Negativos podem ser diferentes. Por exemplo, considere a seguinte mensagem de texto.
Exemplo
- Elaborar uma resposta com agradecimento
- Ligar para meu amigo
- Olá
- Bom Dia
Estas são as intenções usadas: CLUEmail e Saudação
O modelo poderia fazer as seguintes previsões:
Enunciado | Intenção prevista | Intenção real |
---|---|---|
Elaborar uma resposta com agradecimento | CLUEmail | CLUEmail |
Ligar para meu amigo | Saudação | CLUEmail |
Olá | CLUEmail | Saudação |
Goodmorning | Saudação | Saudação |
Avaliação no nível da intenção para a intenção CLUEmail
Chave | Contagem | Explicação |
---|---|---|
Verdadeiro Positivo | 1 | O enunciado 1 foi previsto corretamente como CLUEmail. |
Falso Positivo | 1 | O enunciado 3 foi previsto erroneamente como CLUEmail. |
Falso Negativo | 1 | O enunciado 2 foi previsto erroneamente como Saudação. |
Precisão = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
Recall = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
Medida f = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
Avaliação de nível de intenção para a intenção Saudação
Chave | Contagem | Explicação |
---|---|---|
Verdadeiro Positivo | 1 | O enunciado 4 foi previsto corretamente como Saudação. |
Falso Positivo | 1 | O enunciado 2 foi previsto erroneamente como Saudação. |
Falso Negativo | 1 | O enunciado 3 foi previsto erroneamente como CLUEmail. |
Precisão = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
Recall = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
Medida f = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
Avaliação no nível do modelo para o modelo coletivo
Chave | Contagem | Explicação |
---|---|---|
Verdadeiro Positivo | 2 | Soma de TP para todas as intenções |
Falso Positivo | 2 | Soma de FP para todas as intenções |
Falso Negativo | 2 | Soma de FN para todas as intenções |
Precisão = #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 2) = 0.5
Recall = #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 2) = 0.5
Medida f = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
Matriz de confusão
Uma matriz de confusão é uma matriz N x N usada para avaliação de desempenho do modelo, em que N é o número de intenções. A matriz compara as marcas reais com as marcas previstas pelo modelo. Isso fornece uma visão holística de quão bem o modelo está sendo executado e de quais tipos de erros ele está cometendo.
É possível usar a matriz de confusão para identificar intenções que estão muito próximas umas das outras e que muitas vezes são confundidas (ambiguidade). Nesse caso, considere mesclar essas intenções. Se isso não for possível, considere adicionar mais exemplos marcados de ambas as intenções para ajudar o modelo a diferenciá-las.
É possível calcular as métricas de avaliação no nível do modelo da matriz de confusão:
- O verdadeiro positivo do modelo é a soma de verdadeiros positivos para todas as intenções.
- O falso positivo do modelo é a soma de falsos positivos para todas as intenções.
- O falso negativo do modelo é a soma de falsos negativos para todas as intenções.