Exploration de traits pour la reconnaissance d’entités nommées du Français par apprentissage automatique (Feature exploration for F rench Named Entity Recognition with Machine Learning) (2017)

Abstract: Dans cet article, nous explorons divers traits proposés dans la littérature afin de fournir un détecteur d’entités nommées pour le Français appris automatiquement sur le French Treebank. Nous étudions l’intégration de connaissances en domaine, l’apport de la classification des verbes, la gestion des mots inconnus et l’intégration de traits non locaux. Nous comparons ensuite notre système aux récents réseaux de neurones.

## introduction la reconnaissance d'entités nommées (ren) est une tâche importante du tal qui sert généralement de point de départ à d'autres tâches telles que l'extraction de relations @xcite , l'entity linking, la résolution de coréférence @xcite . de nombreux travaux ont été réalisés dans le domaine de l'apprentissage automatique sur l'anglais, mais assez peu sur d'autres langues, en particulier le franc ¸ais, pour lequel on peut citer @xcite ; @xcite ; @xcite . les interactions entre les différents traits que l'on peut intégrer dans ces systèmes ont déjà fait l'objet d'études sur l'anglais @xcite ; @xcite , mais à notre connaissance aucune n'a été faite sur le franc ¸ais. ici, nous explorons divers traits utilisés dans la littérature afin d'en évaluer l'impact sur la ren pour le franc ¸ais. nous partirons des traits proposés par @xcite sur le french treebank (ftb) annoté en entités nommées @xcite , que nous enrichirons progressivement. nous étudions également comment organiser les ressources lexicales ainsi que la meilleure manière de les intégrer une fois cette classification faite, comme la classification des verbes et la gestion des mots inconnus. ## la tâche et les corpus nous considérons la ren comme une tâche d'étiquetage de séquences. les séquences à annoter sont les phrases d'un texte, où chaque élément est un token. une entité pouvant correspondre à plusieurs tokens, nous avons utilisé le schéma d'annotation bio (beginning, inside outside), où un token est annoté b-<@xmath0, i-<@xmath1. nous avons principalement utilisé les crf, particulièrement adaptés cette tâche, que nous comparons à des réseaux de neurones récents faisant partie des meilleurs systèmes sur l'anglais. nous avons choisi le ftb annoté en entités nommées car il est le plus proche d'un point de vue typologique du corpus le plus utilisé pour l'anglais : le corpus conll 2003 @xcite . ## intégrer de la connaissance en domaine nombre de systèmes par apprentissage intègrent des connaissances d'une fac ¸on ou d'une autre, ceux n'en intégrant aucune peinant à être compétitifs, comme l'a conclu @xcite . cette connaissance peut autant être lexicale et morphologique @xcite , une représentation des mots calculée sur des volumes importants de données textuelles @xcite @xcite ou le résultat de l'apprentissage joint de plusieurs tâches @xcite . une des premières sources de connaissances externes utilisée pour la ren est un ensemble de lexiques, généralement un par type de sortie. les traits issus de l'utilisation d'un ensemble de lexiques, appelé ≪ connaissances a priori ≫, sont un point important @xcite , qui nous servira donc de point de départ. ces traits sont en fait la combinaison de plusieurs éléments, que l'on peut rapprocher des motifs décrits par @xcite . ils sont générés en trois étapes : nous avons légèrement modifié ces traits ici : à la place des mots importants, nous avons créé des lexiques de termes déclencheurs pour chaque type d'entité principal. il existe deux différences entre les mots importants et les termes déclencheurs. là où les mots importants sont générés automatiquement, les lexiques de termes déclencheurs ont été constitués manuellement et enrichis à l'aide de noms communs récupérés dans le contexte proche des entités dans l'ensemble d'entraînement. la nature de l'information est également différente : pour un mot important, sa forme fléchie est utilisée, alors que nous utilisons l'identifiant du lexique est utilisé pour un terme déclencheur. l'utilisation des formes fléchies pour les mots importants pose à notre avis deux problèmes. premièrement cette liste est figée et toute modification impose de réapprendre le modèle, alors qu'un terme déclencheur peut simplement être ajouté à la liste correspondante. de plus, il n'est pas garanti que l'ensemble des mots importants présents dans l'ensemble d'apprentissage soit exhaustif. si un mot important est absent du corpus d'apprentissage, les crf seront incapables de l'utiliser pendant l'annotation. à l'inverse, les termes absents des lexiques peuvent être rajoutés au fur et à mesure, donnant aux crf des informations qu'ils peuvent utiliser. le tableau 2 présente des traits générés par la procédure précédente. les lignes commenc ¸ant par ≪ @xmath2. nous voulions évaluer l'utilisation de deux ressources en plus du pos, l'une plus précise -les mots -et l'autre plus générale -le chunking @xcite . l'intuition est que les mots permettent d'avoir des contextes plus forts, tandis que le chunking permet une plus grande généralisation -les entités nommées correspondant généralement à des chunks nominaux ou prépositionnels. mots la société warner fondée par les frères warner lexiques ∅ company.trigger last-name ∅ ∅ ∅ ∅ last-name @xmath3.trigger last-name fondée par les frères last-name @xmath4.trigger last-name adj prp det nc last-name @xmath5.trigger last-name ap b-pp i-pp i-pp last-name ce type d'analyse a l'avantage de distinguer les termes sûrs de ceux ambigus et permet donc à l'algorithme d'effectuer une analyse plus fine, mais elle a également comme inconvénient que les ambigüités peuvent ne pas être observées à l'apprentissage, laissant le système démuni en phase d'annotation. une seconde approche consiste à établir une relation d'ordre sur les lexiques, notée >, avec @xmath6. prenons deux lexiques x et y ainsi qu'un terme t tels que @xmath7. lorsque nous rencontrons le terme t dans notre corpus, ce dernier prendra alors systématiquement la classe associée à x. cette approche a l'avantage de ne laisser aucune ambigüité et de fournir des traits plus simples et moins silencieux au crf, même si ces derniers sont moins précis. par la suite, nous appellerons ces connaissances a priori, lorsqu'elles sont classées et triées, un répertoire de lexiques, dont nous étudierons l'intégration dans un crf. la clasification utilisée pour la ren sur le ftb est donnée dans la figure 1. nous avons également utilisé la classification des verbes @xcite , qui définit en fait deux classifications des verbes différentes : une générique (communication, don/privation, auxiliaires, etc. . . ) et une sémantique (humain, animé, non-animé, etc. . . ). nous n'avons pas obtenu de meilleurs résultats en intégrant cette classification dans le répertoire, raison pour laquelle elle n'y figure pas. entites-nommees lieu pays région département ville entreprise lexique déclencheur organisation lexique déclencheur personne lexique titre/fonction figure 1 -clasification des lexiques utilisée dans les systèmes présentés. plus un lexique est haut, plus ce dernier est prioritaire. 4 expériences 4.1 résultats préliminaires sur le ftb nous avons utilisé le répertoire décrit dans la section 3 pour établir les priorités de nos lexiques en cas d'ambigüité. nous avons appliqué les lexiques en ignorant la capitalisation des mots, cette information étant plus pertinente à utiliser comme trait dans notre crf. en effet, ne pas considérer la casse au moment d'appliquer les lexiques maximise leur couverture, ajouter les traits de capitalisation dans le crf lui permettant alors d'apprendre à distinguer les reconnaissances bruitées. l'ensemble des traits décrits dans ce papier ont été générés dans une fenêtre de [-2, 2] autour du token courant. notre crf étalon utilise les mots, les lexiques comme traits spécifiques (un trait booléen par lexique), des préfixes et suffixes jusqu'à une taille de 5 caractères ainsi que divers traits booléens comme des informations de capitalisation. dans notre expérience visant l'intégration du répertoire de lexiques, nous avons utilisé la configuration permettant d'obtenir les meilleurs résultats dans la section 4.2. nous avons également intégré successivement les préfixes et suffixes des mots, les noms voisins ainsi que le verbe suivant (plus précisément, le premier verbe non suivi d'un autre verbe afin de ne pas capturer les auxiliaires des participes passés). les classes de verbes sont celles définies par dubois & dubois-charlier (1997). nous avons utilisé la classe générique et la classe sémantique. si un verbe avait plusieurs acceptions ayant des classes différentes, nous avons choisi la première, qui correspond à celle du verbe dans son sens premier. les résultats sont détaillés dans le tableau 3. les expériences (a) à (c) montrent l'utilisation de mots et du répertoire uniquement. de fac ¸on assez prévisible, les mots donnent une très forte précision mais un mauvais rappel, tandis que les pos donnent un meilleur rappel. les chunks semblent être à michemin entre ces deux informations en termes de qualité, ce qui peut paraître étonnant étant donné qu'il s'agit d'une information plus générale que le pos. cela vient du fait que la plupart des entités nommées correspondent à un chunk nominal sans le déterminant, la fin d'une entité correspondant à la fin d'un chunk nominal. la majorité des erreurs faites dans (c) sont sur des entités de taille 1 absentes des lexiques, où l'information du chunk n'est donc pas utilisable. les expériences (d) et (e) montrent que le pos semble avoir un léger avantage par rapport au chunking en termes de qualité, particulièrement en termes de rappel. la combinaison des différentes expériences de (a) à (c) n'a pas donné d'amélioration significative du modèle, nous avons donc utilisé l'expérience (b) comme base expérience précision rappel f-mesure crf étalon 85.89 76.88 81.13 a. o/mots 89.42 69.20 78.02 b. o/pos 85.4 76.88 80.92 c. o/chunking 88.95 74.83 81.28 d. (b) +préfixes/suffixes 86.48 78.58 82.34 e. (c) +préfixes/suffixes 87.26 77.73 82.22 f. (d) +noms voisins 85.86 78.75 82.15 g. (d) +prochain verbe (forme) 86.21 78.92 82.41 h. (d) +classes prochain verbe 85.89 78.92 82.26 (f) + (g) 86.03 78.84 82.28 (f) + (h) 86.77 78.92 82.66 ## comparaison avec bi-lstm-crf récemment, le domaine du tal a vu un essor des réseaux de neurones récurrents. ces derniers ont été créés pour traiter des séquences de données selon un principe simple : pour chaque élément d'une séquence, son résultat est injecté dans l'élément suivant de la séquence, permettant ainsi, de proche en proche, d'incorporer le contexte à un instant donné. le réseau récurrent le plus simple est le réseau d'elman @xcite , où la couche cachée d'un réseau communique avec elle-même. cependant, ces réseaux n'arrivaient pas à modéliser des dépendances longue distance et leur apprentissage était très coûteux @xcite . la couche cachée long short-term memory @xcite , appelée par la suite lstm, s'est distinguée par sa capacité à capturer des dépendances de longue portée. il s'agit d'une couche cachée particulière d'un réseau d'elman utilisant une mémoire interne capable de retenir les informations pertinentes, en ajoutant et oubliant des informations au fur et à mesure selon un système de portes permettant de n'activer un ajout ou un oubli qu'au moment opportun. une illustration de la variante peephole @xcite d'une cellule de lstm ainsi que les formules des différentes portes sont données dans la figure 2. nous comparerons notre crf avec une variante de ce réseau faisant partie des systèmes les plus performants, appelée lstm-crf bidirectionnel (bi-lstm-crf) @xcite , qui sont parmi les systèmes état-de-l'art. il s'agit d'une variante de réseau de neurones à laquelle est ajoutée un crf, une de ses grandes forces étant sa capacité de généralisation @xcite , leur permettant d'obtenir de très bons scores sur les entités inconnues. dans cette partie, nous souhaitons effectuer une comparaison entre les différents crf proposés ici et le réseau bi-lstm-crf. les seuls résultats à notre connaissance sur la reconnaissance d'entités nommées sur le ftb sont ceux @xcite , qui utilisent un crf dont les traits sont proches de ceux de notre crf étalon. malgré la qualité inférieure de notre crf étalon par rapport au leur, l'utilisation des traits détaillés ici nous a permis d'obtenir une qualité finale supérieure, ce qui montre bien leur pertinence. nos bi-lstm-crf intégrant des informations extérieures, autant sous la forme des traits détaillés dans la section 3 que de représentations préappris, témoignent également de l'efficacité des réseaux de neurones récurrents. les deux systèmes ont des f-mesures globales comparables, avec cependant un léger avantage pour le bi-lstm-crf, qui se distingue surtout sur les entités inconnues où il obtient une qualité significativement supérieure à celle du crf, résultats cohérents avec ceux décrits par @xcite . l'ajout du répertoire de lexiques a permis au réseau de neurones d'obtenir une représentation plus générale, en témoigne le gain de 5 à 6 points de f-mesure sur les entités inconnues, et de moins de 0,5 points sur les entités connues. l'ajout de règles de post-traitement simples a permis l'amélioration des deux meilleurs modèles respectifs, le crf ayant plus bénéficié de ce gain que le lstm-crf. cette différence s'explique par le côté plus précis du crf, qui aura plus tendance à n'annoter une entité que dans un contexte sûr, une même entité n'étant alors annotée qu'à certains endroits. une autre source de gain du bi-lstm-crf vient des représentations préentraînés sur le corpus frwac. il est possible d'ajouter des représentations des mots dans un crf, typiquement via l'entraînement de clusters de brown @xcite . nous avons intégré 1000 clusters de brown appris sur un dump de wikipédia franc ¸ais, mais ces derniers n'ont pas amélioré nos résultats. nous n'avons pas pu les entraîner sur le corpus frwac, le coût en temps étant prohibitif. l'ajout de la consistance des annotations en tant que post-traitement simple n'améliore pas significativement les résultats obtenus par les bi-lstm-crf, en raison d'une forte baisse de la précision (-0.93). cela vient du fait que le réseau de neurones est un système ayant tendance à être plus bruyant qu'un crf, qui lui aura plus tendance à être silencieux. cela se remarque également dans l'amélioration du rappel, moins importante pour le bi-lstm-crf (+1.37) que pour le crf (+2.31), autant sur les entités connues qu'inconnues. cela suggère que le crf a besoin d'un contexte plus fort pour annoter une entité et que bi-lstm-crf a tendance à être plus consistant dans ses annotations. 6 conclusion dans cet article, nous avons exploré diverses méthodes pour intégrer de la connaissance en domaine ainsi que des règles basiques dans un crf. nous avons utilisé comme point de départ les traits définis par (raymond & fayolle, 2010), que nous avons ensuite progressivement enrichis avec de nouvelles informations. nous avons comparé cette méthode avec celle, classique, de l'ajout de lexiques à l'aide de traits booléens dissociés et avons constaté que leur combinaison améliorait les résultats car elle permet de contextualiser l'information des lexiques. nous avons également étudié la classification des verbes ainsi que la meilleure manière des les intégrer au crf. nous avons aussi exploré la gestion des mots inconnus, leur ajout a permis d'obtenir une améliotation dans certaines conditions. nous avons ensuite comparé notre crf avec un bi-lstm-crf ayant obtenu de meilleurs résultats avec moins de traits. l'une des premières tâches à effectuer serait d'ajouter les traits du crf manquant au bi-lstm-crf. nous prévoyons d'enrichir les lexiques que nous avons constitués ainsi que les traits de notre crf. pour cela, nous prévoyons d'ajouter des règles à notre crf, autant en tant que traits qui seront pondérés à l'apprentissage qu'en tant que contraintes afin de forcer, ou d'interdire, le déclenchement d'une entité ou d'une annotation incohérente. une de ces contraintes serait d'appliquer un poids négatif arbitrairement grand aux transitions inconsistantes, comme deux étiquettes i-<@xmath8. une autre idée serait d'utiliser des systèmes comme mxs (nouvel et al., 2013) qui disposent de nombreux lexiques et règles d'annotations que nous pourrions intégrer directement en tant que traits dans notre crf. nous comptons également explorer d'autres types de réseaux de neurones comme les gated recurrent units (cho et al., 2014), plus légers, ainsi que de remplacer le bi-lstm au niveaux des caractères par une convolution.