La reconnaissance d'entités nommées (NER), également connue sous les noms d'identification d'entités, de segmentation d'entités et d'extraction d'entités, est une sous-tâche de l'extraction d'informations qui vise à localiser et à classer les entités nommées mentionnées dans un texte non structuré dans des catégories prédéfinies telles que les noms de personnes (PER), les organisations (ORG), les lieux (LOC), les entités géopolitiques (GPE), les véhicules (VEH), les codes médicaux, les expressions temporelles, les quantités, les valeurs monétaires et les pourcentages. La plupart des recherches sur les systèmes NER ont été structurées comme la prise d'un bloc de texte non annoté, par exemple la transduction de « Jim a acheté 300 actions d'Acme Corp. en 2006 » en un bloc annoté qui met en évidence les noms des entités : « [Jim]Personne a acheté 300 actions de [Acme Corp.]Organisation en [2006]Temps. » Dans cet exemple, un nom de personne composé d'un seul jeton, un nom d'entreprise de deux jetons et une expression temporelle ont été détectés et classifiés.
Le terme « entité nommée » restreint la tâche aux entités pour lesquelles une ou plusieurs chaînes, telles que des mots ou des phrases, correspondent de manière assez constante à un référent. Cela est étroitement lié aux désignateurs rigides, tels que définis par Saul Kripke, bien qu'en pratique la NER traite de nombreux noms et référents qui ne sont pas philosophiquement « rigides ». Par exemple, l'entreprise automobile créée par Henry Ford en 1903 peut être désignée par « Ford » ou « Ford Motor Company », bien que « Ford » puisse également désigner de nombreuses autres entités. Les désignateurs rigides incluent les noms propres ainsi que les termes pour certaines espèces biologiques et substances, mais excluent les pronoms (voir résolution de coréférence), les descriptions qui sélectionnent un référent par ses propriétés, et les noms pour des types de choses plutôt que pour des individus.
Définition du problème
La reconnaissance complète d'entités nommées est souvent décomposée, conceptuellement et éventuellement dans les implémentations, en deux problèmes distincts : la détection des noms et la classification des noms par le type d'entité auquel ils se réfèrent (par exemple, personne, organisation ou lieu). La première phase est généralement simplifiée en un problème de segmentation : les noms sont définis comme des étendues contiguës de jetons, sans imbrication, de sorte que « Bank of America » est un nom unique, en ignorant le fait qu'à l'intérieur de ce nom, la sous-chaîne « America » est elle-même un nom. Ce problème de segmentation est formellement similaire au segmentation en syntagmes. La deuxième phase nécessite de choisir une ontologie pour organiser les catégories de choses.
Les expressions temporelles et certaines expressions numériques (par exemple, l'argent, les pourcentages) peuvent également être considérées comme des entités nommées dans le contexte de la tâche NER. Bien que certaines instances de ces types soient de bons exemples de désignateurs rigides (par exemple, l'année 2001), il existe également de nombreux cas invalides (par exemple, « Je prends mes vacances en juin »). Dans le premier cas, l'année 2001 se réfère à la 2001e année du calendrier grégorien. Dans le second cas, le mois de juin peut se référer au mois d'une année indéfinie (juin passé, juin prochain, chaque juin). Il est discutable que la définition de l'entité nommée soit assouplie dans de tels cas pour des raisons pratiques. La définition du terme « entité nommée » n'est donc pas stricte et doit souvent être expliquée dans le contexte où elle est utilisée.
Certaines hiérarchies de types d'entités nommées ont été proposées dans la littérature. Les catégories BBN, proposées en 2002, sont utilisées pour la réponse aux questions et comprennent 29 types et 64 sous-types. La hiérarchie étendue de Sekine, également proposée en 2002, est composée de 200 sous-types. Plus récemment, en 2011, Ritter a utilisé une hiérarchie basée sur les types d'entités courants de Freebase dans des expériences pionnières sur la NER appliquée aux textes de médias sociaux.
Difficultés
La NER peut présenter des ambiguïtés de résolution de référence où le même nom peut se référer à différentes entités du même type. Par exemple, « JFK » peut désigner l'ancien président des États-Unis ou son fils. Le même nom peut se référer à des types complètement différents : « JFK » pourrait désigner l'aéroport de New York, et « IRA » peut désigner un compte de retraite individuel, l'International Reading Association ou l'Armée républicaine irlandaise. Cela peut être causé par la métonymie ; par exemple, « La Maison Blanche » peut désigner une organisation plutôt qu'un lieu.
Évaluation formelle
Pour évaluer la qualité de la sortie d'un système NER, plusieurs mesures ont été définies. Les mesures habituelles sont appelées précision, rappel et score F1. Cependant, plusieurs problèmes subsistent quant à la manière de calculer ces valeurs. Ces mesures statistiques fonctionnent raisonnablement bien pour les cas évidents de trouver ou de manquer une entité réelle exactement, et pour trouver une non-entité. Cependant, la NER peut échouer de nombreuses autres manières, dont beaucoup sont sans doute « partiellement correctes » et ne devraient pas être comptées comme un succès ou un échec complet. Par exemple, identifier une entité réelle mais avec moins de jetons que souhaité (par exemple, manquer le dernier jeton de « John Smith, M.D. »), avec plus de jetons que souhaité (par exemple, inclure le premier mot de « The University of MD »), partitionner différemment des entités adjacentes (par exemple, traiter « Smith, Jones Robinson » comme 2 vs 3 entités), lui attribuer un type complètement erroné (par exemple, appeler un nom personnel une organisation), lui attribuer un type lié mais inexact (par exemple, « substance » vs « médicament », ou « école » vs « organisation »), ou identifier correctement une entité lorsque ce que l'utilisateur voulait était une entité de portée plus petite ou plus grande (par exemple, identifier « James Madison » comme un nom personnel alors qu'il fait partie de « James Madison University »). Certains systèmes NER imposent la restriction que les entités ne peuvent jamais se chevaucher ou s'imbriquer, ce qui signifie que dans certains cas, il faut faire des choix arbitraires ou spécifiques à la tâche.
Une méthode trop simple pour mesurer la précision consiste simplement à compter quelle fraction de tous les jetons du texte a été correctement ou incorrectement identifiée comme faisant partie de références d'entités (ou comme étant des entités du type correct). Cela souffre d'au moins deux problèmes : premièrement, la grande majorité des jetons dans les textes du monde réel ne font pas partie de noms d'entités, donc la précision de base (toujours prédire « pas une entité ») est extravagamment élevée, généralement supérieure à 90 % ; et deuxièmement, la prédiction incorrecte de l'étendue complète d'un nom d'entité n'est pas correctement pénalisée (trouver seulement le prénom d'une personne lorsque son nom de famille suit pourrait être noté comme une précision de moitié).
Dans des conférences académiques telles que CoNLL, une variante du score F1 a été définie comme suit : la précision est le nombre d'étendues de noms d'entités prédites qui s'alignent exactement avec les étendues dans les données d'évaluation de référence (gold standard). Par exemple, lorsque [Personne Hans] [Personne Blick] est prédit mais que [Personne Hans Blick] était requis, la précision pour le nom prédit est de zéro. La précision est ensuite moyennée sur tous les noms d'entités prédits. Le rappel est de même le nombre de noms dans la référence qui apparaissent exactement à la même position dans les prédictions. Le score F1 est la moyenne harmonique de ces deux mesures. Il découle de la définition ci-dessus que toute prédiction qui manque un seul jeton, inclut un jeton parasite ou a le mauvais type est comptée comme un échec complet pour cette étendue.
Approches et applications
Les systèmes NER traditionnels reposaient sur des règles artisanales et des modèles statistiques basés sur des caractéristiques tels que les champs aléatoires conditionnels. Avec l'essor du apprentissage automatique et du apprentissage profond, les systèmes modernes utilisent souvent des architectures de réseaux de neurones, y compris des modèles basés sur transformeurs, qui sont devenus la norme pour des performances de pointe. Ces modèles sont souvent pré-entraînés sur de grands corpus et affinés pour les tâches NER, bénéficiant des avancées des grands modèles de langage développés par des organisations telles que OpenAI, Anthropic et Google DeepMind. La NER est largement utilisée dans les pipelines d'extraction d'informations pour la réponse aux questions, la recherche et la construction de bases de connaissances, et elle est un composant clé dans de nombreuses applications de traitement du langage naturel.
Voir aussi
- extraction d'informations
- résolution de coréférence
- segmentation en syntagmes
- champs aléatoires conditionnels
- transformeur
- grand modèle de langage