Dans la littérature, l'analyse des sentiments (sentiment analysis) est également appelée opinion Mining, opinion extraction, sentiment mining, subjectivity analysis, affect analysis, emotion analysis, review mining, appraisal extraction, est un domaine de recherche qui consiste à analyser les sensations, les attitudes et les émotions des individus vis-à-vis des entités telles que les produits, les services et les organisations économique.
L'analyse des sentiments est l'un des domaines de recherche les plus actifs en traitement automatique de langage naturel, Machine Learning, statistiques et linguistique depuis le début de l'année 2000. Les origines de l'analyse des sentiments se réfère aux des sciences de la psychologie, la sociologie et de l'anthropologie, qui se concentrent sur les émotions humaines.
L'analyse des sentiments consiste à construire des outils automatiques capables d'extraire des informations subjectives de textes en langage naturel, de manière à créer des connaissances structurées et exploitables pouvant être utilisées par un système d'aide à la décision ou un décideur.
Il y a eu une certaine confusion dans la littérature quant à la différence entre le sentiment et l'opinion, ce qui a donné naissance au débat sur la question de savoir si le domaine devrait être appelé analyse des sentiments (Sentiment analysis) ou fouille d'opinions (Opinion mining). Dans le dictionnaire Merriam-Webster's Collegiate Dictionary, un sentiment est défini comme une attitude, une pensée ou un jugement encouragé par une sensation, tandis que l'opinion est définie comme un point de vue, un jugement ou une évaluation formée dans l'esprit à propos d'un sujet particulier. La différence est assez subtile et chacun contient des éléments de l'autre.
Catégorisation des sentiments
Les phrases sont objectives ou subjectives. Lorsqu'une phrase est objective, aucune autre tâche fondamentale n'est requise. Lorsqu'une phrase est subjective, ses polarités (positive, négative ou neutre) doivent être estimées.
La classification de subjectivité (Subjectivity classification) est la tâche qui distingue les phrases exprimant des informations objectives des phrases exprimant des vues et opinions subjectives.
La classification de polarité (Polarity classification) est la tâche qui distingue les phrases qui expriment des polarités positives, négatives ou neutres.
Niveaux d'analyses
Le premier choix lorsque l'on applique l'analyse des sentiments est de définir le texte qui va être analysé dans le cas d'une étude considérée. En général, il existe trois niveaux d'analyse : le niveau du document (Message level ou Document level), le niveau de la phrase (Sentence level) et le niveau des aspects (Entity and aspect level).
-
Niveau du document : détermine la polarité d'un texte entier. L'hypothèse est que le texte n'exprime qu'une seule opinion sur une seule entité (par exemple, un seul produit).
-
Niveau de la phrase : détermine la polarité de chaque phrase contenue dans un texte. L'hypothèse est que chaque phrase dans le texte exprime une opinion unique sur une entité unique.
-
Niveau des aspects : Effectue une analyse plus fine que les autres niveaux. Il est basé sur l'idée qu'une opinion consiste d'un sentiment et une cible (d'opinion). Par exemple, la phrase «L'iPhone est très bon, mais il faut encore travailler sur la durée de vie de la batterie et les problèmes de sécurité» évalue trois aspects : iPhone (positif), la durée de vie de la batterie (négatif) et la sécurité (négative).
Quelques domaines d'applications
L'importance de l'analyse des sentiments est présente dans plusieurs domaines ainsi plusieurs applications ont vu le jour dans ce contexte. Nous mentionnons brièvement quelques applications ci-dessous:
Politique
Aujourd'hui, les acteurs politiques ont suivi la tendance de l'analyse des sentiments, car avant de déclarer une nouvelle loi, les politiciens tentent de recueillir l'opinion des utilisateurs de médias sociaux sur cette loi. Il est hautement stratégique de connaître également l'opinion des internautes sur un politicien lors d'une élection présidentielle.
Économie
Avant d'acheter un produit, la majorité des clients demandent conseil sur un produit ou un service donné et sont même disposés à payer plus pour un produit dont l'opinion est plus favorable qu'un autre, ce qui peut augmenter les ventes. Grâce à l'analyse des sentiments, les entreprises peuvent connaître l'opinion des clients sur leurs produits ou leurs services. Dans une perspective d'amélioration de leurs produits et d'augmentation de leurs ventes et revenus.
Éducation
L'analyse des sentiments peut être utilisée pour extraire des informations utiles sur la méthodologie d'enseignement d'un enseignant et également sur le programme du cours. Il identifie le degré d'apprentissage des étudiants, comprend leurs besoins, prévoit leurs performances et apporte des changements effectifs dans le style. Les résultats de l'analyse des sentiments aident les enseignants et les établissements à prendre des mesures correctives.
Types d'analyse des sentiments
Il existe de nombreux types d'analyses de sentiments allant des systèmes qui se concentrent sur la classification de la polarité (positif, négatif, neutre) aux systèmes qui détectent des émotions (en colère, heureux, triste, etc.) ou identifient des intentions (par exemple, intéressé, pas intéressé). Dans la section suivante, nous aborderons les types les plus importants.
Analyse fine des sentiments (fine-grained sentiment analysis)
Au lieu de parler de phrases positives, négatives ou neutres, nous considérons les catégories suivantes:
- Très positive
- Positive
- Neutre
- Négative
- Très négative
Certains systèmes offrent également différentes classifications de polarité en identifiant si le sentiment positif ou négatif est associé à un sentiment particulier, tel que la colère, la tristesse ou des inquiétudes (sentiments négatifs) ou du bonheur, de l'amour ou de l'enthousiasme (sentiments positifs).
Détection d'émotion (Emotion detection)
La détection des émotions vise à détecter des émotions telles que le bonheur, la frustration, la colère, la tristesse, etc. De nombreux systèmes de détection d'émotions sont basés sur l'utilisation de lexiques de sentiments (c'est-à-dire des listes des émotions) ou sur des algorithmes d'apprentissage automatique complexes.
Analyse de sentiments à base d'aspects (Aspect-Based Sentiment Analysis ABSA)
Au lieu de classer le sentiment général d'un texte en positif ou en négatif, l'analyse de sentiments à base d'aspects permet d'analyser le texte afin d'identifier différents aspects et de déterminer le sentiment correspondant pour chacun. Les résultats sont plus détaillés, intéressants et précis car l'analyse à base d'aspects examine de manière précise les informations contenues dans un texte.
Algorithmes d'analyse des sentiments
Dans la littérature, il existe de nombreuses méthodes et algorithmes pour mettre en œuvre des systèmes d'analyse des sentiments, que l'on peut classer comme suit :
- Approche automatique : systèmes qui s'appuient sur des techniques d'apprentissage automatique à partir de données.
- Approche à base de règles (Rule-based) : systèmes qui effectuent une analyse des sentiments basée sur un ensemble de règles.
- Approche hybride : systèmes combinant à la fois des approches basées sur des règles et des approches automatiques.
Approche automatique
Les approches automatiques reposent sur des techniques d'apprentissage automatique (Machine learning). La tâche d'analyse des sentiments est généralement modélisée comme un problème de classification dans lequel un classificateur est alimenté avec un texte et renvoie la catégorie correspondante, par ex. positif, négatif ou neutre (en cas d'analyse de polarité).
Approche à base de règles (Rule-based)
L'approche à base de règles (ou l'approche lexique) définit un ensemble de règles dans un type de langage de programmation (script) qui identifie la subjectivité, la polarité ou le sujet d'une opinion. Cette approche peut utiliser diverses entrées, telles que :
- Techniques classiques de NLP, telles que la racinisation, tokenisation, POS –tagging et Chunking.
- Autre opérations basés sur le lexique, ils utilisent le dictionnaire des sentiments avec des mots d'opinion et les faire correspondre avec les données pour déterminer la polarité.
Approche hybride
Le concept de méthodes hybrides est très intuitif : combinez simplement le meilleur des deux approches, celui basé sur des règles et celui automatique. Généralement, en combinant les deux approches, les méthodes peuvent améliorer la précision.
Pour l'analyse des sentiment, Java, Python ou R est-il recommandé?
Le langage de programmation n'est qu'un outil pour résoudre un problème. Commencez par écrire un pseudo-code de l’algorithme d’analyse des sentiments, puis choisissez le langage dans lequel vous pourrez l’appliquer. POS taggers, Wordnet, les algorithmes d’apprentissage automatique, etc. sont disponibles pour tous les langages.
Tout dépend de l'algorithme que vous choisissez et de la quantité de données dont vous disposez. Si les données sont volumineuses, optez pour les classificateurs de réseau de neurones et si les données sont petites, optez pour le classificateur Naive Bayes.
Quels sont les outils / projets open source sur l'analyse des sentiments?
Voici une liste de quelques outils d'analyse des sentiments open source:
- GATE plugins
- SEAS(gsi-upm/SEAS)
- SAGA(gsi-upm/SAGA)
- Stanford Sentiment Analysis Module((Deeply Moving: Deep Learning for Sentiment Analysis))
- LingPipe(Sentiment Analysis Tutorial)
- TextBlob(Tutorial: Quickstart)
- Opinion Finder(OpinionFinder | MPQA)
- Clips pattern.en(pattern.en | CLiPS)
ressources ou dictionnaires Open Source:
- SentiWordNet
- Bing liu datasets(Opinion Mining, Sentiment Analysis, Opinion Extraction)
- General Inquirer Dataset(General Inquirer Categories)
- MPQA opinion Corpus(MPQA Resources)
- Wordnet affect(WordNet Domains)
Dans notre prochain article, nous allons montrer notre expérimentation avec l'analyse des sentiments appliqué à une conférence annuelle Devoxx Morocco.