Réseaux neuronaux profonds pour l’étiquetage de séquences (Deep Neural Networks for Sequence Labeling) (2017)

Abstract: Depuis quelques années les réseaux neuronaux se montrent très efficaces dans toutes les tâches de Traitement Automatique des Langues (TAL). Récemment, une variante de réseau neuronal particulièrement adapté à l’étiquetage de séquences textuelles a été proposée, utilisant des représentations distributionnelles des étiquettes. Dans cet article, nous reprenons cette variante et nous l’améliorons avec une version profonde. Dans cette version, différentes couches cachées permettent de prendre en compte séparément les différents types d’informations données en entrée au réseau. Nous évaluons notre modèle sur les mêmes tâches que la première version de réseau de laquelle nous nous sommes inspirés. Les résultats montrent que notre variante de réseau neuronal est plus efficace que les autres, mais aussi qu’elle est plus efficace que tous les autres modèles évalués sur ces tâches, obtenant l’état-de-l’art.

## introduction ces dernières années, les réseaux neuronaux @xcite @xcite se sont montrés très efficaces dans toutes les tâches de tal @xcite @xcite @xcite @xcite . les réseaux neuronaux récurrents notamment sont très efficaces grâce à leur architecture, qui permet de prendre en compte l'information passée comme contexte, et ce sous forme de représentations distributionnelles. cependant la communauté s'est rendue compte très vite que ces modèles ne sont pas particulièrement adaptés à l'étiquetage de séquences textuelles. en effet, malgré leur relative efficacité, même les modèles les plus sophistiqués tels que lstm et gru @xcite ne donnent pas des résultats significativement meilleurs que ceux obtenus avec des réseaux plus simples @xcite @xcite . ces modèles sont très efficaces pour "garder en mémoire" un contexte de mots arbitrairement long. cependant cette capacité n'a pas été explicitement exploitée pour prendre en compte un contexte au niveau des étiquettes. dans les tâches d'étiquetage de séquences, telles que l'annotation en partie du discours ou la compréhension automatique de la parole, le contexte des étiquettes prédites précédemment est au moins aussi important que le contexte au niveau des mots. c'est pour cette raison que les modèles crf se sont montrés très efficaces sur ce type de tâches @xcite @xcite . la fonction de décision classique des réseaux neuronaux (softmax) n'est pas adaptée à l'étiquetage de séquences. pour éliminer cette limitation, plusieurs chercheurs ont proposé des modèles neuronaux hybrides rnn+crf @xcite @xcite , où la couche de sortie classique est remplacée par une couche crf neuronale. dans les tâches d'étiquetage de séquences telles que celles mentionnées, des modèles très efficaces peuvent être conçus en modélisant les dépendances entre étiquettes. nous reprenons pour cela l'idée de i-rnn décrite dans @xcite . ce modèle utilise des plongements pour les étiquettes, de la même façon que les plongements pour les mots, pour apprendre les dépendances entre étiquettes et leurs interactions. les étiquettes prédites par le modèle sont converties en index qui sont donnés en entrée du réseau à l'étape de prédiction suivante, elles sont donc transformées en plongements de la même façon que les mots. idéalement, cette architecture peut-être vue comme une évolution du réseau de jordan @xcite . dans cette évolution, la connexion récurrente du réseau relie la couche de sortie à la couche d'entrée. un schéma de ces deux architectures est montré dans la figure 1 . le modèle i-rnn, bien qu'il utilise toujours une fonction de décision locale, s'est montré très efficace sur certaines tâches d'étiquetage de séquences. le fait d'utiliser des plongements d'étiquettes permet à ce réseau de modéliser très efficacement les dépendances entre étiquettes, et d'obtenir des résultats meilleurs non seulement que les autres rnn, mais aussi que des modèles crf très compétitifs. nous reprenons le modèle i-rnn @xcite comme modèle de base pour concevoir des modèles profonds encore plus efficaces. nous exploitons dans cet article les avantages de l'apprentissage profond en utilisant deux couches cachées différentes : i) le premier niveau est divisé en plusieurs couches cachées pour apprendre séparément la représentation interne des différentes entrées du réseau (mots, étiquettes et autres) ; ii) le second niveau prend en entrée la concaténation de la sortie des couches cachées précédentes et produit une nouvelle sortie utilisée par la couche de sortie pour prédire la prochaine étiquette. pour avoir une évaluation comparable, nous évaluons nos modèles sur les mêmes tâches que celles employées par les auteurs du modèle i-rnn : atis @xcite , en anglais, et media @xcite , en français. grâce à la combinaison des plongements d'étiquettes pour apprendre les dépendances entre étiquettes, et aux couches cachées profondes pour apprendre des représentations internes sophistiquées, le modèle proposé dans cet article atteint des résultats à l'état-de-l'art sur les deux tâches. dans la suite de l'article, nous exposons d'abord (dans la section 2) la variante i-rnn utilisée comme modèle de base, puis la version profonde que nous proposons (section 3). nous décrivons ensuite les expériences effectuées pour évaluer nos modèles (section 4), et nous concluons (section 5). ## le modèle i-rnn dans cet article, nous partons du modèle i-rnn proposé par @xcite . ce modèle utilise une table de correspondance pour les mots e w et une pour les étiquettes e l . ces deux tables sont des matrices respectivement de taille n × d et |o| × d, où n est la taille du dictionnaire de mots, d est la taille des plongements, |o| est le nombre d'étiquettes qui correspond aussi à la taille de la couche de sortie du réseau. pour rendre le modèle plus efficace, une fenêtre de taille d w est utilisée pour les mots, alors qu'elle est de taille d l pour les étiquettes. nous désignons par e w (w i ) le plongement d'un mot quelconque w i , et par e l (y i ) le plongement d'une étiquette quelconque y i . les entrées du réseau au niveau des mots et des étiquettes à l'étape de traitement t, sont définies respectivement comme : la couche cachée est ensuite calculée par : φ étant la fonction d'activation relu dans cet article @xcite . la sortie du réseau, c'est-à-dire l'étiquette prédite par le modèle, est enfin obtenue par : grâce à l'utilisation des plongements d'étiquettes et à leur combinaison au niveau de la couche cachée, le modèle i-rnn peut apprendre de façon très efficace les dépendances entre étiquettes. comme on peut le remarquer, ce modèle n'est que idéalement récurrent, puisque les étiquettes prédites par le modèle sont converties en indexes, utilisés après pour sélectionner le plongement correspondant dans la matrice e l . aussi il n'y a pas de propagation en arrière à travers le temps (bptt) puisque, comme dans @xcite , le modèle est appris avec l'algorithme back-propagation classique. grâce à l'utilisation d'un contexte d'étiquette, tout cela donne une approximation d'un modèle récurrent appris avec l'algorithme bptt. comme il est montré dans @xcite , ces choix ne semblent pas affecter significativement les résultats, du moins sur certains tâches. ## réseaux profonds dans cet article nous proposons une variante profonde du modèle i-rnn. cette variante exploite plusieurs niveaux de représentations internes au réseau, sous forme de couches cachées. l'apprentissage profond pour le traitement d'images ou du signal audio @xcite a en effet montré qu'en utilisant plusieurs couches cachées, un réseau neuronal est capable d'apprendre des traits très fins et abstraits à partir des données. l'apprentissage profond a déjà, bien sûr, été utilisé avec succès dans les tâches de tal. mais quand l'entrée d'un tel réseau est constituée uniquement de mots, il est plus difficile de motiver l'utilisation des plusieurs couches cachées, car leur interprétation est problématique, au delà de l'évidence empirique constituée de meilleurs résultats. puisque les réseaux utilisés dans cet article prennent en entrée au moins deux types différents d'informations (les mots et les étiquettes), l'utilisation de plusieurs couches cachées nous semble ici mieux justifiée. nous avons donc conçu un réseau neuronal profond avec deux niveaux de couches cachées. au premier niveau chaque type d'entrée distinct (w t et l t , décrits plus haut) est connecté à sa propre couche cachée, respectivement à travers les paramètres h w et h l . la sortie de ces couches cachées est ensuite concaténée et donnée en entrée à une seconde couche cachée globale, elle-même utilisée comme entrée de la couche de sortie, comme déjà décrit plus haut. un schéma de cette architecture profonde est fourni en figure 2. si d'autres entrées sont fournies au réseau (e.g. la sortie d'une convolution sur les caractères, comme cela sera proposé plus loin), celles-ci sont connectées à leur propre couche cachée dont la sortie est concaténée aux autres, avant d'être transmise en entrée à la seconde couche cachée. la motivation de cette architecture profonde est de donner la possibilité au modèle d'apprendre une représentation interne différente pour chaque type d'entrée au premier niveau des couches cachées. au second niveau, le réseau peut utiliser toute sa capacité de modélisation pour apprendre uniquement les interactions entre les entrées. quand on utilise une seule couche cachée, le modèle est obligé d'apprendre à la fois une représentation interne globale pour toutes les entrées et pour leurs interactions, ce qui est un problème bien plus difficile. ces deux tâches sont celles employées pour l'évaluation des modèles auxquels nous nous comparons @xcite @xcite @xcite . nous renvoyons les lecteurs à ces travaux pour plus de détails sur les corpus. un exemple comparatif d'annotation pris des deux corpus est montré dans le tableau 1.