Métricas de avaliação para modelos de fluxo de trabalho de orquestração
Seu conjunto de dados é dividido em duas partes: um conjunto para treinamento e um conjunto para testes. O conjunto de treinamento é usado para treinar o modelo, enquanto o conjunto de testes é usado como um teste para o modelo após o treinamento para calcular o desempenho e a avaliação do modelo. O conjunto de testes não é introduzido no modelo através do processo de treinamento, para garantir que o modelo seja testado em novos dados.
A avaliação do modelo é acionada automaticamente após a conclusão bem-sucedida do treinamento. 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 tags fornecidas (que estabelece uma linha de base de verdade). Os resultados são retornados para que você possa analisar o desempenho do modelo. Para avaliação, o fluxo de trabalho de orquestração usa as seguintes métricas:
Precisão: Mede o quão preciso/preciso é o seu modelo. É a relação entre os positivos corretamente identificados (verdadeiros positivos) e todos os positivos identificados. A métrica de precisão revela quantas das classes previstas estão corretamente rotuladas.
Precision = #True_Positive / (#True_Positive + #False_Positive)
Recall: Mede a capacidade do modelo de prever classes positivas reais. É a relação entre os verdadeiros positivos previstos e o que foi realmente marcado. A métrica de recall revela quantas das classes previstas estão corretas.
Recall = #True_Positive / (#True_Positive + #False_Negatives)
Pontuação F1: A pontuação F1 é uma função de Precisão e Recordação. É necessário quando você busca um equilíbrio entre Precisão e Recordação.
F1 Score = 2 * Precision * Recall / (Precision + Recall)
A precisão, a recuperação e a pontuação F1 são calculadas para:
- Cada intenção separadamente (avaliação de nível de intenção)
- Para o modelo coletivamente (avaliação ao nível do modelo).
As definições de precisão, recordação e avaliação são as mesmas para avaliações de nível de intenção e de nível de modelo. No entanto, as contagens de Verdadeiros Positivos, Falsos Positivos e Falso Negativos podem diferir. Por exemplo, considere o texto a seguir.
Exemplo
- Faça uma resposta com muito obrigado
- Ligue para o meu amigo
- Hello (Olá)
- Bom dia
Estas são as intenções usadas: CLUEmail e Saudação
O modelo poderia fazer as seguintes previsões:
Expressão | Intenção prevista | Intenção real |
---|---|---|
Faça uma resposta com muito obrigado | CLUEmail | CLUEmail |
Ligue para o meu amigo | Greeting (Saudação) | CLUEmail |
Hello (Olá) | CLUEmail | Greeting (Saudação) |
Bom dia | Greeting (Saudação) | Greeting (Saudação) |
Avaliação do nível de intenção para intenção CLUEmail
Chave | Count | Explicação |
---|---|---|
Verdadeiro Positivo | 1 | O enunciado 1 foi corretamente previsto como CLUEmail. |
Falso Positivo | 1 | O enunciado 3 foi erroneamente previsto como CLUEmail. |
Falso Negativo | 1 | O enunciado 2 foi erroneamente previsto como Saudação. |
Precisão = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
Relembre = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
Pontuação F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
Avaliação do nível de intenção para a intenção de saudação
Chave | Count | Explicação |
---|---|---|
Verdadeiro Positivo | 1 | O enunciado 4 foi corretamente previsto como Saudação. |
Falso Positivo | 1 | O enunciado 2 foi erroneamente previsto como Saudação. |
Falso Negativo | 1 | O enunciado 3 foi erroneamente previsto como CLUEmail. |
Precisão = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
Relembre = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
Pontuaçã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 | Count | Explicação |
---|---|---|
Verdadeiro Positivo | 2 | Soma de TP para todos os efeitos |
Falso Positivo | 2 | Soma das PF para todos os efeitos |
Falso Negativo | 2 | Soma de FN para todos os efeitos |
Precisão = #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 2) = 0.5
Relembre = #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 2) = 0.5
Pontuaçã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 usada para avaliação de desempenho do modelo, onde N é o número de intenções. A matriz compara as tags reais com as tags previstas pelo modelo. Isso dá uma visão holística do desempenho do modelo e dos tipos de erros que está cometendo.
Você pode usar a matriz Confusão para identificar intenções que estão muito próximas umas das outras e muitas vezes se confundem (ambiguidade). Neste caso, considere fundir 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.
Você pode calcular as métricas de avaliação no nível do modelo a partir da matriz de confusão:
- O verdadeiro positivo do modelo é a soma dos verdadeiros positivos para todos os efeitos.
- O falso positivo do modelo é a soma dos falsos positivos para todos os efeitos.
- O falso negativo do modelo é a soma dos falsos negativos para todos os efeitos.