You are on page 1of 49

ÉCOLE NATIONALE D’INGÉNIEURS DE TUNIS

Département Technologies de l’information et de la Communication


Projet de Fin d’Année

Étude comparative des outils et


méthodes d’analyse des sentiments

Élaboré par :
Chakroun Rania et Benslimene Maryem

1ère Année INFO 2

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

Table des figures 4

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 L’analyse des sentiments 14


2.1 Définition de l’analyse des sentiments . . . . . . . . . . . . . . . . . 14
2.2 Niveaux d’analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Types d’analyse des sentiments . . . . . . . . . . . . . . . . . . . . 15
2.3.1 Analyse des sentiments graduée . . . . . . . . . . . . . . . . 15
2.3.2 Détection des émotions . . . . . . . . . . . . . . . . . . . . . 16
2.3.3 Analyse des sentiments basée sur les aspects . . . . . . . . . 16
2.3.4 Analyse de sentiments multilingue . . . . . . . . . . . . . . . 16
2.4 Techniques de classification des sentiments . . . . . . . . . . . . . . 17
2.5 Les outils de l’analyse des sentiments pour les réseaux sociaux . . . 24

3 Comparaison des algorithmes 27


3.1 Le besoin de l’analyse des sentiments . . . . . . . . . . . . . . . . . 27
3.2 Avantages de l’analyse des sentiments . . . . . . . . . . . . . . . . . 28
3.3 Les défis actuels de l’analyse des sentiments . . . . . . . . . . . . . 28
3.4 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

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

1.1 L’intelligence artificielle, l’apprentissage automatique, l’apprentissage


profonde [5]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Les différents types de Machine Learning [7]. . . . . . . . . . . . . . 7
1.3 Le but des algorithmes de classification supervisée [9]. . . . . . . . . 8
1.4 L’algorithme du k-NN et son principe de fonctionnement par l’exemple
[12]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Distance entre deux points : Distance euclidienne versus distance de
Manhattan [12]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 Représentation de la méthode de l’arbre de décision [11]. . . . . . . 10
1.7 Représentation de forêt d’arbres décisionnels [11]. . . . . . . . . . . 11
1.8 L’algorithme du naïve et son principe de fonctionnement par l’exemple
[14]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1 Les différents niveaux d’analyse [15]. . . . . . . . . . . . . . . . . . 15


2.2 Techniques de classification des sentiments [17]. . . . . . . . . . . . 17
2.3 Utilisation de la machine à vecteurs de support sur un problème de
classification [21]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Analyse de text : Monkey learn [27]. . . . . . . . . . . . . . . . . . 25
2.5 Analyse de text : Keatext [28]. . . . . . . . . . . . . . . . . . . . . . 26

3.1 Le processus d’apprentissage et de prédiction d’un modèle [33]. . . . 30


Introduction générale

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.

Dans le premier chapitre, nous commencerons par définir l’apprentissage auto-


matique, la classification supervisé et non supervisé en introduisant quelques
algorithmes de l’apprentissage automatique. Dans un deuxième temps, nous intro-
duirons la définition d’analyse des sentiments avec quelques exemple d’algorithmes
utilisés dans ce domaine. Enfin , nous ferons une simulation d’un algorithme de
l’apprentissage automatique pour l’analyse des sentiments.

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.

1.1 Définition de l’apprentissage automatique


L’apprentissage automatique est un domaine scientifique, plus précisément une
sous-domaine de l’intelligence artificielle (IA) ,selon Arthur Samuel en 1959, donne
aux ordinateurs la capacité d’apprendre sans être explicitement programmés[3].
Cela implique de laisser l’algorithme découvrir des "modèles" dans l’ensemble de
données, c’est-à-dire des modèles qui se reproduisent. Ces données peuvent être des
nombres, des mots, des images, des statistique, etc. Tout ce qui peut être stocké
numériquement peut être utilisé comme données pour l’apprentissage automatique.
En détectant des modèles dans les données, l’algorithme améliore leurs performances
lors de l’exécution d’une tâche particulière [4].
L’intelligence artificielle (IA) est la discipline principale qui couvre tout ce qui
est lié à l’intelligence des machines. Que ce soit un robot, un réfrigérateur, une
voiture ou une application logicielle, si vous les rendez intelligentes, alors c’est de
l’intelligence artificielle. L’apprentissage machine (ML) est couramment utilisé en
parallèle de l’IA, mais ce n’est pas la même chose. En effet ,il fait référence aux
systèmes qui peuvent apprendre par eux-mêmes. Des systèmes qui deviennent de
plus en plus intelligents au fil du temps sans intervention humaine. La plupart des
travaux d’IA impliquent maintenant la ML parce que le comportement intelligent
requiert des connaissances gigantesques , et que l’apprentissage est le moyen le plus
facile d’obtenir ces connaissances.
L’image ci-dessous illustre la relation entre L’intelligence artificielle, l’apprentis-

6
sage automatique et l’apprentissage profonde.

Figure 1.1 – L’intelligence artificielle, l’apprentissage automatique, l’apprentissage


profonde [5].

1.2 Les types d’apprentissage automatique


Les deux méthodes de Machine Learning qui sont généralement adoptées sont
l’apprentissage supervisé et l’apprentissage non supervisé. L’apprentissage semi-
supervisé et l’apprentissage par renforcement sont deux autres technologies dont
leurs utilisations n’est pas fréquente [6].

Figure 1.2 – Les différents types de Machine Learning [7].

1.2.1 La classification supervisée


La classification supervisée consiste notamment à affecter automatiquement
une catégorie de données dont la catégorie n’est pas connue. Pour ce faire, un

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].

Figure 1.3 – Le but des algorithmes de classification supervisée [9].

1.2.2 La classification non supervisée


La classification non supervisée désigne un corpus de méthodes ayant pour
objectif de dresser ou de retrouver une typologie existante caractérisant un en-
semble de n observations, à partir de p caractéristiques mesurées sur chacune des
observations. Par typologie, on entend que les observations, bien que collectées lors
d’une même expérience, ne sont pas toutes issues de la même population homogène,
mais plutôt de K populations [10].

1.3 Les différentes approches de classification


supervisée
Dans ce qui suit, nous allons parler des différents algorithmes de classification
supervisée.

1.3.1 Méthode des K plus proches voisins (KNN)


L’algorithme de KNN est un algorithme de classification supervisée nous permet
de faire des prédictions sur es variables qualitatives ou quantatives. Il est l’un des
plus simples de tous les algorithmes de Machine Learning supervisé : Cet algorithme
s’entraîne sur des données étiquetées et tente de prédire la classe associée aux
variables de test, dans l’écart entre l’interprétation des variables expérimentales

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 :

Figure 1.4 – L’algorithme du k-NN et son principe de fonctionnement par


l’exemple [12].

Le pseudo-algorithme pour les modèles des K plus proches voisins est le suivant :

-Étape 1 - Choisir le nombre K de voisins.


-Étape 2 - Calculer la distance des K voisins.
Nota : Cette distance peut être calculée par deux manières : soit la distance eucli-
dienne soit la distance Manhattan.
-Étape 3 - Prendre les K plus proches voisins, dépendant du résultat du calcul de
la distance.
-Étape 4 - Parmi ce K voisin, compter le nombre de points dans chaque classe.
-Étape 5 - Attribuer le nouveau point à la classe dont le nombre de voisins est
maximal.
-Étape 6 - Le modèle est terminé.

Pour cet algorithme, le choix du nombre k et le choix de la fonction de simi-


larité sont des étapes qui peuvent conduire à une forte variabilité des résultats.[11]

9
Figure 1.5 – Distance entre deux points : Distance euclidienne versus distance de
Manhattan [12].

1.3.2 Arbre de décision


Les arbres de décision sont probablement l’un des algorithmes d’apprentissage
automatique les plus faciles à comprendre et peuvent être expliqués assez facilement.
Ces arbres peuvent être construits grâce à une approche de décomposition des
données, en fonction de différentes conditions. Dans un arbre, les feuilles représentent
les valeurs des variables cibles et les branches correspondent aux combinaisons
d’entrées qui conduisent à ces valeurs [11].

Figure 1.6 – Représentation de la méthode de l’arbre de décision [11].

La création d’un arbre décisionnel nécessite les étapes suivantes :

-Étape 1 - Déterminer la meilleure caractéristique dans l’ensemble de données


d’entrainement.
-Étape 2 - Diviser les données d’entrainement en sous-ensembles contenant les
valeurs possibles de la meilleure caractéristique
-Étape 3 - Générez de manière récursive de nouveaux arbres de décision en utilisant

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]

1.3.3 Forêt d’arbres décisionnels


Ce type d’algorithme peut générer un ensemble d’arbres de décision à partir d’un
ensemble de données aléatoires à partir d’un ensemble de données. L’algorithme
détermine la meilleure estimation dans chaque prédiction et choisit la meilleure
décision par le biais d’un vote. Par conséquent, cela nécessite plusieurs arbres qui
génèrent des valeurs, ce qui réduit le sur apprentissage de l’algorithme en faisant la
moyenne des résultats [11].
L’algorithme de forêt d’arbres décisionnels peut être résumé par les étapes
suivantes :

-Étape 1 - Sélectionner un échantillon aléatoire parmi les donné


-Étape 2 - Construire un arbre de décision pour chaque échantillon et obtenir des
prédictions pour chaque arbre
-Étape 3 - Un vote est réalisé pour chaque prédiction obtenue
-Étape 4 - Sélectionner la prédiction avec le plus grand nombre de voix, comme
étant la prédiction finale [11].

Figure 1.7 – Représentation de forêt d’arbres décisionnels [11].

1.3.4 Classification naïve bayésienne


La classification bayésienne naïve est une méthode d’apprentissage supervisé
basée sur le théorème de Bayes et l’hypothèse que les variables explicatives sont
indépendantes les unes des autres. En d’autres termes, l’hypothèse signifie que
l’existence d’une variable dans une classe est indépendante de l’existence d’une
autre variable dans la même classe. Par conséquent, toute modification de l’une des
variables ne doit pas affecter directement la valeur de l’autre variable dans le modèle.

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 :

-P(Y) est la probabilité antérieure d’une variable dépendante.


Le modèle naïf bayésien est généralement utilisé pour la classification de documents,
le filtrage des spams et les prédictions.
Ci-dessous, vous trouverez un exemple ullistrant la méthode de naïve bayésienne

Figure 1.8 – L’algorithme du naïve et son principe de fonctionnement par l’exemple


[14].

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

L’analyse des sentiments

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.

2.1 Définition de l’analyse des sentiments


L’analyse des sentiments est un domaine d’étude qui consiste à analyser les
sentiments, les attitudes et les émotions d’un individu envers des entités telles que
des produits, des services et des organisations économiques. Depuis le début des
années 2000, c’est l’un des domaines de recherche les plus actifs en traitement du
langage naturel, en apprentissage automatique, en statistiques et en linguistique.
Les origines de l’analyse des sentiments font référence aux sciences de la psychologie,
de la sociologie et de l’anthropologie qui se concentrent sur les émotions humaines
[15].

2.2 Niveaux d’analyse


La première étape 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. D’une manière
générale, il existe trois niveaux d’analyse : le niveau du document (Message level),
le niveau de la phrase (Sentence level) et le niveau des aspects (Entity and aspect
level) [15].

14
Figure 2.1 – Les différents niveaux d’analyse [15].

Niveau du document : Détermine la polarité de l’ensemble du texte. Supposons


que le texte exprime une seule opinion sur une seule entité.
Niveau de phrase : Détermine la polarité de chaque phrase contenue dans le texte.
L’hypothèse est que chaque phrase du texte exprime un point de vue unique sur
une entité unique.
Niveau d’aspect : Détermine une analyse plus fine que les autres niveaux. Il est basé
sur l’idée que les opinions consistent en des sentiments et des buts (des opinions).

2.3 Types d’analyse des sentiments


L’analyse des sentiments se concentre sur la polarité d’un texte (positif, négatif,
neutre), mais elle va également au-delà de cette polarité pour détecter des sentiments
et des émotions spécifiques (colère, joie, tristesse, etc.), l’urgence (urgent, non urgent)
et même les intentions (intéressé ou non) [15]. En fonction de la façon dont vous
souhaitez interpréter les commentaires et les requêtes des clients, vous pouvez
définir et adapter vos catégories pour répondre à vos besoins en matière d’analyse
des sentiments. En attendant, voici quelques-uns des types d’analyse de sentiments
les plus populaires :

2.3.1 Analyse des sentiments graduée


Si la précision de la polarité est importante pour votre entreprise, vous pouvez
envisager d’élargir vos catégories de polarité pour inclure différents niveaux de
positif et de négatif :

- 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

2.3.2 Détection des émotions


L’analyse sentimentale de détection des émotions permet d’aller au-delà de la
polarité pour détecter des émotions, comme le bonheur, la frustration, la colère et
la tristesse. De nombreux systèmes de détection des émotions utilisent des lexiques
(c’est-à-dire des listes de mots et des émotions qu’ils véhiculent) ou des algorithmes
complexes d’apprentissage automatique. L’un des inconvénients de l’utilisation de
lexiques est que les gens expriment les émotions de différentes manières. Certains
mots qui expriment généralement la colère, comme "mauvais" ou "tuer" (par exemple,
"votre produit est si mauvais" ou "votre service clientèle me tue" ) [16].

2.3.3 Analyse des sentiments basée sur les aspects


En général, lorsque vous analysez les sentiments , vous souhaitez savoir quels
aspects ou caractéristiques particuliers les gens mentionnent de manière positive,
neutre ou négative. C’est là que l’analyse des sentiments basée sur les aspects peut
vous aider, par exemple dans cette critique de produit : "La durée de vie de la
batterie de cet appareil photo est trop courte", un classificateur basé sur les aspects
serait capable de déterminer que la phrase exprime une opinion négative sur la
durée de vie de la batterie du produit en question [16].

2.3.4 Analyse de sentiments multilingue


L’analyse multilingue des sentiments peut être difficile. Elle implique un grand
nombre de prétraitements et de ressources. La plupart de ces ressources sont
disponibles en ligne (par exemple, les lexiques de sentiments), tandis que d’autres
doivent être créées (par exemple, les corpus traduits ou les algorithmes de détection
du bruit), mais vous devrez savoir coder pour les utiliser. Vous pouvez également
détecter automatiquement la langue dans les textes à l’aide d’un classificateur de
langue, puis entraîner un modèle d’analyse des sentiments personnalisé pour classer
les textes dans la langue de votre choix [16].

16
2.4 Techniques de classification des sentiments

Figure 2.2 – Techniques de classification des sentiments [17].

Les techniques de classification des sentiments peuvent être divisées en trois


grandes catégories :
- L’approche par apprentissage automatique qui applique les célèbres algorithmes
et utilise des caractéristiques linguistiques [15].
- L’approche basée sur le lexique qui s’appuie sur un lexique de sentiments, une
collection de termes de sentiments connus et précompilés. Elle se divise en deux
catégories : L’approche basée sur les dictionnaires et l’approche basée sur les corpus,
qui utilisent des méthodes statistiques ou sémantiques pour trouver la polarité des
sentiments [15].
- L’approche hybride qui combine les deux autres approches et est très courante,
les lexiques de sentiments jouant un rôle clé dans la majorité des méthodes [15].
Les méthodes de classification de textes utilisant l’approche d’apprentissage auto-
matique peuvent être grossièrement divisées en méthodes d’apprentissage supervisé
et non supervisé. Les méthodes supervisées utilisent un grand nombre de documents
de formation étiquetés. Les méthodes non supervisées sont utilisées lorsqu’il est
difficile de trouver ces documents d’entraînement étiquetés. L’approche basée sur
le lexique dépend de la recherche du lexique d’opinion qui est utilisé pour analyser

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].

2.4.1 Approche de l’apprentissage automatique


L’approche de l’apprentissage automatique s’appuie sur des célèbres algorithmes
pour résoudre l’analyse des sentiments comme un problème de classification de
texte ordinaire qui fait appel à des caractéristiques syntaxiques et/ou linguistiques.
Définition du problème de classification de texte : Nous avons un ensemble d’en-
registrements d’apprentissage D = X1, X2, ..., Xn où chaque enregistrement est
étiqueté à une classe. Le modèle de classification est lié aux caractéristiques de
l’enregistrement sous-jacent à l’une des étiquettes de classe. Ensuite, pour une
instance donnée de classe inconnue, le modèle est utilisé pour prédire une étiquette
de classe pour celle-ci. Le problème de classification dure est celui où une seule
étiquette est attribuée à une instance. Le problème de classification souple est celui
où une valeur probabiliste d’étiquettes est attribuée à une instance [19].

2.4.1.1 Apprentissage supervisé


Les méthodes d’apprentissage supervisé dépendent de l’existence de documents
d’entraînement étiquetés. Dans les sous-sections suivantes, nous présentons briè-
vement certains des classificateurs les plus fréquemment utilisés en analyse des
sentiments [20].

2.4.1.1.a Classificateurs probabilistes


Les classificateurs probabilistes utilisent des modèles de mélange pour la classi-
fication. Le modèle de mélange suppose que chaque classe est une composante
du mélange. Chaque composante du mélange est un modèle génératif qui fournit
la probabilité d’échantillonner un terme particulier pour cette composante. Ces
types de classificateurs sont également appelés classificateurs génératifs. Deux des
classificateurs probabilistes les plus connus sont présentés dans les sous-sections
suivantes [20].

2.4.1.1.a.i Classificateur de Naïve Bayes (NB)


Le classificateur Naïve Bayes est le classificateur le plus simple et le plus couramment
utilisé. Le modèle de classification Naïve Bayes calcule la probabilité postérieure

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].

P(label) est la probabilité antérieure d’un label ou la probabilité qu’un ensemble


de caractéristiques aléatoires représente le label. P(features|label) est la probabilité
préalable qu’un ensemble de caractéristiques donné soit classé comme un label.
P(features) est la probabilité préalable qu’un ensemble de caractéristiques donné
se produise [22]. Étant donné l’hypothèse de Naïve qui stipule que toutes les
caractéristiques sont indépendantes, l’équation peut être réécrite comme suit :

Le classificateur BN est utilisé pour considérer un problème du monde réel dans


lequel l’attitude de l’auteur est caractérisée par trois variables cibles différentes
(mais liées). Ils ont proposé l’utilisation de classificateurs de réseaux bayésiens
multidimensionnels. Ils ont réuni les différentes variables cibles dans la même tâche
de classification afin d’exploiter les relations potentielles entre elles. Ils ont étendu
le cadre de la classification multidimensionnelle au domaine semi-supervisé afin de
tirer parti de l’énorme quantité d’informations non étiquetées disponibles dans ce
contexte. Ils ont montré que leur approche multidimensionnelle semi-supervisée
surpasse les approches des analyses des sentiments les plus courantes [22].

2.4.1.1.a.ii Classificateur à entropie maximale :


Le classificateur Maxent (connu sous le nom de classificateur exponentiel condi-
tionnel) convertit les ensembles de caractéristiques étiquetées en vecteurs à l’aide
d’un codage. Ce vecteur codé est ensuite utilisé pour calculer les poids de chaque
caractéristique qui peuvent ensuite être combinés pour déterminer l’étiquette la plus
probable pour un ensemble de caractéristiques. Ce classificateur est paramétré par
un ensemble de Xpoids, qui est utilisé pour combiner les caractéristiques conjointes

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] :

Le classificateur à entropie maximale a été utilisé pour détecter les phrases


parallèles entre n’importe quelle paire de langues avec de petites quantités de
données d’entraînement. Les autres outils qui ont été développés pour extraire au-
tomatiquement des données parallèles à partir de corpus non parallèles utilisent des
techniques spécifiques à la langue ou nécessitent de grandes quantités de données
d’entraînement. Leurs résultats ont montré que ces types de classifieurs peuvent
produire des résultats utiles pour presque toutes les paires de langues. Cela peut
permettre la création de corpus parallèles pour de nombreuses nouvelles langues [20].

2.4.1.1.b Classificateurs linéaires


Dans cette partie, nous présenterons quelques classificateurs linéaires les plus fré-
quemment utilisés pour l’analyse des sentiments
2.4.1.1.b.i Classificateurs de Machines à Vecteur de Support (SVM)
Le classificateur de machines à vecteur de support est un modèle représentant des
données étiquetées sous forme des points dans un espace. Un hyperplan ou limite
de décision est une ligne qui divise les points de données. Dans l’exemple ci-dessous,
tout ce qui se trouve à gauche de l’hyperplan est classé comme négatif. Tout à
droite est classé comme positif. Le meilleur hyperplan est celui avec la plus grande
distance pour chaque étiquette au point de données le plus proche. Les vecteurs de
support sont les points de données les plus proches de l’hyperplan. Ils affectent sa
position et son orientation. Ce sont les points qui aident à construire une machine
à vecteurs de support [21].

20
Figure 2.3 – Utilisation de la machine à vecteurs de support sur un problème de
classification [21].

Les données textuelles sont idéalement adaptées à la classification SVM en


raison de la nature éparse du texte, dans lequel peu de caractéristiques ne sont pas
pertinentes, mais elles ont tendance à être corrélées les unes aux autres et généra-
lement organisées en catégories linéairement séparables. Le SVM peut construire
une surface de décision non linéaire dans l’espace des caractéristiques d’origine en
mappant les instances de données de manière non linéaire vers un espace de produit
interne où les classes peuvent être séparées linéairement par un hyperplan [21]. Les
SVM ont été utilisés comme classificateur de polarité des sentiments. Contrairement
au problème de la classification binaire, ils ont fait valoir que la subjectivité de l’opi-
nion et la crédibilité de l’exprimant doivent également être prises en considération.
Ils ont proposé un cadre qui fournit un résumé numérique compact des opinions
sur les plateformes de micro-blogs. Ils ont identifié et extrait les sujets mentionnés
dans les opinions associées aux requêtes des utilisateurs, puis ont classé les opinions
à l’aide de SVM. Ils ont travaillé sur des messages twitter pour leur expérience.
Ils ont découvert que la prise en compte de la crédibilité de l’utilisateur et de la
subjectivité de l’opinion est essentielle pour agréger les opinions des micro-blogs. Ils
ont prouvé que leur mécanisme peut découvrir efficacement des renseignements com-
merciaux pour soutenir les décideurs en établissant un système de surveillance pour
suivre les opinions externes sur différents aspects d’une entreprise en temps réel [20].

2.4.1.1.b.ii Réseau de neurones (NN)


Les réseaux de neurones, sont de simples imitations du fonctionnement des neurones
du cerveau humain pour résoudre des problèmes d’apprentissage automatique. Un
réseau de neurones peut prendre différentes formes, selon les objets de données,
ainsi que sa complexité et la méthode de traitement des données. Ses architectures

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 :

- Réseau neuronal d’anticipation


- Réseau neuronal récurrent (RNN)
- Réseau de neurones de résonance
- Réseau neuronal auto-organisé

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].

2.4.1.2 Approche basée sur les lexiques


Les mots d’opinion sont utilisés dans de nombreuses tâches de classification des
sentiments. Les mots d’opinion positifs sont utilisés pour exprimer certains états
désirés, tandis que les mots d’opinion négatifs sont utilisés pour exprimer certains
états non désirés. Il existe également des expressions et des idiomes d’opinion
qui, ensemble, sont appelés lexiques d’opinion. Il existe trois approches principales
pour compiler ou collecter la liste des mots d’opinion. L’approche manuelle prend
beaucoup de temps et n’est pas utilisée seule. Elle est généralement combinée avec
les deux autres approches automatisées comme vérification finale pour éviter les
erreurs résultant des méthodes automatisées et les deux approches automatisées [20].

2.4.1.2.a Approche basée sur les dictionnaires

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].

2.5.1.2.b Approche basée sur le corpus


L’approche basée sur le corpus permet de résoudre le problème de la recherche
de mots d’opinion avec des orientations spécifiques au contexte. Ses méthodes dé-
pendent de modèles syntaxiques ou de modèles qui apparaissent ensemble avec une
liste de mots d’opinion pour trouver d’autres mots d’opinion dans un grand corpus.
Une de ces méthodes a été commencée avec une liste d’adjectifs d’opinion et les ont
utilisés avec un ensemble de contraintes linguistiques pour identifier d’autres mots
d’opinion adjectifs et leurs orientations. Les contraintes concernent des conjonctions
comme ET, OU, MAIS, SOIT...... ; la conjonction ET, par exemple, indique que
les adjectifs conjoints ont généralement la même orientation. Cette idée est appelée
cohérence des sentiments, qui n’est pas toujours cohérente en pratique. Il existe
également des expressions adversatives telles que but, however qui sont indiquées
comme des changements d’opinion. Afin de déterminer si deux adjectifs conjoints
ont une orientation identique ou différente, l’apprentissage est appliqué à un grand
corpus. Ensuite, les liens entre les adjectifs forment un graphe et le regroupement est
effectué sur le graphe pour produire deux ensembles de mots : positifs et négatifs [20].

2.4.1.2.b.i Approche statistique


La recherche de modèles de cooccurrence ou de mots d’opinion d’origine peut se
faire à l’aide de techniques statistiques. Cela peut se faire en dérivant des polari-
tés postérieures en utilisant la co-occurrence des adjectifs dans un corpus. Il est
possible d’utiliser l’ensemble des documents indexés sur le Web comme corpus
pour la construction du dictionnaire. Cela permet de surmonter le problème de
l’indisponibilité de certains mots si le corpus utilisé n’est pas assez grand.
La polarité d’un mot peut être identifiée en étudiant la fréquence d’occurrence du
mot dans un grand corpus de textes annotés. Si le mot apparaît plus fréquemment
dans les textes positifs, alors sa polarité est positive. S’il apparaît plus fréquemment
dans les textes négatifs, sa polarité est négative. S’il a des fréquences égales, alors
il s’agit d’un mot neutre.
Les mots d’opinion similaires apparaissent fréquemment ensemble dans un corpus.
Il s’agit de l’observation principale sur laquelle se basent les méthodes de l’état
de l’art. Par conséquent, si deux mots apparaissent fréquemment ensemble dans

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].

2.4.1.2.b.ii L’approche sémantique


L’approche sémantique donne directement des valeurs de sentiment et s’appuie sur
différents principes pour calculer la similarité entre les mots. Ce principe donne des
valeurs de sentiment similaires aux mots sémantiquement proches. WordNet, par
exemple, fournit différents types de relations sémantiques entre les mots utilisés
pour calculer les polarités de sentiment. WordNet pourrait également être utilisé
pour obtenir une liste de mots de sentiment en élargissant itérativement l’ensemble
initial avec des synonymes et des antonymes, puis en déterminant la polarité de
sentiment pour un mot inconnu par le nombre relatif de synonymes positifs et
négatifs de ce mot [20].

2.5 Les outils de l’analyse des sentiments pour


les réseaux sociaux
Il est important de comprendre ce que les internautes et les clients pensent
des produits et services publiés sur Internet. À cette fin, des outils d’analyse des
sentiments sont apparus dans les années 2000, également connus sous le nom d’opi-
nion mining, qui collectent automatiquement les avis des utilisateurs et les traitent
pour révéler leurs opinions. Il existe différents outils d’analyse des sentiments, mais
nous nous concentrerons sur 3 outils principaux : Python, WordNet et Sentiment
Analyzer [25].
- Python Python bénéficie d’un écosystème mondial, en particulier dans l’ap-
prentissage automatique et le traitement du langage naturel. Il donne accès à la
bibliothèque TextBolb. À l’aide de cet outil, nous allons d’abord analyser le texte
donné pour fournir un score de polarité et un score de sensibilité entre -1 et 1 [25].
- WordNet WordNet est une grande base de données de vocabulaire. Il a été déve-
loppé en 1998 par des linguistes du Cognitive Science Laboratory de l’Université de
Princeton. Il est divisé en groupes négatifs et positifs et est conçu pour répertorier,
catégoriser et corréler le contenu sémantique et lexical [25].
- Sentiment Analyzer C’est un outil simple et gratuit. Il vous permet d’analyser
le texte et de fournir un score de sentiment compris entre -100 et +100. Il utilise la
linguistique informatique et l’exploration de texte pour déterminer le sentiment
derrière le texte. Il composera et comparera ses résultats pour produire le score
final. C’est l’outil parfait si vous souhaitez déchiffrer rapidement l’intention de vos
clients [25].

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].

Figure 2.4 – Analyse de text : Monkey learn [27].

— 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

Comparaison des algorithmes

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.

3.1 Le besoin de l’analyse des sentiments


L’analyse des sentiments est un aspect fondamental de la relation avec les clients
sur les portails et sites web en ligne pour les entreprises. Elles le font en permanence
pour classer un commentaire comme une demande, une plainte, une suggestion,
une opinion ou simplement l’amour d’un produit. De cette façon, elles peuvent
facilement trier les commentaires ou les questions et classer par ordre de priorité ce
qu’elles doivent traiter en premier et même les ordonner de manière à ce qu’elles
paraissent mieux. Les entreprises essaient même parfois de supprimer le contenu
auquel est associé un sentiment négatif.
C’est un moyen facile de comprendre et d’analyser la réception et la perception
par le public de différentes idées et concepts, ou d’un produit nouvellement lancé,
voire d’un événement ou d’une politique gouvernementale.
La compréhension des émotions et l’analyse des sentiments jouent un rôle important
dans les systèmes de recommandation basés sur le filtrage collaboratif. Il s’agit de
regrouper les personnes qui ont des réactions similaires à un certain produit et de
leur montrer des produits apparentés. Comme recommander des films aux gens en
les regroupant avec d’autres qui ont des perceptions similaires pour une certaine
émission ou un certain film.
Enfin, ils sont également utilisés pour le filtrage du spam et la suppression du
contenu indésirable.

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.

— Dynamiser les produits et les services.

— Faire réussir des campagnes de marketing.

— Contrôler la perception d’une marque.

— Suivre les sentiments en temps réel.

3.3 Les défis actuels de l’analyse des sentiments


— Détection des sarcasmes :

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].

— Ambiguïté des mots :

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

3.4.1 Procédure de prétraitement


Le prétraitement est une étape importante pour le traitement des données
textuelles. Un texte peut être un court message rempli de bruit tel que des symboles
non pertinents, des fautes d’orthographe, des émoticônes et des mots vides. Ces
caractéristiques bruyantes affectent fréquemment la performance des des approches
d’analyse des sentiments. Dans le prétraitement, nous pouvons convertir les mots
en minuscules, supprimer tous les symboles, les chiffres, les ponctuation, tous les
caractères non-ASCII, les phrases dupliquées et les mots d’arrêt, aussi appliquer la
Tokenisation qui est un processus qui consiste à diviser le texte en phrases et en
mots appelés token et le Stemming :qui est un processus qui consiste à réduire les
mots à leurs racines [31].

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] :

— Présence et fréquence des termes : Ces caractéristiques sont des mots


individuels ou des n-grammes de mots et leurs comptes de fréquence. Il donne
aux mots une pondération binaire (zéro si le mot apparaît, ou un dans le
cas contraire) ou utilise les poids de fréquence des termes pour indiquer
l’importance relative des caractéristiques [32].

— Analyse morphosyntaxique : trouver les adjectifs, car ils sont des indica-
teurs importants des opinions [32].

— Mots et phrases d’opinion : il s’agit de mots couramment utilisés pour


exprimer des opinions, notamment "bon" ou "mauvais", "aimer" ou "détester".
D’autre part, certaines phrases expriment des opinions sans utiliser de mots
d’opinion [32].

3.4.3 Procédure de classification des sentiments

Figure 3.1 – Le processus d’apprentissage et de prédiction d’un modèle [33].

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].

3.5 Choix de l’algorithme


Le choix de l’algorithme se base sur différents facteurs :

1. La taille, la qualité et la nature de données ;


2. La rapidité :Le temps de calcul disponible ;
3. La vitesse, la précision des prévisions et sa difficulté à expliquer ;

Les méthodes de l’analyse des sentiments sont très variées et un algorithme ne


peut pas résoudre tous les problèmes de ce domaine, c’est pour cela le choix de
l’approche est très important.
Mais même un scientifique expérimenté ne peut pas dire quel algorithme donnera
les meilleurs résultats avant d’essayer différents algorithmes [23].
Nous pouvons parler aussi d’autres critères de comparaison des algorithmes tels
que la complexité, le plus faible d’erreur possible et la maintenance.

3.6 Comparaison des algorithmes de l’analyse des


sentiments
Lorsque vous débutez dans le domaine de l’apprentissage automatique, il peut
être difficile de savoir quel algorithme utiliser ou par où commencer. Soit à cause

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.

Table 3.1 – Comparaison des algorithmes de l’analyse des sentiments.

3.7 Cas d’usage de l’analyse des sentiments


Dans ce paragraphe, Nous vous guidons tout au long du processus de bout en
bout pour effectuer une analyse de sentiments sur une grande quantité de données.
Environnements matériel et logiciels :

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 :

5. Analyse des données


Nous allons maintenant analyser les données prétraitées pour mieux les comprendre.
Nous allons tracer des nuages de mots pour les tweets positifs et négatifs de notre
ensemble de données et voir quels mots apparaissent le plus souvent. Nuage de
mots pour les tweets négatifs :

Sortie :

Nuage de mots pour les tweets positifs :

37
Sortie :

6. Division des données


Les données prétraitées sont divisées en deux ensembles de données : Les données
d’entraînement : L’ensemble de données sur lequel le modèle sera entraîné. Contient
95 pour cent de données.
Données de test : L’ensemble de données sur lequel le modèle sera testé. Contient 5
pour cent de données.

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.

9. Création et évaluation des modèles


Nous créons trois types de modèles différents pour notre problème d’analyse des
sentiments :
-Bernoulli Naive Bayes (BernoulliNB)
-Classification linéaire par vecteurs de support (LinearSVC)
-Régression logistique (LR)
Puisque notre dataset n’est pas biaisé, c’est-à-dire qu’il a un nombre égal de
prédictions positives et négatives. Nous choisissons la précision comme mesure
d’évaluation. De plus, nous traçons la matrice de confusion pour comprendre com-
ment notre modèle se comporte dans les deux types de classification.
9.1 Fonction d’évaluation du modèle

9.2 Modèle Bernoulli

39
Sortie :

9.3 Modèle SVC linéaire

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.

11. Utilisation du modèle et le test


Pour utiliser le modèle pour la prédiction du sentiment, nous devons importer le
Vectoriseur et le modèle Régression Linéaire en utilisant Pickle.
Le vectoriseur peut être utilisé pour transformer les données en matrice de
caractéristiques TF-IDF. Tandis que le modèle peut être utilisé pour prédire le
sentiment des données transformées. Le texte dont le sentiment doit être prédit
doit cependant être prétraité.

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 premier lieu , nous avons définit le concept d’apprentissage automa-


tique en introduisant les différents domaines dans lesquels cette technique peut être
utilisée, et présenté les deux types de cette méthode d’apprentissage en proposant
et expliquant quelques exemples d’algorithmes.

Dans un second lieu , nous avons introduit l’analyse des sentiments en proposant
et expliquant quelques exemples d’algorithmes pour ce domaine.

Finalement , nous avons faire une comparaison entre quelques algorithmes de


ce domaine et on a presenté une simulation d’un algorithme dans le cadre de notre
projet.

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)

[2] MOSTEGHANNMI SAMIRA ET FEROUKHI AFEF. "Système de recom-


mandation multilingue basé sur l’analyse des sentiments des opinions dans les com-
mentaires en ligne". 06/12/2020. Disponible sur : http ://di.univ-blida.dz :8080/js-
pui/bitstream/

[3] Munoz, Andres, "Machine Learning and Optimization" [Online] Retrieved


2017-06-01. Disponible sur : https ://www.cims.nyu.edu/ munoz/files/mlo ptimization.pdf
(1/04/2022)

[4]| Datascientest. Disponible sur : https ://datascientest.com/machine-learning-


tout-savoir (1/04/2022)

[5] ZAKIA MESSAOUDIa,"Les 3 étapes essentielles de l’apprentissage automa-


tique (Machine Learning)", 22 janvier 2020, disponible sur : https ://www.spiria.com/fr/
blogue/intelligence-artificielle/3-etapes-essentielles-apprentissage-automatique-machine-
learning/ (1/04/2022)

[6] “Machine Learning : What it is and why it matters". www.sas.com. Retrieved


2016-03-29 Disponible sur : https ://www.sas.com/iti t/insights/analytics/machine−
learning.html(1/04/2022)

[7] Glossary. Disponible sur : https ://www.coe.int/fr/web/artificial-intelligence/glossary


(1/04/2022)

[8] Kongakura. Disponible sur : https ://www.kongakura.fr/article ?id=Classification


s upervisé(1/04/2022)

[9] datascientest https ://datascientest.com/knn (1/04/2022)

[10] ANTOINE CROCHET-DAMAIS 02/02/2022. JDN. Disponible sur : https ://


www.journaldunet.fr/web-tech/guide-de-l-intelligence-artificielle/1501311-apprentissage-
supervise/ (1/04/2022)

[11] AMANDINE ALLMANG. Lineddata. Disponible sur : https ://fr.linedata.com/


principaux-algorithmes-de-classification-partie-1 (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)

[14] Le blog des octos. Disponible sur : https ://blog.octo.com/naivebayes/


(1/04/2022)

[15] MEHDI HADJI. 22 Aout 2019.


Disponible sur : https ://medium.com/@mehdihadji/analyse-des-sentiments-g (9/04/2022)

Monkeylearn. Disponible sur : https ://monkeylearn.com/sentiment-analysis/ (9/04/2022)

[17] AHMED HASSEN YOUSSEF. Researchgate.


Disponible sur : https ://www.researchgate.net/figure/Sentiment-classification-
techniquesf ig12 61875740(9/04/2022)

[18] IJCTT, Disponible sut : http ://ijcttjournal.org/2021/Volume-6920Issue-


4/IJCTT-V69I4P107.pdf (10/04/2022)

[19] "Sentimental Analysis and Emotion Recognition".


Disponible sur : https ://www.ipl.org/essay/Sentiment-Analysis-Assessment-PJJGZUD4RU
(10/04/2022)

[20] Research reviews. Disponoble sur : https ://www.rroij.com/open-access/a-


survey-on-sentiment-analysis-and-opinionmining-.php ?aid=47400 (10/04/2022)

[21] Data analytics Post.


Disponible sur : https ://dataanalyticspost.com/Lexique/svm/ : :text=SVM (10/04/2022)

[22] DJAMEL BELHAOUCI. "Démystifier le Machine Learning, Partie 2 : les Ré-


seaux de Neurones artificiels". Disponible sur : https ://www.juripredis.com/fr/blog/id-
19-demystifier-le-machine-learning-partie-2-les-reseaux-de-neurones-artificiels (10/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)

[25] Citizen call. Disponible sur : https ://www.citizencall.fr/blog/sentiment-


analysis-outil-marketing/ (15/04/2022)

[26] Geekflare. Disponible sur : https ://geekflare.com/fr/best-text-analysis-and-


mining-tools/ (14/042022)

[27] Monkey learn. Disponible sur : https ://monkeylearn.com/ (14/04/2022)

[28] keatext. Disponible sur : https ://www.keatext.ai/en/ (14/04/2022)

[29] Pyoneer, disponible sur : https ://www.pyoneer.io/post/5-reasons-why-


sentiment-analysis-is-important/ ?utms ource = linkedinstef anutmm edium =
linkedinarticleutmc ampaign = realreasonwhysentimentf bclid = IwAR3v3kP f JOj4AO
BkjJt − jf Raq6U 85 Y jAM 3b2HK − 3gHKC1l9oV 5wt 2tSyY (16/04/2022)

[30] RUDOLF EREMYAN, developers, disponible sur : https ://www.toptal.com/deep-


learning/4-sentiment-analysis-accuracy-traps ?fbc
lid=IwAR0hg n0pr6QN f 2SY n2bV T 6N oRwCR98tCeGU u5es
Oe4RY pN l3mdE8f Ehxh4(16/04/2022)

[31] JING YANG et SHIHAB ELBAGIR, "Sentiment Analysis of Twitter Data


Using Machine Learning Techniques and Scikit-learn",
disponible sur : https ://sci-hub.se/https ://dl.acm.org/doi/abs/10.1145/3302425.3302492 ?fb-
clid=IwAR0iSEQgj0tDTHZEe7LA9121yrpYCFbx5kk1S4O5Ht3ILOWPLBTidBsKeHs
(16/04/2022)

[32] Science direct, diponible sur : https ://www.sciencedirect.com/science/article/pii/


S2090447914000550 ?fbclid=IwAR0Pwzs3-NERlZww6zkNc
7HOfR5N3Nd7jUETyx8QCJ iRdB6kII0W ksAn − U b0020(16/04/2022)

[33] Monkeylearn, disponible sur : https ://monkeylearn.com/sentiment-analysis/ ?fb-


clid=IwAR0aMwH064wW3Ea2Whr0YkqN8S6
bTo0fCjVtwh5FOmylFwjbtm1-jbzHxjM (16/04/2022)

[34] Disponible sur : https ://en.wikipedia.org/wiki/ProjectJ upyter?f bclid =

47
IwAR2nDXbK
AqpF BRh7Q−f U 5SGnU QN V −W nbZluGoLG7LN roXEERg N mOKN ne s(16/04/2022)

[35] Le data scientest, Disponible sur : https ://ledatascientist.com/google-colab-


le-guide-ultime/ ?fbclid=IwAR18fiZJSDvkBWqly4N QE039S4W 3HOK −
u9ehvh8uGEjT kuGU sLS2kwV j4(16/04/2022)

[36] Disponible sur : https ://en.wikipedia.org/wiki/Pandas( sof tware)?f bclid =


IwAR2
lGlEvJ3tJkE4COU L2U 42hN aT u8XN 4xsHT 9f gAKDevocM bhDY xHQJ3rj4(16/04/2022)

[37] Disponible sur : https ://en.wikipedia.org/wiki/NumPy ?fbclid=IwAR2RYv4L


v3XO8EM5xM9py9bIzb6yj-5 T OY m6uGN j4M 4hhaF BGKU vM JzP U (16/04/2022)

[38] Disponible sur : https ://en.wikipedia.org/wiki/Matplotlib ?fbclid=Iw


AR1Qlbl4mu6aoumlf5 XuW gJkEHrf QwJN 2cgiOc0Hif V 3aK9L0U Hs9DY os(16/04/2022)

[39] Disponible sur : https ://en.wikipedia.org/wiki/NaturalL anguageT oolkit?f bclid =


IwAR2L7P ny8do5RM lY f 5N gpENx L2qamQW LN Y jgLutO8W 0f 2Y BBV Apk−
5xY Hw(16/04/2022)

[40] Disponible sur : https ://en.wikipedia.org/wiki/Regulare xpression?f bclid =


IwAR
27ixF AD0ugP Iuge4pcSf XU 6RDmGEHnSzad2Zrxh7zRX cY xxy8uD6V A6c(16/04/2022)

[41] Disponible sur : https ://en.wikipedia.org/wiki/Scikit-learn ?fbclid=IwAR25Gq9


IX38unL1NdG9PxfGDQ9lsJD8sUMi6m8O 0ZtSvErf U lygP C4c8I4(16/04/2022)

48

You might also like