Modification d’une modèle de liage d’entités nommées end-to-end par l’ajout d’embeddings contextuels (Modifying an end-to-end named entity linking model by adding contextual embeddings ) (2021)

Abstract: Cet article présente les expériences effectuées sur un système de liage d’entités nommées. Cette tâche se découpe en deux principales parties que sont la détection de mentions méritant d’être liées à la base de connaissance et la désambiguïsation qui permet de sélectionner l’entité finale à lier à chaque mention. Deux approches existent pour résoudre cette tâche. Il y a celle de désambiguïsation seule et celle end-to-end qui effectue les deux sous-tâches simultanément. Nous nous sommes intéressés au modèle end-to-end atteignant l’état de l’art. Le cœur de ces expériences était d’exploiter des embeddings contextuels afin d’améliorer les performances. Trois approches ont été testées afin d’intégrer ces embeddings et de remplacer les embeddings de mots. Les différentes versions atteignent au mieux l’état de l’art. L’article présente quelques pistes déjà étudiées expliquant les raisons pour lesquelles les expériences testées ne dépassent pas le modèle initial et ouvrent des possibilités d’amélioration.

## travaux récents la tâche de liage d'entités nommées (len) consiste à repérer les mentions d'intérêts dans un document permettant sa compréhension et sa mise en contexte en les reliant à une base de connaissances. elle est traditionnellement composée de deux sous-tâche @xcite . la première est la reconnaissance d'entités nommées (ren) qui consiste à trouver dans un texte les mots ou groupes de mots significatifs qui doivent être mis en relation avec la base de connaissances, dont les éléments sont appelés entités. ces mots ou groupes de mots sont appelés des mentions car ils mentionnent des éléments de la base de connaissances. la seconde tâche est la désambiguïsation d'entités nommées (den) qui consiste à relier à chaque mention la bonne entité dans la base de connaissances. c'est une tâche de désambiguïsation car plusieurs entités peuvent initialement correspondre à une même mention. par exemple, si dans un texte on relève la mention "le président français", plusieurs entités issues d'une base de connaissances peuvent correspondre en premier lieu car il y a eu plusieurs présidents français (même si on se limite aux présidents de la république). de même, un texte comportant un nom comme "obama" pourra correspondre à plusieurs entités car plusieurs personnes peuvent porter ce patronyme. il faut donc déterminer duquel on parle. cette tâche est souvent découpée en 2 temps @xcite . on commence par générer l'ensemble des entités qui pourraient correspondre à la mention donnée (candidate entity generation), puis on les classe de la plus pertinente à la moins pertinente pour prendre la décision d'association finale (candidate entity ranking), la pertinence pouvant correspondre à la fréquence (moyen le plus naïf). ainsi, un système len a besoin d'une base de connaissances qui servira de référence pour associer les mentions de tous les textes. wikipedia 1 est souvent retenu pour ce rôle. chaque page correspond à une entité unique, et il n'existe pas deux pages référençant la même personne, institution, concept ou autre (on exclut les cas des pages traduites). une bonne base de connaissances n'est pas qu'un simple dictionnaire et possède des liens entre les entités qui permettent de les situer les unes par rapport aux autres. dans wikipedia de tels liens peuvent s'exprimer par les liens hypertextes présents dans une page et permettant d'atteindre d'autres pages. ces liens hypertextes étant associés à des mots ou groupes de mot, ils permettent aussi d'avoir des exemples de mentions devant être reliés à ces entités. ces liens peuvent permettre aussi de définir des relations qui peuvent s'avérer utiles lors du classement des entités comme leur fréquence. les autres bases de connaissances fréquemment utilisées sont yago @xcite , dbpedia @xcite et freebase @xcite . le travail sur la base de connaissances est fait en amont, le modèle l'utilise seulement. un système len a ensuite besoin d'un corpus de textes sur lequel le modèle devra extraire et lier les mentions vers les entités de la base de connaissances. chaque texte du corpus (ou document) est composé de plusieurs phrases et potentiellement de plusieurs mentions afin de les mettre en relation, de les contextualiser et de faciliter ainsi le travail de désambiguïsation. un corpus de textes peut être un recueil d'articles de presse. les deux principaux corpus pour le liage d'entités nommées sont colnn @xcite et tac foot_0 @xcite . certains modèles découplent les parties ren et den. la partie den est la plus complexe et il existe des systèmes permettant de réaliser la tâches ren en amont (tels que standfordner foot_1 ou opennlp foot_2 ). cependant, depuis quelques années, les modèles tentent davantage une approche end-to-end @xcite . l'idée est de rendre la tâche ren plus robuste en utilisant les résultats de la désambiguïsation pour aider à mieux capturer les mentions. par exemple, un système découplé aura tendance à mal étiqueter the new york times pour le tronquer en new york times ou simplement new york (l'article the étant le plus souvent oublié). or, un bon étiquetage de mention peut permettre de faciliter sa correspondance avec une référence de la base de connaissance. deeptype @xcite est un exemple de système de désambiguïsation seule. il est la référence de l'état de l'art en den. end-to-end neural entity linking @xcite est un exemple de système end-to-end. il est la référence de l'état de l'art pour cette approche. certains systèmes utilisent bert @xcite pour obtenir des embeddings contextuels car il peut être spécialisé pour réaliser une tâche de liage d'entités nommées @xcite . d'autres approches se concentrent sur une adaptation de bert dans le cadre de datasets plus spécifiques auxquels bert n'a pas été confronté, comme le fait pel-bert @xcite . bert n'est pas le seul modèle d'embeddings contextuels @xcite ou gpt @xcite ), mais il constitue la référence. nous avons choisi de nous appuyer sur un modèle nel pré-existant : le end-to-end neural entity linking de kolitsas @xcite . il effectue la tâche d'entity linking (el) de la détection de mention (ren) jusqu'à la désambiguïsation (den). ce choix a été motivé car le modèle de kolitsas est à l'état de l'art actuel en tant que système end-to-end. des travaux comme ceux de broscheit @xcite l'utilise comme point de comparaison. son architecture est, de plus, aisée à modifier, contrairement à des modèles comme deeptype qui repose principalement sur son système de types. ainsi, il était plus envisageable d'explorer l'impact de nouveaux modules en les utilisant sur le modèle de kolitsas. enfin, les modules utilisés par ce système sont des outils éprouvés tels que word2vec @xcite et des bidirectional long short-term memory (bi-lstm). il était donc intéressant de tester des améliorations en intégrant des approches plus récentes ayant prouvé leur robustesse (notamment bert). ## modèle initial cette section a pour but d'expliquer le fonctionnement du modèle end-to-end neural entity linking de kolitsas @xcite , illustré dans la figure 1 afin de comprendre par la suite les modifications qui y ont été apportées. le modèle part d'un document, soit un texte cohérent, de quelques phrases. le modèle y détecte les mentions, les relie aux entités correspondantes dans la base de connaissances et renvoie une liste des couples mention-entités ainsi prédits dans le document. figure 1 -architecture du modèle end-to-end neural entity linking @xcite le principe général est de construire un embedding de mention à partir des embeddings de mots. cet embedding de mention pourra être comparé à des embeddings d'entités pré-calculés, permettant d'assigner un score de similarité à chacun. enfin, on choisit la meilleure entité candidate grâce au score de similarité des embeddings et de la cohérence globale en utilisant les autres entités présentes dans le document. l'entrée est constituée des embeddings de mots word2vec pré-entraînés. les embeddings de mots finaux {ν k } @xmath0,n sont obtenus par concaténation des embeddings de mots word2vec et des embeddings de caractères de chaque mot. ces embeddings de caractères sont appris grâce à un bi-lstm appliqué sur les caractères du mot (étape absente sur la figure 1 ). ces embeddings de mots sont ensuite transformés en embeddings de contexte {x k } @xmath1,n (appelé context-aware word embedding dans la figure 1 ) grâce à un bi-lstm. une fois les embeddings de contexte fixés, ceux pertinents dans la construction d'une mention (c'est-à-dire les embeddings de contexte correspondant à la mention @xmath2, ..., w r ) sont combinés grâce à un réseau feed foward (appelé ffnn de mention ou f f n n 1 dans la figure 1 ) pour transformer l'ensemble en embedding de mention. le modèle ne prédéfinit pas les mentions qui seront construites. il construit et teste toutes les mentions possibles. compte tenu des notations précédentes, l'embedding de mention est obtenu ainsi : ψ(e j , m) = f f n n 2 ([logp(e j , m); x m ; y i ]) seules les entités avec un score final suffisamment haut sont testées (supérieur à un paramètre γ ). ceci permet de filtrer les mentions construites par le modèle qui ne correspondent à aucune réelle entité. on obtient donc l'ensemble des couples (mention, candidat) sérieux : enfin, le modèle procède à une désambiguïsation globale qui permet d'unifier les entités retenues en prenant en compte la cohérence globale entre toutes les entités sélectionnées. on compare donc chaque candidat retenu avec l'ensemble des candidats retenus pour les autres mentions le vote final consiste à la combinaison par le réseau feed foward appelé ffnn de vote, ou f f n n 3 dans la figure 1, de cette comparaison avec le score ψ : on obtient ainsi en sortie, pour chaque mention initiale du texte, l'entité à laquelle elle fait référence. c'est à partir de cette architecture que nous allons chercher à améliorer le modèle. ## expériences et résultats cette section présente les travaux réalisés pour remplacer les embeddings de mots word2vec @xcite par des embeddings plus robustes. il a été choisi d'utiliser bert @xcite car il s'agit des embeddings contextuels les plus performants de l'état de l'art. de plus, la première étape du modèle consiste à transformer les embeddings de mots en embeddings de contexte par l'intermédiaire d'un bi-lstm.