Sentiment Analysis (Analyse de Sentiment)
La sentiment analysis (ou analyse de sentiment, aussi appelée opinion mining) est une tâche de traitement automatique du langage naturel qui consiste à identifier et classifier automatiquement la polarité émotionnelle d’un texte : positif, négatif ou neutre.
Vous collectez 50 000 avis clients, des milliers de tweets mentionnant votre marque, ou les verbatims d’un sondage interne. Lire tout ça manuellement prendrait des semaines. La sentiment analysis automatise ce tri : elle attribue à chaque texte (ou à chaque phrase, voire chaque aspect mentionné) un score de polarité qui résume l’opinion exprimée. En quelques secondes, vous savez si vos clients sont satisfaits, frustrés ou indifférents.
Le marché mondial de la sentiment analysis pesait environ 4,7 milliards de dollars en 2024 et devrait atteindre près de 18 milliards en 2034, selon les estimations du secteur. Ce n’est pas une niche de recherche : c’est un outil opérationnel utilisé quotidiennement par les équipes marketing, produit, support client et communication.
- Catégorie
- Tâche NLP de classification de texte
- Input
- Texte brut (avis, tweets, emails, transcriptions…)
- Output
- Polarité (positif/négatif/neutre) + score de confiance
- Niveaux d’analyse
- Document, phrase, aspect, entité
- Benchmarks clés
- SST-2 (binaire), SST-5 (5 classes), IMDb (50k reviews)
- SOTA (IMDb binaire)
- ~97,7% accuracy (BERT+BiLSTM, 2025)
- Outils
- BERT/RoBERTa, spaCy, Google Cloud NLP, AWS Comprehend, Azure AI Language
Comment fonctionne la sentiment analysis
La sentiment analysis prend un texte en entrée et produit en sortie une classification de la polarité émotionnelle. Le processus suit une pipeline classique en NLP :
1. Collecte des données : récupération des textes depuis les sources (API réseaux sociaux, plateformes d’avis, CRM, enquêtes…).
2. Prétraitement : nettoyage du texte (suppression du bruit, tokenisation, normalisation).
3. Extraction de features : transformation du texte en représentation numérique (bag-of-words, TF-IDF, embeddings).
4. Classification : le modèle attribue une polarité (positif, négatif, neutre) avec un score de confiance.
5. Agrégation et visualisation : les résultats sont agrégés pour produire des insights exploitables.
Le résultat peut prendre différentes formes selon le niveau de granularité :
| Niveau d’analyse | Description | Exemple |
|---|---|---|
| Document | Polarité globale du texte entier | « Cet avis est globalement positif » |
| Phrase | Polarité de chaque phrase | « Le produit est bien » (positif) + « mais la livraison est lente » (négatif) |
| Aspect (ABSA) | Polarité par aspect mentionné | « batterie » → positif, « écran » → négatif, « prix » → neutre |
| Entité | Polarité envers une entité nommée | « Apple » → positif, « Samsung » → neutre |
L’analyse de sentiment par aspect (ABSA)
L’Aspect-Based Sentiment Analysis (ABSA) est la forme la plus riche de sentiment analysis. Au lieu de réduire un avis entier à une seule polarité, elle identifie chaque aspect mentionné (qualité, prix, service, livraison…) et attribue un sentiment à chacun. Prenons un avis de restaurant : « La cuisine est excellente mais le service est épouvantable et l’addition est salée. » L’ABSA produit :
| Aspect | Sentiment | Confidence |
|---|---|---|
| Cuisine | Positif | 0.96 |
| Service | Négatif | 0.98 |
| Prix | Négatif | 0.89 |
Les benchmarks de référence pour l’ABSA sont les datasets SemEval-2014 Task 4, qui couvrent les domaines des ordinateurs portables et des restaurants, avec plus de 6 000 phrases annotées au niveau des aspects.
Les méthodes de sentiment analysis
L’évolution des méthodes suit la même trajectoire que le reste du NLP : des dictionnaires manuels vers le deep learning et les Transformers.
Approche par lexique (rule-based)
Les systèmes à base de lexique utilisent des dictionnaires de mots associés à des scores de sentiment. Chaque mot positif (« excellent », « formidable ») ajoute un score positif, chaque mot négatif (« horrible », « décevant ») un score négatif. Le score final est la somme des scores individuels.
Les lexiques les plus connus sont VADER (Valence Aware Dictionary and sEntiment Reasoner, optimisé pour les réseaux sociaux), SentiWordNet (basé sur WordNet), et AFINN (lexique de 2477 mots anglais avec scores de -5 à +5).
Avantages : rapide, interprétable, pas besoin de données d’entraînement. Inconvénients : incapable de gérer le contexte, le sarcasme, la négation complexe (« ce n’est pas mauvais »), et les nuances.
Approches par machine learning classique
Les modèles de machine learning apprennent à classifier le sentiment à partir de données étiquetées. Ils transforment le texte en vecteurs de features (bag-of-words, TF-IDF, n-grams) puis entraînent un classifieur.
Naive Bayes : modèle probabiliste simple et rapide, souvent utilisé comme baseline. Fonctionne étonnamment bien sur de petits datasets malgré son hypothèse d’indépendance naïve des features.
SVM (Support Vector Machine) : performant sur les espaces de features de haute dimension (typique du texte). Le SVM linéaire avec features TF-IDF a longtemps été un standard solide, atteignant environ 83-88% d’accuracy sur IMDb.
Logistic Regression : interprétable et efficace, souvent compétitive avec les SVM sur la classification de sentiment binaire.
Ces approches restent pertinentes pour les petits datasets ou quand l’interprétabilité est prioritaire. Sur de gros volumes avec des modèles pré-entraînés disponibles, les Transformers les surpassent largement.
Approches par deep learning
CNN (Convolutional Neural Networks) : les convolutions 1D capturent les patterns locaux (n-grams discriminants) dans le texte. Le modèle TextCNN de Kim (2014) reste une baseline compétitive pour la classification de texte.
RNN / LSTM : les réseaux récurrents modélisent les dépendances séquentielles, essentielles pour comprendre la négation (« pas bon »), les intensificateurs (« très bon ») et les structures complexes. Les BiLSTM bidirectionnels améliorent la capture du contexte.
Transformers pré-entraînés : c’est l’état de l’art actuel. BERT, RoBERTa, et leurs variantes dominent tous les benchmarks de sentiment analysis.
| Modèle | IMDb (accuracy) | SST-2 (accuracy) | Caractéristique |
|---|---|---|---|
| Naive Bayes + BoW | ~86% | ~82% | Baseline simple |
| SVM + TF-IDF | ~88% | ~85% | Standard ML classique |
| TextCNN | ~89% | ~87% | Patterns locaux |
| BiLSTM | ~91% | ~89% | Contexte séquentiel |
| BERT-base (fine-tuné) | ~94-95% | ~93% | Transformer bidirectionnel |
| RoBERTa-base (fine-tuné) | ~95% | ~95% | BERT optimisé |
| RoBERTa-large (fine-tuné) | ~96-97% | ~96% | Version large, SOTA |
| BERT+BiLSTM (2025) | ~97,7% | N/A | Hybride transfer learning |
LLM et sentiment analysis
Les grands modèles de langage comme GPT et Claude peuvent effectuer de la sentiment analysis en zero-shot ou few-shot : il suffit de leur demander dans le prompt de classifier le sentiment d’un texte. Les résultats sont souvent très bons, surtout pour le sarcasme et les nuances que les modèles fine-tunés classiques manquent.
Cependant, utiliser un LLM pour de la sentiment analysis en volume pose des problèmes de coût et de latence. Analyser 100 000 avis avec Claude Opus 4.6 à $5/$25 par million de tokens coûterait significativement plus cher qu’un modèle BERT fine-tuné exécuté localement. La stratégie optimale : utiliser un modèle spécialisé (BERT/RoBERTa) pour le volume, et un LLM pour les cas ambigus ou l’analyse qualitative fine.
Outils et API pour la sentiment analysis
Le choix de l’outil dépend de votre volume, de votre budget, et de votre besoin de personnalisation.
Outils open-source
Hugging Face Transformers : la solution la plus flexible. Vous chargez un modèle BERT ou RoBERTa fine-tuné sur la sentiment analysis et l’exécutez en local. Des milliers de modèles sont disponibles sur le Hugging Face Hub, dont des modèles multilingues et des modèles spécifiques au français.
from transformers import pipeline
# Pipeline de sentiment analysis prête à l'emploi
classifier = pipeline("sentiment-analysis")
result = classifier("Ce produit est absolument fantastique !")
print(result)
# [{'label': 'POSITIVE', 'score': 0.9998}]
# Avec un modèle multilingue
classifier_multi = pipeline("sentiment-analysis",
model="nlptown/bert-base-multilingual-uncased-sentiment")
result = classifier_multi("Le service client est déplorable")
print(result)
# [{'label': '1 star', 'score': 0.72}]
VADER (NLTK) : tagger de sentiment rule-based optimisé pour les réseaux sociaux. Gère les emojis, les majuscules emphatiques (« EXCELLENT ! »), et les expressions familières. Gratuit, rapide, mais anglais uniquement et limité sur les textes formels.
from nltk.sentiment.vader import SentimentIntensityAnalyzer
sid = SentimentIntensityAnalyzer()
scores = sid.polarity_scores("This product is AMAZING!!! :)")
print(scores)
# {'neg': 0.0, 'neu': 0.326, 'pos': 0.674, 'compound': 0.8271}
TextBlob : bibliothèque Python minimaliste qui expose un sentiment analyzer basé sur un lexique. Deux scores : polarity (-1 à 1) et subjectivity (0 à 1). Simple mais peu précis sur les cas complexes.
spaCy + spacytextblob / spacy-transformers : spaCy ne fournit pas nativement de composant de sentiment analysis, mais des extensions comme spacytextblob ou l’intégration de modèles Transformers via spacy-transformers permettent d’ajouter cette capacité à votre pipeline spaCy existante.
API cloud managées
Pour un usage en production sans gérer l’infrastructure ML, les API cloud sont la solution la plus rapide à déployer.
| API | Fournisseur | Langues | Pricing indicatif | Spécificités |
|---|---|---|---|---|
| Cloud Natural Language | Google Cloud | 10+ | 5 000 unités gratuites/mois, puis ~$1-2/1 000 unités | Sentiment par document, phrase et entité. Intégration GCP. |
| Comprehend | AWS | 12+ | Pay-per-use (~$0.0001/caractère) | Sentiment ciblé, PII redaction, topic modeling. |
| Azure AI Language | Microsoft | Multilingue | 5 000 transactions gratuites/mois, puis pay-per-use | Opinion mining par aspect, seuils personnalisables. |
| Watson NLU | IBM | 13+ | Lite: 30 000 requêtes gratuites/mois, Standard: $0.003/requête | Détection d’émotions (joie, colère, peur, tristesse, dégoût). |
Plateformes SaaS spécialisées
Pour les équipes non techniques (marketing, CX, communication), des plateformes clé-en-main combinent collecte de données, sentiment analysis et dashboards de visualisation :
Brandwatch : leader du social listening. Surveille les mentions de marque sur les réseaux sociaux, forums, sites d’avis, et analyse le sentiment en temps réel. Tarification enterprise (dizaines de milliers d’euros par an). Adapté aux grandes marques B2C et agences PR.
MonkeyLearn : plateforme no-code de text analytics. Permet de créer des modèles de sentiment personnalisés par simple drag-and-drop, sans écrire une ligne de code. Plans à partir de quelques centaines de dollars par mois.
Sprout Social / Hootsuite : outils de gestion des réseaux sociaux avec sentiment analysis intégrée. Le sentiment analysis est un composant parmi d’autres (planification, publication, analytics). Adapté aux équipes social media qui veulent un outil tout-en-un.
Les défis de la sentiment analysis
La sentiment analysis semble simple en surface (positif/négatif/neutre), mais les cas limites sont nombreux et représentent l’essentiel du travail d’ingénierie.
Sarcasme et ironie
« Super, encore un bug. Quelle surprise. » Ce texte est négatif, mais tous les mots pris individuellement (« super », « surprise ») sont positifs. La détection du sarcasme reste l’un des problèmes les plus difficiles en sentiment analysis. Les modèles lexicaux échouent systématiquement. Les Transformers pré-entraînés sur de gros corpus gèrent mieux ces cas, mais le sarcasme subtil continue de tromper même les meilleurs modèles.
Négation et modifieurs
« Le produit n’est pas mauvais » exprime un sentiment plutôt positif, mais « pas » + « mauvais » (négatif) peut être mal interprété par les modèles simples. Les doubles négations (« je ne dirai pas que ce n’est pas bon ») ajoutent une couche de complexité. Les modifieurs d’intensité (« légèrement décevant » vs « totalement catastrophique ») posent aussi problème pour calibrer le score de sentiment.
Dépendance au domaine
Le mot « imprévisible » est négatif dans un avis sur un logiciel (comportement erratique) mais positif dans une critique de film (scénario surprenant). Un modèle entraîné sur des avis Amazon fonctionne mal sur des tweets politiques. L’adaptation au domaine (fine-tuning sur des données métier annotées) est souvent nécessaire pour obtenir des résultats fiables.
Sentiment multilingue
La plupart des modèles sont optimisés pour l’anglais. Le français, l’espagnol, l’allemand disposent de modèles corrects, mais les langues moins représentées (arabe, hindi, langues africaines) souffrent de performances dégradées. Les modèles multilingues comme XLM-RoBERTa ou mBERT offrent une couverture large mais sacrifient la précision par rapport aux modèles monolingues spécialisés.
Sentiments mixtes
« J’adore le design mais je déteste le prix » contient à la fois un sentiment positif et négatif. Une classification document-level écrasera cette nuance en un score moyen peu informatif. Seule l’analyse par aspect (ABSA) capture correctement cette coexistence de sentiments opposés dans un même texte.
Contexte culturel et implicite
Les expressions idiomatiques, les références culturelles, et le sous-entendu varient d’une culture à l’autre. « C’est intéressant » peut être un compliment sincère ou un euphémisme poli pour dire « c’est nul », selon le contexte et la culture du locuteur. Aucun modèle ne capture parfaitement ces subtilités.
Applications de la sentiment analysis
Voix du client (VoC) et CX
C’est l’application phare. Les équipes Customer Experience analysent systématiquement les avis produits, les tickets de support, les enquêtes NPS/CSAT, et les verbatims des appels (via transcription + sentiment analysis) pour identifier les points de friction, prioriser les améliorations produit, et mesurer l’impact des actions correctives.
Social listening et e-réputation
Surveillance en temps réel du sentiment sur les réseaux sociaux, forums, et sites d’avis. Détection précoce des crises de réputation (spike de sentiment négatif), mesure de l’impact des campagnes marketing, et benchmark concurrentiel (comparer le sentiment de votre marque vs celui des concurrents).
Finance et trading
L’analyse de sentiment sur les actualités financières, les rapports d’analystes, et les réseaux sociaux (en particulier X/Twitter et Reddit) est utilisée comme signal pour les stratégies de trading algorithmique. Le sentiment agrégé sur une action ou un secteur peut prédire des mouvements de marché à court terme.
Analyse politique et sondages
Analyse du sentiment dans les débats publics, les commentaires sur les plateformes d’actualité, et les réseaux sociaux pour mesurer l’opinion publique sur des politiques, des candidats, ou des sujets de société. Utilisée en complément des sondages traditionnels pour capturer le sentiment en temps réel.
Feedback produit et priorisation
Agrégation et analyse du sentiment sur les feature requests, les bug reports, et les avis utilisateurs pour alimenter le backlog produit. Permet de prioriser les développements en fonction de l’impact émotionnel mesuré sur les utilisateurs.
RH et engagement employés
Analyse du sentiment dans les enquêtes internes, les commentaires Glassdoor, et les communications internes (avec les précautions RGPD appropriées) pour mesurer l’engagement et détecter précocement les problèmes de climat social.
Tutoriel : sentiment analysis en Python
Voici trois approches, de la plus simple à la plus performante.
Approche 1 : VADER (rule-based, anglais)
import nltk
nltk.download('vader_lexicon')
from nltk.sentiment.vader import SentimentIntensityAnalyzer
sid = SentimentIntensityAnalyzer()
textes = [
"This product is absolutely wonderful!",
"Terrible experience, never buying again.",
"It's okay, nothing special.",
"The design is great but the battery is awful."
]
for texte in textes:
scores = sid.polarity_scores(texte)
sentiment = "positif" if scores['compound'] > 0.05 else
"négatif" if scores['compound'] < -0.05 else "neutre"
print(f"{sentiment:8} (score: {scores['compound']:+.3f}) | {texte}")
Approche 2 : Hugging Face Transformers (multilingue)
from transformers import pipeline
# Modèle multilingue pré-entraîné sur des avis (1-5 étoiles)
classifier = pipeline("sentiment-analysis",
model="nlptown/bert-base-multilingual-uncased-sentiment")
textes_fr = [
"Ce restaurant est incroyable, j'y retourne demain !",
"Service client lamentable, trois semaines d'attente.",
"Correct sans plus, fait le travail.",
"L'interface est intuitive mais les performances sont décevantes."
]
for texte in textes_fr:
result = classifier(texte)[0]
print(f"{result['label']:10} (conf: {result['score']:.3f}) | {texte}")
Approche 3 : fine-tuning d’un modèle CamemBERT pour le français
from transformers import (AutoTokenizer, AutoModelForSequenceClassification,
TrainingArguments, Trainer)
from datasets import load_dataset
# Charger un dataset de sentiment en français
# (exemple avec un dataset hypothétique, adaptez à vos données)
dataset = load_dataset("csv", data_files={"train": "train.csv", "test": "test.csv"})
model_name = "camembert-base"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(
model_name, num_labels=3) # positif, négatif, neutre
def tokenize(batch):
return tokenizer(batch["text"], padding=True, truncation=True, max_length=256)
dataset = dataset.map(tokenize, batched=True)
training_args = TrainingArguments(
output_dir="./camembert-sentiment",
num_train_epochs=3,
per_device_train_batch_size=16,
per_device_eval_batch_size=32,
learning_rate=2e-5,
weight_decay=0.01,
eval_strategy="epoch",
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=dataset["train"],
eval_dataset=dataset["test"],
)
trainer.train()
Benchmarks de référence
Trois datasets dominent l’évaluation en sentiment analysis.
IMDb Movie Reviews
50 000 critiques de films (25 000 train, 25 000 test), classification binaire (positif/négatif). Uniquement les avis très polarisés (score ≤ 4 ou ≥ 7 sur 10). C’est le benchmark le plus utilisé pour la classification de sentiment binaire. Les meilleurs modèles atteignent environ 97,7% d’accuracy.
Stanford Sentiment Treebank (SST)
11 855 phrases extraites de critiques de films, avec des annotations à granularité fine dans les arbres syntaxiques. Deux versions : SST-2 (binaire, positif/négatif) et SST-5 (5 classes : très négatif, négatif, neutre, positif, très positif). SST-2 est largement résolu (~96% accuracy avec les Transformers). SST-5 reste un défi ouvert (~55-60% accuracy).
SemEval
Les campagnes d’évaluation SemEval (Semantic Evaluation) incluent régulièrement des tâches de sentiment analysis, avec des datasets multilingues (anglais, arabe) couvrant les tweets et les avis. SemEval est le benchmark de référence pour la sentiment analysis sur les réseaux sociaux.
Yelp Reviews
Plus de 500 000 avis Yelp avec des notes de 1 à 5 étoiles. Utile pour évaluer la classification fine-grained sur un corpus réel de grande taille, avec un vocabulaire plus diversifié que IMDb (restaurants, commerces, services…).
Sentiment analysis pour le français
L’écosystème français a considérablement mûri ces dernières années.
CamemBERT : modèle BERT pré-entraîné sur le corpus français OSCAR (~138 Go de texte). C’est le backbone recommandé pour fine-tuner un modèle de sentiment en français. Disponible sur Hugging Face.
FlauBERT : alternative à CamemBERT, pré-entraîné sur des corpus français hétérogènes. Performances comparables sur les tâches de classification.
Modèles multilingues : XLM-RoBERTa et mBERT fonctionnent en français mais sont moins précis qu’un modèle monolingue fine-tuné. Le modèle nlptown/bert-base-multilingual-uncased-sentiment sur Hugging Face est un bon point de départ pour du sentiment multilingue (classifie en 1 à 5 étoiles dans 6 langues dont le français).
Datasets français : le paysage est moins riche qu’en anglais. Les principaux corpus annotés incluent les avis Allociné (critiques de films en français), des corpus de tweets annotés, et des datasets propriétaires d’entreprises. Pour un usage commercial, vous devrez probablement constituer et annoter votre propre corpus dans votre domaine.
Bonnes pratiques
Définissez précisément ce que « positif » et « négatif » signifient dans votre contexte. En CX, un avis qui mentionne un problème résolu peut être codé positivement (satisfaction du support) ou négativement (existence du problème). Vos guidelines d’annotation doivent être explicites.
Mesurez l’accord inter-annotateurs. Avant de fine-tuner un modèle, faites annoter un échantillon par 2 à 3 personnes et mesurez le kappa de Cohen. Un kappa inférieur à 0,6 indique que vos guidelines sont ambiguës.
Combinez les niveaux d’analyse. Le sentiment document-level suffit rarement. Préférez l’analyse par phrase ou par aspect pour obtenir des insights actionnables. « Le produit est bon mais le SAV est nul » produit un score neutre en document-level, ce qui masque deux informations critiques.
Traitez le sarcasme et l’ironie séparément. Si votre corpus contient beaucoup de sarcasme (réseaux sociaux, avis), envisagez un détecteur de sarcasme en amont, ou utilisez un modèle Transformer qui capture mieux le contexte que les approches lexicales.
Validez sur vos données réelles. Les scores sur IMDb ou SST ne prédisent pas les performances sur vos tickets de support ou vos avis produits. Constituez un jeu de test de 500 à 1 000 exemples dans votre domaine et mesurez la performance réelle.
Attention au biais de sélection. Les avis en ligne sont bimodaux (très positifs ou très négatifs). Les clients moyennement satisfaits ne laissent généralement pas d’avis. Votre modèle verra donc une distribution non représentative de la réalité.
Questions fréquentes sur la sentiment analysis
Quelle est la différence entre sentiment analysis et emotion detection ?
La sentiment analysis classifie un texte sur un axe de polarité (positif/négatif/neutre). L’emotion detection (ou détection d’émotions) identifie des émotions discrètes plus fines : joie, colère, peur, tristesse, surprise, dégoût. Un texte négatif peut exprimer de la colère ou de la tristesse, deux émotions très différentes du point de vue de l’action à entreprendre. L’emotion detection nécessite des modèles plus sophistiqués et des corpus annotés spécifiques. Des API comme IBM Watson NLU et certains modèles Hugging Face proposent nativement la détection d’émotions en plus du sentiment.
La sentiment analysis peut-elle détecter le sarcasme ?
Les modèles basés sur des lexiques échouent presque systématiquement sur le sarcasme. Les Transformers (BERT, RoBERTa) gèrent mieux les cas de sarcasme courant car ils capturent le contexte global de la phrase. Les meilleurs modèles spécialisés, comme Twitter-RoBERTa (pré-entraîné sur des millions de tweets), incluent une composante de détection d’ironie dans leur pipeline. Cependant, le sarcasme subtil, culturel, ou basé sur un contexte extérieur au texte reste un défi non résolu.
Combien de données annotées faut-il pour fine-tuner un modèle de sentiment ?
Avec un modèle pré-entraîné comme BERT ou CamemBERT, quelques centaines d’exemples annotés suffisent pour un premier modèle fonctionnel. Pour une performance robuste en production, visez 2 000 à 5 000 exemples par classe (positif, négatif, neutre), annotés par au moins deux personnes avec un accord inter-annotateurs (kappa de Cohen) supérieur à 0,7. Si vous partez de zéro, une approche efficace est d’utiliser un modèle zéro-shot pour pré-annoter, puis de corriger manuellement les erreurs.
Quelle API cloud choisir pour la sentiment analysis en production ?
Si vous êtes déjà sur Google Cloud, l’API Cloud Natural Language est le choix le plus simple avec un tier gratuit généreux (5 000 unités/mois). AWS Comprehend est préférable si votre stack est sur AWS, avec un pricing au caractère intéressant en volume. Azure AI Language se distingue par son opinion mining par aspect, utile si vous analysez des avis produits. IBM Watson NLU est le seul à proposer nativement la détection d’émotions (joie, colère, peur…). Pour un usage à gros volume (plus de 100 000 textes/mois), un modèle Hugging Face déployé sur votre infrastructure sera systématiquement plus économique que n’importe quelle API cloud.
La sentiment analysis respecte-t-elle le RGPD ?
La sentiment analysis en soi est une technique neutre, mais son application peut soulever des questions RGPD si elle porte sur des données personnelles. Analyser des avis publics anonymisés ne pose généralement pas de problème. En revanche, analyser les emails ou messages internes des employés, ou profiler des utilisateurs individuels par leur sentiment, nécessite une base légale (consentement, intérêt légitime), une information transparente, et des mesures de minimisation des données. Les API cloud posent aussi la question du transfert de données hors UE. Consultez votre DPO avant de déployer un système de sentiment analysis sur des données personnelles sensibles.