Partilhar via


Métricas de avaliação para modelos personalizados de reconhecimento de entidades nomeadas

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 entidades definidas pelo usuário para documentos no conjunto de teste e as compara com as tags de dados fornecidas (o 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 NER personalizado 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 entidades 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 entidades 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)

Nota

A precisão, a recordação e a pontuação F1 são calculadas para cada entidade separadamente (avaliação ao nível da entidade) e para o modelo coletivamente (avaliação ao nível do modelo).

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

A precisão, a recordação e a pontuação F1 são calculadas para cada entidade separadamente (avaliação no nível da entidade) e para o modelo coletivamente (avaliação no nível do modelo).

As definições de precisão, recordação e avaliação são as mesmas para avaliações a nível de entidade e a 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

A primeira parte deste contrato é John Smith, residente de 5678 Main Rd., Cidade de Frederick, estado de Nebraska. E a segunda parte é Forrest Ray, residente da 123-345 Integer Rd., cidade de Corona, estado do Novo México. Há também Fannie Thomas residente de 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
Frederico Pessoa City
Forrest City Pessoa
Fannie Tomás Pessoa Pessoa
Colorado Springs City City

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

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

Chave Count Explicação
Verdadeiro Positivo 2 John Smith e Fannie Thomas foram corretamente previstos como pessoa.
Falso Positivo 1 Frederico foi incorretamente previsto como pessoa , enquanto deveria ter sido cidade.
Falso Negativo 1 Forrest foi incorretamente previsto como cidade , enquanto deveria ter sido pessoa.
  • Precisão: #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67
  • Relembre:#True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67
  • Pontuação F1: 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

Avaliação ao nível da entidade da cidade

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

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

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

Chave Count Explicação
Verdadeiro Positivo 3 John Smith e Fannie Thomas foram corretamente previstos como pessoa. Colorado Springs foi corretamente prevista como cidade. Esta é a soma dos verdadeiros pontos positivos para todas as entidades.
Falso Positivo 2 Forrest foi incorretamente previsto como cidade , enquanto deveria ter sido pessoa. Frederico foi incorretamente previsto como pessoa , enquanto deveria ter sido cidade. Esta é a soma dos falsos positivos para todas as entidades.
Falso Negativo 2 Forrest foi incorretamente previsto como cidade , enquanto deveria ter sido pessoa. Frederico foi incorretamente previsto como pessoa , enquanto deveria ter sido cidade. Esta é a soma de falsos negativos para todas as entidades.
  • Precisão = #True_Positive / (#True_Positive + #False_Positive) = 3 / (3 + 2) = 0.6
  • Relembre = #True_Positive / (#True_Positive + #False_Negatives) = 3 / (3 + 2) = 0.6
  • Pontuação F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.6 * 0.6) / (0.6 + 0.6) = 0.6

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

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

Recuperar Precisão Interpretação
Alto Alto Esta entidade é bem tratada pelo modelo.
Baixa Alta O modelo nem sempre consegue extrair esta entidade, mas quando o faz é com elevada confiança.
Alto Baixo O modelo extrai bem esta entidade, no entanto é com baixa confiança, pois às vezes é extraído como outro tipo.
Baixo Baixo Este tipo de entidade é mal tratado pelo modelo, porque geralmente não é extraído. Quando é, não é com muita confiança.

Orientação

Depois de treinar seu modelo, você verá algumas orientações e recomendações sobre como melhorar o modelo. Recomenda-se ter um modelo que abranja todos os pontos na seção de orientação.

  • O conjunto de treinamento tem dados suficientes: quando um tipo de entidade tem menos de 15 instâncias rotuladas nos dados de treinamento, isso pode levar a uma precisão menor devido ao modelo não ser adequadamente treinado nesses casos. Nesse caso, considere adicionar mais dados rotulados no conjunto de treinamento. Você pode verificar a guia de distribuição de dados para obter mais orientações.

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

  • Os tipos de entidade são balanceados dentro de 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 esperar que esse tipo de entidade ocorra com muita frequência ou com pouca frequência. Você pode verificar a guia de distribuição de dados para obter mais orientações.

  • Os tipos de entidade são distribuídos uniformemente entre os conjuntos de treinamento e teste: quando a combinação de tipos de entidade não corresponde entre os 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 está sendo testado. Você pode verificar a guia de distribuição de dados para obter mais orientações.

  • Distinção pouco 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 menor precisão porque os tipos de entidade podem ser frequentemente classificados incorretamente uns como os outros. Analise os seguintes tipos de entidade e considere mesclá-los se forem semelhantes. Caso contrário, adicione mais exemplos para melhor distingui-los uns dos outros. Pode consultar o separador da matriz de confusão para obter mais orientações.

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 entidades. A matriz compara os rótulos esperados com os previstos 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 entidades que estão muito próximas umas das outras e muitas vezes se confundem (ambiguidade). Neste caso, considere a possibilidade de fundir estes tipos de entidades. 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 é a entidade corretamente prevista, onde a tag prevista é a mesma que a tag real.

Uma captura de tela que mostra um exemplo de matriz de confusão.

Você pode calcular as métricas de avaliação no nível da entidade e no nível do modelo a partir da matriz de confusão:

  • Os valores na diagonal são os valores True Positive 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.

Do mesmo modo,

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

Próximos passos