Méta-apprentissage : classification de messages en catégories émotionnelles inconnues en entraînement (Meta-learning : Classifying Messages into Unseen Emotional Categories) (2021)

Abstract: Dans cet article nous reproduisons un scénario d’apprentissage selon lequel les données cibles ne sont pas accessibles et seules des données connexes le sont. Nous utilisons une approche par méta-apprentissage afin de déterminer si les méta-informations apprises à partir de messages issus de médias sociaux, finement annotés en émotions, peuvent produire de bonnes performances une fois utilisées sur des messages issus de conversations, étiquetés en émotions avec une granularité différente. Nous mettons à profit l’apprentissage sur quelques exemples (few-shot learning) pour la mise en place de ce scénario. Cette approche se montre efficace pour capturer les méta-informations d’un jeu d’étiquettes émotionnelles pour prédire des étiquettes jusqu’alors inconnues au modèle. Bien que le fait de varier le type de données engendre une baisse de performance, notre approche par méta-apprentissage atteint des résultats décents comparés au référentiel d’apprentissage supervisé.

## introduction le traitement automatique du langage (tal) fait souvent face à la nécessité de devoir entraîner un modèle de classification pour une tâche sans pour autant en posséder les annotations dédiées. c'est davantage le cas pour les entreprises dont les données spécialisées, souvent privées ou confidentielles, sont synonymes d'un processus d'annotation fastidieux et coûteux. les données annotées en émotion entrent bien souvent dans ce cas de figure puisqu'elles sont majoritairement produites dans des conversations privées et restent délicates à annoter en raison de leur subjectivité. nos travaux se concentrent sur la tâche de classification d'émotions de textes courts et informels pour lesquels nous faisons l'hypothèse qu'un méta-apprentissage puisse servir à la classification de textes qui divergent en structure langagière et en jeu d'étiquettes. classifier du texte en émotions fait l'objet de nombreux travaux allant de la classification en polarités @xcite @xcite à l'usage de représentations émotionnelles plus précises et complexes @xcite @xcite @xcite @xcite . ces approches requièrent habituellement l'usage du maximum de données possible pour entraîner le modèle de classification. toutefois, l'obtention de jeux de données conséquents n'est pas toujours possible pour une tâche dédiée. le recours à des stratégies telles que l'apprentissage à partir de quelques exemples (few shot learning -fsl) @xcite @xcite ou le méta-apprentissage @xcite semble alors nécessaire. le méta-apprentissage consiste à "apprendre à apprendre", notamment en extrayant des méta-informations permettant une application plus efficace à de nouvelles tâches. ces deux approches ont émergé de la vision artificielle et y ont fait l'objet de différentes stratégies d'optimisation telles que l'apprentissage épisodique @xcite , le méta-apprentissage indépendant du modèle @xcite , ou encore l'apprentissage de métrique. cette méthode a notamment donné lieu à plusieurs modèles, comme les réseaux siamois @xcite , les réseaux concordants @xcite , et les réseaux prototypiques @xcite . parmi ces approches, certaines ont été adaptées à des tâches du tal @xcite , et plus particulièrement à la classification de textes. le méta-apprentissage à l'aide du fsl a notamment été utilisé pour entraîner un modèle de classification en sentiments en variant les 23 sujets du jeu de données d'amazon (arsc) @xcite @xcite . afin d'appliquer le méta-apprentissage à la classification en émotions, de multiples approches ont été récemment abordées. nous pouvons notamment citer une approche par apprentissage de distribution @xcite ) à l'aide de la décomposition de plongements de phrases, associée aux k-voisins (knn) les plus proches @xcite , ainsi qu'une étude de l'ambiguïté des émotions par méta-apprentissage à l'aide de bilstm avec attention @xcite . dans cet article nous nous plaçons dans une situation où nous n'avons pas accès aux données cibles et par conséquent cherchons à méta-apprendre sur des données que nous savons plus ou moins proches. nous combinons méta-apprentissage et fsl pour prédire les émotions dans des énoncés informels issus de conversations de médias sociaux, et cherchons à vérifier que cela peut nous permettre d'obtenir un modèle performant, bien qu'appris sur des données différentes. de récents travaux ont montré que le méta-apprentissage peut s'appliquer en variant les thèmes abordés des commentaires amazon (bao et al., 2020) ou les différentes relations entre entités du corpus dédié few-rel @xcite . dans nos travaux, nous exploitons le méta-apprentissage non seulement lorsque le jeu d'étiquettes émotionnelles diffère, mais également lorsque le format et la structure des données diffèrent. nous contribuons en implémentant un méta-apprentissage distinguant les données à la fois par leurs jeux d'étiquettes et par leur format. avec ce scénario, nous montrons que le méta-apprentissage combiné à l'apprentissage à partir de peu d'exemples (fsl) peut être efficace sans avoir observé ces deux variables pendant l'entraînement. le code est publiquement disponible sur github : https://github.com/gguibon/metalearning-emotion-datasource . ## données et étiquettes nous considérons deux jeux de données différents, en anglais, afin de nous conformer à la mise en place d'un métamodèle appris sur des données différentes de celles sur lesquelles il sera évalué. nous vérifions ainsi la qualité des méta-informations apprises et la capacité de transfert du métamodèle. goemotions @xcite est le jeu de données sources servant à l'apprentissage de méta-informations à partir d'étiquettes et de formats différents. il s'agit d'un corpus de 58 000 commentaires reddit étiquetés avec 27 catégories d'émotions, catégories que nous séparons en trois jeux d'étiquettes (emotagsets) afin de permettre un méta-apprentissage par la suite. dailydialog @xcite représente le jeu de données cibles à étiqueter à l'aide de notre métamodèle appris en amont. ce corpus est constitué de 13 118 conversations de "tous les jours" sur différents thèmes. pour nos travaux, nous n'utilisons que les messages individuels sans contexte conversationnel. pour appliquer notre modèle nous utilisons uniquement les couples message/étiquette issus de l'échantillon de test officiel foot_0 , soit un ensemble de 1 419 messages pour 6 émotions (emotagset3 ci-après). dailydialog est également fourni avec une séparation en trois échantillons par ratio train/val/test qui assurent la répartition de toutes les étiquettes. bien que ces échantillons par ratio ne permettent pas de méta-apprentissage, nous les utilisons pour de l'apprentissage supervisé standard à des fins de comparaison avec le méta-apprentissage, ainsi qu'à l'optimisation des hyperparamètres. jeux d'étiquettes. nous considérons 3 jeux d'étiquettes émotionnelles distinctes, construites en prenant en compte leur nombre d'occurrences total pour avoir des tailles plus ou moins similaires, ainsi que leur présence ou non dans le corpus de test. pour le méta-entraînement, nous utilisons le jeu nommé emotagset1 constitué des étiquettes suivantes : admiration, approval, annoyance, amusement, love, confusion, realization, excitement, remorse, nervousness et pride. pour la validation, nous nommons emotagset2 le jeu d'étiquettes suivantes : gratitude, curiosity, disapproval, optimism, disappointment, caring, desire, embarrassment, relief et grief. pour le test, aussi bien sur goemotions que sur dailydialog, le jeu nommé emotagset3 est constitué de 6 émotions dites "basiques" : joy, sadness, anger, fear, disgust et surprise. ainsi, les 27 étiquettes sont séparées en 3 jeux distincts. mis ensemble, les jeux d'entraînement et de validation représentent 21 émotions exclusives à goemotions, tandis que les 6 émotions du jeu de test sont présentes aussi bien dans goemotions que dans dailydialog et représentent des émotions "basiques" ayant une granularité que l'on peut considérer comme moins fine. ce dernier jeu d'étiquettes rend également la comparaison des résultats possible. ## méthode et protocole expérimental goemotions @xcite est utilisé pour l'entraînement tandis que dailydialog @xcite l'est pour l'évaluation, jouant ainsi le rôle de données privées non étiquetées. l'objectif est de transférer les méta-informations apprises à partir de commentaires reddit vers des messages de conversations de tous les jours, les deux sources divergeant ainsi en structure et en vocabulaire. méta-apprentissage. dans un premier temps, nous mettons en place un méta-apprentissage d'émo-tions à partir des échantillons d'entraînement et de validation de goemotions. cela nous permet d'apprendre des méta-informations que nous évaluons ensuite à l'aide de l'échantillon de test de dailydialog, suivant le principe présenté en figure 1 . notre but est de méta-entraîner un modèle de classification à partir de quelques exemples : plus précisément, en utilisant du fsl avec seulement 5 exemples par classe émotionnelle issue du jeu d'entraînement de goemotions. nous distinguons alors 3 jeux d'étiquettes distinctes : un pour l'entraînement (emotagset1), un pour la validation (emotagset2) et un pour le test (emotagset3). les classes utilisées en test correspondent aux 6 émotions présentes dans dailydialog afin de les exclure de l'apprentissage et de pouvoir comparer les résultats. pour concevoir notre méta-modèle, nous utilisons les réseaux prototypiques @xcite avec un apprentissage épisodique (ravi & larochelle, 2016) afin de combiner méta-apprentissage et fsl. concrètement, un épisode est défini par trois paramètres : le nombre de classes n c (ways), le nombre d'exemples d'entraînement n s (shots) pour chaque classe et le nombre d'éléments à étiqueter n q (queries). les éléments de l'épisode sont projetés dans un espace vectoriel, dans lequel sont calculés les prototypes de classes, à l'aide d'un encodeur f φ . lors de chaque épisode, nous appliquons l'apprentissage de métrique aux quelques exemples visibles s k (shots) d'une classe k (way) pour lui attribuer un prototype c k qui correspond à la moyenne des exemples x @xmath0. un prototype de classe est donc égal à : nous varions les encodeurs en considérant alternativement : la moyenne des plongements lexicaux des éléments de la classe (avg), un encodeur convolutionnel (cnn) @xcite ou un encodeur transformer @xcite . la figure 1 montre une vision globale de notre stratégie de méta-apprentissage, de l'apprentissage à l'évaluation. nous définissons la composition d'un épisode par n @xmath1, n @xmath2, signifiant alors une tâche d'apprentissage en 5 exemples aléatoires, 6 classes et 30 cibles aléatoires (5-shot 6-way 30-query) dans laquelle n c est contraint par le nombre de classes en test, le modèle étant in fine testé sur les 6 émotions du jeu de test de dailydialog. la composition des épisodes pour l'entraînement et pour la validation est identique. pour le test, en revanche, nous utilisons 1 000 épisodes aléatoires pour lesquels le jeu d'exemples cibles (query set) est choisi aléatoirement à partir du jeu de test tout en suivant le principe des 5 exemples cibles par classe (c'est-à-dire 5 exemples à étiqueter pour chacune des 6 émotions). afin d'assurer l'évaluation du méta-apprentissage, ces 6 classes sont disponibles uniquement lors du test. notre protocole expérimental est le suivant : chaque jeu de données est pré-traité à l'aide du tweettokenizer de nltk foot_1 et de la normalisation en minuscules puis, pour les représentations textuelles de départ, nous utilisons les plongements lexicaux d'un modèle pré-entraîné de fasttext @xcite , suivant ainsi des travaux antérieurs (bao et al., 2020). alternativement, nous utilisons un modèle bert pré-entraîné @xcite , bien que ce dernier n'améliore guère les résultats, confortant l'hypothèse de l'impact réduit sur des données de messages non séparés en phrases et qui possèdent une variation excessive du nombre de tokens (bao et al., 2020). apprentissage supervisé pour comparaison future. dans un premier temps nous appliquons un apprentissage supervisé standard en utilisant uniquement les jeux de données officiels par ratio de dailydialog (train/val/test). l'apprentissage supervisé sert donc de référence, démontrant les scores atteignables avec une approche classique et permettant ensuite une comparaison avec le méta-apprentissage. dans cette approche supervisée, l'encodeur et le modèle de classification ne sont pas distincts puisqu'il s'agit simplement d'ajouter une couche cachée affine suivie d'un softmax, puis de calculer la log-vraisemblance négative pour obtenir une entropie croisée sur les différentes prédictions. hyper-paramètres. pour rappel, nous répliquons ici un scénario dans lequel nous entraînons un modèle de classification sans avoir accès aux données cibles. cependant, à des fins de comparaison, nous utilisons les hyper-paramètres obtenus à l'aide d'une recherche ciblée par quadrillage effectuée uniquement lors de l'apprentissage supervisé. cela réduit la dépendance des résultats à d'éventuels paramètres spécifiques au méta-apprentissage et implique une évaluation plus fiable. les hyperparamètres généraux sont un pas d'apprentissage de 1e -3, des vecteurs en entrée de taille 300, un abandon (dropout) de 10% sans coupe de gradient et un arrêt de l'apprentissage au bout de 20 epochs (i.e. un ensemble de 100 épisodes aléatoires). les cnn suivent la configuration de kim @xcite avec des filtres ayant trois tailles différentes, de 3 à 5. contrairement à kim, nous utilisons ici 5 000 filtres au lieu de 50. pour l'encodeur en transformer le pas d'apprentissage est de 1e -4, le dropout est augmenté à 20% et celui de l'encodeur positionnel est conservé à 10%.