J'utilise plusieurs outils NER pour extraire les Entités Named présentes dans un corpus et je veux tester leur précision en utilisant le module NLTK Python.Comment calculer la précision du système NER?
Certains des outils que j'ai utilisés sont:
NTLK
Stanford NER: https://nlp.stanford.edu/software/CRF-NER.shtml
MeaningCloud: https://www.meaningcloud.com/products/topics-extraction
Pour obtenir le la précision du système, NLTK accuracy
La fonction prend deux arguments: l'ensemble de données correctement annoté (contenant tous les jetons du corpus avec leur classification (PERSON, LOCATION, ORGANIZATION ou 'O' [qui représente que le jeton n'est pas une entité nommée]) et la sortie du Système NER.
Ceci est correct lorsque le NER retourne une liste de tous les jetons avec leur classification. Cependant, certains outils, tels que MeaningCloud, ne renvoient que la classification pour les entités nommées reconnues dans le corpus. Cela rend l'exactitude impossible à obtenir (pour l'obtenir, la liste complète des mots doit être retournée pour que la comparaison entre les deux annotations soit faisable).
Quelle est l'approche ici alors? Que pourrais-je faire pour obtenir l'exactitude dans de tels cas?