Métricas de avaliação para modelos de reconhecimento de entidade nomeada personalizado

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 entidades dos documentos do conjunto de teste definidas pelo usuário e as compara com as marcas de dados fornecidas (que estabelecem uma linha de base da verdade). Os resultados são retornados para que você possa revisar o desempenho do modelo. Para avaliação, o NER personalizado 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 entidades 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 revela quantas das entidades 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)

Observação

Precisão, recall e medida f são calculados separadamente para cada entidade (avaliação no nível da entidade) e coletivamente para o modelo (avaliação no nível do modelo).

Métricas de avaliação no nível do modelo e no nível da entidade

Precisão, recall e medida f são calculados separadamente para cada entidade (avaliação no nível da entidade) e coletivamente para o modelo (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 entidade 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

A primeira parte deste contrato é John Smith, residente em 5678 Main Rd., cidade de Frederick, estado de Nebraska. E a segunda entidade é Forrest Ray, residente em 123-345 Integer Rd., cidade de Corona, estado do Novo México. Também há Fannie Thomas residente em 7890 River Road, cidade de Colorado Springs, estado do Colorado.

O modelo que extrai entidades deste texto pode ter as seguintes previsões:

Entidade Previsto como Tipo real
John Smith Pessoa Pessoa
Frederick Pessoa City
Forrest City Pessoa
Fannie Thomas Pessoa Pessoa
Colorado Springs City City

Avaliação no nível da entidade para a entidade pessoa

O modelo teria a seguinte avaliação no nível da entidade, para a entidade de pessoa:

Chave Contagem Explicação
Verdadeiro Positivo 2 John Smith e Fania Thomas foram previstos corretamente como pessoa.
Falso Positivo 1 Frederick foi prevista incorretamente como pessoa enquanto deveria ter sido cidade.
Falso Negativo 1 Forrest foi prevista incorretamente como cidade enquanto deveria ter sido pessoa.
  • Precisão: #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67
  • Recall: #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67
  • Medida f: 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

Avaliação no nível da entidade para a entidade cidade

O modelo teria a seguinte avaliação no nível da entidade, para a entidade de cidade:

Chave Contagem Explicação
Verdadeiro Positivo 1 Colorado Springs foi prevista corretamente como cidade.
Falso Positivo 1 Forrest foi prevista incorretamente como cidade enquanto deveria ter sido pessoa.
Falso Negativo 1 Frederick foi prevista incorretamente como pessoa enquanto deveria ter sido cidade.
  • 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

O modelo teria a seguinte avaliação para o modelo em sua totalidade:

Chave Contagem Explicação
Verdadeiro Positivo 3 John Smith e Fania Thomas foram previstos corretamente como pessoa. Colorado Springs foi prevista corretamente como cidade. Essa é a soma de verdadeiros positivos para todas as entidades.
Falso Positivo 2 Forrest foi prevista incorretamente como cidade enquanto deveria ter sido pessoa. Frederick foi prevista incorretamente como pessoa enquanto deveria ter sido cidade. Essa é a soma de falsos positivos para todas as entidades.
Falso Negativo 2 Forrest foi prevista incorretamente como cidade enquanto deveria ter sido pessoa. Frederick foi prevista incorretamente como pessoa enquanto deveria ter sido cidade. Essa é a soma de falsos negativos para todas as entidades.
  • Precisão = #True_Positive / (#True_Positive + #False_Positive) = 3 / (3 + 2) = 0.6
  • Recall = #True_Positive / (#True_Positive + #False_Negatives) = 3 / (3 + 2) = 0.6
  • Medida f = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.6 * 0.6) / (0.6 + 0.6) = 0.6

Interpretando métricas de avaliação no nível da entidade

Então, o que realmente significa ter alta precisão ou alto recall para uma determinada entidade?

Chamar de volta Precisão Interpretação
Alto Alto Essa entidade é manipulada bem pelo modelo.
Baixo Alto O modelo nem sempre pode extrair essa entidade, mas quando o faz é com alta confiança.
Alto Baixo O modelo extrai bem essa entidade, no entanto, isso é com baixa confiança, pois às vezes é extraído como outro tipo.
Baixo Baixo Esse tipo de entidade é mal manuseado pelo modelo, pois geralmente não é extraído. Quando está, não é com alta confiança.

Diretrizes

Depois de treinar seu modelo, você verá algumas diretrizes e recomendações sobre como melhorá-lo. É recomendável ter um modelo que abrange todos os pontos na seção de diretrizes.

  • O conjunto de treinamento tem dados suficientes: quando um tipo de classe tem menos de 15 instâncias rotuladas nos dados de treinamento, ele pode levar a uma precisão menor devido ao modelo não ser devidamente treinado nesses casos. Nesse caso, considere adicionar mais dados rotulados ao conjunto de treinamento. Consulte a guia de distribuição de dados para obter mais diretrizes.

  • Todos os tipos de entidade estão presentes no conjunto de testes: quando os dados de teste não têm instâncias rotuladas para um tipo de entidade, o desempenho de teste do modelo pode se tornar menos abrangente devido a cenários não testados. Consulte a guia de distribuição de dados do conjunto de estes para obter mais diretrizes.

  • Os tipos de entidade são equilibrados em conjuntos de treinamento e teste: quando o viés de amostragem causa uma representação imprecisa da frequência de um tipo de entidade, isso pode levar a uma precisão menor devido ao modelo que espera que esse tipo de entidade ocorra com muita frequência ou muito pouco. Consulte a guia de distribuição de dados para obter mais diretrizes.

  • Os tipos de entidade são distribuídos uniformemente entre conjuntos de treinamento e teste: quando a combinação de tipos de entidade não corresponde entre conjuntos de treinamento e teste, isso pode levar a uma menor precisão de teste devido ao modelo ser treinado de forma diferente de como ele está sendo testado. Consulte a guia de distribuição de dados para obter mais diretrizes.

  • Distinção não clara entre tipos de entidade no conjunto de treinamento: quando os dados de treinamento são semelhantes para vários tipos de entidade, isso pode levar a uma precisão menor porque os tipos de entidade podem ser frequentemente classificados incorretamente como uns aos outros. Examine os tipos de entidade a seguir e considere mesclá-los se forem semelhantes. Caso contrário, adicione mais exemplos para distingui-los melhor uns dos outros. Consulte a guia matriz de confusão para obter mais diretrizes.

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 entidades. A matriz compara os rótulos esperados com os previstos 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 entidades que estão muito próximas umas das outras e que muitas vezes são confundidas (ambiguidade). Nesse caso, considere mesclar esses tipos de entidade juntos. Se isso não for possível, considere adicionar mais exemplos marcados de ambas as entidades para ajudar o modelo a diferenciá-las.

A diagonal realçada na imagem abaixo é as entidades previstas corretamente, em que a marca prevista é igual à marca real.

Uma captura de tela de uma matriz de confusão de exemplo.

É possível calcular as métricas de avaliação no nível de entidade e de modelo da matriz de confusão:

  • Os valores na diagonal são os valores verdadeiros positivos de cada entidade.
  • A soma dos valores nas linhas da entidade (excluindo a diagonal) é o falso positivo do modelo.
  • A soma dos valores nas colunas da entidade (excluindo a diagonal) é o falso negativo do modelo.

De maneira semelhante,

  • O verdadeiro positivo do modelo é a soma de verdadeiros positivos para todas as entidades.
  • O falso positivo do modelo é a soma de falsos positivos para todas as entidades.
  • O falso negativo do modelo é a soma de falsos negativos para todas as entidades.

Próximas etapas