top of page
Photo du rédacteurMakrem DJEBALI

Intensité des émotions sur Twitter - Cas pratique

Dernière mise à jour : 10 févr. 2020



Dans le cadre d'une étude dédiée à l'approfondissement des méthodes d'exploitation des données textuelles et réalisée par le Data Lab de Périclès Actuarial, cet article présente le Traitement Automatique du Langage Naturel (TALN) à travers l’analyse de sentiments sur les réseaux sociaux. Cette étude s’intéresse spécifiquement à l’expression des émotions dans le langage écrit et plus particulièrement dans les tweets.


Pour plus d'informations concernant le text mining et les méthodes d'exploitation des données textuelles non structurées, le lecteur est invité à lire l'article Lire entre les lignes : le text mining en assurance.


Contexte et enjeux


Intérêt des émotions dans les données sociales

Pour les entreprises de tout secteur, les réseaux sociaux représentent un canal de communication et un outil de gestion de la relation client à fort potentiel. Le Traitement Automatique du Langage Naturel (TALN) des données sociales ouvre le champ des possibles sur des enjeux aussi divers que le suivi de l’image de marque, l’amélioration de produit ou de service proposé, l’identification des dysfonctionnements ou fraudes, le ciblage des clients, l’affinement des systèmes de recommandation ou encore l’anticipation des besoins des clients. Pour les secteurs médiatiques ou politiques, les données sociales sont de nouvelles sources d’informations pour des problématiques comme le suivi des tendances sociétales ou la mise en place de campagnes de préventions publiques personnalisées.

Entre autre, les tweets forment une large base de données d’utilisateurs divers avec un contenu textuel riche, incluant des données spécifiques comme des émoticônes, des émojis, des hastags, des références à d’autres utilisateurs (ex : @olivia1241), des orthographes volontairement bruitées (par exemple l’accentuation de mot comme : "haaappy") qui sont autant d' indicateurs potentiels sur le sens du message ou l’état d’esprit de son auteur.


La détection automatique des émotions dans les tweets peut répondre à différents besoins métiers. Parmi ceux-ci, nous pouvons citer le suivi de l’image de marque, de produit ou de service, la gestion de crises, de plaintes et de sinistres ou encore des enjeux de bien-être social.


Les données sociales doivent être exploitées en tenant compte des nombreux bruits et biais contenus.


Notion d'intensité


Chaque émotion peut être ressentie et exprimée à différents degrés d’intensité. En TALN, la grande majorité des tâches concerne la classification de tweets par polarité (positive, négative ou neutre) et quelques tâches s’intéressent à la classification des textes entre des émotions de bases. Le challenge "Tweet Affect" de SemEval2018 sur lequel se base cette étude a la particularité de s’intéresser à l’intensité des émotions.


En proposant une modélisation sur l’état d’esprit de l’auteur du tweet ou le ressenti du lecteur, l’analyse de l’intensité des émotions des tweets apparait comme une approche fine pour répondre aux différentes applications présentées précédemment.


Émotions étudiées


Les émotions prennent une place centrale dans notre quotidien : elles influencent notre manière de percevoir le monde et de prendre des décisions. Les émotions sont à la fois complexes et nuancées. S’il n’existe d’ailleurs ni recensement officiel ni taxonomie unique des émotions humaines, plusieurs modèles psychologiques des émotions s’accordent sur le fait que certaines émotions seraient plus simples que d’autres et que chacune pourrait être traitée séparément : ce sont les émotions de base. Toutefois les psychologues sont en désaccord sur les émotions concernées et leur nombre. Dans cette expérimentation, les quatre émotions de base retenues sont :

Les quatre émotions de base retenue dans le cadre de l'étude
Les quatre émotions de base retenue dans le cadre de l'étude - ©Vice-Versa / Disney

Ce choix concorde avec les conclusions de l’étude menée en 2014 par l’Université de Glasgow sur le nombre d’émotions ressenties par l’homme selon les muscles du visage et publiée dans la revue Current Biology. Sous l’hypothèse que notre visage trahisse nos émotions, l’homme ne ressentirait que de la joie, de la colère, de la peur, et de la tristesse.

 

Remarque : Le cas pratique développé ici a été envisagé comme un moyen de pratiquer et d'approfondir les problèmes de text mining. Il n’ambitionne pas une application métier immédiate. Dès lors, les problématiques d’applications industrielles telles que le retour sur investissement, la stabilité dans le temps des algorithmes, de même que les aspects juridiques ou éthiques liés à l’exploitation des données personnelles ne sont pas abordées dans cet article.

 

Problématique et jeu de données


L’étude a pour objectif de modéliser l'intensité d'une émotion E (choisie parmi les 4 citées ci-dessus) potentiellement reflétée par un tweet. Pour ce faire, deux approches possibles :

  • Score d'intensité : résoudre un problème de régression à partir d'un tweet et d'une émotion qui lui a été attribuée, afin de déterminer l'intensité de cette émotion est la plus fidèle à l'état d'esprit de l'auteur du tweet (EI-REG : Emotion Intensity Regression). Le score prend des valeurs comprises entre 0 (pas du tout l'état d'esprit de l'auteur) et 1 (parfaitement l'état d'esprit de l'auteur).

  • Classe d'intensité : résoudre un problème de classification multiple à partir d'un tweet et d'une émotion qui lui a été attribuée, afin d'attribuer une classe d'intensité qui se rapproche le plus de l'état d'esprit de l'auteur (EI-OC : Emotion Intensity Ordinal Classification). Il y a quatre classes possibles pour une émotion E considérée : 0 pour "pas d'émotion E", 1 pour "faible émotion E", 2 pour "émotion E modérée" et 3 pour "émotion E forte".

Pour chaque émotion, nous disposions d'une base de données composée d’un ensemble de tweets anglais (12k au total) auxquels sont rattachés les résultats du challenge en termes de score d'intensité et de classe d'intensité. Chaque tweet a été évalué individuellement et indépendamment pour chacune des tâches (EI-REG et EI-OC).

Extrait de la base de données des tweets anglais pour l'émotion "Joie"

 

Remarque : pour plus d'informations sur la manière dont le challenge "Tweet Affect" a été résolu, le lecteur est invité à lire l'article de Saif M. Mohammad, Felipe Bravo-Marquez, Mohammad Salameh et Svetlana Kiritchenko : Proceedings of International Workshop on Semantic Evaluation (SemEval-2018), Nouvelle Orléans, Juin 2018 .

 

Dans un souci de comparaison des résultats de notre étude avec ceux du challenge "Tweet Affect", nous avons retenu la même métrique de performance et de comparaison que celle utilisée lors du challenge : la corrélation de Pearson. De même, nous avons conservé la même répartition de la base pour l'apprentissage, le développement et le test de nos modèles.


Une première analyse exploratoire permet de desceller les mots spécifiques à chaque émotion les plus courants, que nous avons représentés dans un nuage de mots :


Nuage de mots pour chacune des émotions : (de gauche à droite) joie, colère, peur, tristesse

Les nuages obtenus permettent de se faire une rapide idée du contenu du jeu de données. Conformément au data processing réalisé ici, nous y retrouvons des mots, des émojis sous forme de texte (ex "u001f624") et des thèmes de conversation (ex : "#trump" (transformé en "trump") pour la peur) caractéristiques de chaque émotion.


Modélisation


Les travaux réalisé reposent sur différents features et algorithmes. Ils peuvent être résumés selon les trois approches détaillées ci-dessous :


Un premier travail sur les features


La première approche (modèle de base) consiste surtout en un travail approfondi sur les features. Le modèle obtenu pour chaque émotion va devenir une référence pour la suite. Ici, différents features ont été testés et comparés avec un même algorithme simple (un SVM/SVR linéaire avec régularisation) :


  • Features manuels :

Certains termes sont a priori des marqueurs d’intensité. C’est le cas par exemple des points d’exclamations et de leurs répétitions, ou plus généralement de la répétition de lettres/caractères ("I’m sooo happy for you!!!!") ou les smileys. Quelques features manuels peuvent être implémentés dans le modèle de base en complément features de comptage et lexicaux (que nous détaillons ci-après).

  • Features de comptages ou de fréquence :

Formes intuitives d’extraction d’information, les méthodes Word-N-Gram et Char-N-Grams consistent à compter les chaînes de mots respectivement de caractères. Le terme N correspond à la taille de la chaîne (1 ou plus). Selon les pré-traitements choisis, les valeurs telles que ’!!!’ ou ’ :))’ sont considérées comme des mots. Ce type de features repose sur l’association de mots/caractères ou chaîne de mot/caractères à l’intensité d’une émotion et prend la forme d’une matrice sparse. Concernant la pondération de fréquences de chaque chaîne (de mots/caractères de taille N ≥ 1), une approche TF-IDF (Term-Frequency times inverse document-frequency) a été préféré à une simple méthode de comptage (pour éviter notamment de donner une trop grande importance à des mots de liaison).

  • Features lexicaux :

Approche complémentaire aux features de comptage, les features lexicaux consistent à filtrer l’information contenue dans chaque tweet à partir de lexiques ou architectures construits par des tiers ou par notre propres soins sur un autre corpus. Pour cette expérimentation, parmi la dizaine de lexiques identifiés trois ont été retenus : NRC-Hash-Emo, Sentiment140 et SentiStrength.


  • Features Word Embedding :

L’approche Word Embedding consiste à représenter les "mots" dans un espace vectoriel continu formalisant la similarité sémantique des mots par leur distance. Il existe différents modèles de Word Embedding mais tous reposent d’une manière ou d’une autre sur l’hypothèse selon laquelle les mots apparaissant dans un même contexte sont sémantiquement proches. Il a été choisi de tester et de comparer deux méthodes ayant à maintes reprises fait leurs preuves en TALN : Word2Vec (Word2Vec skip-gram avec échantillonnage négatif (negative sampling skip-gram model)) pré-entrainé sur 400 millions de tweets pour l’ACL WNUT 2015 et Glove (200 pré-entrainé par Stanford NLP Group sur un corpus de 2 millions de tweets).


Résumé des features à disposition pour le modèle de base

Un deuxième travail sur l'architecture des modèles


La seconde approche vise à améliorer le modèle de base en travaillant son architecture et en s’appuyant notamment sur trois leviers : l’optimisation et l'agrégations de régresseurs (respectivement classifieurs), le croisement des tâches EI-REG et EI-OC pour améliorer leurs prédictions respectives, et enfin l’union ou la ségrégation typologique des features.


Les travaux menés se sont plus particulièrement intéressés aux considérations suivantes :

  • Considération de biais possibles provenant de l’union de features de "natures" différentes (possible sous-estimation des features sparse et dans une moindre mesure du Word Embedding);

  • L’apport des prédictions d’une tâche pour renforcer l’autre;

  • L'assemblage des régresseurs/classifieurs.

Un troisième travail avec des réseaux profonds


La dernière approche testée s’intéresse aux features et aux modèles à l’échelle de la phrase/du tweet et non plus seulement à celle des mots. L’objectif sous-jacent est d’expérimenter des modèles de réseaux profonds appliqués au text mining, l’emploi du Deep Learning se justifiant par le souhait de travailler sur la séquentialité dans l’information (la phrase).


L'intérêt de travailler à l'échelle de la phrase est d’initier de premières expérimentations sur les réseaux profonds en TALN et de prendre conscience des enjeux de paramétrisation de ce type de modélisation.


Ainsi, cette expérimentation se concentre sur deux types de modèles :

  • Les réseaux de neurones convolutifs (CNN)

  • Les réseaux Long-Short Terms Memory (LSTM)

Plusieurs architectures utilisant l’un des modèles ou les deux sont testées. Une des manières de combiner les deux modèles est présentée ci-dessous :


Représentation de la combinaison du réseau CNN avec un réseau LSTM

Selon le schéma ci-dessus, chaque mot de la phrase "I'm not really happy I'm quite sad." est associé à un vecteur selon le word embedding "Word2Vec". Ce vecteurs deviennent les inputs du réseau CNN. Ensuite, le "pooling" va agréger les outputs de cette étape de convolution, puis les outputs du "pooling" font office d'inputs dans le réseau LSTM qui va prendre en compte la séquentialité de la phrase.

 

Remarque : Des pré-traitements ont été définis avec soin pour chaque type de features. Par exemple, dans le cas des features sparses, de premiers tests par cross-validation sur la base d’apprentissage ont conclu que des pré-traitement simples peuvent s’avérer plus adaptés que des pré-traitement avancés. Aussi, afin d’évaluer et de justifier les prétraitements adaptés à la tâche étudiée, l’emploi ou non de chaque pré-traitement a été envisagé comme un hyperparamètre.

 

Conclusions et bonnes pratiques à retenir


Bien plus que les aspects techniques, cette étude a permis de se forger une opinion sur les bonnes pratiques en TALN, sur des aspects tels que les traitements des données, le temps à accorder sur la précision ou non de tels ou tels paramètres ou modèles, etc.


Du point de vue de la modélisation de l’intensité des émotions dans les tweets, les travaux menés conduisent à une performance plutôt bonne compte tenu de la complexité des tâches étudiées et des choix initiaux de modélisation (limitation des features lexicaux, optimisation globale des paramètres etc) : corrélation de Pearson moyenne autour de 69% pour la tâche EI- REG et 56% pour la tâche EI-OC.

De plus, les travaux réalisés ont permis de comparer la performance individuelle de chaque feature et leurs combinaisons, ainsi que différentes architectures en machine learning et deep learning, aussi bien en classification qu’en régression.


Si les résultats obtenus sont encourageants, il faut pourtant noter que le modèle construit parvient difficilement à tenir compte du contexte et des subtilités de tournures de tweets plus avancées (ex : ironie). En effet, lors de l’analyse des erreurs, nous avons constaté que :

  • Les prédictions dépendent assez fortement des chaînes de caractères/termes et ne tiennent pas suffisamment compte du contexte (par exemple, " When will i ever be happy with myself ?” : Joie, Score: 0.109, Prédiction: 0.51; ou encore "You know you chose a good husband when he prepares lunch for you early in the morning #tears" : Tristesse, Score: 0.107, Prédiction : 0.435) ;

  • La négligence du contexte dans le modèle construit s’explique d’une part par la modélisation elle-même (features et absence de considération de la phrase) et d’autre part par le faible volume de données d’apprentissage au vu de la complexité de la tâche.

  • Les émojis donnent une information souvent indispensable sur l’état d’esprit de l’auteur du tweet et le sens qu’il souhaite lui donner. Or parmi les features construits, seuls les N-Grams tiennent compte des émojis. L’absence de considération des émojis, due au Word2Vect pré-entraîné utilisé, explique en partie la faible part explicative des modèles DeepLearning.

 

POUR ALLER PLUS LOIN

Dans la continuité des travaux initiés, une manière de construire un modèle plus performant serait de travailler sur des features personnalisés, qui seraient davantage adaptés aux tâches que nous souhaiterions réaliser, qu'ils s’agissent de Word Embedding, de lexiques ou de features spécifiques aux émojis. Plus généralement, compte tenu du faible volume du corpus, il serait probablement profitable d’enrichir les features et les modèles d’informations externes.

Rédactrice : Julie LAVENU

151 vues0 commentaire

Posts récents

Voir tout

Comments


bottom of page