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.
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.