Tri-apprentissage génératif : génération de données pour de la reconnaissance d’entitées nommées semi-supervisé (2023)

Abstract: Le développement de solutions de traitement automatique de la langue pour de nouvelles tâches nécessite des données, dont l’obtention est coûteuses. L’accès aux données peut être limité en raison de la nature sensible des données. La plupart des travaux récents ont exploité de grands modèles pré-entraînés pour initialiser des versions spécialisées de ceux-ci. La spécialisation d’un tel modèle nécessite toujours une quantité élevée de données étiquetées spécifiques à la tâche cible. Nous utilisons l’apprentissage semi-supervisé pour entraîner des modèles dans un contexte où le nombre d’exemples étiquetés est limité et le nombre de données non étiquetées est nul. Nous étudions plusieurs méthodes pour générer le corpus non étiqueté nécessaire à l’utilisation de l’apprentissage semi-supervisé. Nous introduisons les méthodes de génération entre les épisodes d’entraînement et utilisons les modèles entraînés pour filtrer les exemples générés. Nous testons cette génération avec le tri-apprentissage et l’auto-apprentissage sur des corpus Anglais et Français.

## introduction la reconnaissance d'entités nommées (ren) est une tâche d'étiquetage de séquences. l'entraînement de modèles de ren nécessite généralement une quantité importante de données étiquetées. l'accès aux données, étiquetées ou non, est compliqué pour certaines langues ou certains domaines. par exemple, obtenir des données médicales prend des années car l'obtention de données diffusables et l'annotation par des spécialistes est un processus lent. par conséquent, l'apprentissage dans un environnement à faibles ressources est un sujet en plein essor. le but de cet article est de proposer une méthode permettant de réduire la quantité de données naturelles annotées nécessaires pour entraîner des modèles de ren. les techniques d'apprentissage par transfert @xcite sont un moyen d'utiliser les connaissances acquises depuis d'autres données pour améliorer les performances des modèles. l'apprentissage semi-supervisé est un autre paradigme d'apprentissage qui aborde le problème des ressources limitées @xcite . dans ce paradigme, le contexte de faibles ressources fait généralement référence à une faible quantité de données étiquetées mais à une grande quantité de données non étiquetées disponibles. contrairement à l'apprentissage semi-supervisé, le problème que nous cherchons à résoudre est de n'avoir qu'une petite quantité de données étiquetées et aucune donnée non étiquetée. nous utilisons de grands modèles de langue génériques sans réglage fin pour générer les données non étiquetées utilisées dans l'apprentissage semi-supervisé. nous n'affinons pas nos modèles de génération car nous ne disposons pas de suffisamment de données. nous évaluons plusieurs méthodes de génération utilisant des modèles de langue pré-entraînés. premièrement, nous employons deux méthodes de génération fondées sur la modélisation classique de gauche à droite : la génération de la phrase suivante et la complétion de phrases. ensuite, nous utilisons deux méthodes de modélisation séquence à séquence pour remplacer le contexte ou les mentions dans les phrases étiquetées. nous évaluons notre méthode sur deux corpus bien connus, conll @xcite et i2b2 @xcite . nos principales contributions sont les suivantes 1 : l'apprentissage d'un modèle de ren nécessite une grande quantité de données étiquetées. l'augmentation a été utilisée pour améliorer les performances des modèles de traitement automatique de la langue. des techniques telles que la traduction circulaire (sennrich et al., 2016), l'augmentation eda (wei & zou, 2019) ou la génération de paraphrases en utilisant bart (dopierre et al., 2021) ont été utilisées pour améliorer la classification de phrases. cependant, la paraphrase utilisant la rétro-traduction sur des données médicales pour une tâche d'étiquetage n'est pas efficace (neuraz et al., 2018). par conséquent, nous ne l'utiliserons pas sous cette forme, mais l'utilisation de modèle de langue se rapproche de cette pratique. une méthode utilisant des modèles de langue pour augmenter les données, daga (ding et al., 2020), s'est avérée efficace dans un contexte d'apprentissage supervisé et semi-supervisé. cette méthode utilise les données d'apprentissage pour entraîner un bilstm afin de générer des données étiquetées ou non étiquetées. nous avons choisi d'utiliser des modèles de langue pré-entraînés. l'apprentissage semi-supervisé est un paradigme d'apprentissage visant à améliorer les performances des modèles entraînés en ajoutant des exemples non étiquetés à l'ensemble d'apprentissage @xcite . ce paradigme comporte plusieurs branches qui dépendent de la manière dont les données non étiquetées sont utilisées. l'utilisation de pseudo-étiquettes à différents stades de l'entraînement a fonctionné pour la ren @xcite . les modèles aux stades d'apprentissage précédents génèrent des pseudo-étiquettes pour les étapes suivantes. ces algorithmes dépendent du nombre de modèles entraînés et des modèles utilisés pour générer les pseudo-étiquettes. l'algorithme le plus simple est l'auto-apprentissage @xcite , qui entraîne un modèle et l'utilise pour créer les pseudo-étiquettes. d'autres méthodes utilisant des ensembles de modèles ont été créées pour réduire les biais induits par la génération des pseudo-étiquettes par le même modèle. le cotraining @xcite est une méthode d'entraînement de deux modèles dans laquelle chaque modèle génère les pseudo-étiquettes de l'autre. une généralisation de cette méthode existe dans laquelle un ensemble de n modèles est entraîné, et les pseudo-étiquettes pour un modèle m j sont produites en utilisant un système de vote à travers les n autres modèles. l'algorithme semi-supervisé que nous utilisons est une variante utilisant trois modèles appelée tri-apprentissage @xcite . des résultats positifs existent avec cette méthode sur la tâche d'extraction de concepts cliniques. une version optimisée pour les données de l'algorithme de tri-apprentissage est le tri-apprentissage avec désaccord @xcite . cette version réduit la quantité de données nécessaires en ajoutant uniquement les données pseudo-étiquetées au jeu d'entraînement d'un modèle quand celui-ci est en désaccord avec les deux autres. nous n'avons pas implémenté cette version du tri-apprentissage car nous voulons conserver autant de données générées pertinentes que possible. nous proposons un algorithme de tri-apprentissage génératif, qui utilise le système de vote pour écarter les échantillons nouvellement générés sur lesquels il n'y a pas d'accord. nous utilisons des modèles de langue pour générer de nouvelles données non étiquetées nécessaires à l'apprentissage semi-supervisé. nous utilisons les modèles gpt-2 (radford et al., 2019) et t5 (raffel et al., 2020) dans leur version à 1m paramètres. ces données servent à entraîner nos étiqueteurs, qui utilisent des modèles bert (devlin et al., 2018) pré-entraînés comme base de leur architecture. ## tri-apprentissage génératif tri-apprentissage le tri-apprentissage @xcite est un algorithme d'apprentissage semisupervisé pour entraîner un ensemble de trois modèles. chaque modèle est entraîné sur des données non étiquetées qui reçoivent des pseudo-étiquettes des deux autres modèles. les phrases pseudoétiquetées sont utilisées lorsque les deux modèles parviennent à un accord, ce qui permet à la fois l'ajout de pseudo-étiquettes et un filtrage des phrases non-adaptées. la génération d'un ensemble de données non étiquetées de taille fixe pour l'apprentissage semi-supervisé semble arbitraire. il n'y a aucune garantie que les modèles utiliseront les données pour apprendre car il n'y a aucune garantie que les modèles parviendront à un accord sur les pseudo-étiquettes. en pratique, certaines des données générées ne sont jamais utilisées. pour résoudre ce problème, nous avons conçu l'algorithme de tri-apprentissage génératif qui se sert des qualités de filtrage du tri-apprentissage pour sélectionner les phrases issues de la génération au fil des épisodes. pré-entraînement le tri-apprentissage nécessite une étape d'entraînement pour initialiser les étiqueteurs afin qu'ils soient capables de produire des pseudo-étiquettes. nous appelons cette étape l'étape de pré-entraînement. elle est représentée entre les lignes 1 et 4 de l'algorithme 1. l'étape de pré-entraînement est effectuée sur des sous-ensembles de données échantillonnés avec remise à algorithme 1 : tri-apprentissage génératif entrées : s n le sous-ensemble de données annotées, g la méthode de génération @xcite . ces sous-ensembles font la même taille que s n . cependant, nous avons constaté que l'ajout d'un épisode d'apprentissage sur l'ensemble étiqueté complet s n après l'ensemble échantillonné améliore considérablement les performances du tri-apprentissage. cet ajout se trouve à la ligne 3 de l'algorithme 1. tri-apprentissage génératif l'algorithme 1 et la figure 1 reflètent les modifications apportées à l'algorithme de tri-apprentissage. avec le tri-apprentissage, nous entraînons un ensemble de trois modèles m i , @xmath0; 3 . l'entraînement est divisé en épisodes au cours desquels nous entraînons les trois modèles. pour un modèle m i donné, l'entraînement épisodique s'arrête lorsque le score du modèle sur l'ensemble de validation est inférieur à celui de l'épisode précédent. ce processus est décrit dans la figure 2 . au début de chaque épisode (ligne 8 de l'algorithme 1), nous générons de nouveaux sous-ensembles de données pseudo-étiquetées l t i à partir des données annotées et pseudo-annotées de l'épisode précédent. nous ajoutons les données générées sans annotation aux données non-annotées disponibles pour l'étape suivante ligne 9. ces sous-ensembles sont générés à partir des ensembles étiquetés et précédemment pseudo-étiquetés. nous ajoutons les exemples nouvellement générés l t i sans leurs étiquettes aux exemples précédemment générés u t pour l'épisode suivant. chacun de ces figure 1 -étape t du tri-apprentissage génératif. en rectangles les données, et avec les coins arrondis les modèles et ensembles de modèles. nous découpons le jeu de validation du corpus naturel en deux, une partie servant durant l'entraînement, et une autre servant à comparer entre les épisodes. pour le tri-apprentissage, et l'aspect épisodique en général, nous avons besoin de deux ensembles de données de validation pour évaluer notre entraînement. nous divisons l'ensemble de validation de nos corpus en deux. la première moitié sert d'ensemble de validation pour l'entraînement des modèles pendant l'épisode. la seconde moitié est utilisée pour comparer les modèles entre les épisodes et définir le moment où un modèle doit arrêter son apprentissage. ce mécanisme est décrit dans la figure 2 . ## méthodes de génération les méthodes pour générer de nouveaux échantillons non étiquetés sont au coeur de cette étude. la modélisation de la langue est l'outil que nous utiliserons pour générer de nouveaux exemples. il existe plusieurs façons de faire de la modélisation de la langue. la façon la plus traditionnelle de faire de la modélisation de la langue est de prédire les tokens de gauche à droite. ces modèles utilisent le contexte à gauche pour prédire les tokens suivants à droite. nous utiliserons ce type de modélisation pour nos deux premières méthodes de génération. le modèle que nous utilisons pour ces méthodes de génération est gpt-2 foot_0 @xcite . il existe d'autres modèles entraînés sur d'autres tâches. dans notre cas, nous utiliserons aussi t5 @xcite , qui a été entraîné en utilisant un objectif de remplacement de séquences. nos deux dernières méthodes de génération utilisent cette capacité de remplacement pour éditer la mention ou le contexte d'une phrase étiquetée ou pseudo-étiquetée. pour ces méthodes, nous utilisons t5 v1.1 foot_1 . toutes les méthodes de génération sont appliquées à des phrases étiquetées ou pseudo-étiquetées. chaque méthode est illustrée par un exemple pour lequel le rouge indique les portions provenant directement de la phrase d'origine, le bleu indique les portions générées, et le gras indique les portions annotées. génération de phrase suivante : pour la génération de phrase suivante, nous utilisons le texte d'une phrase étiquetée ou pseudo-étiquetée comme contexte gauche pour modéliser le texte suivant. notre hypothèse est que les nouvelles phrases apportées à l'ensemble de données par cette méthode apporteront de la variété à l'ensemble tout en restant dans le domaine. ceci est un exemple. → il permet de décrire la situation. complétion de phrase : la complétion est une méthode utilisant la modélisation de gauche à droite pour compléter la phrase. la position à partir de laquelle générer est choisie par échantillonnage entre les premiers tokens des mentions dans la phrase. si la phrase ne contient aucune mention, la position est échantillonnée entre 25% et 75% de la longueur de la phrase. nous supposons que cette méthode apportera de la variété aux mentions tout en conservant l'approche classique de modélisation. ceci est un exemple. → ceci est un objet d'intérêt. remplacement de mentions : notre objectif est d'apporter la diversité aux objets d'intérêt en remplaçant les mentions des phrases étiquetées. si plus d'une mention est présente, nous échantillonnons la mention qui doit être remplacée. nous ignorons les phrases sans mention. notre hypothèse est que les modèles de langue ont appris des informations sur n'importe quel sujet pendant leur entraînement. les sujets qui nous intéressent sont liés aux concepts que nous souhaitons étiqueter dans les phrases. nous supposons qu'étant donné un contexte qui contient une instance d'un concept donné, le modèle sera capable de remplacer cette instance par d'autres instances du même concept. nous pensons que cette méthode fonctionnera mieux en combinaison avec d'autres méthodes. cet exemple est plus adapté. → cet objet d'intérêt est plus adapté. remplacement de contexte : le remplacement du contexte fonctionne de manière similaire au remplacement des mentions, sauf que c'est le texte non étiqueté qui est remplacé. nous créons une liste de séquences contenant toutes les séquences de contexte de la phrase. nous échantillonnons la séquence qui sera remplacée. nous ignorons les phrases sans mention. notre hypothèse est que les modèles d'étiquetage apprennent à prédire à la fois à partir du contexte et des mentions. de cette hypothèse, nous déduisons que l'apprentissage à partir de contextes plus variés pourrait être bénéfique pour l'étiqueteur. ceci est un exemple. → nous avons besoin d'un exemple. ## expériences nous avons conçu un ensemble d'expériences pour évaluer le tri-apprentissage génératif. ces expériences comparent l'apprentissage supervisé au tri-apprentissage génératif et avec les données 5. https://paperswithcode.com/ de tâches disponibles. la génération avec semi-supervision est testée avec deux algorithmes d'apprentissage semi-supervisé : le tri-apprentissage et l'auto-apprentissage. notre baseline est l'apprentissage supervisé sur des données étiquetées sans aucune semi-supervision. notre topline est le tri-apprentissage avec des données naturelles comme données non étiquetées. pour la topline, nous considérons un ensemble de 10 000 phrases de chaque corpus à partir duquel nous extrayons les corpus supervisés s n , composé de 50 à 1 000 phrases, et le reste est utilisé comme l'ensemble non étiqueté servant à peupler les l t i . dans ces cas plus ou moins extrêmes, la quantité de données n'est pas suffisante pour apprendre des modèles performants, comme le montrent les résultats de la baseline à chaque épisode d'apprentissage semi-supervisé, nous générons une quantité fixe de données. nous visons à générer 5 000 exemples pour chaque épisode. cette quantité est suffisamment importante pour apporter une quantité significative d'informations mais pas trop afin d'éviter de ralentir le processus d'apprentissage. nous générons une plus petite quantité de données pour les premiers épisodes car la quantité de contexte disponible, les données étiquetées et pseudo-étiquetées, est plus petite. cette petite quantité de données pourrait également voir son signal noyé si trop de données sont générées, comme on le voit avec la méthode topline. nous facilitons les deux premières étapes en générant seulement 500 et 2 500 exemples au lieu de 5 000. la génération se fait dans le contexte de l'apprentissage semi-supervisé. pour le tri-apprentissage, les exemples générés sont répartis en trois ensembles, un pour chaque modèle entraîné dans le tri-apprentissage. les nouveaux ensembles de données sont générés en appliquant la méthode de génération respective aux exemples échantillonnés de l'ensemble de données naturelles et aux ensembles pseudo-étiquetés de l'épisode précédent. les trois modèles étiquettent ensuite le texte généré par la méthode de génération. si deux modèles ou plus parviennent à un accord, les nouvelles données sont conservées avec les pseudo-étiquettes. ces données pseudo-étiquetées sont envoyées soit au paquet du modèle qui n'est pas d'accord si deux modèles sont d'accord, soit à l'un des ensembles au hasard si les trois modèles sont d'accord. si aucun accord n'est trouvé, les données sont rejetées. nous continuons à générer de nouveaux exemples jusqu'à ce que nous atteignions la quantité attendue ou un nombre maximal d'opérations de génération autorisé que nous avons fixé à 10 000 pour éviter de générer indéfiniment. en pratique, cette limite n'est jamais atteinte. chaque méthode de génération génère cinq nouvelles phrases pour chaque phrase d'entrée. ## résultats les résultats de la baseline et les ∆ entre la méthode présentée et la baseline sont présentés dans le tableau 2. par souci de place, nous n'avons pas indiqué les résultats obtenus sur des sous-ensembles de taille 1000, mais ils conservent les tendances observés. les résultats de la topline sont bien supérieurs aux résultats du supervisé. les résultats du supervisé vont de 60,0 f 1 avec des sous-ensembles de taille 50 à 84,6 f 1 avec une taille de 500 pour conll avec des gains décroissant de 8,6 à 3,8 pour la topline. pour i2b2, les résultats de la baseline sont plus petits que ceux de conll, allant de 39,3 à 77,6 f 1 score avec des gains. les gains de i2b2 vont de 8,9 à la taille 100 à 5,4 à la taille 500 et sont légèrement inférieurs pour 50 phrases, avec 8,3. les résultats décrits dans cette section se trouvent dans le tableau 2 pour les ressources faibles, et dans le tableau 4 pour les corpus complets. pour le tri-apprentissage, chaque méthode affiche des gains positifs à chaque taille de sous-ensemble et certaines dépassent même la topline. c'est le cas crp.