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 cidade. Esta é a soma de falsos negativos para todas as entidades. |
- Precisão =
#True_Positive / (#True_Positive + #False_Positive)
=3 / (3 + 2) = 0.6
- Revocação =
#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 revocação 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, está com pouca confiança, uma vez que, por vezes, é extraída como outro tipo. |
Baixo | Baixo | Este tipo de entidade é mal processado pelo modelo, porque normalmente não é extraído. Quando está, 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 ter 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, porque o modelo não está a ser preparado adequadamente nestes casos. Neste caso, considere adicionar mais dados etiquetados no conjunto de preparação. Pode consultar 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 entidades são equilibrados nos conjuntos de preparação e teste: quando o desvio 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 muito pouco. Pode consultar o separador distribuição de dados para obter mais orientações.
Os tipos de entidades 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, porque o modelo está a ser preparado de forma diferente da forma como está a ser testado. Pode consultar 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 entidades, 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 efetuar.
Pode utilizar a Matriz de confusão para identificar entidades demasiado próximas umas das outras e 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 diferenciá-las.
A diagonal realçada na imagem abaixo são as entidades corretamente previstas, em que a etiqueta prevista é igual à etiqueta real.
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 de 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.