Emotion Detection
L’emotion detection (détection d’émotions) est une tâche de traitement du langage naturel qui consiste à identifier automatiquement les états émotionnels (joie, tristesse, colère, peur, surprise, dégoût, etc.) exprimés dans un texte, en allant au-delà de la simple polarité positive/négative de l’analyse de sentiment.
- Catégorie
- NLP / Affective Computing / Sentiment Analysis
- Type
- Classification multi-classe ou multi-label
- Taxonomies
- Ekman (6 émotions), Plutchik (8), GoEmotions (27), Parrott (hiérarchique)
- Approches
- BERT/RoBERTa fine-tuné, LSTM hybride, LLM zero-shot, lexiques émotionnels
- Datasets
- GoEmotions, ISEAR, SemEval-2018, IEMOCAP, MELD, EmoBank
- Métriques
- F1-score (macro), Accuracy
Emotion detection vs. sentiment analysis : pourquoi la distinction compte
L’analyse de sentiment classifie un texte en positif, négatif ou neutre. L’emotion detection va beaucoup plus loin : elle identifie l’émotion spécifique. « Je suis déçu » et « Je suis furieux » sont tous deux négatifs en sentiment, mais l’émotion est radicalement différente. Un client déçu a besoin d’empathie et de compensation ; un client furieux a besoin d’une désescalade immédiate.
Cette granularité a des implications concrètes pour les applications : le routage de tickets de support (priorité différente selon l’émotion), la santé mentale (distinguer la tristesse passagère de signaux dépressifs), l’UX des chatbots (adapter le ton de la réponse à l’émotion détectée), et l’analyse de marque (comprendre non seulement si les gens aiment votre produit, mais ce qu’ils ressentent).
Taxonomies d’émotions
Le choix de la taxonomie détermine la granularité et la difficulté de la tâche :
Modèle d’Ekman (6 émotions de base)
La taxonomie la plus classique, issue de la psychologie. Paul Ekman a identifié six émotions universelles reconnaissables à travers les cultures : joie, tristesse, colère, peur, surprise et dégoût. C’est le cadre le plus utilisé en NLP car il offre un bon compromis entre granularité et faisabilité de l’annotation. La plupart des datasets pré-2020 utilisent ce cadre ou une variante proche.
Roue de Plutchik (8 émotions primaires)
Robert Plutchik propose 8 émotions primaires organisées en paires d’opposés : joie/tristesse, confiance/dégoût, peur/colère, surprise/anticipation. Sa « roue des émotions » ajoute des intensités (l’agacement est une forme faible de colère, la rage une forme intense) et des émotions composées (joie + confiance = amour, colère + dégoût = mépris). Ce modèle est utile pour les applications nécessitant une gradation d’intensité.
GoEmotions (27 catégories)
Le dataset GoEmotions de Google Research (2020) définit 27 catégories émotionnelles plus une catégorie neutre, extraites de 58 000 commentaires Reddit annotés manuellement. Il couvre des émotions fines comme la gratitude, la curiosité, l’embarras, la fierté, la confusion ou le soulagement, bien au-delà du cadre d’Ekman. C’est le dataset de référence pour la détection d’émotions fine-grained et le plus utilisé dans les publications récentes.
Taxonomie de Parrott (hiérarchique)
W. Gerrod Parrott propose une taxonomie hiérarchique à trois niveaux : émotions primaires (love, joy, surprise, anger, sadness, fear), secondaires (par exemple, joy → cheerfulness, zest, contentment, pride, optimism, relief) et tertiaires (encore plus fines). Cette taxonomie est utilisée dans les approches qui nécessitent une analyse émotionnelle à granularité variable.
| Taxonomie | Nb d’émotions | Granularité | Usage principal |
|---|---|---|---|
| Ekman | 6 | Grossière | Classification simple, baseline |
| Plutchik | 8 (+intensités) | Moyenne | Applications avec gradation |
| GoEmotions | 27 + neutre | Fine | Recherche, applications avancées |
| Parrott | ~100+ (3 niveaux) | Très fine | Analyse narrative, recherche |
| SemEval-2018 | 11 | Moyenne | Shared task, benchmark |
| VAD (Valence-Arousal-Dominance) | Continu | Continue | Modélisation dimensionnelle |
Évolution des méthodes
Ère lexicon-based (2005-2016)
Les premières approches s’appuyaient sur des lexiques émotionnels : des dictionnaires associant chaque mot à une ou plusieurs émotions. Les lexiques de référence incluent NRC Emotion Lexicon (EmoLex) de Saif Mohammad, qui couvre environ 14 000 mots annotés pour 8 émotions + 2 sentiments, et LIWC (Linguistic Inquiry and Word Count), un outil commercial de psycholinguistique. L’approche consiste à compter les mots émotionnels dans le texte et à assigner l’émotion dominante.
Avantages : interprétabilité, indépendance du domaine, pas besoin de données d’entraînement. Limites : incapacité à gérer le contexte (« pas content » est classé comme « joie » à cause du mot « content »), les métaphores, le sarcasme, et les expressions émotionnelles non lexicales.
Ère ML classique (2014-2019)
Les classifieurs supervisés (SVM, Random Forest, XGBoost) combinés avec des features TF-IDF et des features linguistiques (POS tags, n-grammes, features de ponctuation) ont significativement amélioré la détection. L’ajout de features issues de lexiques émotionnels en complément de TF-IDF apporte des gains consistants. Les SVM avec kernels RBF atteignent environ 72% d’accuracy sur ISEAR (7 émotions).
Ère deep learning (2018-2023)
LSTM et BiLSTM : les réseaux récurrents bidirectionnels capturent les dépendances séquentielles essentielles pour comprendre le contexte émotionnel. Un modèle BiLSTM avec attention, publié en 2025 (Scientific Reports), atteint des performances solides en combinant les features NLP avec un mécanisme de self-attention.
BERT et variantes : le fine-tuning de BERT sur des datasets d’émotions est l’état de l’art établi. BERT fine-tuné sur GoEmotions atteint 85% d’accuracy et 0.83 de F1 (Premier Science, 2026), surpassant nettement les SVM (72%) et la régression logistique. RoBERTa offre des performances légèrement supérieures sur la plupart des benchmarks grâce à son pré-entraînement optimisé.
Modèles hybrides : la combinaison de Transformers avec des LSTM donne les meilleurs résultats. Le modèle LER (LSTM Enhanced RoBERTa), publié en 2026 (Scientific Reports), combine la capacité séquentielle du LSTM avec la compréhension contextuelle de RoBERTa pour atteindre 88% d’accuracy sur ISEAR, surpassant les deux composants pris séparément.
Ensembles stacked : le framework Hyb-Stack (Scientific Reports, 2026) empile les prédictions de BERT, DistilBERT, RoBERTa et mBERT avec un méta-classifieur Random Forest. Cette approche excelle en multi-label et en cross-lingue.
Ère LLMs (2023-aujourd’hui)
Les LLMs apportent une compréhension contextuelle plus profonde mais ne dominent pas encore la tâche de manière aussi nette que pour d’autres problèmes NLP :
Zero-shot limité : DeepSeek atteint 63% d’accuracy en emotion recognition zero-shot sur MELD (Mathematics, MDPI 2025). ChatGPT en zero-shot plafonne autour de 58% sur certains benchmarks. C’est nettement en dessous de BERT/RoBERTa fine-tuné (~85%+). Les LLMs en zero-shot peinent avec les émotions fines et proches (distinguer « déception » de « tristesse » par exemple).
Fine-tuning efficace : des modèles fine-tunés spécifiquement pour l’émotion (comme ceux évalués dans SemEval-2025 Task 11 sur la détection multilingue multi-label) montrent des résultats nettement supérieurs, surtout avec des approches combinant BERT multilingue et LLMs génératifs.
Ambiguïté émotionnelle : les travaux AER-LLM (ICASSP 2025) abordent la question de l’ambiguïté émotionnelle, un phénomène fréquent où un même texte exprime plusieurs émotions simultanément ou une émotion difficile à catégoriser. Les LLMs, avec leur capacité de raisonnement, sont mieux équipés pour gérer ces cas que les classifieurs standard.
Datasets de référence
| Dataset | Taille | Émotions | Source | Particularité |
|---|---|---|---|---|
| GoEmotions | ~58 000 commentaires | 27 + neutre | Plus grand dataset annoté ; fine-grained ; multi-label | |
| ISEAR | ~7 600 phrases | 7 (Ekman + honte) | Questionnaires | Single-label ; très propre ; classique |
| SemEval-2018 T1 | ~10 000 tweets | 11 émotions | Multi-label ; intensité ; shared task | |
| MELD | ~13 000 énoncés | 7 (Ekman + neutre) | Friends (séries TV) | Multimodal (texte + audio + vidéo) ; conversationnel |
| IEMOCAP | ~10 000 énoncés | 6-9 | Dialogues actés | Multimodal ; référence pour l’émotion conversationnelle |
| EmoBank | ~10 000 phrases | VAD continu | News, blogs, fiction | Annotations dimensionnelles (Valence, Arousal, Dominance) |
| SemEval-2025 T11 | Variable | Multi-label + intensité | Multilingue | Cross-lingue ; le plus récent |
Le défi du multi-label
Un texte exprime rarement une seule émotion. « Je suis triste de quitter ce job mais excité par la nouvelle aventure » mêle tristesse et joie. La détection multi-label (assigner plusieurs émotions à un texte) est nettement plus réaliste que le single-label, mais aussi plus difficile. GoEmotions et SemEval-2018 sont conçus pour cette tâche.
Les approches multi-label incluent les classifieurs binaires indépendants (un par émotion), les modèles de sortie sigmoïde (au lieu de softmax, chaque émotion a une probabilité indépendante), et les architectures de chaînes de labels (qui capturent les corrélations entre émotions). Le framework Hyb-Stack utilise un ensemble de Transformers avec un méta-classifieur pour gérer efficacement le multi-label.
Applications concrètes
Service client et CX
Détecter l’émotion du client en temps réel dans un chat ou un email permet de router automatiquement vers l’agent approprié (un client en colère vers un spécialiste de la désescalade), d’adapter le ton des réponses automatiques, et de prioriser les tickets par urgence émotionnelle. Un modèle hybride BERT + BiLSTM publié en 2025 (Scientific Reports) traite les messages client en temps réel avec une latence inférieure à 200 ms et génère des réponses adaptées via un module de génération IA.
Santé mentale
La détection d’émotions dans les publications sur les réseaux sociaux, les messages texte ou les journaux personnels peut signaler des états émotionnels préoccupants (tristesse persistante, désespoir, anxiété intense). C’est un outil de screening, pas de diagnostic, mais il peut alerter les professionnels de santé ou les proches. Les considérations éthiques sont majeures dans ce domaine.
UX et interaction homme-machine
Les chatbots et assistants vocaux qui détectent l’émotion de l’utilisateur peuvent adapter leur réponse : ton empathique face à la frustration, enthousiasme face à la joie, clarification face à la confusion. C’est un élément clé de l’expérience conversationnelle naturelle.
Analyse de contenu et veille
Comprendre les émotions dominantes dans les réactions à un lancement de produit, une campagne politique ou un événement d’actualité va au-delà du simple positif/négatif. La granularité émotionnelle révèle si les gens sont enthousiastes (anticipe des ventes), méfiants (nécessite une communication de réassurance) ou confus (indique un problème de clarté du message).
Éducation et e-learning
Détecter l’ennui, la frustration ou la confusion dans les interactions des étudiants avec une plateforme d’apprentissage permet d’adapter le rythme, de proposer de l’aide ou de changer d’approche pédagogique. Les systèmes de tutorat adaptatif intègrent l’emotion detection comme signal d’engagement.
Implémentation pratique
# Option 1 : Modèle Hugging Face pré-entraîné sur GoEmotions
from transformers import pipeline
emotion_classifier = pipeline(
"text-classification",
model="SamLowe/roberta-base-go_emotions",
top_k=3 # top 3 émotions
)
results = emotion_classifier(
"I'm so grateful for your help, this made my day!"
)
# → [{'label': 'gratitude', 'score': 0.95},
# {'label': 'joy', 'score': 0.12},
# {'label': 'approval', 'score': 0.08}]
# Option 2 : LLM zero-shot pour le français
# Prompt : "Identifiez les émotions exprimées dans ce texte
# parmi : joie, tristesse, colère, peur, surprise, dégoût,
# mépris, anticipation, confiance. Répondez en JSON."
Défis ouverts
Émotions implicites : « J’ai encore raté mon bus ce matin » n’exprime pas explicitement une émotion mais implique de la frustration. Les LLMs sont meilleurs que BERT pour ces inférences, mais les performances restent modestes. Les travaux AER-LLM sur l’Implicit Emotion Recognition montrent que les modèles masked language (BERT, RoBERTa) fine-tunés restent forts sur cette sous-tâche.
Multilingue : la plupart des datasets sont en anglais. SemEval-2025 Task 11 (« Bridging the Gap in Text-Based Emotion Detection ») est la première shared task à évaluer systématiquement la détection d’émotions cross-lingue, avec des résultats prometteurs pour les modèles multilingues (mBERT, XLM-RoBERTa). Pour le français, un LLM en zero-shot ou un modèle multilingue fine-tuné sur GoEmotions est la meilleure option.
Émotions composées et ambiguës : la nostalgie (joie + tristesse), la schadenfreude (joie face au malheur d’autrui), l’émerveillement (surprise + joie) sont des émotions composées difficiles à catégoriser dans des taxonomies discrètes. Le paradigme dimensionnel (VAD) gère mieux ces cas.
Contexte conversationnel : l’émotion dans un dialogue dépend des tours de parole précédents. Les datasets MELD et IEMOCAP évaluent cette dimension. Les modèles qui intègrent l’historique conversationnel surpassent ceux qui analysent chaque énoncé isolément.
Verdict
L’emotion detection a considérablement mûri grâce aux Transformers et aux datasets fine-grained comme GoEmotions. BERT/RoBERTa fine-tuné est l’état de l’art en production (85-88% d’accuracy sur les datasets principaux), et les modèles hybrides LSTM+Transformer repoussent encore les limites. Les LLMs en zero-shot ne rivalisent pas encore avec les modèles fine-tunés sur cette tâche (58-63% vs. 85%+), mais ils sont indispensables pour le multilingue et les cas où les données annotées manquent.
Pour un projet concret, utilisez SamLowe/roberta-base-go_emotions sur Hugging Face pour l’anglais (gratuit, rapide, 27 émotions). Pour le français, un LLM (Claude, GPT-5.4) en zero-shot avec une taxonomie explicite dans le prompt est la solution la plus pragmatique. Le cas d’usage le plus impactant : intégrer l’emotion detection dans un pipeline de service client pour prioriser et adapter les réponses en temps réel.
Questions fréquentes sur l’emotion detection
Quelle est la différence entre emotion detection et sentiment analysis ?
L’analyse de sentiment classifie un texte en positif, négatif ou neutre (3 classes). L’emotion detection identifie l’émotion spécifique : joie, colère, tristesse, peur, surprise, dégoût, etc. (6 à 27+ classes selon la taxonomie). Un texte négatif en sentiment peut exprimer de la colère, de la tristesse, de la peur ou du dégoût, et chaque émotion appelle une réponse différente. L’emotion detection est une tâche plus fine et plus difficile que le sentiment analysis.
Quel est le meilleur modèle pour la détection d’émotions ?
Pour l’anglais avec les 27 émotions GoEmotions : SamLowe/roberta-base-go_emotions sur Hugging Face (F1 ~0.83). Pour les 6 émotions d’Ekman sur ISEAR : le modèle hybride LER (LSTM Enhanced RoBERTa) atteint 88% d’accuracy. Pour le multilingue : XLM-RoBERTa fine-tuné ou un ensemble stacked de Transformers multilingues. Les LLMs (GPT-5.4, Claude) en zero-shot sont inférieurs aux modèles fine-tunés (58-63% vs. 85%+) mais utiles quand les données annotées manquent.
Comment détecter les émotions en français ?
Il n’existe pas de GoEmotions en français. Les meilleures options : (1) Fine-tuner CamemBERT ou XLM-RoBERTa sur une traduction automatique de GoEmotions (résultats dégradés mais exploitables). (2) Utiliser un LLM multilingue en zero-shot (Claude, GPT-5.4, Mistral) avec un prompt listant les émotions cibles. (3) Utiliser le modèle SamLowe/roberta-base-go_emotions avec un texte traduit en anglais en amont (pipeline traduction → détection). L’option LLM est la plus simple et donne des résultats acceptables pour la plupart des cas d’usage.
L’emotion detection fonctionne-t-elle sur des conversations (dialogues) ?
Oui, mais c’est plus difficile que sur des textes isolés. L’émotion dans un dialogue dépend du contexte conversationnel : un « OK » peut exprimer l’acceptation, la résignation ou l’irritation selon ce qui précède. Les datasets MELD (extraits de la série Friends) et IEMOCAP sont conçus pour cette tâche. Les modèles qui prennent en entrée l’historique de la conversation (pas seulement le message courant) surpassent ceux qui analysent chaque tour de parole isolément. Les GNN et les architectures à mémoire sont particulièrement adaptés aux dialogues.
Le multi-label est-il important pour l’emotion detection ?
Oui, fondamentalement. Les êtres humains ressentent rarement une seule émotion à la fois. Un texte comme « Je suis triste de partir mais reconnaissant pour ces années » exprime simultanément de la tristesse et de la gratitude. Le multi-label (assigner plusieurs émotions à un texte) est plus réaliste que le single-label (une seule émotion). GoEmotions et SemEval-2018 supportent nativement le multi-label. En termes d’architecture, il suffit de remplacer la couche softmax finale par des sigmoïdes indépendantes et d’utiliser une loss binary cross-entropy par label.