En Natural Language Processing (NLP) et plus particulièrement en Natural Language Understanding (NLU), les entités nommées jouent un rôle très important. En effet, comme je l’expliquais dans mon article « Comment choisir entre NLP et NLU pour un chatbot ? », l’intention et les entités nommées permettent aux machines de comprendre le sens des énoncés formulés à l’oral ou à l’écrit en langage naturel par les humains grâce à des processus en NLU. Que sont les entités nommées et pourquoi constituent-elles un véritable défi en NLU ?
La reconnaissance d’entités nommées ou Named Entity Recognition (NER) consiste à reconnaître et extraire automatiquement les mots ou les groupes de mots qui se réfèrent à des personnes, des entreprises, des organisations, des lieux, des dates, des heures, des codes postaux, des adresses postales ou des adresses e-mail, etc. De manière générale, les entités nommées correspondent généralement à des nombres ou à des noms propres. En somme, les entités nommées sont des éléments forts dans un énoncé.
La reconnaissance d’entités nommées se divise en deux branches :
– La résolution des entités nommées,
– La désambiguïsation des entités nommées.
La résolution d’entités nommées, qui consiste à identifier les entités nommées dans un énoncé, fonctionne bien : la plupart des outils disponibles sur le marché obtiennent de bons résultats sinon d’excellents résultats. Le véritable défi des entités nommées en NLU ne réside donc pas dans la résolution des entités nommées mais dans leur désambiguïsation.
Qu’est-ce que la désambiguïsation des entités nommées ?
Il s’agit tout simplement d’identifier le référent exact de chaque entité nommée dans un énoncé. Prenons l’exemple d’un toponymeTerme scientifique : les toponymes sont des noms de lieux (villes, pays, continents, rivières, montagnes, etc.). : « Paris ». La plupart des utilisateurs déduiront que le référent de cette entité est la ville de Paris en France. Cette déduction est parfaitement légitime puisque la ville de Paris en France est le référent le plus connu et donc le plus populaire de ce toponyme. Toutefois, il existe divers référents possibles pour le toponyme « Paris » : Paris au Texas, USA ; Paris en Ontario, Canada ; Paris au Panama ; Paris au Togo, etc. Pis encore, l’entité « Paris » aurait très bien pu référer à une personne si je n’avais pas précisé qu’il s’agissait d’un nom de ville dans le contexte de l’exemple. Ainsi, le référent d’une entité nommée n’est pas toujours celui qui paraît le plus évident.
Alors comment faire pour identifier le bon référent d’une entité nommée dans un énoncé ?
Tout dépend du mode de fonctionnement et des ressources sur lesquels se base l’outil utilisé. Les modes de fonctionnement sont très différents : certains outils sélectionnent un référent de manière aléatoire dans la liste des référents possibles, d’autres choisissent le plus populaires de la liste, certains recherchent des indices linguistiques dans le contexte pour choisir un référent de la liste, d’autres estiment que toutes les entités contenues dans un même énoncé sont liées (notamment pour les toponymes, d’un point de vue géographique), etc.
Le type de ressources utilisé pour la désambiguïsation des entités nommées est très varié : bases de données, ontologies, dictionnaires, thésaurus, etc. Ces ressources sont dites « externes » puisqu’elles ne se trouvent pas dans l’énoncé même où figure l’entité nommée à désambiguïser. Certains outils se basent soit sur les données externes, soit sur le contexte, soit sur une combinaison du contexte et des ressources externes. La variété de ressources disponibles et de modes de fonctionnement étant importante, les outils ont des performances et des résultats très variés.
Toutefois, une combinaison adéquate des ressources et du mode de fonctionnement de l’outil de désambiguïsation des entités nommées permet d’obtenir d’excellents résultats selon les énoncés à traiter. Les connaissances liées à l’outil, et donc les ressources, doivent être pertinentes : par exemple, un outil basé sur des ressources de la Renaissance ne pourra pas être aussi performant sur un énoncé datant du 21ème siècle qui parle de nouvelles technologies que sur un énoncé datant de la Renaissance qui est adapté aux ressources.
Il est donc primordial de bien choisir un outil de reconnaissance d’entités nommées en fonction de ses besoins et de ses cas d’usages. Il faut s’assurer de la pertinence des ressources sur lesquelles se base l’outil et de son mode de fonctionnement, notamment en termes de désambiguïsation.
La reconnaissance d’entités nommées est donc un domaine en plein essor et en amélioration constante. Cette quête de performance est d’autant plus importante puisque de plus en plus de chatbots s’appuient sur les entités nommées contenues dans les énoncés pour répondre aux utilisateurs ou effectuer des actions automatisées, comme Hubi grâce aux scénarios.
Et pour Hubi ?
C’est dans la partie « scénarios » que les entités nommées jouent un rôle important dans Hubi. Les algorithmes de résolution d’entités nommées de Hubi sont basés et intègrent ceux développés par Microsoft. Pour désambiguïser les entités identifiées dans les scénarios, Hubi se base sur des données Microsoft mais aussi sur des ressources conçues en interne.