Professional Documents
Culture Documents
Eude Comparative Des Outils Et Des Methodes D'analyse Des Sentiments
Eude Comparative Des Outils Et Des Methodes D'analyse Des Sentiments
Élaboré par :
Chakroun Rania et Benslimene Maryem
Encadrant :
Mme.Bouzouita Ines
Année universitaire : 2021/2022
Remerciements
Nous tenons à remercie Mme Bouzouita Ines pour l’aide qu’elle nous a apporté
durant toutes les étapes de ce projet, sa disponibilité et ses conseils ont été précieux
pour atteindre les objectifs du projet dans les délais convenus et pour le temps
qu’elle nous a généreusement consacré.
Table des matières
Introduction générale 5
1 L’apprentissage automatique 6
1.1 Définition de l’apprentissage automatique . . . . . . . . . . . 6
1.2 Les types d’apprentissage automatique . . . . . . . . . . . . 7
1.2.1 La classification supervisée . . . . . . . . . . . . . . . . . . . 7
1.2.2 La classification non supervisée . . . . . . . . . . . . . . . . 8
1.3 Les différentes approches de classification supervisée . . . 8
1.3.1 Méthode des K plus proches voisins (KNN) . . . . . . . . . 8
1.3.2 Arbre de décision . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.3 Forêt d’arbres décisionnels . . . . . . . . . . . . . . . . . . . 11
1.3.4 Classification naïve bayésienne . . . . . . . . . . . . . . . . . 11
2
3.4.1 Procédure de prétraitement . . . . . . . . . . . . . . . . . . 29
3.4.2 Procédure d’éxtraction des caractéristiques . . . . . . . . . . 30
3.4.3 Procédure de classification des sentiments . . . . . . . . . . 30
3.5 Choix de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6 Comparaison des algorithmes de l’analyse des sentiments . . . . . . 31
3.7 Cas d’usage de l’analyse des sentiments . . . . . . . . . . . . . . . . 32
Conclusion générale 44
3.8 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Table des figures
Dans le monde réel, les entreprises et les organisations veulent toujours avoir
des retours sur ses produits et ses services. Les entrepreneurs souhaitent souvent
connaitre les opinions des utilisateurs de leurs produits avant de les tester pour
prendre une décision. De nos jours, si l’on veut acheter un produit, ou tester un
service, il existe de nombreux avis des anciens utilisateurs et discussions dans les
forums publics sur le web à propos de ce produit[1].
D’où la nécessité de l’analyse des opinions, ou d’avis afin de savoir ce que pensent
les internautes. Un processus d’analyse des sentiments, qui peut analyser si un
utilisateur fournit une bonne ou une mauvaise opinion sur un certain produit, ou
un service [2].
Dans le cadre du projet de fin d’année PFA 1 élaboré en 1ère année Informa-
tique à l’Ecole Nationale d’Ingénieurs de Tunis (ENIT), nous effectuerons une
étude bibliographique qui portera sur la définition de l’analyse des sentiments en
présentant quelques concepts et définitions liés à ce domaine.
5
Chapitre 1
L’apprentissage automatique
Introduction
Dans ce chapitre, dans un premier temps nous allons définir l’apprentissage auto-
matique, les deux types de classification : supervisée et non supervisée. Ensuite,
nous analyserons quelques algorithmes liés à la classification supervisée.
6
sage automatique et l’apprentissage profonde.
7
classificateur est formé sur les mêmes données ou très proches que nous voulons
classer. C’est également à partir de là que les classificateurs supervisés entrent en
jeu, car les humains ont trié et classé les données que le classificateur va former [8].
8
et les variables d’apprentissage. En d’autres termes, cette méthode enregistre les
points d’apprentissage qui classent les nouveaux points en fonction de leur similarité
avec les données enregistrées [11].
Ci-dessous, vous trouverez un exemple de méthode avec trois voisins. Le but
est de déterminer à quelle classe ? appartient :
Le pseudo-algorithme pour les modèles des K plus proches voisins est le suivant :
9
Figure 1.5 – Distance entre deux points : Distance euclidienne versus distance de
Manhattan [12].
10
les sous-ensembles de données créés.
-Étape 4 - Lorsqu’on ne peut plus classifier les données, on s’arrête. [11]
11
Comme tout algorithme d’apprentissage supervisé, la classification bayésienne naïve
nécessite une formation de modèle pour estimer les paramètres nécessaires à la
classification.[13] L’intérêt d’utiliser cette méthode est de trouver la probabilité
d’une classe, ou d’une étiquette, en fonction de certains paramètres. On appelle
ceci la probabilité postérieure, qui peut être calculée avec la formule suivante :
Où :
-Y est l’ensemble des paramètres et X est l’ensemble des observations.
-P(X|Y) est la probabilité postérieure d’une classe et est donné par :
-P(X) est la probabilité antérieure d’une classe P(Y|X) est la probabilité d’un
indicateur, connaissant la classe. Elle est donnée par :
12
Conclusion
Dans ce chapitre, nous avons présenté l’apprentissage automatique en présentant
ces différents types et ces quelques méthodes les plus utilisées. Dans le chapitre qui
suit, nous allons faire une relation entre l’apprentissage automatique et le domaine
d’analyse des sentiments.
13
Chapitre 2
Introduction
Dans ce chapitre, nous commencerons par une petite définition de l’analyse des
sentiments. Ensuite, nous verrons quelques méthodes et outils d’application.
14
Figure 2.1 – Les différents niveaux d’analyse [15].
- Très positif
- Positif
- Neutre
- Négatif
- Très négatif
15
Il s’agit généralement d’une analyse de sentiments graduée ou à grain fin, qui
peut être utilisée pour interpréter les notes de 5 étoiles dans une critique [16], par
exemple :
- Très positif = 5 étoiles
- Très négatif = 1 étoile
16
2.4 Techniques de classification des sentiments
17
le texte. Il existe deux méthodes dans cette approche. L’approche basée sur le
dictionnaire consiste à trouver des mots d’opinion de base, puis à rechercher leurs
synonymes et antonymes dans le dictionnaire. L’approche basée sur le corpus
commence avec une liste de mots d’opinion, puis trouve d’autres mots d’opinion
dans un grand corpus pour aider à trouver des mots d’opinion avec des orientations
spécifiques au contexte. Cela peut être fait en utilisant des méthodes statistiques
ou sémantiques. Les sous-sections suivantes contiennent une brève explication des
algorithmes des deux approches et des articles connexes [18].
18
d’une classe, en fonction de la distribution des mots dans le document. Il utilise le
théorème de Bayes pour prédire la probabilité qu’un ensemble de caractéristiques
donné appartienne à une étiquette particulière [22].
19
qui sont générées à partir d’un ensemble de caractéristiques par un Xencodage.
En particulier, l’encodage fait correspondre chaque paire C(featureset, label) à un
vecteur. La probabilité de chaque étiquette est ensuite calculée à l’aide de l’équation
suivante [20] :
20
Figure 2.3 – Utilisation de la machine à vecteurs de support sur un problème de
classification [21].
21
ont leurs avantages et leurs inconvénients, qui peuvent être combinés pour avoir
le résultat le plus optimisé [22]. Les architectures de réseaux de neurones peuvent
être divisées en 4 grandes catégories tels que :
Les réseaux neuronaux multicouches sont utilisés pour les frontières non linéaires.
Ces couches multiples sont utilisées pour induire de multiples limites linéaires par
morceaux, qui sont utilisées pour approximer des régions fermées appartenant à une
classe particulière. Les sorties des neurones des premières couches alimentent les
neurones des couches suivantes. Le processus de formation est plus complexe car les
erreurs doivent être rétro-propagées sur différentes couches [22]. Les SVM et les NN
peuvent être utilisés pour la classification des relations personnelles dans les textes
biographiques, comme l’ont présenté van de Camp et van den Bosch. Ils ont marqué
les relations entre deux personnes (l’une étant le sujet d’une biographie, l’autre étant
mentionnée dans cette biographie) comme positives, neutres ou inconnues. Leur
étude de cas était basée sur des informations biographiques historiques décrivant
des personnes dans un domaine, une région et une période de temps particuliers.
Ils ont montré que leurs classificateurs étaient capables d’étiqueter ces relations
au-dessus du score de base de la classe majoritaire. Ils ont constaté qu’un ensemble
de formation contenant des relations, entourant plusieurs personnes, produit des
résultats plus souhaitables qu’un ensemble qui se concentre sur une entité spécifique.
Ils ont prouvé que les algorithmes SVM et NN à une couche (1-NN) obtiennent les
meilleurs résultats [20].
22
Un petit ensemble de mots d’opinion est collecté manuellement avec des orienta-
tions connues. Ensuite, cet ensemble est élargi en recherchant leurs synonymes et
antonymes dans les corpus bien connus WordNet ou thesaurus. Les mots nouvelle-
ment trouvés sont ajoutés à la liste de semences et l’itération suivante commence.
Le processus itératif s’arrête lorsqu’aucun nouveau mot n’est trouvé. Une fois le
processus terminé, une inspection manuelle peut être effectuée pour supprimer ou
corriger les erreurs [20].
23
le même contexte, ils sont susceptibles d’avoir la même polarité. Par conséquent,
la polarité d’un mot inconnu peut être déterminée en calculant la fréquence re-
lative de cooccurrence avec un autre mot. Cela peut être fait en utilisant le PMI [20].
24
Il y’a aussi d’autres outils d’exploration des textes qu’on trouve sur l’Internet
comme :
— Monkey learn :
"Monkey learn" est une plate-forme pour l’analyse quantitative de contenu. Il s’agit
d’un logiciel d’exploration de texte robuste qui peut analyser tout type de données
textuelles non structurées, y compris les documents texte, les avis en ligne, les
réponses aux enquêtes, les commentaires des clients et les conversations sur les
réseaux sociaux[26].
— keatext :
Keatext est un outil d’anlayse des sentiments du client : Il analyse des données
non structurées provenant de nombreuses sourcest. Elle propose même une version
gratuite pour les organisations à but non lucratif et pour les universités. Keatext
est un logiciel d’analyse de texte basé sur le cloud capable d’analyser les textes
en utilisant l’apprentissage automatique et l’intelligence artificielle. Vous pouvez
désormais vous libérer de la tâche fastidieuse d’analyser manuellement vos données
et laisser Keatext vous indiquer où concentrer votre attention si vous souhaitez
améliorer l’expérience client [26].
25
Figure 2.5 – Analyse de text : Keatext [28].
Conclusion
Dans ce chapitre, nous avons défini l’analyse des sentiment en clarifiant ses méthodes
et ses outils de classification. Dans le suivant, nous allons faire une étude comparative
de ces outils en présentant une simulation en pratique.
26
Chapitre 3
Introduction
Dans ce chapitre, nous allons essayer de comparer les différentes méthodes de
l’analyse des sentiments pour avoir une idée sur ses avantages et ses inconvénients
et on va faire une simulation de l’analyse des sentiments en pratique.
27
3.2 Avantages de l’analyse des sentiments
Le feedback d’une personne est plus subjectif que factuel. Les commentaires
peuvent être négatifs, positifs ou neutres. L’analyse des sentiments applique des
techniques de traitement du langage naturel (NLP) et d’analyse de texte pour mettre
en évidence les informations subjectives du texte [29]. L’analyse des sentiments
permet de :
— Améliorer le service à la clientèle.
Dans un texte sarcastique, les gens expriment leurs sentiments négatifs en utilisant
des mots positifs. Ce fait permet au sarcasme de tromper facilement les modèles
d’analyse des sentiments, à moins qu’ils ne soient spécifiquement conçus pour tenir
compte de sa possibilité [30].
— Détection de la négation :
En linguistique, la négation est une façon d’inverser la polarité des mots et des
phrases. Les chercheurs utilisent différentes règles linguistiques pour identifier s’il y
a négation, mais il est également important de déterminer le champ des mots qui
sont affectés par la négation [30].
28
L’ambiguïté des mots est un autre écueil auquel vous serez confronté en travaillant
sur un problème d’analyse de sentiments. Le problème de l’ambiguïté des mots
est l’impossibilité de définir la polarité à l’avance car la polarité de certains mots
dépend fortement du contexte de la phrase [30].
— Multipolarité :
Parfois, une phrase ou un document donné, ou toute autre unité de texte que nous
souhaitons analyser, présente une multipolarité. Dans ces cas, le fait de ne disposer
que du résultat total de l’analyse peut être trompeur [30].
3.4 Méthodologie
Les méthodes automatiques reposent sur des techniques d’apprentissage auto-
matique. Une tâche d’analyse des sentiments est généralement modélisée comme un
problème de classification, dans lequel un classificateur reçoit un texte et renvoie
une catégorie, par exemple positive, négative ou neutre [30]. L’algorithme 1 montre
l’algorithme d’analyse sentimentale :
Algorithme 1 : Extraction du sentiment d’un text
Début
Récuperation des données
Procédure de prétraitement
Procédure d’éxtraction des caractéristiques
Procédure de classification des sentiments
Fin
29
3.4.2 Procédure d’éxtraction des caractéristiques
Le module d’extraction de caractéristiques permet d’extraire des caractéristiques
dans un format approprié pour alimenter directement les algorithmes d’apprentis-
sage ensembles de données contenant des données brutes de formats tels que du
texte, une séquence de symboles et des images. Voici quelques-unes des caractéris-
tiques actuelles [32] :
— Analyse morphosyntaxique : trouver les adjectifs, car ils sont des indica-
teurs importants des opinions [32].
30
Dans le processus d’apprentissage (a), notre modèle apprend à associer une entrée
particulière (c’est-à-dire un texte) à la sortie correspondante (label) sur la base
des échantillons de test utilisés pour la formation. L’extracteur de caractéristiques
transforme le texte en entrée en un vecteur de caractéristiques. Les paires de
vecteurs de caractéristiques et de labels (par exemple, positif, négatif ou neutre)
sont introduites dans l’algorithme d’apprentissage automatique pour générer un
modèle [33].
Dans la dernière étape (b) un nouveau texte est introduit dans le modèle. Le modèle
prédit alors des labels pour ces données inconnues en utilisant le modèle appris à
partir des données d’apprentissage. Les données peuvent ainsi être classées comme
positives, négatives ou neutres en termes de sentiment [33].
Les algorithmes de classification sont utilisés pour prédire le sentiment d’un texte
particulier. Comme détaillé, ils sont formés à l’aide de données d’entraînement
pré-étiquetées. Les modèles de classification utilisent généralement Naive Bayes, la
régression logistique, les machines à vecteurs de support, la régression linéaire [33].
31
de l’inexpérience, soit à cause de "l’ambiguïté" associée à toutes les connaissances
que nous consolidons.
On a parlé dans la paragraphe précédentede quelques critères de choix de l’algo-
rithme mais le plus essentiel c’est l’exemple où on va l’utiliser. L’exemple de travail
toujours impose un tel algorithme pour l’utiliser en se basant sur les données et les
résultats qu’on veulent obtenir [23]. pour avoir une bonne idée sur les algorithmes
de l’analyse des sentiments on va les comparer en donnant ses avantages et ses
inconvenients.
1. Environnement
1.1 Jupyter Notebook : JupyterLab est le dernier environnement de développement
32
Interaction Web des blocs-notes, du code et des données. L’interface flexible permet
aux utilisateurs de configurer et d’organiser les flux de travail Engagé dans la
science des données, le calcul scientifique, Actualités informatiques et apprentissage
automatique.[34]
1.2. Google Colab : Google Colab ou Colaboratory est créé par Google (gratuit),
basé sur Jupyter Notebook pour la formation et Recherche sur l’apprentissage auto-
matique. Cette plateforme vous permet de vous former Les modèles d’apprentissage
automatique sont directement dans le cloud. donc pas besoin Installez autre chose
qu’un navigateur sur votre ordinateur [35].
2. Bibliothèques
2.1. Pandas : une bibliothèque logicielle écrite pour le langage de programmation
Python pour la manipulation et l’analyse de données [36].
2.2. Numpy : une bibliothèque pour le langage de programmation Python, qui
prend en charge les matrices et les tableaux multidimensionnels de grande taille,
ainsi qu’une vaste collection de fonctions mathématiques de haut niveau permettant
d’opérer sur ces tableaux.[37]
2.3. Matplotlib : une bibliothèque de traçage pour le langage de programmation
Python et son extension de mathématiques numériques NumPy [38].
2.4. NLTK : une suite de bibliothèques et de programmes pour le traitement
symbolique et statistique du langage naturel (NLP) écrit dans le langage de pro-
grammation Python[39].
2.5. Re (Regular Expression) : une séquence de caractères qui spécifie un modèle de
recherche dans un texte. Habituellement, de tels modèles sont utilisés par des algo-
rithmes de recherche de chaînes de caractères pour des opérations de "recherche" ou
de "recherche et remplacement" sur des chaînes de caractères, ou pour la validation
des entrées. Il s’agit d’une technique développée en informatique théorique et en
théorie du langage formel [40].
2.6. sklearn : une bibliothèque libre d’apprentissage automatique pour le langage
de programmation Python. Elle propose divers algorithmes de classification, de
régression et de regroupement, dont les machines vectorielles de support, les forêts
aléatoires, le gradient boosting, etc [41].
3. Importation des bibliothèques
33
4. Exploration de la dataset
Le dataset utilisé contient 1 600 000 tweets extraits à l’aide de l’API de Twitter. Les
tweets ont été annotés (0 = négatif, 4 = positif). Il contient les 6 champs suivants :
-sentiment : la polarité du tweet (0 = négatif, 4 = positif).
-ids : l’id du tweet.
-date : la date du tweet.
-flag : La requête. S’il n’y a pas de requête, alors cette valeur est NO -QUERY.
-user : l’utilisateur qui a tweeté.
-text : le texte du tweet.
sortie :
Nous n’avons besoin que des champs sentiment et texte, donc nous allons rejeter.
De plus, nous modifions le champ sentimental afin qu’il ait de nouvelles valeurs
pour refléter le sentiment (0 = Négatif, 1 = Positif) comme montre la figure :
34
sortie :
4. Prétraitement du texte
-Les étapes du prétraitement utilisés sont les suivantes :
-Mise en minuscules : Chaque texte est converti en minuscules.
-Remplacement des URLs : Les liens commençant par "http" ou "https" ou "www"
sont remplacés par "URL".
-Remplacement des emojis : Remplacez les emojis en utilisant un dictionnaire
prédéfini contenant les emojis avec leur signification. (ex : " :)" en "EMOJI smile")
-Remplacement des noms d’utilisateur : Remplacez les @Usernames par le mot
35
"USER". (ex : "@Kaggle" en "USER")
-Suppression des non-alphabets : Remplacer les caractères sauf les chiffres et les
alphabets par un espace.
-Suppression des lettres consécutives : 3 lettres consécutives ou plus sont remplacées
par 2 lettres. (ex : "Heyyyy" en "Heyy")
-Suppression de mots courts : Les mots dont la longueur est inférieure à 2 sont
supprimés.
-Suppression des mots vides : Les mots vides sont les mots anglais qui n’ajoutent
pas beaucoup de sens à une phrase. Ils peuvent être ignorés sans -sacrifier le sens
de la phrase. (par exemple : "the", "he", "have").
-Lemmatisation : La lemmatisation est le processus de conversion d’un mot à sa
forme de base. (ex : "Great" en "Good")
36
Sortie :
Sortie :
37
Sortie :
Sortie :
7. Vectoriseur TF-IDF
Le Vectoriseur TF-IDF convertit une collection de documents bruts en une matrice
de caractéristiques TF-IDF. Le vectoriseur est généralement entraîné sur l’ensemble
de données X-train.
38
8. Transformation de l’ensemble de données
Transformer l’ensemble de données X-train et X-test en matrice de caractéristiques
TF-IDF en utilisant le Vectoriseur TF-IDF. Ces ensembles de données seront utilisés
pour former le modèle et le tester.
39
Sortie :
Sortie :
40
9.4 Modèle de régression logistique
Sortie :
41
9.5. Comparaison des modèles
Nous pouvons clairement voir que le modèle de régression logistique est le plus
performant parmi tous les modèles que nous avons essayés. Il atteint une précision
de près de 82 pourcent lors de la classification du sentiment d’un tweet. Bien qu’il
faille également noter que le modèle BernoulliNB est le plus rapide à entraîner et à
prédire. Il atteint également une précision de 80 pourcent lors de la classification.
10. Sauvegarder les modèles
Nous utilisons PICKLE pour sauvegarder le Vectoriseur et BernoulliNB, modèle
de régression logistique pour une utilisation ultérieure.
Sortie :
42
Conclusion
Dans ce chapitre, dans un premier lieu, nous avons présenté les besoins, les avantages
et les défits de l’analyse des sentiments. Dans un second lieu, nous avons énoncé la
méthodologie de l’analyse des sentiments et comparé les approches en illustrant
quelques avantages et quelques inconvénients pour chaque algorithme. Finalement,
nous avons fait une simulation d’une data de l’analyse des sentiments.
43
Conclusion générale
Dans ce projet on a fait une étude comparative des outils et méthodes pour
l’analyse des sentiments, qui s’inscrit dans le cadre du projet de fin d’année de
premiére année PFA 1.
Dans un second lieu , nous avons introduit l’analyse des sentiments en proposant
et expliquant quelques exemples d’algorithmes pour ce domaine.
44
3.8 Références
[1] HAKIM NASAOUI. Disponible sur : https ://fr.slideshare.net/HakimNasaoui/les-
10-plus-populaires-algorithmes-du-machine-learning-135086708 (1/04/2022)
45
[12] Yasance. Disponible sur : https ://blog.ysance.com/algorithme-n5-comprendre-
la-methode-des-k-plus-proches-voisins-en-5-min (1/04/2022)
[13] SOURAV DE. Aout 2017. "A Study on Sentiment Analysis Algorithms and
its Application on Movie Reviews-A Review".
Disponible sur : https ://www.ijraset.com/fileserve.php ?FID=9529 (1/04/2022)
[23] IJSRD. "Comparison of Lexicon based and Naïve Bayes Classifier in Senti-
ment Analysis". Disponible sur : http ://www.ijsrd.com/articles/IJSRDV3I40786.pdf
(10/04/2022)
46
[24] HAKIM NASAOUI. Slideshare.
Disponible sur : https ://es.slideshare.net/HakimNasaoui/les-10-plus-populaires-
algorithmes-du-machine-learning-135086708 (10/04/2022)
47
IwAR2nDXbK
AqpF BRh7Q−f U 5SGnU QN V −W nbZluGoLG7LN roXEERg N mOKN ne s(16/04/2022)
48