Analyse de sentiments en text mining
L'analyse de sentiment
L'analyse de sentiment (parfois appelée opinion mining) est la partie du text mining qui essaye de définir les opinions, sentiments et attitudes présente dans un texte ou un ensemble de texte. Développée essentiellement depuis les années 2000, elle est particulièrement utilisé en marketing pour analyser par exemple les commentaires des internautes ou les comparatifs et tests des blogueurs ou encore les réseaux sociaux : une grande part de la littérature sur le sujet concerne par exemple les tweets. Mais elle peut également être utilisée pour sonder l'opinion publique sur un sujet, pour chercher a caractériser les relations sociales dans les forums ou encore pour vérifier si Wikipedia est bien un média neutre.
Définition formelle d'une opinion
Formellement, on peut définir une opinion comme un quintuple où
- est l'entité au sujet de laquelle l'opinion est émise (aussi appelée objet),
- l'aspect de l'entité i qui est la cible de l'opinion (en général, plusieurs aspects pour une même entité),
- l'émetteur, c'est-à-dire la personne qui exprime l'opinion (opinion holder),
- le moment où est exprimée cette opinion,
- et enfin le sentiment envers l'aspect j de l'entité i, exprimée par la personne k au moment l.
Chacun de ces paramètres est de plus "catégoriel" c'est-à-dire qu'il s'appuie sur la définition d'une catégorie de mots désignant la même entité, aspect, émetteur, moment ou sentiment. Il y a donc là encore un travail important de préprocessing qui est apparenté à la découverte de sujets (topic modelling) ou la classification Enfin, souvent ce modèle général est réduit à un modèle plus simple, en considérant que certaines informations sont soit sans influence pour l'objet d'étude, soit constantes. Par exemple, on suppose souvent que les opinions sont constantes sur de suffisamment courtes périodes (quelques mois pour des tests d'appareils, mais quelques jours, voire heures pour Twitter).
Echelle et niveau d'analyse
L'analyse de sentiment "basique" se focalise sur une seule dimension : le sentiment général est-il positif ou négatif ? Les techniques visant à déterminer un (ou plusieurs) sentiments généraux comme l'envie, la colère, la frustration ou la joie relèvent plus d'une forme d'adaptation des méthodes de découverte de sujet (topic discovery) ou de méthodes de classification.
L'analyse peut s'effectuer à différents niveaux.
- Au niveau du document : détermine l'opinion générale de l'ensemble du document. Cette analyse fonctionne bien pour des documents qui présentent un point de vue précis, mais moins pour des comparaisons car elle ne fera pas la différence entre les sujets abordés.
- Au niveau de la phrase : détermine l'opinion générale d'une phrase (positive, négative ou neutre). Cette analyse peut donner une mesure de la "neutralité" d'un texte par exemple pour analyser des entrées de Wikipédia. Les méthodes utilisées sont celle de l'analyse de sujectivité.
- Au niveau des aspects (aussi appelé Feature level) : au lieu de déterminer les entités à analyser en fonction de critère structuraux (phrase, paragraphe, document) ces méthodes se basent sur un analyse de corrélation entre l'opinion émise et la cible de cette opinion. Par exemple, la phrase "Le sujet du cours me passionne mais le professeur est ennuyeux." présente deux sentiments sur l'entité "cours" : le sujet qui est perçu comme positif et le professeur, qui est perçu comme négatif. Ce niveau d'analyse permet de différencier les aspects qui sont aimé ou non par les auteurs des textes et ainsi permet plus facilement de déterminer des remédiations possibles. En revanche il est très difficile a mettre en place car extrêmement complexe.
Niveau du Document
Ce niveau cherche à découvrir les opinions émises dans un document d. Formellement, ce niveau correspond à la simplification du modèle général où l'on considère pas les différents aspects .
Méthode Supervisée : Bayes naïf
De manière générale, il s'agit ici d'un problème de classification où les catégories sont "sentiment positif" et "sentiment négatif".
La méthode la plus "simple" est celle appelée Bayes Naïf et consiste à sélectionner la catégorie qui maximise la probabilité a posteriori d'observer les termes du texte d.
Phase d'apprentissage
On détermine "manuellement" les catégories d'appartenance des textes de références (C = +1, 0 ou -1);
On peut alors calculer les probabilités a priori d'apparition de chaque catégorie et de chaque combinaison de mots
pour chaque c=+1, 0 ou -1.
En général, on utilise une hypothèse d'indépendance (pas toujours vraie) pour écrire cette probabilité comme
Phase de classification
On calcule à l'aide du théorème de Bayes les probabilités a posteriori
On sélectionne la catégorie c qui maximise cette probabilité, c'est-à-dire qui maximise
ou encore
Calcul de
Pour le calcul des probabilités, on utilise une des deux méthodes suivantes.
- modèle multinomial (basé sur la fréquence d'apparition) :
où est la fréquence d'apparition du mot dans la catégorie c et la somme des fréquences de tout les mots dans la catégorie c.
- modèle de Bernoulli (basé sur la proportion de document) :
où est le nombre de documents où apparaît le mot dans la catégorie c et le nombre total de document de la catégorie c.
Méthode non-supervisée : Information ponctuelle mutuelle
Extraction de structures
Ces méthodes sont basées sur des considérations linguistiques afin de sélectionner les structures grammaticales qui exprime le plus souvent l'opinion. Celles-ci sont (pour l'anglais), entre autres,
- Adjectif (JJ) + Nom au singulier ou pluriel (NN ou NNS)
- Adverbe de comparaison on non (RB, RBR, RBS) + Adjectif (JJ) si suivi de tout sauf un nom (ni NN ni NNS)
- Adjectif (JJ) + Adjectif (JJ) si suivi de tout sauf un nom (ni NN ni NNS)
- Nom au singulier ou pluriel (NN ou NNS) + Adjectif (JJ) si suivi de tout sauf un nom (ni NN ni NNS)
- Adverbe de comparaison on non (RB, RBR, RBS) + verbe conjugé (VB, VBD, VBN ou VBG)
(Tableau tiré de Liu, 2014, abréviations selon le Penn Treebank POS project)
Information ponctuelle mutuelle (PMI)
L'information ponctuelle mutuelle (PMI) donnée entre deux mots ou phrases donnée par .
L'information ponctuelle mutuelle est en fait une mesure de la corrélation entre les deux mots ou phrases et .
De nombreuses méthodes peuvent être utilisées pour estimer cette corrélation, entre autres le rapport de fréquence d'apparition conjointe sur la fréquence d'apparition seule (distance de Jaccard) ou encore le dénombrement du nombre de résultats renvoyé par un moteur en recherche.
Algorithme
L'algorithme de calcul le plus simple est celui de Turney (2002) :
- extraire les groupes de mots à analyser selon les structures choisies (ci-dessus) ;
- calculer l'orientation sentimentale (SO) de la structure extraite (notée ici extrait) en comparant l'information poncutelle mutuelle donnée par deux ensembles de termes de références, un positif et l'autre négatif . où et sont les tailles des ensembles de termes de références.
- calculer la moyenne de toutes les orientation sentimentales présentes dans le document, puis classer le document dans la catégorie dominante.
Niveau de la Phrase et Subjectivité
Niveau des Aspect
Références
- Esuli, A. & Sebastiani, F. (2006). SENTIWORDNET: A Publicly Available Lexical Resource for Opinion Mining. Proceedings of the 5th Conference on Language Resources and Evaluation (LREC'06) PDF
- Huifeng T., Songbo T. & Xueqi C. (2009). A survey on sentiment detection of reviews. Expert Systems with Applications, 36 10760–10773
- Liu, B. (2014) Sentiment analysis and Opinion Mining. Morgan & Claypool Publ.
- Mullen, T. (2004) Introduction to Sentiment Analysis (Slides du cours) PDF
- Pang, B. & Lee, L. (2008) Opinion Mining and Sentiment Analysis. Foundations and Trends in Information Retrieval, 2 PDF
- Prabowo, R. & Thelwall, M. (2009). Sentiment analysis: A combined approach. Journal of Informetrics, 3 143–157
- Sudipta, R., Sourish, D., Arnab, P., Saprativa, B., Anirban, D. & Deepjyoti C. (2013). Current Trends Of Opinion Mining And Sentiment Analysis In Social Networks. IJRET: International Journal of Research in Engineering and Technology, 2.
- Turney, P. (2002) Thumbs up or thumbs down?: semantic orientation applied to unsupervised classification
of reviews. In Proceedings of Annual Meeting of the Association for Computational Linguistics (AC L-2002).
Références R
- Grün, B. & Hornik, K. (2011). topicmodels: An R Package for Fitting Topic Models. Journal of Statistical Software, 40. PDF
Références non académiques
- Pennsyvania University Part of Speech Abreviations : Penn Treebank POS tags
- Razaz, M. (2013). Sentiment classification for product reviews (Slides)