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.

Próximas etapas

Treinar um modelo no Language Studio