Imaginez un lecteur capable de parcourir des millions d'avis clients en une seconde et de dire, pour chacun, s'il respire la satisfaction ou la colère. C'est exactement le rôle de l'analyse de sentiment (ou opinion mining) : une branche du traitement automatique du langage naturel (NLP) qui détecte la polarité émotionnelle d'un texte — positive, négative ou neutre.
Comment ça marche
Historiquement, l'approche reposait sur des lexiques : des dictionnaires associant à chaque mot un score affectif (« excellent » = +2, « décevant » = -2). On additionnait ensuite les scores de la phrase.
Aujourd'hui, les modèles s'appuient sur l'apprentissage automatique, et surtout sur les transformers (comme BERT) qui comprennent le contexte. La phrase est transformée en vecteurs, puis un classifieur estime la probabilité de chaque classe. Pour un problème binaire, la fonction sigmoïde donne la probabilité :
$$P(\text{positif} \mid x) = \frac{1}{1 + e^{-z}}$$
où $z$ est le score produit par le modèle.
Les vrais défis
| Difficulté | Exemple |
|---|---|
| Ironie / sarcasme | « Génial, encore une panne. » |
| Négation | « Ce n'est pas mauvais. » |
| Aspect multiple | « Bon écran, mauvaise batterie. » |
Ce dernier cas a donné naissance à l'analyse de sentiment basée sur les aspects (ABSA), qui attribue un sentiment à chaque entité mentionnée plutôt qu'au texte entier.
Applications
- Suivi de la réputation d'une marque sur les réseaux sociaux
- Priorisation des tickets de support client
- Analyse des marchés financiers à partir de l'actualité
Comprendre le quoi d'un texte est utile ; comprendre le ressenti qu'il porte, c'est saisir l'intention humaine derrière les mots.