ENNACIRI Zidate RapportSA
ENNACIRI Zidate RapportSA
ENNACIRI Zidate RapportSA
Préparé par :
Sous l’encadrement de :
Résumé :
Le présent travail s’inscrit dans le cadre de notre stage d’application effectué au sein de l’entreprise
TASMIM WEB. L’objectif est de déployer un modèle d’analyse des sentiments dans une application web.
Ce projet a pour but de faire une étude comparative entre deux modèles pré-entraînés d’analyse des
sentiments sur la base de données extraites du site AMAZON et de déployer celui avec la meilleure
performance dans une application web.
Reme
rciement
Remerciements :
Au terme de ce travail, nous remercions toute personne nous ayant aidés à achever à bon port le présent
projet de stage d’application.
Nos profonds remerciements s’adressent à notre encadrant, Mr. Mahjoub Ait Meddah, pour nous avoir
offert cette opportunité qui nous a été d’une valeur enrichissante. Nous le remercions également pour sa
disponibilité, ses retours et conseils, et enfin la liberté de choix et d’idées qu’il nous a accordé.
Nous exprimons également nos expressions de respect et de remerciements à tous les membres du
jurypour l’attention consacrée à ce travail.
-
2-
Table des
matières
Introduction générale :
L'analyse des sentiments est utile pour un large éventail de problèmes qui intéressent les praticiens et les
chercheurs en interaction homme-machine, ainsi que ceux issus de domaines tels que la sociologie, le marketing
et la publicité, la psychologie, l'économie et les sciences politiques. La nature inhérente du contenu des
microblogs pose de sérieux défis aux applications pratiques de l'analyse des sentiments. Certains de ces défis
découlent du taux et du volume de contenu social généré par les utilisateurs, combinés à la rareté contextuelle
résultant de la brièveté du texte et d'une tendance à utiliser des conventions linguistiques abrégées pour exprimer
des sentiments.
Dans ce sens, notre projet de stage d’application s’est articulé sur le déploiement du modèle d’analyse
des sentiments ayant la meilleure performance à partir d’une étude comparative.
Pour ce faire, dans la première partie, nous extrairons les données que nous allons utiliser dans la
comparaison. Ces données sont sous forme de commentaires issus des évaluations des clients de AMAZON sur
les produits vendus.
Dans une deuxième partie, nous présenterons d’abord les deux approches d’analyse des sentiments
utilisées, leurs principes et ensuite le choix de modèles pour chacune d’elles. Puis, nous mènerions une étude
comparative entre les deux modèles.
Et enfin, dans la dernière partie, nous déploierons le modèle le plus performant dans une application web
qui permet de donner des statistiques descriptives sur les données ce qui donne une idée générale sur l’opinion
des consommateurs sur le produit en question.
1
des
TASMIM WEB est une agence web implantée sur Casablanca. Entreprise dans l’air du temps, elle se
compose d’une équipe jeune, experte et passionnée. Sa structure à taille humaine garantit une écoute et un
accompagnement de qualité et de proximité.
Intégrateurs de solutions web, ils répondent aux besoins dans le domaine de la création, le
référencement de sites internet, la mise en place de stratégies web, la création ou refonte d’identité visuelle.
Agence web et agence conseil, ils sont également disposés à vous délivrer un accompagnement web complet
avant, pendant et après la phase de conception de votre projet, car l’accompagnement à long terme est sa
priorité. Agence web volontairement de taille humaine, elle assure une proximité auprès de ses clients et leur
propose des avantages grandement appréciés tels que l’écoute, la flexibilité et la réactivité.
Ses valeurs :
Afin de mieux répondre aux attentes de ses clients, TASMIM WEB assure :
- Adaptation sur-mesure des besoins de ses clients ;
- Suivi individuel et personnalisé ;
- T r anspar ence dans les t ar ifs ;
- Qualité du travail ;
- Respect des délais annoncés lors de ses collaborations ;
2
Chapitre 1 : Présentation du
cadre général
Chapitre 1
I. Présentation du cadre général
1. Introduction
Ce chapitre représente une introduction générale sur l'analyse des sentiments sur lequel nous allons
travailler etles techniques que nous allons utiliser.
3
Chapitre 1 : Présentation du
cadre général
Le sentiment se rapporte essentiellement aux sentiments ; attitudes, émotions et opinions. L'analyse des
sentiments fait référence à la pratique consistant à appliquer des techniques de traitement du langage naturel et
d'analyse de texte pour identifier et extraire des informations subjectives d'un morceau de texte.
L'opinion ou les sentiments d'une personne sont pour la plupart subjectifs et non des faits. Cela signifie
qu'il peut être extrêmement difficile d'analyser avec précision l'opinion ou l'humeur d'un individu à partir d'un
morceau de texte. Avec l'analyse des sentiments du point de vue de l'analyse de texte, nous cherchons
essentiellement à comprendre l'attitude d'un écrivain par rapport à un sujet dans un texte et sa polarité ; que ce
soit positif, négatif ou neutre.
4
Chapitre 1 : Présentation du
cadre général
• Analyse hybride/combinée : les progrès de l'analyse des sentiments ont incité les
chercheurs à explorer la possibilité d'une approche hybride qui pourrait collectivement présenter
la précision d'une approche d'apprentissage automatique et la rapidité d'une approche lexicale.
En termes de méthodologie, les data scientists ont généralement deux options pour construire leurs
classificateurs de sentiments qui ont tous deux des avantages et des inconvénients. La construction du modèle
à partir de zéro implique généralement un ou plusieurs de ces composants : l'utilisation d'un lexique de
sentiments largement accepté, la notation des sentiments par des experts humains, l'étiquetage des données par
des sous-traitants d'agence ou des assistants de recherche, et le réglage du modèle qui fonctionne bien sur le
reste de la base de données. Ce processus peut être coûteux et prendre du temps.
5
Chapitre 2: Méthodologie de Collecte et analyse des
données de site web JUMIA
Chapitre 2
II. Extraction des données :
1. Introduction
6
Chapitre 2: Méthodologie de Collecte et analyse des
données de site web JUMIA
Amazon est l'un des marchés en ligne les plus populaires utilisés par les particuliers et les
entreprises, et le site est disponible dans de nombreux pays et langues. Il permet aux particuliers et aux
entreprises de vendre et d'afficher des produits à vendre en ligne.
En effet, Amazon comprend une variété de produits allant de l'électronique jusqu’aux vêtements.
Chacun de ces produits est évalué par ses consommateurs à travers des commentaires positifs ou bien négatifs.
7
Chapitre 2: Méthodologie de Collecte et analyse des
données de site web JUMIA
Introduction
Le web-scraping est une technique intelligente qui peut être utilisée pour extraire de grandes
quantités d'informations des sites Web cibles. Les données extraites peuvent ensuite être enregistrées dans un
fichier local sur votre système ou sous forme de feuille de calcul.
Dans cette section, nous extrayons les commentaires des clients sur un produit choisi arbitrairement sur
le site Amazon.
Avant d’entamer l’extraction des données, il est important d’inspecter la source de données pour avoir
une idée sur la façon dont les données sont structurées pour les affichages.
En inspectant le code source, la structure de la page se présente comme ceci :
8
Chapitre 2: Méthodologie de Collecte et analyse des
données de site web JUMIA
Après avoir appris sous quelle balise les données que nous voulons extraire sont imbriquées, on fait appel
à la requête get et à la librairie BeautifulSoup pour communiquer avec la page HTML et analyser ses données
structurées.
Il est à noter que les données à extraire devraient être étiquetées, c’est-à-dire chaque commentaire doit
être classé soit négatif soit positif, pour pouvoir évaluer la performance des deux modèles.
Pour ce faire, nous allons définir deux fonctions get_coms_negatif() et get_coms_positif().
9
Chapitre 2: Méthodologie de Collecte et analyse des
données de site web JUMIA
Nettoyage des données : Après avoir extrait les données, on remarque qu’elles
contiennent quelques caractères qui doivent être retirés. Pour ce faire, nous allons
définir une fonction clean :
Tout d'abord, Pour sauvegarder les données obtenues, nous créerons d’abord un dataframe ayant deux
colonnes “Commentaires” et “Etiquettes” et enfin on le sauvegarde dans un fichier excel.
10
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
Chapitre 3
III. Comparaison des deux approches Lexicon-
Based et Machine Learning
1. Introduction
Ce chapitre est consacré à la comparaison des deux approches d’analyse des sentiments. Nous nous
concentrerons sur deux modèles seulement.
11
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
À un niveau supérieur, il existe deux techniques qui peuvent être utilisées pour effectuer une analyse des
sentiments de manière automatisée : Les techniques basées sur les règles (Lexicon-based) et les techniques
d'apprentissage automatique (Machine Learning).
L’approche Lexicon-based :
L'analyse des sentiments basée sur des règles fait référence à l'étude menée par les experts linguistiques.
Le résultat de cette étude est un ensemble de règles (également connu sous le nom de lexique ou lexique des
sentiments) selon lequel les mots sont classés comme positifs ou négatifs, ainsi que leur mesure d'intensité
correspondante.
En général, les étapes suivantes sont nécessaires pour appliquer l'approche basée sur les règles :
12
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
13
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
Comparaison du texte prétraité avec le lexique des sentiments qui doit fournir le nombre/la mesure
correspondant à l'émotion déduite.
Les données du monde réel sont beaucoup plus complexes et nuancées. Par exemple, le sentiment peut
contenir du sarcasme (lorsque des mots apparemment positifs ont une signification négative ou vice versa), de
la sténographie, des abréviations, des orthographes différentes (par exemple, saveur contre saveur), des mots
mal orthographiés, de la ponctuation (notamment des points d'interrogation), de l'argot et, bien sûr, des émojis.
Pour traiter les données complexes à analyser, il faut utiliser des lexiques sophistiqués qui peuvent prendre
en considération l'intensité des mots (par exemple, si un mot est positif, il faut savoir à quel point il est positif,
il y a une différence entre bon, génial et étonnant et cela est représenté par l'intensité attribuée à un mot donné),
la subjectivité ou l'objectivité du mot et le contexte également. Il existe plusieurs lexiques de ce type. En voici
deux parmi les plus populaires :
VADER (Valence Aware Dictionary and Sentiment Reasoner) : Largement utilisé dans
l'analyse des sentiments sur les textes des médias sociaux, car il a été spécifiquement adapté pour
analyser les sentiments exprimés dans les médias sociaux (comme dans les documents liés). Il
est désormais intégré à la boîte à outils du langage naturel, NLTK. VADER est sensible à la fois
à la polarité et à l'intensité. Voici comment lire les mesures :
-4 : extrêmement négatif
4 : extrêmement positif
0 : Neutre ou N/A
TextBlob : Bibliothèque NLP très utile qui est livrée pré-packagée avec sa propre fonctionnalité
d'analyse des sentiments. Elle est également basée sur NLTK. La propriété sentiment de
l'api/librairie renvoie la polarité et la subjectivité.
o Plage de polarité : -1.0 à 1.0
o Plage de subjectivité : 0.0 - 1.0 (0.0 est très objectif et 1.0 est très subjectif)
Sentiwordnet : Il est également intégré à NLTK. Il est utilisé pour l'exploration
d'opinion. Il aide à déduire les informations de polarité à partir de l'instance de
problème donnée. SWN étend wordnet qui est une base de données lexicale de mots
(la relation entre les mots, d'où le terme net), développée à Princeton et qui fait partie
du corpus NLTK. Ici, je me concentrerai principalement sur les synsets,
X: input
Y: label/prédiction
14
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
Figure 12 : approche de ml
15
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
Les étapes à suivre pour mettre en œuvre une solution ML pour la classification de
textes :
Vectorisation du texte : cette étape est nécessaire pour l'entraînement des modèles ML. En
termes simples, les machines ne comprennent pas le texte, elles obtiennent les chiffres.
Construction du modèle : à ce stade, les données transformées sont divisées en ensembles
d’apprentissage et de test. L'ensemble d’apprentissage est utilisé pour former le classificateur
ML en fournissant les caractéristiques et les étiquettes comme entrées. Les algorithmes de
classification les plus courants sont les suivants Naïve Bayes, Support Vector Machine et
Decision Tree Classifier, Deep Learning (réseaux neuronaux).
Test : une fois construit, le modèle est testé avec l'ensemble de test (généralement, les données
sont divisées en 80 % pour l’apprentissage et 20 % pour le test du modèle. Dans cette phase,
seules les caractéristiques sont fournies, et le classificateur produit l'étiquette (classification).
Faire des prédictions : Après avoir testé le modèle avec succès, il est temps de le déployer et il
commence à faire des prédictions chaque fois qu'il reçoit une ligne de la bas
16
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
L’avantage de VADER, c'est qu'il ne nécessite pas un grand nombre de prétraitements pour fonctionner.
Contrairement à certaines méthodes supervisées de la PNL, il n'est pas nécessaire de procéder à des
prétraitements tels que la tokénisation et la lemmatisation. Il est pratiquement possible d’introduire n'importe
quel texte et VADER déterminera le sentiment.
VADER est même suffisamment intelligent pour comprendre la valence d'un texte non conventionnel, y
compris les emojis (par exemple :/ ), les majuscules (par exemple triste vs SAD) et la ponctuation étendue (par
exemple ? vs ? ??). C'est ce qui rend le module si performant pour l'analyse des textes des médias sociaux. En
outre, VADER supprime automatiquement les mots vides, ce qui évite de devoir le faire soi-même.
Comment fonctionne-t-il ?
VADER appartient à un type d'analyse des sentiments qui se base sur des lexiques de mots liés aux
sentiments (sentiment-related words). Dans cette approche, VADER s'appuie sur un dictionnaire qui associe
des caractéristiques lexicales à des intensités d'émotion connues sous le nom de score sentimental. Le score de
sentiment d'un texte peut être obtenu en additionnant l'intensité de chaque mot du texte.
Ci-dessous, vous pouvez voir un extrait du lexique de VADER, où les mots plus positifs ont des
évaluations positives plus élevées et les mots plus négatifs ont des évaluations négatives plus basses.
17
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
18
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
Ses avantages :
Bonne précision
Le principe de BERT :
BERT fait appel à Transformer, un mécanisme d'attention qui apprend les relations contextuelles entre
les mots (ou les sous-mots) d'un texte. Dans sa forme classique, Transformer comprend deux mécanismes
distincts : un encodeur qui lit le texte en entrée et un décodeur qui produit une prédiction pour la tâche. Puisque
l'objectif de BERT est de générer un modèle de langage, seul le mécanisme d'encodage est nécessaire.
Contrairement aux modèles directionnels, qui lisent le texte entré de manière séquentielle (de gauche à
droite ou de droite à gauche), l'encodeur Transformer lit la séquence entière de mots en une seule fois. Il est
donc considéré comme bidirectionnel, bien qu'il serait plus exact de dire qu'il est non directionnel. Cette
caractéristique permet au modèle d'apprendre le contexte d'un mot en se basant sur tout son environnement.
CamemBERT est une « version » de RoBERTa pré-entraînée sur un jeu de données francophone. RoBERTa
lui-même est une version de BERT pour laquelle, certains hyperparamètres du pré-entraînement ont été
modifiés et l’objectif de prédiction de phrase suivante (Next-Sentence Prediction) a été supprimé. CamemBERT
hérite donc des avantages de BERT.
Architecture du modèle :
19
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
Après avoir implémenter les deux modèles tblard/tf-allocine et Vadersentiment-fr, seuls les commentaires
sont fournis comme entrée aux modèles et le classificateur produit des prédictions.
En comparant les prédictions du modèle Vadersentiment-fr avec les étiquettes des données, on trouve que
la proportion des prédictions correctes est 0,7.
Voici quelques figures qui visualisent les statistiques obtenues par le modèle.
20
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
Dans le cas du modèle tblard/tf-allocine, les prédictions correctes ont une proportion de 0,8.
21
Chapitre 3 : Comparaison des deux approches Lexicon-Based et Machine Learning
Conclusion :
Ce résultat va de pair avec les résultats des recherches qui démontrent que l’approche de Machine learning
est plus performante que l’approche de Lexicon-Based. Par la suite, on choisit le modèle tblard/tf-allocine de
l’approche Machine learning pour notre application web.
22
Chapitre 4 : Déploiement du modèle
Chapitre 4
IV. Déploiement du modèle
1. Introduction
Ce chapitre introduit l’application web d’analyse des sentiments qui aide l’entreprise à prendre des
décisions commerciales efficaces basées sur des données.
23
Chapitre 4 : Déploiement du modèle
Le déploiement est défini comme un processus par lequel nous intégrons le modèle sélectionné
d'apprentissage automatique dans un environnement de production existant pour obtenir des décisions
commerciales efficaces basées sur des données. Et c'est la dernière étape du cycle de vie de l'apprentissage
automatique.
Bibliothèque Streamlit:
Streamlit permet de créer des applications pour votre projet de machine Learning à l’aide de simples
scripts Python. Il prend également en charge le rechargement à chaud, afin que l’application puisse se mettre à
jour en direct lorsque vous modifiez et enregistrez votre fichier. Une application peut être construite en quelques
lignes de code uniquement à l’aide de l’API Streamlit. Il est facile à déployer et à gérer.
24
Chapitre 4 : Déploiement du modèle
Et pour savoir plus sur les avis des clients, l’application affiche le nuage des mots pour chacun des 2
sentiments.
25
Conclusion
générale
V. Conclusion générale :
L'analyse des sentiments aide les entreprises à mieux communiquer avec les clients et à développer des
messages plus pertinents. En analysant le ton émotionnel dans les avis des clients, les entreprises peuvent
identifier les produits ou services les plus appréciés et les moins appréciés ; ainsi, elles peuvent modifier
leur stratégie commerciale pour les plus détestés. Ou, si l’entreprise vend des produits et utilise des systèmes
de recommandation de produits, elle peut mieux comprendre les besoins des clients et fournir de meilleures
recommandations.
Sous cette optique, la présence d’une application d’analyse des sentiments dans l’écosystème des
entreprises est favorable pour accroître leurs ventes et réaliser plus de profits.
Lors de ce travail, nous avons déployé un modèle d’analyse des sentiments dans une application web. Le
choix du modèle est conclu à partir d’une comparaison entre deux approches différentes d’analyse des
sentiments. Bien évidemment, l’application pourrait être raffinée en ajoutant plus de fonctionnalités.
26
Web
ographie
VI. Bibliographies:
VADER: A Parsimonious Rule-based Model for Sentiment Analysis of Social Media
Text, by C.J. Hutto and Eric Gilbert, Proceedings of the Eighth International AAAI
Conference on Weblogs and Social Media
VII. Webographies :
https://www.amazon.fr/
27
28