Métricas de avaliação para modelos de fluxo de trabalho de orquestração
O conjunto de dados é dividido em duas partes: um conjunto para preparação e um conjunto para teste. O conjunto de preparação é utilizado para preparar o modelo, enquanto o conjunto de testes é utilizado como um teste para o modelo após a preparação para calcular o desempenho e a avaliação do modelo. O conjunto de testes não é introduzido no modelo através do processo de preparação, para garantir que o modelo é testado em novos dados.
A avaliação do modelo é acionada automaticamente após a conclusão da preparação com êxito. O processo de avaliação começa por utilizar o modelo preparado para prever intenções definidas pelo utilizador para expressões no conjunto de teste e compara-as com as etiquetas fornecidas (que estabelece uma linha de base de verdade). Os resultados são devolvidos para que possa rever o desempenho do modelo. Para avaliação, o fluxo de trabalho de orquestração utiliza as seguintes métricas:
Precisão: mede a precisão/precisão do modelo. É a proporção entre os positivos corretamente identificados (verdadeiros positivos) e todos os positivos identificados. A métrica de precisão revela quantas classes previstas estão etiquetadas corretamente.
Precision = #True_Positive / (#True_Positive + #False_Positive)
Revocação: mede a capacidade do modelo de prever classes positivas reais. É a proporção entre os verdadeiros positivos previstos e o que foi realmente marcado. A métrica de resgate revela quantas das classes previstas estão corretas.
Recall = #True_Positive / (#True_Positive + #False_Negatives)
Classificação F1: a classificação F1 é uma função de Precisão e Revocação. É necessário quando procura um equilíbrio entre Precisão e Revocação.
F1 Score = 2 * Precision * Recall / (Precision + Recall)
A precisão, a revocação e a classificação F1 são calculadas para:
- Cada intenção separadamente (avaliação ao nível da intenção)
- Para o modelo coletivamente (avaliação ao nível do modelo).
As definições de precisão, revocação e avaliação são as mesmas para avaliações ao nível das intenções e ao nível do modelo. No entanto, as contagens de Verdadeiros Positivos, Falsos Positivos e Falsos Negativos podem ser diferentes. Por exemplo, considere o seguinte texto.
Exemplo
- Faça uma resposta com muito obrigado
- Ligar para o meu amigo
- Hello
- Bom dia
Estas são as intenções utilizadas: CLUEmail e Greeting
O modelo pode fazer as seguintes predições:
Expressão | Intenção prevista | Intenção real |
---|---|---|
Faça uma resposta com muito obrigado | CLUEmail | CLUEmail |
Ligar para o meu amigo | Saudação | CLUEmail |
Hello | CLUEmail | Saudação |
Goodmorning | Saudação | Saudação |
Avaliação ao nível da intenção para a intenção CLUEmail
Chave | de palavras | Explicação |
---|---|---|
Verdadeiro Positivo | 1 | A expressão 1 foi corretamente prevista como CLUEmail. |
Falso Positivo | 1 | A expressão 3 foi erradamente prevista como CLUEmail. |
Falso Negativo | 1 | A expressão 2 foi erradamente prevista como Saudação. |
Precisão = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
Revocação = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
Classificação F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
Avaliação ao nível da intenção para a intenção Saudação
Chave | de palavras | Explicação |
---|---|---|
Verdadeiro Positivo | 1 | A expressão 4 foi corretamente prevista como Saudação. |
Falso Positivo | 1 | A expressão 2 foi erradamente prevista como Saudação. |
Falso Negativo | 1 | A expressão 3 foi erradamente prevista como CLUEmail. |
Precisão = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
Revocação = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
Classificação F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
Avaliação ao nível do modelo para o modelo coletivo
Chave | de palavras | 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
Revocação = #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 2) = 0.5
Classificação F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
A matriz de confusão
Uma Matriz de confusão é uma matriz N x N utilizada para a avaliação do desempenho do modelo, em que N é o número de intenções. A matriz compara as etiquetas reais com as etiquetas previstas pelo modelo. Isto dá uma visão holística do desempenho do modelo e dos tipos de erros que está a efetuar.
Pode utilizar a Matriz de confusão para identificar intenções demasiado próximas umas das outras e muitas vezes se enganam (ambiguidade). Neste caso, considere unir estas intenções. Se isso não for possível, considere adicionar mais exemplos etiquetados de ambas as intenções para ajudar o modelo a diferenciar as mesmas.
Pode calcular as métricas de avaliação ao nível do modelo a partir da matriz de confusão:
- O verdadeiro positivo do modelo é a soma dos 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.