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

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 entidades definidas pelo utilizador para documentos no conjunto de teste e compara-as com as etiquetas de dados 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 NER personalizado 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 das entidades 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 etiquetado. A métrica de resgate revela quantas das entidades 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)

Nota

A precisão, a revocação e a classificaçã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 ao nível do modelo e ao nível da entidade

A precisão, a revocação e a classificaçã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).

As definições de precisão, revocação e avaliação são as mesmas para avaliações ao nível da entidade e ao nível do modelo. No entanto, as contagens de Verdadeiros Positivos, Falsos Positivos e Falsos Negativos podem diferir. Por exemplo, considere o seguinte texto.

Exemplo

A primeira parte deste contrato é John Smith, residente na Rua Principal 5678, cidade de Frederick, estado do Nebraska. E o segundo partido é Forrest Ray, residente em 123-345 Integer Rd., cidade de Corona, estado do Novo México. Há também 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 predições:

Entidade Previsto como Tipo real
João Silva Pessoa Pessoa
Frederick Pessoa City
Forrest City Pessoa
Fannie Thomas Pessoa Pessoa
Colorado Springs City City

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

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

Chave de palavras Explicação
Verdadeiro Positivo 2 John Smith e Fannie Thomas foram correctamente previstos como pessoa.
Falso Positivo 1 Frederick 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
  • Revocação: #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67
  • Classificaçã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 para a entidade de cidade

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

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

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

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

Interpretar métricas de avaliação ao nível da entidade

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

Chamar de volta Precisão Interpretação
Alto Alto Esta entidade é bem processada pelo modelo.
Baixo Alto O modelo nem sempre pode extrair esta entidade, mas quando o faz é com elevada confiança.
Alto Baixo O modelo extrai bem esta entidade, no entanto é com pouca confiança, uma vez que por vezes é extraída como outro tipo.
Baixo Baixo Este tipo de entidade é mal tratado pelo modelo, porque normalmente não é extraído. Quando é, não é com alta confiança.

Orientação

Depois de preparar o modelo, verá algumas orientações e recomendações sobre como melhorar o modelo. Recomenda-se que tenha um modelo que abranja todos os pontos na secção de orientação.

  • O conjunto de preparação tem dados suficientes: quando um tipo de entidade tem menos de 15 instâncias etiquetadas nos dados de preparação, pode levar a uma menor precisão devido ao modelo não estar a ser preparado adequadamente nestes casos. Neste caso, considere adicionar mais dados etiquetados no conjunto de preparação. Pode verificar o separador distribuição de dados para obter mais orientações.

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

  • Os tipos de entidade são equilibrados nos conjuntos de preparação e teste: quando o preconceito de amostragem causa uma representação imprecisa da frequência de um tipo de entidade, pode levar a uma menor precisão devido ao modelo esperar que esse tipo de entidade ocorra com demasiada frequência ou pouco. Pode verificar o separador distribuição de dados para obter mais orientações.

  • Os tipos de entidade são distribuídos uniformemente entre conjuntos de preparação e teste: quando a combinação de tipos de entidade não corresponde entre conjuntos de preparação e teste, pode levar a uma menor precisão de teste devido ao modelo ser preparado de forma diferente da forma como está a ser testado. Pode verificar o separador distribuição de dados para obter mais orientações.

  • Distinção pouco clara entre tipos de entidades no conjunto de preparação: quando os dados de preparação são semelhantes para vários tipos de entidade, pode levar a uma menor precisão, uma vez que os tipos de entidade podem ser frequentemente mal classificados entre si. Reveja os seguintes tipos de entidade e considere intercalá-los se forem semelhantes. Caso contrário, adicione mais exemplos para os distinguir melhor uns dos outros. Pode verificar o separador matriz de confusão para obter mais orientações.

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 entidades. A matriz compara as etiquetas esperadas com as previstas pelo modelo. Isto dá uma visão holística do desempenho do modelo e dos tipos de erros que está a cometer.

Pode utilizar a matriz Confusão para identificar entidades demasiado próximas umas das outras e que muitas vezes se enganam (ambiguidade). Neste caso, considere unir estes tipos de entidade. Se isso não for possível, considere adicionar mais exemplos etiquetados de ambas as entidades para ajudar o modelo a diferenciar as mesmas.

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

Uma captura de ecrã que mostra uma matriz de confusão de exemplo.

Pode calcular as métricas de avaliação ao nível da entidade e ao nível do modelo a partir da matriz de confusão:

  • Os valores na diagonal são os valores Verdadeiro Positivo 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 de entidade (excluindo a diagonal) é o falso Negativo do modelo.

Da mesma forma:

  • O verdadeiro positivo do modelo é a soma dos 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.

Passos seguintes