Académique Documents
Professionnel Documents
Culture Documents
Thème
Promotion : 2017/2018
Remerciements
Nous tenons à remercier en premier lieu nos encadrants Mme. BENKRID Soumia et Mme
SAID LHADJ Lynda pour leurs précieuses orientations tout au long de l'élaboration de ce
travail et du temps qu'elles nous ont consacré pour nous guider malgré leurs diverses
préoccupations.
Nous adressons aussi nos sincères remerciements à Mr. ALLOUCHE Badredine, notre
promoteur pour la confiance qu'il nous a accordé, ses remarques, ses conseils et ses critiques
qui nous ont poussés pour mener à terme ce travail.
Nous remercions également tous les membres de l'équipe Data Warehouse d'Ooredoo, pour
leur accueil et le temps qu'ils nous ont consacré pour répondre à nos besoins et à nos questions.
Nous tenons à remercier notre établissement, l’École supérieure d'informatique ainsi que son
cadre administratif et pédagogique, en particulier Mme. AIT ALI YAHIA Dahbia, pour leur
disponibilité afin de pouvoir effectuer notre stage dans les meilleures conditions.
Nous présentons tous nos respects et nos sincères remerciements aux membres de jury qui ont
accepté d'évaluer notre travail.
Enfin, nous tenons à remercier toutes les personnes qui ont contribué de près ou de loin à la
réalisation de ce travail.
II
Résumé
Depuis l’arrivée du web 2.0, l’intérêt va croissant pour connaître les opinions des internautes
qui s’y expriment spontanément et en temps réel. Cette masse de données d’opinions est
accessible avec des outils de fouille du web, avec une collection d’informations constamment
renouvelée.
Des sites se sont spécialisés dans le recueil de ces opinions dans certains domaines (critiques
de cinéma par exemple) et les internautes ont pris l’habitude de consulter les avis et notes
déposés par les autres dès qu’ils doivent prendre une décision d’achat pour un produit technique,
ou encore pour une réservation d’hôtel. Les avis, les opinons intéressent donc les internautes
et ont suscité des applications et services multiples, ce qui provoque un cercle vertueux
d’encouragement à donner son avis et même à se faire reconnaître comme donnant des avis
pertinents et suivis par les autres.
Mais ces données intéressent également des marques et des cabinets d’études qui tentent de
connaître ce « sentiment agrégé des foules ». Souvent sensibles au fantasme « votre réputation
peut être détruite à cause d’un commentaire de blog », les marques se soucient de leur identité
en ligne mais cherchent également à mieux connaître les attentes et critiques que les internautes
leur adressent.
D’où le développement croissant des techniques pour capter ces évaluations des internautes,
allant du simple dénombrement de commentaires positifs ou négatifs à l’analyse plus fine des
contenus de ces commentaires.
C'est dans ce contexte que s'inscrit le présent projet, dont l'objet est de mettre en place un
système qui permet de collecter, stocker et exploiter les données textuelles exprimées par les
internautes sur les réseaux sociaux. Nous avons procédé à une étude bibliographique se
rapportant à l'analyse de sentiments qui nous a permis de proposer une solution comblant les
problèmes existants, en particulier le dialecte, et répondant aux exigences exprimées.
Mots clés : Opinion, Analyse de sentiments, Médias sociaux, Dialecte, Corpus, Classification.
III
Abstract
Since the arrival of Web 2.0, the interest is growing to know the opinions of Internet users who
express themselves spontaneously and in real time. This mass of opinion data is accessible with
web search tools, with a constantly renewed collection of information.
Some sites have specialized in gathering these opinions in certain fields (film critics for
example) and Internet users have become accustomed to consulting the opinions and notes
submitted by others as soon as they have to make a purchase decision for a technical product,
or for a hotel reservation. Opinions and views are therefore of interest to Internet users and
have given rise to multiple applications and services, which provokes a virtuous circle of
encouragement to give one's opinion and even to be recognized as giving relevant opinions and
followed by others.
However, these data are also of interest to brands and research firms that are trying to find out
about this "aggregated feeling of the crowds". Often sensitive to the fantasy "your reputation
can be destroyed because of a blog comment", brands are concerned about their online identity
but also seek to better understand the expectations and criticisms that Internet users address to
them.
As a result, techniques for capturing these evaluations of Internet users are increasingly being
developed, ranging from the simple counting of positive or negative comments to a more
detailed analysis of the content of these comments.
It is in this context that this project is situated, the purpose of this project is to set up a system
that collects, stores and uses text data expressed by Internet users on social networks. We
proceeded to a bibliographical study relating to the sentiment analysis, which allowed us to
propose a solution filling the existing problems, in particular the dialect, and answering the
expressed requirements.
IV
ملخص
منذ وصول الويب ،2.0إزداد االهتمام بمعرفة آراء متصفحي اإلنترنت ،الذين يعبرون عن أنفسهم بشكل تلقائي وفي
الوقت الحقيقي .هذه الثروة من بيانات الرأي يمكن الوصول إليها من خالل أدوات البحث على شبكة اإلنترنت ،مع مجموعة
.متجددة باستمرار من المعلومات
وقد تخصصت المواقع في جمع هذه اآلراء في مناطق معينة (مثل استعراض السينما على سبيل المثال) وأصبح
المستخدمون معتادين على المالحظات واالستشارات المقدمة من اآلخرين بمجرد اتخاذ قرار الشراء .للحصول على منتج
فني ،أو لحجز فندق .وبالتالي ،فإن اآلراء صارت تهم مستخدمي اإلنترنت وتؤدي إلى استخدام تطبيقات وخدمات متعددة،
.األمر الذي يثير دائرة حميد ة من التشجيع إلبداء الرأي وحتى االعتراف بأنه يعطي آراء ذات صلة ويتبعها آخرون
وهذه البيانات تهم أيضًا العالمات التجارية وشركات األبحاث التي تحاول معرفة هذا "الشعور الجماعي للحشود" .غالبا ً ما
تكون حساسة للخيال "يمكن تدمير سمعتك من خالل تعليق مدونة" ،فإن العالمات التجارية تهتم بهويتها عبر اإلنترنت،
.ولكنها تسعى أيضًا إلى فهم أفضل للتوقعات واالنتقادات التي يواجهها المستخدمون
ومن هنا تنامى تطور التقنيات الستخالص هذه التقييمات لمستخدمي اإلنترنت ،بد ًءا من مجرد حساب التعليقات اإليجابية أو
.السلبية إلى التحليل الدقيق لمحتوى هذه التعليقات
وفي هذا السياق ،يقع هذا المشروع ،والغرض منه هو إعداد نظام لجمع وتخزين واستغالل البيانات النصية التي يعبر
عنها المستخدمون على الشبكات االجتماعية .لقد أجرينا دراسة ببليوغرافية تتعلق بتحليل المشاعر التي سمحت لنا باقتراح
حل يمأل المشاكل القائمة ،وال سيما اللهجة ،واإلجابة على المتطلبات المعبر عنها
V
Table des matières
Remerciements ....................................................................................................................II
Résumé .............................................................................................................................. III
Abstract ........................................................................................................................... IV
Liste des abréviations ..................................................................................................... XI
Introduction Générale .....................................................................................................12
Problématique ................................................................................................................14
Chapitre I : Généralités sur l’analyse de sentiments .........................................................17
I. Définitions et Concepts .................................................................................................. 18
I.1. L’Émotion ............................................................................................................................................... 18
I.2. Sentiment .............................................................................................................................................. 19
I.3. Opinion .................................................................................................................................................. 20
I.3.1. Opinion ordinaire et opinion comparative .................................................................................... 20
I.3.2. Les classes d'opinions .................................................................................................................... 20
VI
I.1.3. Corpus ............................................................................................................................................ 35
I.2. Méthodes de construction .................................................................................................................... 36
I.2.1. Méthodes manuelles ..................................................................................................................... 37
I.2.2. Méthodes automatiques ............................................................................................................... 37
I.3. Synthèse des travaux ............................................................................................................................. 39
V. Vue globale..................................................................................................................... 76
VI. Vue détaillée ................................................................................................................. 78
VI.1. Préparation des données .................................................................................................................... 78
VI.1.1. Collecte des données................................................................................................................... 79
VI.1.2 Nettoyage des données..................................................................................................................... 84
VI.1.3. Structuration des données ............................................................................................................... 85
VI.2. Prétraitement ...................................................................................................................................... 86
VI.2.1. Suppression du bruit ................................................................................................................... 87
VI.2.2. Normalisation du lexique ............................................................................................................ 89
VI.2.3. Racinisation ................................................................................................................................. 91
VI.2.4. Traitement de langage SMS ........................................................................................................ 92
VI.2.5. Construction du dictionnaire des néographies. .......................................................................... 93
VI.2.6. Prétraitement relatif à l’analyse de sentiments ......................................................................... 96
VI.3. Annotation du corpus.......................................................................................................................... 97
VI.3.1. Modèle de clustering ................................................................................................................... 97
VI.3.2. Approche d’annotation non supervisée ................................................................................... 100
VI.4. Catégorisation ................................................................................................................................... 101
VI.5. Visualisation ...................................................................................................................................... 101
VI.5.1. Méthodes de mise en œuvre des tableaux de bords ................................................................ 102
VI.5.3. Définitions des indicateurs de performances (KPI) ................................................................... 102
VI.6. Sécurité du système .......................................................................................................................... 106
VI.6.1. Authentification ......................................................................................................................... 107
VII
VI.6.2. Autorisation ............................................................................................................................... 107
VI.6.3. Sécurité des données ................................................................................................................ 108
V. Conclusion.................................................................................................................... 136
Conclusion et perspectives ............................................................................................ 137
VIII
Table des figures
Figure 1 Wheel of emotion de Robert Plutchik ............................................................................................. 18
Figure 2: Processus générique d’analyse de sentiments ............................................................................... 28
Figure 3 Classification des méthodes de construction du lexique de sentiments ..................................... 37
Figure 4: Approches de l’analyse de sentiments ........................................................................................... 42
Figure 5 la représentation de sac en mots ....................................................................................................... 49
Figure 6: la structure du modèle NNLM ........................................................................................................ 57
Figure 7: La structure du modèle C&W ......................................................................................................... 58
Figure 8 Méthode CRISP-DM (AGA, 2005) ................................................................................................. 73
Figure 9 Architecture globale ............................................................................................................................. 77
Figure 10 Processus de collecte et de préparation des données...................................................................... 79
Figure 11 Diagramme de séquence de l'extraction des posts .......................................................................... 83
Figure 12 Diagramme de séquence de l'extraction des commentaires ........................................................... 84
Figure 13 Exemple d’un fichier CSV contenant les commentaires utilisateurs ....................................... 84
Figure 14 Schéma de la base de données .......................................................................................................... 86
Figure 15 Schéma prétraitement de données ................................................................................................... 87
Figure 16 Etapes de normalisation .................................................................................................................... 89
Figure 17: La répartition des langues dans le corpus ....................................................................................... 91
Figure 18 Processus de traitement relatif au langage dialectal......................................................................... 93
Figure 19 Réduction du nombre de mots après prétraitement ....................................................................... 96
Figure 20 Exemple d'émoji ................................................................................................................................. 97
Figure 21 Exemple d'autocollants ...................................................................................................................... 97
Figure 22 Diagramme d'activité qui illustre le processus de clustering ..................................................... 98
Figure 23 Vecteur d'entrée de clustering ........................................................................................................ 98
Figure 24 Diagramme d’activité de l'annotation non supervisée ................................................................. 101
Figure 25 Diagramme des cas d'utilisation - Vue administrateur-............................................................ 103
Figure 26 Diagramme des cas d'utilisation - Vue utilisateur- ................................................................... 104
Figure 27 Diagramme de séquence du système de sécurité ....................................................................... 108
Figure 41 Technologies utilisées ...................................................................................................................... 111
Figure 28 Architecture technique ..................................................................................................................... 115
Figure 29 Application AS Ooredoo sur Facebook Dev Platforme .............................................................. 116
Figure 30 Architecture du système du Word Embedding ............................................................................. 118
Figure 31 Architecture de l'annotation non supervisée ................................................................................. 118
Figure 32 Application web pour l'annotation manuelle ................................................................................. 119
Figure 33 Diagramme de séquence de l'annotation manuelle ....................................................................... 119
Figure 34 Architecture LSTM .......................................................................................................................... 121
Figure 35 Architecture CNN............................................................................................................................ 121
Figure 36 Architecture CNN & LSTM ........................................................................................................... 122
Figure 37 Part d'un sentiment par opérateur ................................................................................................ 122
Figure 38 Part d'un sentiment par opérateur avec aperçu sur les commentaires .................................... 123
Figure 39 Nombre de commentaires par opérateur/sentiment .................................................................. 123
Figure 40 Vue principale du Dashboard ....................................................................................................... 124
Figure 42 Architecture de déploiement......................................................................................................... 124
Figure 43 Exemple de représentation Unigramme et Bigramme.................................................................. 126
Figure 44 Classification á deux niveaux .......................................................................................................... 128
IX
Liste des tableaux
Table 1 table de confusion ................................................................................................................................ 31
Table 2 Synthèse bibliographique ...................................................................................................................... 64
Table 3 Attributs sélectionnés pour le clustering .......................................................................................... 98
Table 4 Présentation des différentes metriques ........................................................................................... 105
Table 5 Langages de programmation et emplacement ............................................................................... 111
Table 6 Comparaison entre Cassandra vs HBase vs MonogDB .................................................................. 117
Table 7 Jeu de données ..................................................................................................................................... 125
Table 8 Taille du corpus d'entrainement et test pour l'approche à un niveau ............................................. 129
Table 9 Taille du corpus d'entrainement et test pour l'approche à deux niveaux ....................................... 129
Table 10 Évaluation de la classification à un seul niveau .............................................................................. 130
Table 11 Évaluation de la classification à un seul niveau avec annotation manuelle ............................ 131
Table 12 Évaluation de la classification des classes de sentiments de l'approche à deux niveaux .... 132
Table 13 Évaluation de la classification sur les classes Objective-Subjective ....................................... 132
Table 14 Évaluation sans Traitement des lettres répétées et des Majuscules. ........................................ 134
Table 15 Synthèse des meilleurs résultats........................................................................................................ 135
Table 16 Approche un niveau Vs Approche deux niveaux ....................................................................... 136
Table 17 Microsoft Azure ML Vs Notre Système ...................................................................................... 136
X
Liste des abréviations
AD Arbre de Décision
AS Analyse de sentiments
BNB Bernoulli Naïve Bayes
BoWs Bag of Words
CNN Conventional Neural Network
DL Deep Learning
Lol laughing out loud
LSTM Long Short-Term Memory
Mdr Mort De Rire
ME Maximum Entropy
ML Machine Learning
MNB Multinomiale Naïve Bayes
MASA Microsoft Azure for Sentiment Analysis
NB Naïve Bayes
PMI Pointwise Mutual Information
POS Part of Speech
RNA Réseaux de Neurones Artificiels
SO Sentiment Orientation
SVM Support Vectors Machine
TAL Traitement automatique du langage
URL Uniform Resource Locator
WE Word Embedding
XI
Introduction Générale
L’objectif primordial de toute entreprise aujourd’hui face à la concurrence accrue est de
fidéliser ses clients. En effet, de plus en plus d’entreprises se dotent d’outils lui permettant
d’analyser le comportement de leur client vis-à-vis de leurs produits, leurs degrés de
satisfaction ainsi que d’estimer la probabilité qu’ils partent chez les concurrents. Si autrefois
les données permettant d’obtenir cette information coutaient très cher, aujourd’hui grâce à la
place centrale qu’occupe le client dans les systèmes d’information des entreprises et à la
prolifération des médias de communication et des média sociaux en particulier, le fossé entre
les aspirations des clients et les entreprises a tendance à se réduire.
Le développement des plateformes sociales a changé la manière de communiquer entre
individus ainsi que de produire de l'information. Désormais, l'information, en plus d'être
présentée sous la forme de texte, est aussi tirée des différentes interactions des utilisateurs sur
les plateformes sociales (mentions, follow, j'aime, ...) permettant ainsi de traduire l'opinion des
utilisateurs vis-à-vis des contenus.
En effet, selon GlobalWebIndex 1, une personne sur trois utilise les médias sociaux. Ceci donne
une idée sur le contenu utilisateur gigantesque généré sur ces plateformes. En effet, (Pak and
Paroubek, 2010) affirment que les internautes utilisent de plus en plus les médias sociaux en
raison d'un format plus libre de messages et d'un accès facile aux plates-formes. (Pang and Lee,
2008) rapportent que près de 87% des lecteurs de commentaires en ligne qui portent sur des
avis des restaurants, des hôtels et autres services admettent que ces derniers ont eu une certaine
influence sur leur consommation.
Ainsi, les plateformes sociales apparaissent comme des sources d'évidence primordiales pour
les entreprises qui ont le besoin permanent de cibler les profils des clients susceptibles
d'acheter leurs produits ou d'influencer de potentiels client.
De ce fait, la fouille des médias sociaux connait un intérêt croissant dans divers milieux
scientifiques et économiques. En effet, les entreprises s’intéressent principalement aux
utilisateurs de ces réseaux et cherchent à les caractériser selon deux axes : (1) leur expertise et
leur réputation, (2) les sentiments qu’ils expriment vis-à-vis d’un service ou d’un produit.
Nous nous intéressons dans ce projet de fin d’étude à l’analyse des sentiments en particulier.
Cette discipline permet de déterminer automatiquement l'opinion à partir du texte récolté
depuis plusieurs sources (essentiellement des plateformes sociales). Nous partons de l’idée que
les opinions des individus qui pourraient être des clients et les clients potentiels pourraient
1GlobalWebIndex combine la plus grande étude en cours au monde sur le monde numérique avec des
analyses puissantes pour servir comme un principal fournisseur de données de mesure à l'industrie du
marketing mondial.
12
avoir un enjeu stratégique pour une entreprise donnée. Ils permettent de connaitre et
comprendre la réputation de la marque à travers des retours d'information sur l'expérience
vécue par les consommateurs. Ceci permettra typiquement de répondre à des questions :
➢ Est-ce que les gens ont tendance à promouvoir ou non nos produits ?
Le domaine d’analyse des sentiments a ainsi suscité de nombreux travaux de recherche qui ont
inspirés les industriels à développer des outils d’analyse des sentiments génériques ou sur
mesures. Le challenge est d’arriver à traduire du texte écrit en langage naturel et spontané en
opinion positive ou négative par exemple. Ce texte est non structuré est parfois annotés par ce
que l’on appelle des émoticônes, des hashtags ou des gifs qui sont utilisés pour appuyer les
commentaires et exprimer une opinion. De nombreux travaux ont été proposés dans la
littérature et les applications sont aussi nombreuses. Les performances de ces modèles
différents selon plusieurs critères notamment la langue utilisée. Dans certains contextes, les
utilisateurs utilisent le dialecte pour s’exprimer sur les réseaux sociaux et la question que l’on
se pose alors est comment identifier les opinions sur les réseaux sociaux ?
13
Problématique
Ayant constaté que très peu de travaux se sont intéressés au dialecte dans l’analyse des
sentiments, notre objectif à travers ce PFE est de mener une étude bibliographique pour
identifier les approches d’analyse de sentiments dans la littérature afin de dresser leurs forces
et faiblesses et de proposer une approche permettant l’analyse des sentiments à partir de textes
exprimés en dialecte sur les médias sociaux.
Pour atteindre notre objectif nous avons organisé notre travail comme suit :
Introduction générale
Nous entamons notre rapport par une introduction générale suivie par une problématique qui
va nous permettre de bien cadrer notre travail ainsi que nos objectifs que nous avons soulignés
dès le début de notre projet de fin d’études pour avoir une vision claire de notre finalité.
Nous entamons la seconde partie du rapport par un chapitre qui comportera les notions de bases
et les définitions indispensables pour appréhender le domaine d'analyse de sentiments. Nous
aborderons par la suite le domaine de l'analyse de sentiments en présentant ses différents
niveaux et ses domaines d’applications, ensuite nous citons les problèmes liés à l’analyse des
sentiments dans les réseaux sociaux, à la fin nous présentons le processus général de l’analyse
de sentiments ainsi que les différentes métriques utilisées pour évaluer une démarche AS.
Nous aborderons dans ce chapitre, les différentes approches et techniques utilisées pour la
construction du lexique et la catégorisation des sentiments tout en mettant en évidence les
différentes méthodes utilisées.
Nous présenterons dans un second temps en détails l'analyse de sentiments basée sur
l'apprentissage automatique et le processus complet ainsi que les techniques appliquées pour
ce faire. Par la suite l’approche hybride qui combine les deux approches citées précédemment,
Nous étaierons nos propos par des exemples de la littérature et des travaux phares réalisés dans
le contexte d'analyse de sentiments.
14
Partie II : Contribution : Conception, réalisation et étude de cas
La troisième et dernière partie du rapport sera dédiée à l'aspect pratique de notre solution et
abordera plus en détails les choix de conception et de réalisation pris tout au long du projet
ainsi qu’une présentation du projet de référence.
Chapitre 3 : Conception
Nous expliquerons à ce niveau notre vision de la solution en allant du chargement des données
à la visualisation en passant par la description du projet de référence et l'analyse de sentiments.
Nous consacrerons une partie de ce chapitre au traitement spécialement appliqué pour traiter
quelques aspects du langage utilisé notamment le dialecte.
Nous présenterons dans ce chapitre l'intégralité des technologies et outils utilisés pour réaliser
notre solution et son déploiement. Nous présenterons dans un deuxième temps la phase
d'évaluation du système d'analyse de sentiments pour valider le modèle construit.
Conclusion et perspectives
Et pour conclure, la quatrième partie exposera la synthèse de notre projet et oriente les
perspectives de la solution.
15
Partie I : état de l’art
16
Chapitre I : Généralités sur l’analyse
de sentiments
L’analyse de sentiments est définie par Pang et Lee (2008) comme étant « le traitement
informatique de l’opinion, du sentiment et de la subjectivité dans le texte ». Il s’agit de détecter
automatiquement si un élément par exemple, une revue de produit ou un article de blog, sous
forme de texte, d’image ou de vidéo exprime une opinion positive ou négative à propos d'une
entité donnée telle qu’un produit ou un service, une personne ou un parti politique
Dans ce chapitre, nous présentons les définitions de base gravitant autour de l’analyse de
sentiments. Ensuite, nous citons ses différents domaines d’applications. Nous aborderons en
second lieu le domaine de l'analyse de sentiments en présentant les problèmes liés à cette
analyse et ses différents niveaux d’applications. Enfin, nous donnons le processus général de
l’analyse de sentiments ainsi que la phase d’évaluation.
17
Chapitre I : Généralités sur l’analyse de sentiments
I. Définitions et Concepts
Lorsqu'on aborde le domaine de la fouille d'opinions ou l'analyse de sentiments, l'une des
premières questions à se poser pourrait être la suivante : Quelle est la différence entre un
sentiment et une opinion ? Une deuxième question est : Où trouve-t-on des opinions sur le web ?
Pour y répondre, nous allons d'abord définir les concepts se rapprochant du sentiment à savoir :
l'émotion, le sentiment et l'opinion.
I.1. L’Émotion
Rosenberg and Turner (1990) définissent une émotion sur un plan psychologique comme un
état complexe de l'organisme, impliquant des changements corporels, et sur un plan mental
comme étant un état d'excitation ou de perturbation, marqué par une impulsion envers un
comportement définit.
Quant à Myers (2004), il définit l'émotion comme étant une expérience psychophysiologique
complexe et intense avec un début brutal et une durée relativement brève.
Larousse 2002 la présente sous une réaction affective transitoire d'assez grande intensité, tandis
que le dictionnaire en ligne l'Internaute la définit comme la manifestation d'un sentiment,
18
Chapitre I : Généralités sur l’analyse de sentiments
Pour une lecture aisée, il est recommandé dans (Plutchik 1980), de lire le deuxième cercle en
premier. Par exemple l’émotion de joie s’oppose à celle de la tristesse
Aussi, nous pouvons constater que plus nous allons vers l'extérieur, plus les couleurs
deviennent plus claires, signifiant des émotions moins intenses, tandis que plus nous allons
vers l'intérieur de la roue, les couleurs sont plus tenaces, ce qui signifie que les émotions sont
plus intenses. Exemple : si on prend la partie jaune du centre de la roue, on commence par
extase, ensuite joie et ensuite sérénité, on remarque que l'émotion est la même mais c'est
l'intensité qui varie (voir Figure 1).
➢ Modèle d'Ekman : L'un des modèles les plus connus et utilisés est le modèle d'Ekman qui fut
un des pionniers dans l'étude des émotions et qui a conçu une liste des émotions qu'il a, par la
suite, enrichi.
L’auteur a conçu cette liste des émotions de base à partir de recherche transculturelle sur une
tribu de Papouasie-Nouvelle-Guinée. Il a observé le fait que des personnes isolées du monde
ayant une culture d'âge de la pierre peuvent identifier les expressions de l'émotion de personnes
sur des photographies dont les cultures sont inconnues. Ces gens pouvaient également attribuer
les expressions du visage à des descriptions de situations. Sur cet indice, il a conclu que
certaines émotions de base sont soit biologiques, soit universelles à tous les hommes.
Liste des émotions d’Ekman est la suivante (a) Tristesse, (b) joie, (c) colère, (d) peur, (e) dégout,
(f) surprise, (g) mépris.
I.2. Sentiment
Larousse de Poche 2000 définit le sentiment comme étant un état affectif durable lié à certaines
émotions ou représentations.
Dans Sablonnière (2015), le sentiment est défini comme la composante de l'émotion qui
implique les fonctions cognitives de l'organisme et la manière d'apprécier. Le sentiment est à
l'origine d'une connaissance immédiate ou d'une simple impression.
Rosenberg and Turner (1990) présentent le sentiment d'un point de vue psychologique comme
un concept sociologique basique utile pour analyser le lien des sensations corporelles, la
gestuelle et les relations sociales.
Nous remarquons que la fouille d'opinions et l'analyse de sentiments traitent en fait des
émotions, qui, seront par la suite interprétées en opinions.
19
Chapitre I : Généralités sur l’analyse de sentiments
I.3. Opinion
Larousse de Poche 2000 définit l'opinion comme étant un jugement, un avis ou un sentiment
qu'un individu ou un groupe émet sur un sujet, des faits, ce qu'il en pense ou encore comme
l’ensemble des idées d'un groupe social sur des sujets s politiques, économiques, moraux, etc
(Liu, 2012) reprend à son tour le modèle de (Kim and Hovy, 2004) et celui de (Kobayashi et
al., 2007) en y apportant une nouvelle dimension qui est celle du temps. De ce fait, l'opinion
est représentée sous forme de quintuple à savoir (porteur, objet, aspect, sentiment, temps).
Il existe dans la littérature des classifications de l’opinion selon qu’elle soit ordinaire ou
comparative ou bien selon son type c’est-à-dire sa polarité ou son intensité.
I.3.1. Opinion ordinaire et opinion comparative
a) L’opinion ordinaire
Selon Liu (2007), l’opinion ordinaire est simplement appelée opinion dans la littérature. On
peut cependant distinguer deux types d'opinions
➢ L’opinion directe qui désigne une opinion exprimée directement sur une entité ou un
aspect d'une entité. Par exemple, L'écran de ce téléphone est Impressionnant. Ici l’entité
et le sentiment sont respectivement, l’écran d’un téléphone et impressionnant.
➢ L’opinion indirecte désigne une opinion exprimée indirectement sur une entité ou un
aspect d'une entité basé sur l'effet d'une autre entité. Par exemple, Après avoir changé
de type de carburant, la voiture roulait difficilement.
b) L’opinion comparative
20
Chapitre I : Généralités sur l’analyse de sentiments
❖ Positive
❖ Négative
❖ Neutre
➢ Par niveaux d'intensité On s'intéresse ici à catégoriser les opinions en cinq classes qui
expriment leurs intensités et leurs évaluation rationnelle ou émotionnelle 3 Chaudhuri
(2006)
Après avoir défini quelques concepts ayant trait avec le domaine d’analyse des sentiments
nous abordons dans la section suivante le domaine de l’analyse des sentiments en donnant la
définition du domaine, ensuite nous en exergue les domaines d’application pour y montrer
l’intérêt de la communauté pour ce domaine. Enfin, nous présentons le processus général de
l’analyse des sentiments avec ses étapes clés.
Dans le monde de la recherche académique il s’agit de l'un des domaines de recherche les plus
actifs qui s’articule autour de plusieurs domaines tels que le traitement automatique du langage
naturel, de la fouille de données, la fouille du web ainsi que la fouille de texte (Liu, 2012).
Les premiers travaux de recherche dans l'analyse des sentiments remontent à l'an 2001 (Pang
and Lee, 2008), quand les chercheurs ont pris conscience des problèmes et des opportunités
que peut soulever ce domaine tant dans l’académique que dans l’industriel. Depuis cette date,
la recherche connait un essor considérable que les auteurs attribuent à plusieurs facteurs tels
que :
21
Chapitre I : Généralités sur l’analyse de sentiments
➢ D’un point de vue applications de l’analyse des sentiments, selon Pang et Lee, l’analyse
des sentiments est évoquée dans tout processus décisionnel, que ce soit en vue de
l’achat d’un bien, dans le contexte d’une élection, ou encore pour évaluer la réputation
de son entreprise.
L’analyse des sentiments permet non seulement de catégoriser les avis au sujet d’un produit
( le système de review classification, comme dans le cas des critiques de cinéma), d’en proposer
des résumés, mais aussi de détailler à un niveau fin ces avis (quelle dimension du produit est
appréciée, quelle autre dimension ne l’est pas – on parle alors de « features »). Il peut également
aider à lutter contre le spam en contribuant à détecter les faux avis postés par des agences. Le
site d’enchères en ligne eBay utilise également des outils d’analyse de sentiments pour repérer
les meilleures critiques et les rendre accessibles plus facilement parmi toutes les revues de
produits (et les spams commerciaux) que présente le site. L’équipe des eBay Research Labs a
22
Chapitre I : Généralités sur l’analyse de sentiments
en effet défini des indicateurs de qualité d’un avis sur un produit parmi lesquels la réputation
de l’auteur de l’avis au sein de la communauté des utilisateurs d’eBay, son « seller degree »
qui reflète le cas échéant quel type de vendeur ou d’acheteur il est, et enfin un « expertise
degree » qui reflète la connaissance que l’auteur peut avoir sur un type de produits.
II.1.3. E-commerce et CRM
Dans le domaine du e-commerce et du CRM (ou GRC en français) : acquérir des
connaissances sur ses consommateurs ou anticiper leurs attentes est possible à partir de la
collecte des avis de consommateurs sur un produit, un service, une marque. Le contrôle qualité
des produits peut s’en servir comme d’une veille. Il est aussi possible d’améliorer la relation
client/fournisseur en récupérant les critiques ou avis favorables. Les évolutions à venir des
marchés de consommation courante peuvent être anticipées par des signes précurseurs dans les
tonalités des conversations dès lors qu’on dispose d’un étalon en temps normal ou favorable
pour percevoir ces changements rapides. Une autre application de l’analyse de sentiments
proposée par eBay permet de rechercher la présence de mots-clés sur Twitter pour détecter les
pannes du service signalées par les utilisateurs, avant même que l’alerte ne soit donnée par le
système d’enchères lui-même.
II.1.4. Finance
Dans le domaine financier (prédiction de tendances de marché par exemple). Ainsi dans leur
article « Predicting Movie Sales from Blogger Sentiment », Gilad Mishne et Natalie Glance
utilisent des techniques de sentiment analysis pour améliorer la prédiction du succès
commercial d’un film à partir des blogs. Ils montrent que le constat selon lequel le volume de
citations d’un produit dans les blogs est corrélé avec la réussite financière du produit, peut être
amélioré, au moins dans le domaine du cinéma, en analysant le sentiment positif exprimé dans
les blogs au sujet d’un film, avant sa sortie en salle, et en le comparant avec son score au box-
office2. L’utilisation des techniques de sentiment analysis contribuerait ainsi à construire de
meilleures prédictions que la mesure du simple buzz, surtout si elle était associée à d’autres
types de données comme le genre du film et le moment de sa sortie. Une autre utilisation de
l’analyse de sentiments dans le domaine financier est la classification des dépêches financières
afin d’observer l’impact éventuel de ces dernières sur le prix des actions cotées en Bourse.
C’est ce type d’application que présentent Michel Généreux, Thierry Poibeau et Moshe Kopple
dans leur article « Sentiment analysis using automatically labelled financial news items » en
faisant l’hypothèse que « la réaction du marché suite à la publication d’une dépêche reliée à
une action particulière est un bon indicateur de la polarité de la nouvelle et qu’un algorithme
d’apprentissage à partir de ces dépêches permet de construire un système qui donne à
2
Box-office est un terme emprunté à l'anglais dans son acception de chiffre d'affaires d'une production artistique
ou d'une vedette (et par extension leur classement sous forme de palmarès). Il se mesure en nombre de
spectateurs, de billets écoulés (« entrées ») ou en valeur monétaire fondée sur l'un des deux items précédents.
On parle également d'« échelle de succès », de « classement » calculé d'après le montant des recettes.
23
Chapitre I : Généralités sur l’analyse de sentiments
l’investisseur une source d’information supplémentaire qui peut être exploitée de façon
avantageuse dans une stratégie d’investissement ».
II.1.5. Politique
Dans le domaine politique. La publication croissante sur internet de textes à teneur politique
(lois, rapports, billets de blogs politiques, etc.) et le constat que la politique ne se fait plus
seulement dans les hémicycles mais aussi dans les débats en ligne, a conduit certains
chercheurs à utiliser les techniques d’analyse de sentiments pour déterminer l’accord ou le
désaccord des commentateurs avec telle ou telle proposition de loi. Dans leur article « Get out
the vote : Determining support or opposition from Congressional floor-debate transcripts »,
Matt Thomas, Bo Pang et Lillian Lee espèrent faciliter la reconnaissance du positionnement
d’un orateur dans un débat politique grâce a l’analyse de sentiments. D’autres recherches
tentent par exemple d’analyser en masse les commentaires et opinions des citoyens américains
lors de l’élaboration des réglementations proposées par les agences indépendantes du
gouvernement.
II.1.6. Veille
Dans le domaine de la veille. Les techniques d’analyse de sentiments permettent de classer de
grandes quantités de textes, rapports, conversations informelles sur des produits ou des
dirigeants d’entreprises, etc., peuvent être utilisées dans le domaine de la veille, qu’elle soit
économique, technologique, stratégique ou institutionnelle. Ainsi espère-t-on par exemple
mettre en place des systèmes d’évaluation de la réputation des entreprises en rassemblant dans
des bases de données des faits et opinions trouvés sur le web et permettant de tracer le profil
de telle ou telle entreprise.
Quel que soit le domaine d’application, le processus d’analyse des sentiments reste le même.
Nous décrivons dans ce qui suit l’analyse des sentiments d’un de vue recherche et d’un point
de vue TAL en particulier. Nous verrons par la suite dans le processus de l’analyse de sentiment
que les taches cruciales sont celle de la collecte et du prétraitement dont dépend fortement le
résultat
II.2. Analyse de sentiments
II.2.1. L’analyse de sentiment d’un point de vue TAL
Le domaine de la fouille d'opinions est au départ lié au traitement du langage naturel, il
s'approprie donc ses difficultés. Quelle que soit la méthode utilisée, toutes les subtilités du
langage ne peuvent être reconstituées sous forme d’algorithmes pour être reconnues par un
système informatique. En effet, la langue comprend différents niveaux d’articulation (Floriane
Chariault 2014), chaque niveau comportant son lot de difficultés :
24
Chapitre I : Généralités sur l’analyse de sentiments
➢ Niveau lexical
➢ Niveau syntaxique
➢ Niveau sémantique
➢ Niveau pragmatique
II.2.1.1. Niveau lexical
Les données textuelles sont soumises à des formes orthographiques particulières. Les fautes
d’orthographe, fréquentes dans les médias de type forums ou réseaux sociaux, ne font que
compliquer l’analyse automatique d’un texte.
Il en est de même avec les diverses formes orthographiques possibles que génère l’utilisation
du langage SMS ou encore les abréviations afin de respecter la limite des 140 caractères sur
Twitter, par exemple, « Y’a que moi qui arrive pu ouvrir fb ak mon iPhone ? »
II.2.1.2. Niveau syntaxique
L’information étant sous forme de texte libre et donc en langage naturel, l’analyseur peut être
confronté à des formes syntaxiques hétérogènes, ne répondant pas toujours aux normes
grammaticales habituelles. Le langage utilisé par certains internautes est spontané et peut
parfois être désordonné. Les mots ne sont pas toujours employés dans leur forme originale. Les
internautes n’hésitent pas à modifier la structure des phrases (absence de verbes, phrases
incomplètes) et reproduisent parfois à l’écrit certaines caractéristiques liées à l’oral.
Cette simplification d’emploi par les internautes rend l’analyse d’autant plus difficile puisque
les « phrases » ne sont pas toutes construites de la même manière et ne répondent pas toutes
aux mêmes règles. Pour pouvoir analyser n’importe quelle structure de phrase, il faudrait alors
prévoir la reconnaissance d’une multitude de formes syntaxiques, ce qui serait trop complexe
sachant que les usages de la langue évoluent sans cesse.
II.2.1.3. Niveau sémantique
La première difficulté relative à la sémantique est la polysémie des mots, qui peut rendre
ambiguë toute analyse du sens et créer des incompréhensions. Nous pouvons prendre l’exemple
de l’unité lexicale vague dont le sens premier est neutre, soyez averti de la prochaine vague de
précommandes du smartphone LG.
Sa polarité est amenée à varier lorsqu’elle est utilisée dans un contexte différent.
Dans l’exemple ci-dessous, la mention est bien subjective et sa polarité devient négative.
25
Chapitre I : Généralités sur l’analyse de sentiments
Pour ce qui est de l’analyse de sentiments, la difficulté réside également dans l’identification
de phénomènes tels que l’ironie, le sarcasme, l’implicite. Ces phénomènes sont pour la majorité
des cas identifiables par les hommes. Cependant, un analyseur automatique ne peut posséder
toute la connaissance contextuelle que requièrent ces types de phénomènes.
Notons toutefois que certains éléments peuvent permettre d’identifier automatiquement ces
phénomènes langagiers, comme la présence d’un hashtag #ironie dans un tweet.
Maintenant, que nous avons mentionné les problèmes de l’analyse de sentiments, nous allons
rentrer dans ses différents niveaux c’est-à-dire, les niveaux où on peut appliquer cette analyse.
II.2.2. Niveaux d'analyse de sentiments
(Liu, 2012) distingue trois différents niveaux d'analyse de sentiments en se basant sur la
granularité de l'unité de texte considérée par la méthode en question. Ces niveaux sont cités en
partant du plus général au plus fin : le niveau document, le niveau phrase et pour finir le niveau
aspect.
Nous allons dans ce qui suit, aborder plus en détails chacun des trois niveaux en mettant en
évidence leur hypothèse ainsi que leur démarche.
II.2.2.1. Niveau document
L'analyse de sentiments au niveau document part de l'hypothèse que le document exprime une
seule opinion envers une seule entité provenant d'une même source. La tâche principale est
donc la détermination de l'orientation générale du sentiment du document selon les classes qui
peuvent être positive, négative ou neutre. En effet, soit un document d évaluant une entité e, le
but de l'analyse est donc de déterminer le sentiment s du porteur de l'opinion p à propos de
l'entité e. Le sentiment s concerne l'aspect GENERAL dans la représentation en quintuple de
(Liu, 2012).
Dans la pratique, cette représentation affiche plusieurs limites. A vrai dire, un document peut
évaluer plusieurs entités avec des avis différents envers ces dernières, comme il peut aborder
26
Chapitre I : Généralités sur l’analyse de sentiments
une seule entité mais avoir des avis mitigés envers ses différents aspects. Malgré ces limites,
cette représentation s'avère utile lorsque nous traitons des documents courts où l'hypothèse de
départ est souvent vérifiée.
II.2.2.2. Niveau phrase
L'analyse de sentiments au niveau document est jugée trop brute pour une grande partie des
applications c'est pourquoi, la recherche descend à un niveau de détail plus fin qui est le niveau
phrase. La classification des sentiments au niveau phrase considère chaque phrase composant
le document d comme étant une unité de base de l'analyse et part à son tour de l'hypothèse que
la phrase exprime une seule opinion envers une seule entité.
L'hypothèse émise est valable quand il s'agit de phrases simples mais reste limitée quand il est
question de phrases composées où une phrase peut exprimer plus d'un sentiment.
L'analyse de sentiments au niveau phrase consiste en deux tâches qui sont la catégorisation de
la subjectivité et la catégorisation du sentiment. Ces deux tâches sont définies comme suit :
Le terme aspect fait référence à un attribut ou une fonction de l'entité évaluée. Pour une analyse
plus complète, il faut détecter les aspects d'un sujet et déterminer les sentiments relatifs à ces
derniers (Liu, 2012). L'objectif est de découvrir tous les quintuples (porteur, objet, aspect,
sentiment, temps) dans un document d donné.
Par exemple dans la phrase : La qualité d'image de la caméra est géniale mais elle et très chère,
l'analyse de sentiments au niveau aspect doit détecter un sentiment positif envers l'aspect
"qualité d'image" ainsi qu’un sentiment négatif envers l'aspect "prix".
27
Chapitre I : Généralités sur l’analyse de sentiments
Nous présentons dans cette sous-section le « sourcing » ainsi que quelques sources de données
généralement utilisées dans l’analyse de sentiments. Nous montrons aussi que toute approche
d’analyse de sentiments commence par la collecte de données qui est un aspect important pour
ce type d’analyse. En effet, selon plusieurs travaux comme Taboada et al. (2011), Medhat et
al. (2014), Saleh et al. (2011), le choix de la source de données influe les résultats finaux de
l’analyse.
II.3.1. Le sourcing et collecte
Le sourcing est le terme par lequel on désigne l’ensemble des opérations, préalables à la
collecte de données, qui visent à identifier des sources (sites web, blogs, forums, etc.) contenant
ou susceptibles de contenir de l’information, (Boullier, D., & Lohard, A. 2012).
Typologie des sources web
Où trouve-t-on des opinions sur le web ? Certains sites ont directement vocation à recevoir des
opinions (notamment en raison de leur caractère social : réseaux sociaux, sites d’avis de
consom-mateurs, micro-blogging, etc.). D’autres, comme les sites de presse par exemple, sont
historiquement tournés vers les faits mais se « socialisent » depuis le « Web 2.0 ».
Ces sites permettent de recueillir des opinions au sujet de produits ou de services. Ils
intéressent tout particulièrement les marques qui peuvent se faire rapidement une idée
de ce que pensent les consommateurs. Ces derniers détaillent parfois très précisément
leurs avis, en évaluant un produit ou un service non seulement dans son ensemble mais
aussi en fonction de ces différentes dimensions et nous verrons que cela a son
importance. Certains sites donnent aux utilisateurs la possibilité de noter la pertinence
des avis proposés par les autres (et ceci, nous le verrons aussi, peut s’avérer très
précieux).
28
Chapitre I : Généralités sur l’analyse de sentiments
Ces sites sont également des lieux où trouver des opinions. Les vidéos, souvent
commentées, que l’on trouve sur YouTube, qualifié de deuxième moteur de recherche
au monde, agrègent des avis sur les publicités et par extensions sur les produits. Les
commentaires associés aux vidéos peuvent renfermer beaucoup d’évaluations
intéressantes.
Les bases de données peuvent dans certains cas être des mines d’informations pour la
veille. Elles font souvent partie du package de sources inspectées par les services de
veille en ligne. De manière générale, le contenu de ces bases est injecté par un
organisme ou une institution et n’est pas ouvert aux commentaires. Ces sources n’ont
quasiment pas d’intérêt dans le cadre d’une analyse d’opinions mais restent très utiles
pour de la veille.
➢ Les blogs
Les blogs sont le lieu privilégié de l’expression en ligne depuis leur explosion en 2004,
une plate-forme de blogs comme Skyrock rassemble près de 35 millions de blogs et
représente ainsi un des premiers acteurs mondiaux sur ce type de supports. Souvent
tenus par une seule personne/entité (mais pas toujours), les blogs permettent d’identifier
plus clairement « qui parle » – contrairement aux sites cités plus haut où l’identité des
personnes est très souvent visible uniquement au travers d’un pseudonyme
(pseudonymat plus qu’anonymat – même si certaines personnes utilisent leur vraie
identité). On trouve plusieurs types de blogs : personnels (journaux intimes – extimité),
de loisirs (cuisine, couture, etc.), commerciaux (blogs d’entreprise, de marque), de
journalistes, d’experts, blogs politiques (élus, partis, syndicats, etc.), etc. Le format
blog invite aux commentaires des lecteurs même si l’auteur peut choisir de fermer les
commentaires.
➢ Les forums
Qu’ils soient rattachés à une marque, à une institution ou encore à une pratique (forum
de santé), les forums ont un format spécifique qui permet à tous de trouver une
information et des conseils précis. Les forums sont souvent animés et modérés. Leur
contenu est hiérarchisé en fonction de « topics » bien distincts les uns des autres et les
utilisateurs peuvent s’y exprimer librement à condition de respecter les règles de
conduite.
29
Chapitre I : Généralités sur l’analyse de sentiments
Un classificateur de langage naturel typique se compose de deux parties : (a) Apprentissage (b)
Prédiction. Tout d'abord, le texte est traité et des caractéristiques sont identifiées. Ensuite un
modèle d’apprentissage utilise ensuite ces caractéristiques pour la prédiction du nouveau texte.
30
Chapitre I : Généralités sur l’analyse de sentiments
Prédiction
Positive Négative
Positive TP FN
Réalité
Négative FP TN
II.4.1. Précision
Cette métrique calcule la capacité du modèle à ne pas se tromper lorsqu'il affecte un message
à une classe donnée. Elle est donnée par le ratio entre le nombre de messages correctement
classés à une classe donnée sur le nombre de messages classés par le classifieur à cette même
classe.
nombre de messages correctement classés
𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑚𝑒𝑠𝑠𝑎𝑔𝑒𝑠 𝑎𝑡𝑡𝑟𝑖𝑏𝑢é𝑠 à 𝑙𝑎 𝑐𝑙𝑎𝑠𝑠𝑒
En utilisant les données de la table de confusion cela donne pour la classe positive (à gauche)
et la classe négative (à droite) :
TP TN
𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑜𝑢 𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑇𝑃 + 𝐹𝑃 𝑇𝑁 + 𝐹𝑁
31
Chapitre I : Généralités sur l’analyse de sentiments
II.4.2. Rappel
Cette métrique calcule la capacité du modèle à bien détecter les messages appartenant à une
classe donnée, elle est donnée par le ratio entre le nombre de messages correctement classés à
une classe donnée sur le nombre de messages appartenant réellement à cette même classe.
nombre de messages correctement classés
𝑅𝑎𝑝𝑝𝑒𝑙 =
𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑚𝑒𝑠𝑠𝑎𝑔𝑒𝑠 𝑎𝑝𝑝𝑎𝑟𝑡𝑒𝑛𝑎𝑛𝑡 à 𝑙𝑎 𝑐𝑙𝑎𝑠𝑠𝑒
En utilisant les données de la table de confusion cela donne pour la classe positive (à gauche)
et la classe négative (à droite) :
𝐓𝐏 𝐓𝐍
𝑹𝒂𝒑𝒑𝒆𝒍 = 𝒐𝒖 𝑹𝒂𝒑𝒑𝒆𝒍 =
𝑻𝑷 + 𝑭𝑵 𝑻𝑵 + 𝑭𝑷
II.4.3. Fausse acceptation
Cette métrique calcule le taux d'acceptation à tort d'un faux message à une classe donnée, elle
est donnée par le ratio entre le nombre de messages faussement classés à une classe donnée sur
le nombre de messages classés par le classifieur à cette même classe.
nombre de fausses acceptations
𝐹𝑎𝑢𝑠𝑠𝑒 𝐴𝑐𝑐𝑒𝑝𝑡𝑎𝑡𝑖𝑜𝑛 =
𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑚𝑒𝑠𝑠𝑎𝑔𝑒𝑠 𝑎𝑡𝑡𝑟𝑖𝑏𝑢é𝑠 à 𝑙𝑎 𝑐𝑙𝑎𝑠𝑠𝑒
En utilisant les données de la table de confusion cela donne pour la classe positive (à gauche)
et la classe négative (à droite) :
𝐅𝐏 𝐏𝐍
𝑭𝒂𝒖𝒔𝒔𝒆 𝑨𝒄𝒄𝒆𝒑𝒕𝒂𝒕𝒊𝒐𝒏 = 𝒐𝒖 𝑭𝒂𝒖𝒔𝒔𝒆 𝑨𝒄𝒄𝒆𝒑𝒕𝒂𝒕𝒊𝒐𝒏 =
𝑻𝑷 + 𝑭𝑷 𝑻𝑵 + 𝑭𝑵
II.4.4. Faux rejet
Cette métrique calcule le taux de rejet à tort d'un vrai message à une classe donnée, elle est
donnée par le ratio entre le nombre de messages faussement rejetés d'une classe donnée sur le
nombre de messages appartenant réellement à cette même classe.
nombre de faux rejets
𝐹𝑎𝑢𝑥 𝑅𝑒𝑗𝑒𝑡 =
𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑚𝑒𝑠𝑠𝑎𝑔𝑒𝑠 𝑎𝑝𝑝𝑎𝑟𝑡𝑒𝑛𝑎𝑛𝑡 à 𝑙𝑎 𝑐𝑙𝑎𝑠𝑠𝑒
En utilisant les données de la table de confusion cela donne pour la classe positive (à gauche)
et la classe négative (à droite) :
FN FP
𝐹𝑎𝑢𝑥 𝑅𝑒𝑗𝑒𝑡 = 𝑜𝑢 𝐹𝑎𝑢𝑥 𝑅𝑒𝑗𝑒𝑡 =
𝑇𝑃 + 𝐹𝑁 𝑇𝑁 + 𝐹𝑃
II.4.5. F-mesure
Il est possible d'augmenter la valeur de la précision, mais au détriment du rappel et vice-versa,
cette métrique combine la précision et le rappel pour en donner un compromis. Elle est calculée
comme suit :
Précision ∗ Rappel
𝐹 − 𝑚𝑒𝑠𝑢𝑟𝑒 = 2 ∗
𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑎𝑝𝑝𝑒𝑙
32
Chapitre I : Généralités sur l’analyse de sentiments
II.4.6. Exactitude
Cette métrique calcule les performances globales du modèle de classification indépendamment
des classes, elle est donnée par le ratio entre le nombre total de messages correctement classés
par le classifieur sur le nombre total de messages.
nombre de messages correctement classés
𝐸𝑥𝑎𝑐𝑡𝑖𝑡𝑢𝑑𝑒 =
𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑚𝑒𝑠𝑠𝑎𝑔𝑒𝑠 𝑡𝑜𝑡𝑎𝑙
TP + TN
𝐸𝑥𝑎𝑐𝑡𝑖𝑡𝑢𝑑𝑒 =
𝑇𝑃 + 𝐹𝑃 + 𝐹𝑁 + 𝑇𝑁
Dans le domaine de l’analyse de données, on attend beaucoup de la mesure du sentiment ou
d’opinion, l’attribution à chaque message d’une polarité positive, neutre ou négative est
presque devenue un exercice obligé pour tous ceux qui écoutent le web (solutions de
veille, social media analysis). On retrouve également cet indicateur dans les solutions
d’analyse de données dédiées à la mesure de l’expérience client (logiciels d’analyse d’enquêtes,
management de l’expérience client…).
Dans la partie qui suit, nous allons citer quelques domaines et faire un aperçu sur ce que
l’analyse de données a apporté de plus dans ces domaines.
III. Synthèse
Nous avons vu dans ce chapitre les différents concepts de base liés à l’analyse de sentiments,
nous avons défini tout ce qui est sentiment, émotion et opinion.
Ensuite nous avons cité les domaines d’applications et présenté en détail les problèmes liés à
l’analyse de sentiments, nous avons également parlé des niveaux de la fouille de données et
son processus général.
Enfin nous avons abordé la phase d’évaluation et présenté ses différentes métriques qui
permettent de mesurer les performances d’un système d’analyse de sentiments.
33
Chapitre II :
Analyse de sentiments et
construction du vocabulaire
L’analyse des sentiments est souvent considérée comme une catégorisation des sentiments qui
repose sur la construction des ressources lexicales nécessaires, une tâche importante dans ce
domaine. Plusieurs approches et plusieurs outils ont été proposés pour déterminer la classe de
sentiment d'un texte.
Nous abordons dans ce chapitre, les différentes approches et techniques utilisées pour la
construction du lexique. Dans un second lieu nous présentons les approches de catégorisation
des sentiments, les approches sont réparties en trois grandes familles : (1) celles basées sur
l'apprentissage automatique, (2) celles basées sur le lexique et enfin (3) les approches hybrides.
Pour chaque approche, nous présentons une synthèse des travaux les plus cités dans la
littérature. Nous terminons ce chapitre par la présentation des outils d’analyse de sentiments
existants avant de conclure.
34
Chapitre I : Généralités sur l’analyse de sentiments
I. Construction du vocabulaire
Le lexique est une base pour la détermination de la subjectivité du texte étudié. Nous présentons
ci-dessous les définitions des concepts liés à celui du vocabulaire.
I.1. Définitions
Il est à noter que dans la littérature, les termes vocabulaire et lexique sont utilisés
indifféremment pour désigner le même concept.
I.1.1. Lexique
En linguistique, le lexique d'une langue constitue l'ensemble de ses mots Corbin (1987).
I.1.2. Vocabulaire
Toujours dans le Larousse de poche 2000, un vocabulaire est défini comme un ensemble des
termes propres à une science, à une technique, à un groupe, à un milieu, à un auteur ou Ouvrage
comportant les termes spécifiques d'une discipline, d'une technique, le dictionnaire en ligne
l'internaute quant à lui le définit comme étant un ensemble des mots appartenant à un thème
particulier.
Dans ce mémoire nous utilisons les terme vocabulaires et lexique, notre objectif étant de
proposer un système d’analyse de sentiments qui traitant du dialecte.
Par ailleurs, la fouille d'opinions ne traite pas plusieurs domaines (dans la majorité des cas) et
les chercheurs ne s'intéressent généralement qu'aux mots qui expriment une opinion (ou un
sentiment) afin de pouvoir constituer le vocabulaire.
I.1.3. Corpus
35
Chapitre II : Analyse de sentiments et construction du vocabulaire
messages. Plus la taille du corpus est grande plus le modèle construit à partir de l'apprentissage
sur le corpus est de meilleure qualité (P Denis, B Sagot 2013).
Pour la méthode apprentissage automatique le corpus est divisé en trois parties que nous allons
présenter dans ce qui suit.
C'est avec ce corpus que le classifieur fera l'apprentissage sur les messages annotés pour
construire le modèle de classification. Il doit être de taille importante, de façon à bien modéliser
le modèle de classification qui traite le maximum de cas possibles. Ce corpus représente de 80%
à 90% du corpus total.
Ce corpus sert à ajuster les paramètres du modèle d'entrainement jusqu'à l'obtention des
performances optimales, cette phase peut être parfois ignorée si la taille du corpus n'est très
grande. Lorsque qu'il n'est pas ignoré ce corpus représente environ 10% du corpus total.
36
Chapitre II : Analyse de sentiments et construction du vocabulaire
La méthode de construction manuelle est une méthode évidente à première vue mais très peu
utilisée étant donné qu'elle nécessite des ressources humaines expertes et un temps important.
En effet, pour construire un vocabulaire manuellement, il est nécessaire de mobiliser des
experts en linguistique et en psychologie pour pouvoir identifier tous les termes d'opinion, tout
en synchronisant les travaux de chacun afin d'éviter les redondances et de vérifier que
l'ensemble des experts donnent une polarité à un mot qui doit être unique à un degré près par
rapport aux autres (C Quan, F Ren 2009).
Dans cette méthode, on suppose un ensemble de mots de départ appelés mots graines, qui sont
de polarité négative ou positive, ensuite il s’agit d’extraire les mots du corpus qui sont corrélés
aux mots présents dans l'ensemble de départ (Hu and Liu 2004).
L'extraction est basée sur des règles linguistiques, plusieurs chercheurs apportent leurs
contributions. Nous allons voir la méthode basique d'extraction, celle-ci exploite la
connectivité des adjectifs dans une phrase.
37
Chapitre II : Analyse de sentiments et construction du vocabulaire
➢ ET, nous rajoutons alors le mot dans la même classe que le mot graine.
➢ MAIS / CEPENDANT / PAR CONTRE, nous rajoutons alors le mot dans la classe
opposée du mot graine.
Par exemple, l’ensemble des mots de départ contient gentil comme un mot positif, et on a les
deux phrases suivantes : 1) il est gentil et sympa, 2) il est gentil mais vicieux.
Pour la 1ére phrase, le mot sympa est associé gentil, connecté avec un ET, donc il sera ajouté
dans la même classe que gentil, dans la 2éme phrase, MAIS est le connecteur entre gentil et
vicieux, donc il sera dans la classe opposée.
Avantages
➢ Les mots récupérés sont des mots du domaine d'étude étant donné qu'ils proviennent du
corpus.
Inconvénients
➢ Nécessite une vérification (risque d'avoir le même mot plusieurs fois, fautes
d'orthographe, abréviations etc.).
Cette méthode consiste en l'utilisation d'un ensemble de mots d'opinions initial appelés mots
graines et de construire à travers ces mots un ensemble de mots plus grand à travers des
dictionnaires tels que SentiWordNet en cherchant les synonymes et antonymes des mots
graines. (Kamps et al. 2004).
Pour une construction plus avancée certains chercheurs utilisent la distance séparant les mots,
tel que la distance entre deux mots m1 et m2 est dé nit par la longueur du plus court chemin
reliant les deux mots dans SentiWordNet.
Il existe un bon nombre de dictionnaires utilisés dans ces méthodes tels que General inquirer3,
Dictionary of Affect of Language4, WordnetAffect5, WordNet6.
3 http://www.wjh.harvard.edu/~inquirer/
4 http://www.hdcus.com
5 http://wndomains.fbk.eu/wnaect.html
6 http://wordnetweb.princeton.edu/perl/webwn
38
Chapitre II : Analyse de sentiments et construction du vocabulaire
Avantages
➢ Ensemble large de mots acquis à travers les synonymes et antonymes et les mots
récupérés sont corrects (pas d'erreurs d'orthographe).
➢ Ne nécessite pas de vérification vue que la source est déjà validée par des experts
Inconvénients
La méthode hybride vient palier aux inconvénients des deux méthodes précédentes. En effet,
la méthode basée corpus offre un vocabulaire de domaine. Cependant la taille de dernier est
relativement réduite comparé à la méthode basée dictionnaire qui donne un ensemble plus
grand de mots mais qui ne sont pas nécessairement du domaine analysé, (Hu and Liu 2004).
7L'information mutuelle PMI est dérivée de la théorie de l'information, et permet de mesurer la cooccurrence
entre chaque mot w et une classe i.
39
Chapitre II : Analyse de sentiments et construction du vocabulaire
_Une première technique consiste à extraire les synonymes/antonymes des mots graines tout
en affectant les synonymes d'un mot négatif à la classe négative et ses antonymes à la classe
positive Hu and Liu (2004).
_Une autre technique consiste à calculer la distance entre les mots d'opinion graines et un autre
mot donné, qui est généralement Bon ou Mauvais, pour déterminer la polarité de ce dernier.
La distance entre deux mots représente la longueur du chemin le plus court qui les relie dans
WordNet, Kamps et al. (2004).
_Dans ce contexte, Kim and Hovy (2004) ont utilisé une approche probabiliste au lieu de la
vérification manuelle pour prendre ou ne pas prendre un synonyme d’un mot graine dans le
dictionnaire, et cela en calculant la probabilité d'apparition du synonyme dans la même classe
que le mot graine dans le corpus.
Dans la méthode basée corpus, l'ensemble de mots d'opinion initiale est enrichi en utilisant les
messages du corpus. Cette méthode vient corriger l'un des inconvénients de la méthode basée
dictionnaire, qui concerne la création du vocabulaire indépendamment du domaine
d'application, ainsi, en utilisant les mots d'opinion extrait du corpus, le problème du domaine
d'application n'a plus lieu d'être Liu (2012).
_Hatzivassiloglou and McKeown (1997) enrichissent l'ensemble des mots graines en exploitant
les règles linguistiques des phrases. Une des techniques est de chercher les mots du corpus
connectés dans la même phrase à un mot graine, exemple, un mot connecté à un mot graine par
une conjonction de coordination :
➢ ET, on rajoute alors le mot dans la même classe que le mot graine.
➢ MAIS, on rajoute alors le mot dans la classe opposée que le mot graine.
_Une autre technique consiste en la représentation de tous les mots d'opinion connectés sous
forme d'un graphe, ensuite un regroupement est effectué sur le graphe pour produire deux
ensembles de mots d'opinion positifs et négatifs.
40
Chapitre II : Analyse de sentiments et construction du vocabulaire
_Kanayama and Nasukawa (2006) ont enrichi la méthode ci-dessus en exploitant les règles
linguistiques dans une même phrase mais aussi entre les phrases connectées par une virgule
(même classe) ou par connecteur tel que CEPENDANT, PAR CONTRE (classe opposée).
_Turney (2002) propose une méthode statistique pour enrichir le vocabulaire. En effet plusieurs
études montrent que, si deux mots d'opinion apparaissent souvent ensemble dans un corpus, ils
sont susceptibles d'avoir la même polarité. Cette méthode consiste à calculer la corrélation
entre les mots du corpus et les mots graines positifs et négatifs en utilisant l'information
mutuelle PMI.
_Yu et Hatzivassiloglou (2003) proposent une méthode similaire à celle de (Turney, 2002),
mise à part qu’ils utilisent la probabilité qu’un mot non classé soit proche d’un mot classé afin
de mesurer la force de l’orientation du premier nommé.
_Fahrni and Klenner (2008) proposent d'utiliser des documents annotés et indexés, déjà
existants sur le web pour enrichir le vocabulaire, cela est fait en étudiant la corrélation entre
les mots du corpus et leurs apparitions dans les documents annotés positifs et négatifs dans le
web, cette technique est adoptée dans le cas où l'ensemble des mots graine positifs et négatifs
ne suffit pas à déterminer la polarité de certains mots du corpus. Dans leur travail, ils ont choisi
des critiques de restaurants déjà annotés allant de polarité allant de très négative a très positive,
et l'enrichissement du vocabulaire se fait en étudiant la corrélation entre les mots du corpus et
des mots bien et mauvais.
c) Méthode hybride
Abdaoui (2016) sont focalisés sur l’extraction de sentiments (polarité et émotion). Pour cela,
dans un premier temps, ils ont commencé par construire un lexique de sentiments et d’émotions
pour le Français qu’ils appellent FEEL (French Expanded Emotion Lexicon). Ce lexique est
construit de manière semi-automatique en traduisant et en étendant son homologue Anglais
NRC EmoLex, ils ont ensuite comparé FEEL avec les lexiques Français de la littérature sur
des benchmarks de référence. Les résultats ont montré que FEEL permet d’améliorer la
classification des textes Français selon leurs polarités et émotions.
1) Approche basée lexique : Hu and Liu (2004), Kamps et al. (2004), Ding et al. ,
Abdaoui (2016).
2) Approche basée apprentissage automatique : Lu et al. (2010), Taboada et al. (2011).
41
Chapitre II : Analyse de sentiments et construction du vocabulaire
42
Chapitre II : Analyse de sentiments et construction du vocabulaire
La catégorisation basée lexique repose sur le vocabulaire créé avec les méthodes basées
dictionnaire ou basées corpus. La polarité des messages est déterminée en appliquant une
fonction (généralement la somme) sur les mots d'opinions présents dans le message. Cette
fonction détermine un score d’opinion. Plus formellement, tous les mots d'opinion ont une
polarité connue depuis la phase de construction du vocabulaire. Par exemple : magnifique =+5,
aimer = +3, bon = +2, contrarié = -1, haine = -3, catastrophe = -5), la négation et
l'intensification peuvent aussi être prises en considération dans cette approche.
Soit un message M dont nous voulons connaitre la polarité, après prétraitement, le message M
est représenté comme suit : M = (w1, w2, ..., wm), chaque mot wi du vocabulaire est associé à
son score de polarité pi, la polarité du message M est calculé comme suit :
La négation et l'intensification sont prises en considération, si nous travaillons avec les n-
grammes, dans ce cas, c'est la force de polarité pi du n-gramme wi qui est affecté.
Exemple : aimer = +2, ne pas aimer = -2 (négation), bon = +2, très bon = +4 (intensification).
Où g(t) est la somme des orientations du message M. L’orientation(w) est égale à 1 si positive,
-1 si négative et 0 si neutre.
Exemple : J'ai acheté un iPhone il y a quelques ²jours. (2) C'était un bon téléphone. (3) L'écran
tactile était vraiment cool. (4) La qualité de la voix était claire aussi. (5) Cependant, ma mère
était folle de moi comme je ne le lui avais pas dit avant que je l'achète. (6) Elle pensait aussi
que le (prix du) téléphone était trop cher et voulait que je le retourne au magasin.
L’un des travaux les plus cité dans cette approche est celui de Liu et al. (2005). Les auteurs
décrivent un système, Opinion Observer, qui permet de comparer des produits concurrents en
utilisant les commentaires postés par les internautes. Pour ce faire, ils se basent sur une liste
prédéfinie de termes désignant des caractéristiques de produits. Lorsqu’une de ces
43
Chapitre II : Analyse de sentiments et construction du vocabulaire
caractéristiques est présente dans un texte (commentaire), le système extrait les adjectifs
proches dans la phrase. Ces adjectifs sont ensuite comparés aux adjectifs présents dans leur
dictionnaire d’opinion et ainsi, une polarité est attribuée à la caractéristique du produit.
Lu et al. (2010) ont calculé la force de polarité de critiques en sommant la force de polarité des
adjectifs et adverbes présents dans la phrase en prenant un vocabulaire d'adjectifs et d'adverbes,
la force d'un adjectif ou d'un adverbe varie entre +1 et -1.
Dans cette étude, les polarités des adjectifs et adverbes d'une phrase sont sommées, ce qui
permet d'obtenir sa force de polarité. Si cette dernière est positive, la critique est classée
positive sinon, elle est classée négative, cela a donné une exactitude de 71.65%.
Taboada et al. (2011) quant à eux, ils ont calculé la force de polarité de chaque mot du
vocabulaire essentiellement composé d'adjectifs en utilisant la technique d'agrégation et de
moyenne, ils ont aussi pris en compte l'intensification et la négation, le test a été fait sur
plusieurs corpus et le meilleur résultat signalé est de 90% d'exactitude.
Turney (2002) par contre, a utilisé un moteur de recherche pour classer des critiques dans
différents domaines. Il a choisi comme deux mots graines le mot excellent pour exprimer
l'opinion positive et le mot mauvais pour exprimer l'opinion négative. Il a ensuite effectué une
recherche avec le terme hits pour avoir la corrélation entre les phrases et le mot excellent et la
phrase et le mot mauvais en utilisant un moteur de recherche. Le mot hits dans le moteur de
recherche choisi par Turney qui est AltaVista, donne le nombre de fois où la phrase en entrée
est trouvée sur le web en compagnie du mot excellent et le divise par les fois où la même phrase
a été trouvée avec le mot mauvais tel que, SO désigne l'orientation de la phrase (Sentiment
Orientation). SO est donnée par la formule suivante :
𝐻𝑖𝑡𝑠 (𝑝ℎ𝑟𝑎𝑠𝑒 𝑁𝐸𝐴𝑅 𝑒𝑥𝑐𝑒𝑙𝑙𝑒𝑛𝑡)ℎ𝑖𝑡𝑠 (𝑝𝑜𝑜𝑟)
SO (phrase) = log2
ℎ𝑖𝑡𝑠 (𝑝ℎ𝑟𝑎𝑠𝑒 𝑁𝐸𝐴𝑅 𝑝𝑜𝑜𝑟)ℎ𝑖𝑡𝑠 (𝑒𝑥𝑐𝑒𝑙𝑙𝑒𝑛𝑡)
Si SO est positif alors la phrase est positive, sinon si SO est négatif la phrase est négative. Ce
modèle a donné une exactitude moyenne de 74.4%.
L'approche basée lexique a l'avantage de ne pas avoir besoin d'annotation manuelle, mais ne
donne pas toujours de très bons résultats surtout en termes de rappel, donc plusieurs messages
porteurs d'opinion positive ou négative sont détectés comme neutre, cela est dû à la simplicité
des algorithmes de catégorisation de cette approche et aux mots qui apparaissent dans les
messages du corpus exprimant une opinion positive ou négative et qui ne sont pas dans le
vocabulaire.
44
Chapitre II : Analyse de sentiments et construction du vocabulaire
La catégorisation des documents en fonction de la nature de l'opinion qui y est exprimée peut-
être résolue à l'aide d'une approche basée sur l'apprentissage automatique. Ce problème peut
être assimilé à une tâche de classification automatique en se basant sur des algorithmes
d'apprentissage automatique (Pang et al., 2002).
Ainsi, l'analyse de sentiments adopte une approche qui découle directement de la fouille de
texte. Cette dernière est très utilisée en raison de ses résultats satisfaisants.
La principale tâche est donc de déterminer si un texte donné appartient à la classe de documents
positifs, négatifs ou neutres grâce à des algorithmes de classification comme le Naïve Bayes
ou le SVM. Ces algorithmes sont entrainés sur un ensemble d'exemples de documents dont la
classe est connue au préalable dit corpus.
Nous allons présenter en détails toutes les étapes et techniques qui s'appliquent à l'apprentissage
automatique dans le domaine de l'analyse de sentiments. Cette section est expressément plus
longue que les deux autres étant donné l’importante des différentes étapes et le succès qu’ont
connu ces approches. Nous présentons dans cette section les différentes étapes qui composent
un tel système.
II.2.1.1. Prétraitement
Les textes contenus dans le corpus jusqu'à présent sont bruts, ils ont donc besoins de quelques
traitements additionnels avant de passer à la phase d'analyse, ces traitements rentrent dans le
cadre de la phase de prétraitement.
Définition
Haddi et al., (2013) définissent le prétraitement des données comme étant le processus de
nettoyage et de préparation du texte pour la classification. Ils affirment que les textes
disponibles en ligne contiennent beaucoup de bruit et de parties non informatives comme les
balises HTML ou les scripts. De plus, beaucoup des mots trouvés dans le textes n'ont aucun
impact sur l'orientation générale de ce dernier.
La phase fait appel à des techniques comme la suppression des mots vides ou encore la
lemmatisation, des techniques que nous détaillerons dans la suite du rapport.
45
Chapitre II : Analyse de sentiments et construction du vocabulaire
Techniques
La phase de prétraitement fait appel à des techniques qui peuvent modifier la forme d'un mot
ou l'éliminer complètement. Les techniques en question sont, à titre d'exemple, la suppression
des caractères spéciaux, les marques de ponctuation, la normalisation de la casse ou encore la
suppression des mots vides. On peut également appliquer des fonctions plus élaborées comme
la lemmatisation ou la racinisation.
Le choix des techniques et l'ordre de leur application est déterminé en fonction des besoins, du
contexte et du type de données. En effet, certaines techniques sont pertinentes pour un certain
type de textes tandis que d'autres ne le sont pas. Nous allons dans ce qui suit présenter les
méthodes de prétraitement les plus utilisées dans la fouille de textes.
➢ Tokenisation
Prenons comme exemple le texte suivant : "Oeredoo est superbe, j'adore :-)"
Résultat après tokenisation: "Ooredoo", "est”, "superbe”, "j", "adore", " :-)"
Les mots qui sont les plus fréquemment utilisés dans le langage sont souvent inutiles et
sont vides de tout sens pour l'analyse de sentiments. Ces mots sont appelés "mots vides"
et ne sont que des mots outils tels que les pronoms ou les prépositions de conjonction.
Il faut donc supprimer ces mots vides, une étape qui a bien fait ses preuves dans les
rapports de (Xue and Zhou, 2009) qui ont démontré l'apport de cette suppression sur la
précision du système.
➢ Racinisation
La stemmatisation ou racinisation est le nom donné au procédé qui vise à transformer
les flexions8 en leur radical ou stemme en ôtant les suffixes et les préfixes grâce à des
algorithmes bien connus. Beaucoup d'algorithmes de racinisation ont été proposés
depuis les années 1960, nous citons celui de Porter qui est de loin le plus utilisé (Jivani
et al., 2011).
8 Les formes différentes que peut prendre un mot lorsqu'il est accordé, décliné ou conjugué
46
Chapitre II : Analyse de sentiments et construction du vocabulaire
➢ Lemmtisation
Autres techniques
En plus de ces techniques, le prétraitement peut inclure d'autres étapes comme la normalisation
de la casse ou encore la suppression des accents. Le contexte des réseaux sociaux lui aussi
implique un certain nombre de traitements particuliers, nous citions :
➢ La suppression des lettres répétées : Les internautes ont tendance à utiliser une suite
de lettres répétées dans un même mot pour exprimer l'intensité du sens que porte ce
dernier. Cela dit, cette répétition des lettres génèrent des mots incorrects et absents des
dictionnaires c'est pourquoi il faut éliminer les lettres obsolètes.
➢ Substitution des hashtags : L’hashtag est un marqueur qui prend la forme d'un ou
plusieurs mots accolés précédés par un dièse (#). Cette manière d'écrire est couramment
utilisée dans les réseaux sociaux afin de marquer un contenu avec des mots clés dans le
but de mettre l'accent sur eux.
II.2.1.2. Annotation
Dans ce type d’approches, le corpus est divisé en deux partie, un corpus d’entrainement et un
corpus de test (voir section I.1.3).
47
Chapitre II : Analyse de sentiments et construction du vocabulaire
Le corpus de test est aussi annoté pour évaluer le modèle donné par le classifieur dans la phase
d'entrainement, en appliquant les métriques d'évaluation. Cette étiquette représentera la
véritable classe du message (CC Aggarwal, CX Zhai 2012).
Annotation manuelle
L'annotation manuelle ou l'annotation humaine permet de façon sûre que tous les messages
auront la bonne étiquette, ce qui est parfait pour que le classifieur construit un bon modèle de
classification.
Son inconvénient : peut être difficile et très coûteux en temps à mettre en œuvre (CC
Aggarwal, CX Zhai 2012).
Annotation automatique
L'annotation automatique se fait avec une approche basée lexique, cette méthode vient
remédier au coût de temps de l'annotation manuelle mais ne donne pas toujours une très bonne
annotation et le taux d'erreur est souvent élevé, ce qui ne permet pas de construire un bon
modèle de classification (CC Aggarwal, CX Zhai 2012).
Les messages textuels peuvent être représentés de deux façons distinctes : (1) La première est
la représentation en sac de mots, dans laquelle un message est représenté comme un ensemble
de mots indépendants les uns des autres, avec leurs fréquences associées dans le message. (2)
La deuxième méthode consiste à représenter le message sous forme d'une séquence de mots du
message (des unités sémantiques qui peuvent être des bi-grammes ou des concepts).
On s'intéresse à la représentation en sac de mots qui est majoritairement utilisée par les
chercheurs en raison de sa simplicité pour le processus de classification (G Forman, 2003).
On représente les messages sous la forme de l'ensemble des mots du vocabulaire.
48
Chapitre II : Analyse de sentiments et construction du vocabulaire
Inspiré des techniques de Recherche d’Information, Le poids peut être estimé de plusieurs
façons, nous citons dans ce qui suit les plus utilisées.
1. Représentation booléenne
Dans cette représentation, le poids wij (importance) d’un terme ti est estimé selon sa fréquence
d'apparition dans le document di ainsi le montre la formule suivante :
49
Chapitre II : Analyse de sentiments et construction du vocabulaire
Où TF (tj ; di) est le nombre d'apparitions de tj dans le document di. Cette représentation,
contrairement au modèle booléen, accorde de l'importance à la fréquence d'apparition du mot
dans le document en partant du principe que plus un mot est fréquent, plus il a de l'importance.
La motivation derrière la mise en place de cette mesure de pondération se résume en ces deux
points :
➢ Réduire l'importance des termes les plus fréquents dans le corpus et qui apparaissent
dans pratiquement tous les documents à l'image des mots outils,
➢ Accorder plus d'importance aux mots qui n'apparaissent que dans très peu de documents
du corpus.
Où :
➢ TF(tj ; di) reprend la même définition que dans la pondération en fonction des
fréquences.
➢ IDF(tj) représente la fréquence inverse de document, IDF(tj) = log (N.DF (tj)) avec : N
la taille du corpus.
4. Word Embedding
Le Word Embedding (WE) est une méthode se focalisant sur l'apprentissage d'une
représentation vectorielle et distributionnelle de mots. Plus spécifiquement, le WE permet de
représenter chaque mot d'un dictionnaire par un vecteur de nombres réels correspondant à ce
message. L’idée derrière les WE est que les mots apparaissant dans des contextes similaires
possèdent des vecteurs correspondants qui sont relativement proches. Par exemple, les mots
« chien » et « chat » peuvent être représentés par des vecteurs relativement peu distants dans
l'espace vectoriel où sont définis leurs vecteurs respectifs. Selon (Goldberg and Levy 2014), la
méthode WE peut être basée sur la prédiction des contextes des mots dans le sens où elles
fournissaient des probabilités de proximité Ainsi, le word embeddings est capable de trouver
que King - man + woman = Queen, sans avoir recours à une ressource sémantique ou à une
intervention humaine. L’une des mises en œuvre les plus connue des WE est le Word2vec
(Goldberg and Levy 2014). Ce dernier intègre deux techniques- CBOW (Continuous Bag Of
Words) et Skip-Gram Model qui sont des réseaux de neurones. Leur rôle est de mettre en
50
Chapitre II : Analyse de sentiments et construction du vocabulaire
correspondance un ou des mots avec une cible variable qui est également un mot. Ces deux
techniques apprennent des poids qui représentent des vecteurs de mots.
La façon dont fonctionne le CBOW est de prédire la probabilité d'un mot donné dans un
contexte. Un contexte peut être un seul mot ou un groupe de mots.
Avantages du CBOW :
❖ Être probabiliste, il est censé être supérieur aux méthodes déterministes (en général).
❖ Léger sur la mémoire. Il n'a pas besoin d'avoir d'énormes RAM comme celle de la
matrice de cooccurrence où elle doit stocker trois énormes matrices.
Inconvénients du CBOW :
❖ CBOW prend la moyenne du contexte d'un mot Par exemple, Apple peut être à la
fois un fruit et une entreprise, mais CBOW prend en moyenne les deux contextes et
les place entre un cluster pour les fruits et les entreprises.
❖ La formation d'un CBOW à partir de rien peut prendre une éternité si elle n'est pas
correctement optimisée.
➢ Modèle Skip-Gram
Skip-gram suit la même topologie que le CBOW. Cela ne fait qu’inverser l'architecture de
CBOW. Le but de skip-gram est de prédire le contexte donné d’un mot.
Avoir une représentation vectorielle des mots permet d’utiliser ces vecteurs comme des
caractéristiques dans un grand nombre de tâches de base de traitement du langage comme
la classification de texte. On peut aussi alimenter un réseau de neurones avec nos vecteurs
caractéristiques des mots.
51
Chapitre II : Analyse de sentiments et construction du vocabulaire
ordinateurs de s'entraîner sur les entrées de données et utilisent l'analyse statistique pour
produire des valeurs qui se situent dans une plage spécifique. Pour cette raison, l'apprentissage
automatique facilite l'utilisation des ordinateurs dans la construction de modèles à partir de
données d'échantillonnage afin d'automatiser les processus de prise de décision en fonction des
données saisies, (Lu et al. 2010).
Il existe une variété d’algorithmes dans la littérature, parmi eux nous citons :
Le classifieur k-plus proche voisins (k-ppv) est le classifieur le plus simple. La classification
de chaque nouveau message s’effectue en déterminant, parmi les messages préalablement
classés (càd annotés), la classe majoritaire de ses k plus proche voisins. Le principe de base
consiste à calculer la distance entre les messages annotés et le nouveau message à classer, donc
il n'y pas de réelle phase d'apprentissage avec les k-plus proche voisins, (Lu et al. 2010).
Le classifieur Naïve Bayes est le classifieur le plus couramment utilisé dans le domaine de
l’analyse des sentiments Il s’agit d’un modèle de classification probabiliste permettant
d’associer un message à une classe donnée. Un message est représenté par la distribution de
ses mots. Elle est estimée par la probabilité à postériori d'une classe, (Agarwal, Xie,Vovsha,
Rambow, and Passonneau 2011).
Plus formellement, soit M un message que nous voulons classer. M est représenté par les mots
du vocabulaire M = (w1, w2, ..., wm) et la classe C appartient à {-1, +1} où -1 est négative, +1
est positive.
P (C|M), le classifieur est basé sur le théorème de Bayes défini comme suit :
P(C) . P(M|C)
𝑃(𝐶|𝑀) =
𝑃(𝑀)
Equation 5
La méthode Naïve Bayes suppose que les mots de M sont indépendants d'où :
𝑃(𝑀 |𝐶) = 𝑃(𝑤1 |𝐶). 𝑃(𝑤2 |𝐶) … 𝑃(𝑤𝑚 |𝐶)
Equation 6
52
Chapitre II : Analyse de sentiments et construction du vocabulaire
En Supposant d'indépendance des mots, l'équation peut être formulée comme suit :
Equation 7
P (C)P (w1|C) ·P (w2|C) .... · P (Wm|C) entre les deux classes positive et négative, soit Cˆ
estimée comme suit ainsi :
𝐶̂ = 𝑎𝑟𝑔𝑚𝑎𝑥 ( 𝑃(𝐶) 𝑃(𝑤1 |𝐶). 𝑃(𝑤2 |𝐶) … 𝑃(𝑤𝑚 |𝐶)
Equation 8
Les probabilité P (C) et P (wi| C) sont calculées à partir des statistiques du corpus
d'entrainement.
𝑁𝑊1𝐶 + 1
𝑃(𝑤𝑖 |𝐶) =
𝑁𝐶 + 2
Equation 9
c) Le Maximum d’Entropie
Considérons un message M que nous voulons classer, le message est représenté par les mots
du vocabulaire M = (w1, w2, ..., wm) et la classe C ∈ {−1, +1}.
La fonction fwi (M, C) est appelée la fonction caractéristique de wi, elle permet de définir les
contraintes du modèle, elle est dé ni comme suit :
λwi représente le poids du mot wi (force de polarité), les paramètres λwi sont définis
de façon à maximiser l'entropie tout en respectant les contrainte définis par fwi (M, C).
53
Chapitre II : Analyse de sentiments et construction du vocabulaire
Le classifieur maximum entropie ne fait aucune hypothèse d'indépendance entre les mots de M
contrairement à Naïve Bayes.
Les arbres de décision représentent l'une des méthodes les plus connues et les plus utilisées en
classification, en particulier dans la fouille d'opinions, ils ont l'avantage d'être lisibles et très
faciles à comprendre et à interpréter ce qui est une des raisons de leurs succès.
La méthode consiste à détecter les mots du vocabulaire qui permettent de répartir les messages
en classes positive et négative, nous commençons par choisir le mot qui discrimine le mieux
les messages de chaque classe, de façon à avoir des sous-corpus, que l'on appelle des nœuds,
contenant chacun le plus grand nombre possible de messages d'une seule classe, (Agarwal,
Xie,Vovsha, Rambow, and Passonneau 2011).
Puis nous réitérons la même opération sur chaque nœud obtenu jusqu'à ce que la discrimination
des messages ne soit plus possible ou plus souhaitable. Les nœuds terminaux (les feuilles) sont
constitués des messages d'une seule classe, un message est donc affecté à la classe de la feuille
s'il satisfait l'ensemble des règles permettant d'arriver à cette feuille, l'ensemble des règles
de toutes les feuilles constituent le modèle de classification.
e) SVM
Les SVM font partie des classifieurs linéaires, ils peuvent être définis comme un système qui
permet de construire un hyperplan. Les SVM séparent de manière optimale les messages en
deux classes tout en maximisant la marge qui sépare les deux classes et l'hyperplan, (Agarwal,
Xie,Vovsha, Rambow, and Passonneau 2011).
Soit E = {(xi, yi) ∈ Rm × {−1, +1}}1≤i≤n un ensemble de messages annotés, où xi est un
message représenté par m caractéristiques (mots du vocabulaire) et yi = {−1, +1} sont ses
annotations (classe) correspondantes, l'objectif étant de trouver H : w · x + b l'hyperplan
satisfaisant les conditions suivantes :
𝑊 ∗ 𝑋𝑖 + 𝑏 ≥ 0 si Yi = 1
{
𝑊 + 𝑋𝑖 + 𝑏 ≤ 0 si Yi = −1
Equation 12
De manière équivalente
Yi (w * xi + b) ≥ 0 ∀i = 1, ..., n
Equation 13
54
Chapitre II : Analyse de sentiments et construction du vocabulaire
Si un tel hyperplan existe pour les n messages, nous parlons alors de messages linéairement
séparables, dans le cas contraire nous parlons de messages non linéairement séparables.
Dans le cas de messages linéairement séparables, il existe une infinité d'hyperplans qui vérifie
les conditions citées plus haut, cependant le but est de trouver l'hyperplan optimal (maximisant
la marge) qui peut être obtenu par la résolution du problème d'optimisation suivant :
1
𝑚𝑖𝑛 𝑤 𝑇 𝑤
{ 2
𝑦𝑖 (𝑤. 𝑥𝑖 + 𝑏) ≥ 1 ∀𝑖 = 1, … , 𝑛
Equation 14
Dans certains cas de messages non linéairement séparables, un séparateur linéaire donnerait
quand même de bons résultats, nous pouvons accepter que quelques messages franchissent la
marge ou qu'ils soient du mauvais côté de l'hyperplan, nous parlons dans ce cas de SVM à
marge poreuse.
Nous ajoutons une variable d'écart ξi qui renseigne à quel point le couple (xi, yi) viole la
contrainte :
yi (w · xi + b) ≥ 1 − ξi
Tel que :
𝑛
1
𝑚𝑖𝑛 𝑤 𝑇 + 𝐶 ∑ 𝜉𝑖
2
𝑖+1
𝑦𝑖 (𝑤. 𝑥𝑖 + 𝑏) ≥ 𝜉𝑖 − 1, ∀𝑖 = 1, … , 𝑛
{𝜉𝑖 ≥ 0, ∀𝑖 = 1, … , 𝑛
Equation 15
Le paramètre C gère le relâchement de la contrainte, plus C est petit plus nous acceptons que
des messages violent la contrainte.
f) Réseaux de neurones
Les réseaux de neurones sont inspirés des neurones réels et du système nerveux humain.
Chaque neurone est interconnecté avec d'autres neurones pour former des couches (niveaux),
La couche d'entrée est responsable de la saisie des données au réseau. La couche de sortie
55
Chapitre II : Analyse de sentiments et construction du vocabulaire
permet de présenter les résultats calculés par le réseau sur le vecteur d'entrée fourni au réseau.
Entre l'entrée du réseau et sa sortie, des couches intermédiaires (aussi appelées couches cachées)
peuvent être utilisées.
Dans notre cas le réseau de neurones sera utilisé pour résoudre le problème de classification,
la couche d'entrée reçoit les messages annotés et la couche de sortie fournit la prédiction de la
classe du message saisi en entrée. Les couches intermédiaires ont le rôle de transformer les
données d'entrée, pendant l'apprentissage, pour construire le modèle.
Un neurone reçoit des signaux en entrée et renvoie une valeur en sortie. Une fonction
d'activation calcule une première valeur à partir des neurones connectés en entrée et des poids
des connexions. Il s'agit le plus souvent de la somme pondérée des valeurs des neurones en
entrée (F (n, p) = Σknipi où ni est la valeur du neurone i du niveau précédent et pi est le poids
associé à la connexion entre le neurone i et le neurone observé). Afin de déterminer une valeur
en sortie, une seconde fonction, appelée fonction de transition, est appliquée à cette valeur (f
(F (n, p))) qui donne le signal de sortie du neurone Sj.
Un réseau de neurones opère en deux phases consécutives : une phase de conception et une
phase d'utilisation. La première phase consiste à choisir l'architecture du réseau et de ses
paramètres à savoir le nombre de couches intermédiaires, le nombre de neurones dans chacune
de ces couches, le type de réseau (avec boucle ou sans boucle), les fonctions de transition, et
les poids initiaux dans le réseau de neurones. Une fois ces choix fixés, on peut entrainer le
réseau sur les messages annotés. Au cours de cette phase (apprentissage), la valeur renvoyée
par le neurone en sortie est comparée à la valeur réelle (l'annotation), et les poids des
connexions sont ajustés pour améliorer la prédiction. Le corpus d'entrainement est parcouru de
nombreuses fois (souvent plusieurs milliers). L'apprentissage s'achève lorsqu'une solution
optimale a été trouvée, que les poids ne sont plus modifiés significativement, ou lorsqu'un
nombre d'itérations fixé a été atteint.
56
Chapitre II : Analyse de sentiments et construction du vocabulaire
Proposé par Bengio et al, (2003) NNLM (Neural Network Language Model) apprend
simultanément un modèle de Word Embedding et un modèle de langue. Ce dernier permet la
prédiction de la distribution d’un mot selon la séquence de mots qui le précède dans un texte.
Pour chaque échantillon du corpus, le modèle calcule le maximum de vraisemblance d’un mot
étant donné les mots qui le précède dans le texte. Par exemple, pour une séquence w1,
w2, . . .wn. On cherche à calculer le maximum de vraisemblance de p (wn|w1,..., wn-1) où wn
est le mot à prédire dans un corpus donné.Le modèle NNLM utilise comme intrant une
concaténation des Words Embedding des mots précédents : x =[e (w1),. . . e (wn-2), e (wn-1)]
où e(wi) est le Embedding du mot wi.
La structure du modèle est un réseau neuronal à rétroaction avec une couche cachée :
h = tanh (d + Hx) et y = b + Uh
Où U est une matrice de transformation, b et d sont des vecteurs de biais, tanh est la fonction
tangente hyperbolique. Enfin, il faut appliquer y sur une couche softmax9 pour obtenir la
probabilité du mot cible.
9Ou fonction exponentielle normalisée, est une généralisation de la fonction logistique qui prend en entrée un
vecteur de K nombres réels et qui en sort un vecteur de K nombres réels strictement positifs et de somme 1.
57
Chapitre II : Analyse de sentiments et construction du vocabulaire
Le modèle C&W
(Collobert et Weston, 2007) ont proposé le modèle C&W qui n'entraîne que le Word
Embedding C’est à dire il ne prédit pas un mot mais il combine le « target word » ou le mot
cible et son contexte, puis leur attribue un score.
Le mot cible de ce modèle est le mot central dans une séquence de mots. L'entrée est la
concaténation de l'incorporation du mot cible avec des mots contextuels, c'est-à-dire la
concaténation de la séquence : e (w1) . . . e (wn).
La fonction qui donne le score est un réseau de neurones à une couche cachée. L'objectif de
l'entraînement est de maximiser le score d'une séquence de corpus tout en minimisant le score
d'une séquence de bruit.
Dans la séquence de bruit, le mot cible w est remplacé par un mot aléatoire w’ du vocabulaire.
(Pang et al, 2002) ont expérimenté le modèle booléen contre la fréquence d'apparition et ont
finalement obtenu de meilleurs résultats avec le premier modèle.
58
Chapitre II : Analyse de sentiments et construction du vocabulaire
classifieur sur le corpus d'entrainement annoté par des méthodes d'apprentissage automatique
supervisé tel que Naïve Bayes, Maximum Entropy, SVM, Arbre de décision.
Comme mentionnée précédemment, on part du principe que le corpus est annoté, le vocabulaire
de mots d'opinion est construit de façon complètement automatique, c'est à dire sans un
ensemble de mots d'opinion de départ, les chercheurs parlent dans ce cas de figure d'extraction
et de sélection des caractéristiques (features) du texte, Pang et al. (2008)
➢ Part of speech (POS) : extraction des adjectifs (qui représentent le plus les opinions)
dans le corpus en utilisant des règles linguistiques Pak and Paroubek (2010).
➢ Les mots d'opinion et les phrases : construits avec une méthode basée lexique
(dictionnaire, corpus). Comme exemple Rilo et al. (2006) ont jugés que la position des
mots d'opinions dans la phrase avait un poids important sur la polarité.
Abbasi et al. (2008) proposent une sélection de caractéristiques basée sur un algorithme
génétique pour la construction du vocabulaire dans deux langues (anglais et arabe), cela a
donné d'excellents résultats avec une exactitude de 91.7% en utilisant l'algorithme SVM pour
la classification.
59
Chapitre II : Analyse de sentiments et construction du vocabulaire
Dans Dang et al. (2010), les auteurs comparent plusieurs techniques de sélection des
caractéristiques (PMI, khi-2, GI) pour réduire le nombre de mots du vocabulaire sur des corpus
différents de petite taille et utilisent SVM pour la classification, la méthode Gain Information
(GI) donne les meilleurs résultats avec une précision de 84%. Les auteurs donnent, comme
perspective, de comparer les méthodes de sélection des caractéristiques sur des corpus de
grande taille.
II.2.2.2. Classification
Étant donné que les travaux utilisent dans la plupart des cas, plusieurs caractéristiques ainsi
que différents classifieurs, dans la suite nous allons classer les travaux en fonction des
domaines d'application et des sources de données du corpus.
Pang et al. (2002) utilisent les classifieurs Naïve Bayes, Maximum Entropy et SVM pour
l’analyse de sentiments sur des critiques de films, ils classent les critiques en deux classes,
positives ou négatives. Ils utilisent un sac de mots d'uni-grammes comme caractéristiques
(features) et comparent entre les trois classifieurs qui sont SVM, NB et ME. Le classifieur
SVM donne de meilleurs résultats avec une exactitude de 82.9% contre 81.5% pour Naïve
Bayes et 81% pour Maximum Entropy. Par la suite, les auteurs comparent aussi les résultats
obtenus en utilisant plusieurs caractéristiques qui sont les bi-grammes, POS et la représentation
booléenne et fréquentielles des termes comme caractéristiques (features). Contre toute attente,
la représentation booléenne et l'utilisation d'uni-grammes donne légèrement de meilleurs
résultats pour tous les classifieurs cités, ce qui peut sembler illogique car les uni-gramme ne
prennent pas en considération la négation et la pondération des mots.
Pang and Lee (2004) proposent un système de classification de critiques de films en deux
étapes :
La première étape est l'analyse de subjectivité des messages qui consiste à classifier les
messages en subjectifs et objectifs.
60
Chapitre II : Analyse de sentiments et construction du vocabulaire
La deuxième étape est de classifier les messages subjectifs en deux classes, soit dans la classe
positive ou la classe négative, en utilisant les méthodes Naïve Bayes et SVM. Cela à donner
une exactitude de 86.4% pour Naïve Bayes et 86.15% pour SVM.
Kennedy and Inkpen (2006) utilisent un algorithme d'apprentissage automatique, Support des
machines vectorielles. Ils commencent avec les caractéristiques Unigrams et puis ils ajoutent
des Bigrams qui se composent d'un ‘Valance Shifter’ et d'un autre mot. La précision de la
classification est très élevée, et les bigrams à Valance Shifter l’améliorent légèrement.
Boiy and Moens (2009) font une analyse de sentiments sur des documents extraits de différents
forums, blogs et critiques de produits dans les langues anglaise, allemande et française en
utilisant les classifieurs Naïve Bayes, Maximum Entropy et SVM, et font une comparaison
entre les langues. Les résultats donnent une exactitude de 83% pour l'anglais, 70% pour
l'allemand et 68% pour le français.
Saleh et al. (2011) effectuent plusieurs expériences en utilisant SVM pour comparer plusieurs
caractéristiques (uni-grammes, bi-grammes, tri-grammes), et aussi les représentations
(booléenne, fréquentielles, TF-IDF) avec plusieurs corpus différents extrait d'Amazon10 , la
meilleure exactitude signalée est de 91.51% en utilisant les bi-grammes comme caractéristiques
et la représentation TF-IDF.
Wang et al. (2014) comparent entre plusieurs classifieurs : Naïve Bayes, Maximum Entropy,
Arbre de décision, K-plus proche voisin, SVM, entre les représentations booléennes,
fréquentielles, TF-IDF, et entre les caractéristiques uni-grammes, bi-grammes et cela avec
plusieurs corpus, le meilleur résultat signalé est pour le Maximum Entropy avec 92.62%
d'exactitude en utilisant la représentation fréquentielle et les bi-grammes, et le meilleur résultat
moyen entre les différents corpus est pour SVM avec 79% d'exactitude en utilisant la
représentation TF-IDF et les uni-grammes.
Pak and Paroubek (2010) travaillent sur le réseau social Twitter et utilisant les Tweets comme
corpus, ils classifient les Tweets en trois classes, positive, négative ou neutre. Le système
classifie les Tweets en subjectifs et objectifs, ensuite classifie les Tweets subjectifs en positif
et négatif, tout cela en utilisant les émoticônes et POS comme caractéristiques et les classifieurs
Naïve Bayes et SVM.
Jiang et al. (2011) ont travaillé sur Twitter en collectant des corpus de 400 Tweets pour chaque
requête. L'information mutuelle PMI a été appliquée pour sélectionner les caractéristiques et
donc un vocabulaire pour chaque requête, puis les auteurs ont utilisé SVM pour la classification
10 Amazon.com, Inc. est une entreprise de commerce électronique américaine basée à Seattle. Sa spécialité initiale est
la vente de livres, mais elle s'est diversifiée dans d'autres produits, notamment dans la vente de tous types de
produits culturels : disques CD, musique en téléchargement, DVD, appareils photos numériques, informatique et
dans l'équipement de la maison, cloud, etc.
61
Chapitre II : Analyse de sentiments et construction du vocabulaire
selon la subjectivité, qui donne 68.2% de taux d'exactitude, contre la classification selon la
polarité qui donne une exactitude de 85.6%.
Zhang et al. (2011b) classifient les opinions de critiques des restaurants en utilisant les
classifieurs Naïve Bayes et SVM, les représentations booléennes et fréquentielles, les
caractéristiques uni-grammes, bi-grammes et tri-grammes, et en variant le nombre de mots du
vocabulaire pris entre 500 et 1600 mots lors de l'étape de sélection des caractéristiques, la
meilleure exactitude signalée est de 95.67% pour Naïve Bayes.
Kang et al. (2012) ont créé un vocabulaire pour un corpus de critiques de restaurants, en
utilisant les uni-grammes, bi-grammes, la négation et l'intensification comme caractéristiques,
et ont proposé deux méthodes Naïve Bayes améliorées pour classifier les messages en classe
positive et négative, le résultat donne une exactitude de 81.2%.
Cette approche est majoritairement utilisée par les chercheurs car elle donne de meilleurs
résultats mais possède l'inconvénient de la nécessité de l'annotation manuelle du corpus qui est
difficile à effectuer lorsque nous avons un ensemble conséquent de messages dans le corpus.
Une autre façon de combiner les méthodes est d’utiliser les techniques d’apprentissage
automatique dans le but de construire les dictionnaires d’opinion nécessaires à l’approche basée
lexique.
Hatzivassiloglou et McKeown (1997) présentent une méthode ayant pour objectif de définir
l’orientation sémantique des adjectifs pour la construction du dictionnaire d’opinion. Ils
extraient tout d’abord tous les adjectifs du corpus à l’aide d’un analyseur syntaxique, puis
utilisent un algorithme de clustering afin de classer les adjectifs selon leur polarité.
Une dernière façon d’utiliser conjointement les deux approches est de construire plusieurs
types de classifieurs et de combiner leurs résultats, soit par des systèmes de vote, soit par un
algorithme d’apprentissage (Dziczkowski et Wegrzyn-Wolska, 2008).
62
Chapitre II : Analyse de sentiments et construction du vocabulaire
Wilson et al. (2004) préparent les données à l’aide d’outils de Traitement Automatique des
langues afin de sélectionner un vocabulaire d’opinion. Ces mots présélectionnés sont ensuite
utilisés comme vecteurs de représentation des textes pour les outils d’apprentissage supervisé.
Trois algorithmes d’apprentissage sont comparés : BoostTexter (Schapire et Singer, 2000),
Ripper (Cohen, 1996) et SVM light (Joachims, 1999a).
Nigam et Hurst (2006) utilisent des techniques provenant du Traitement Automatique des
Langues afin de détecter dans les textes les mots et expressions porteurs d’opinion et ajoutent
des marques dans le texte (+ ou – pour opinion positive et opinion négative). Ils utilisent ensuite
l’apprentissage automatique pour classer les textes selon leur opinion générale.
Narayanan et al. (2009) ont effectué une analyse de sentiments au niveau phrase, ils
déterminent la polarité des phrases par la méthode basée lexique en utilisant les mots d'opinions
positifs et négatifs, ensuite, ils appliquent SVM sur les phrases annotées automatiquement par
la méthode basée lexique, cela a donné une exactitude de 75.6%.
Xia et al. (2011) ont proposé deux méthodes d'annotation automatique de corpus
d'entrainement en prenant en considération la négation et l'intensification des mots d'opinion
et le POS, et en appliquant par la suite Naïve Bayes, Maximum Entropy et SVM, cela a donné
une exactitude de 87.7%.
Zhang et al. (2011a) ont travaillé sur un corpus de Tweets avec différentes requêtes, ils ont
annoté le corpus d'entrainement avec la méthode basée lexique en utilisant POS et les mots
d'opinions, ensuite, entrainent le classifieur sur ce corpus avec SVM. Cette méthode a donné
de bons résultats avec une exactitude de 85.4%.
Li and Xu (2014) ont recueilli une liste de mots d'émotions et de phrases courtes pour identifier
les opinions dans les Tweets, ils ont utilisé la sélection des caractéristiques avec les tests de
khi2 et l'algorithme SVR qui est un modèle de régression linaire utilisé pour la classification,
les résultats ont donnés une précision de 75.7%.
Seyed-Ali Bahrainian, Andreas Dengel (2013) : en se basant sur les résultats présentés dans
leur article ou ils ont testé les effets de la présence ou de l'absence d'émoticônes et de mots
d'arrêt dans le vecteur caractéristique unigram, ils considérent un classificateur SVM (Support
Vector Machine) formé sur une caractéristique de Bag-Of-Words unigram comme Baseline.
Ils comparent la performance de leur Baseline présumée à celle d'un algorithme inédit de
détection de polarité non supervisée (PD) ainsi qu'à celle d'une nouvelle méthode hybride dans
un benchmark. Leurs résultats expérimentaux indiquent que la méthode hybride surpasse toutes
les autres méthodes mentionnées en termes de précision de classification.
63
Chapitre II : Analyse de sentiments et construction du vocabulaire
ME = 81%
Exactitude :
Pang and Lee
Naïve Bayes, SVM Critiques de films NB = 86.4%,
(2004)
SVM = 86.15%
Abbasi et al.
AG, SVM Forums Exactitude = 91.7%
(2008)
Boiy and Moens Naïve Bayes, Maximum Forums, Blogs, Critiques
Exactitude = 83%
(2009) Entropie, SVM de produits
Dang et al. (2010) GI, PMI, khi-2, SVM Critiques de produits Exactitude = 84%
Pak and Paroubek
Naïve Bayes, SVM Twitter Précision = 89.3%
(2010)
Saleh et al. (2011) SVM Critiques de produits Exactitude = 91.51%
64
Chapitre II : Analyse de sentiments et construction du vocabulaire
Narayanan et al.
Dictionnaire, SVM Multi domaines Exactitude = 75.6%
(2009)
Dictionnaire, Naïve Bayes,
Xia et al. (2011) Critiques de produits Exactitude = 87.7%
Maximum Entropie, SVM
Zhang et al.
Basée corpus, khi-2, SVM Twitter Exactitude = 85.4%
(2011a)
Li and Xu (2014) Basée corpus, khi-2, SVM Twitter Exactitude = 75.7%
Basée lexique : basée
Abdaoui (2016) Forums de santé Exactitude = 94.4%
dictionnaire
Seyed-Ali
Approche hybride Twitter Exactitude = 86.7%
Bahrainian (2016)
Kennedy and Apprentissage automatique :
Critiques de films Exactitude = 83.7%
Inkpen (2006) SVM
Wilson et al. (2004) Approche hybride Critiques de produits Exactitude = 82.65%
Nigam et Hurst Exactitude = 82%
Approche hybride Forums
(2006) Rappel = 78%
Il existe à ce jour plus de 200 plateformes de surveillance des médias sociaux proposant des
outils de gestion, des outils de veille, d’analyse ou les trois combinés, pour des comptes
individuels, petites entreprises ou grandes entreprises. La majorité de ces outils sont payants,
mais la majorité offre des périodes d’essais gratuites avec moins de fonctionnalités. De ce lot,
en voici quelques-uns devraient retenir l’attention pour leur polyvalence.
Les approches derrières des outils sont celles que nous avons décrit dans la section précédente.
Nous présentons les caractéristiques de chacun de ces outils dans ce qui suit.
Brand24 :
Brand2411 pour la richesse des fonctionnalités offertes pour la gestion, la veille et l’analyse
des opérations sociales. La plateforme offre entre autres :
11 https://brand24.com/
65
Chapitre II : Analyse de sentiments et construction du vocabulaire
➢ Il permet aussi de calculer un indice de popularité des publications pour mesurer leurs
performances, le genre d’engagement d’elle offre et ceci sans avoir à la lire ou la
chercher
En matière de veille, notamment concurrentielle, Rival IQ 12 est un outil qui permet d’avoir
une vue sur la gestion de communauté d’une marque versus ses concurrents et ce, sur une
multitude de plateformes. Cette plateforme offre entre autres :
➢ Un tableau de bord qui permet de trier et d’afficher les contenus par goûts, les
commentaires, le type de publication et plus, afin d’analyser facilement les messages
les plus et les moins attrayants ;
➢ L’analyse de chaque message social issu du paysage concurrentiel filtré par hashtags,
mots-clés et même emojis, le type de canal de communication, le type de publication,
l’heure, etc.
Hootsuite :
Pour les agences, moyennes ou grandes entreprises, Hootsuite13 est la plateforme de gestion de
réseaux sociaux qui peut prendre en charge plus de 32 plateformes sociales, incluant Instagram.
Elle permet de :
➢ Cibler les contenus et rechercher des conversations par emplacement géographique et
par langue ;
➢ Accéder à toutes vos interactions avec un contact (à tous les échelons de votre
organisation) ;
➢ Suggérer automatiquement des contenus pertinents ;
➢ Présenter des schémas d’engagement et l’analyse de popularité des publications ;
➢ Localiser les leaders d’opinion ;
➢ Analyser l’opinion publique envers votre marque ;
➢ Organiser le flux de travail par équipe par région.
Une solution d’analyse de sentiments pour l’analyse des réseaux sociaux en intégrant des
événements Twitter dans Azure Event Hubs. Vous pouvez ensuite écrire une
12 https://www.rivaliq.com
13 https://hootsuite.com
66
Chapitre II : Analyse de sentiments et construction du vocabulaire
requête Azure Stream Analytics pour analyser les données, puis stocker les résultats pour une
utilisation ultérieure ou utiliser un tableau de bord et Power BI pour fournir des informations
en temps réel.
➢ Télécharger par avance les données d’un fichier local sur votre disque dur pour créer
un module de jeu de données dans votre espace de travail.
➢ Accéder aux données à partir d’une des nombreuses sources de données en ligne.
➢ Utiliser les données d’une autre expérience Azure Machine Learning enregistrée en tant
que jeu de données.
➢ Utiliser les données depuis une base de données SQL Server locale.
➢ Détecter la langue.
➢ Lemmatisation.
➢ Normalisation.
➢ Tokenisation.
MASA offre TF-IDF comme technique de représentation de texte, avec possibilité d’ajouter
nos techniques de représentation.
Nous avons aussi la possibilité de choisir l’algorithme de classification qui nous convient,
MASA nous propose les algorithmes suivants :
➢ SVM,
➢ NBM,
➢ La régression logistique
14 https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics
67
Chapitre II : Analyse de sentiments et construction du vocabulaire
➢ Réseaux de neurones.
IV. Conclusion
Nous avons présenté les principaux travaux portant sur l’analyse de sentiments Nous avons
classé ces travaux en trois approches, 1) approche basée lexique Hu and Liu (2004), Kamps et
al. (2004), Ding et al. , Abdaoui (2016), 2) approche basée apprentissage automatique Lu et al.
(2010), Taboada et al. (2011) et 3) approche hybride Narayanan et al. (2009), Li and Xu (2014),
Narayanan et al. (2009). Certains travaux dans l'approche basée lexique travaillent avec un
dictionnaire et d'autres avec des corpus. L'avantage d'utiliser un dictionnaire est d'englober un
large vocabulaire mais le lexique ou vocabulaire présente l’inconvénient d'être indépendant du
domaine et du contexte du domaine étudié. L'approche basée corpus quant à elle a l'avantage
d'être dépendante du domaine de la fouille d'opinions mais n'englobe pas un large ensemble de
mots et peut ne pas détecter des mots d'opinions positif et négatif. Globalement, nous avons
remarqué dans les travaux existants dans l'approche basée lexique que les meilleurs résultats
sont obtenus quand une force de polarité est donnée aux mots du vocabulaire et quand la
négation et l'intensification sont considérées.
Dans l'approche basée apprentissage automatique, nous avons constaté que plusieurs travaux
comparent les classifieurs, les représentations, les choix des caractéristiques et les méthodes de
leurs sélections (vocabulaire). Ces travaux stipulent en général qu'il n'y pas de meilleur
classifieur, de meilleure représentation ou de meilleurs choix de caractéristiques car cela
dépend énormément du domaine d'application et de la langue. Globalement nous pouvons dire
que SVM, l'utilisation de bi-grammes et la représentation TF-IDF donnent dans certains cas
légèrement de meilleurs résultats, on a aussi remarqué que cette approche est moins efficace
dans la détection de subjectivité.
L'approche basée lexique est notamment plus facile à mettre en œuvre sur de grands corpus car
elle n'a pas besoin d'annotation manuelle de tous les messages, mais possède l'inconvénient
d'avoir un faible rappel, nous en déduisons que plusieurs messages subjectifs sont classés
comme objectifs, et ceci est dû aux mots qui apparaissent dans les messages et qui expriment
une opinion positive ou négative et qui ne sont pas dans le vocabulaire. Également, à cause de
la simplicité des algorithmes de catégorisation de cette approche.
L'approche basée apprentissage automatique donne d'excellents résultats grâce aux algorithmes
sophistiqués employés pour construire le modèle de classification, car elle s'adapte aux mots
employés dans le corpus. Cependant, son inconvénient majeur est la nécessité de l'annotation
manuelle, difficile à réaliser dans de grand corpus ce qui est très problématique car
théoriquement cette approche est plus efficace lorsqu'on traite un corpus contenant un nombre
considérable de messages.
68
Chapitre II : Analyse de sentiments et construction du vocabulaire
L'approche hybride quant à elle, vient palier aux inconvénients des deux premières approches,
cela dit, elle ne donne pas d'aussi bons résultats que l'approche apprentissage à cause de
l'annotation automatique des messages du corpus qui n'est pas tout le temps correct.
Nous avons terminé ce chapitre par une présentation de quelques outils permettant d’effectuer
l’analyse de sentiments, certains sont en accès libre et d’autres sont payants. Bien que riches
en fonctionnalités et allant au-delà de la simple analyse des sentiments, ces outils ne permettent
pas l’analyse du dialecte particulièrement algérien. Nous avons fait le même constat pour les
travaux de recherche que nous avons discutés dans ce chapitre. Néanmoins ces études nous ont
permis de poser les prémisses de notre système d’analyse de sentiments. Nous consacrons les
chapitres suivants à la description de notre projet ainsi que la conception et la réalisation de
l’approche d’analyse de sentiments que nous proposons.
69
Partie contribution : conception
réalisation et étude de cas
70
Chapitre III : Conception
1. Quelle stratégie adopter pour la collecte des données textuelles à partir des réseaux sociaux
tout en maintenant la cohérence ?
2. Connaissant les particularités du langage utilisé sur les réseaux sociaux par les internautes,
comment faire pour mettre en place un système d'analyse de sentiments efficace ?
3. Quelle serait la meilleure façon de présenter les résultats du processus de façon à offrir une
vue synthétique et compréhensible par les utilisateurs ?
Nous allons présenter dans ce chapitre la conception des différentes parties de notre système.
Pour ce faire nous allons procéder comme suit :
➢ Ensuite, nous allons présenter la solution globale de notre système que nous détaillerons
au fur et à mesure.
71
Chapitre III : Conception
Afin d’illustrer notre travail, nous avons fait référence à un projet de réalisation d’un système
d'analyse de sentiment dans les réseaux sociaux. Les informations concernant ce projet nous
ont été délivrées par Ooredoo Algérie.
Ooredoo Algérie qui est le leader dans le secteur de la téléphonie mobile en Algérie, ne néglige
en aucun cas l'importance des opinions issues des réseaux sociaux en vue de l'importance et de
la croissance de ces plateformes en Algérie. Sur ces réseaux sociaux, plusieurs données peuvent
être extraites et exploitées pour mieux comprendre le comportement des clients. En effet, ces
données rajoutent une valeur très intéressante pour le management de l’expérience client,
notamment le suivi des promotions, et les avis des clients vis à vis des services et des produits
proposés par l’entreprise, rajoutons à cela, Ooredoo est le leader des opérateurs téléphoniques
sur les réseaux sociaux Facebook et Twitter en termes de fans et d’abonnés ce qui représente
une grande opportunité à saisir, pour exploiter les grands flux de données générées. Donc avoir
une présence solide sur les réseaux sociaux est une nécessité incontournable pour Ooredoo. Ce
projet va également permettre à l'entreprise de garder un œil sur les performances de ses
concurrents dans l'optique de veille concurrentielle.
Ooredoo veut donc disposer d'une solution qui va lui permettre d'analyser de manière efficace
les données des médias sociaux dans le but de se faire une idée sur l'opinion publique en ce qui
concerne ses produits et services. La solution doit également assurer une collecte automatique
des nouvelles publications et commentaires ainsi qu'une liaison directe des résultats obtenus
avec Tableau, le tableau de bord utilisé au sein de l’entreprise.
72
Chapitre III : Conception
Il existe plusieurs méthodologies connues dans l’univers du data mining, les plus connues sont,
la méthode CRISP-DM (CrossIndustry Standard Process for Data Mining) et la méthode
SEMMA (Sample, Explore, Modify, Model, Assess).
Après une étude comparative entre ces deux méthodes -Annexe C-, notre choix s’est porté sur
la méthode CRISP-DM. Les six phases de CRISP-DM que nous détaillerons ci-dessous
s’aligne parfaitement avec notre processus d’analyse de sentiments.
La figure ci-dessous nous donne un aperçu global sur les six étapes de la méthode.
73
Chapitre III : Conception
➢ Préparation des données : Cette partie vise à construire le Data HUB qui regroupe la
sélection des données nécessaires à l’étude, leur préparation, leur nettoyage, leur
classement en fonction de critères choisis et enfin le recodage de ces données afin de
les rendre compatibles avec les algorithmes qui seront utilisés.
Malgré la richesse et la variété des fonctionnalités de ces outils telles que la possibilité de les
connectés directement à nos propres sources de données, et de personnaliser le Dashboard
facilement, ils posent plusieurs restrictions, nous citons dans ce qui suit les principales raisons
qui nous ont motivé à construire notre propre système d’analyse de sentiments :
➢ La non prise en compte du dialecte : La raison principale est que les outils
commerciaux disponibles sur le marché du logiciel ne prennent pas en compte les
dialectes, ce qui est un inconvénient vu l’importance du dialecte dans les médias
sociaux.
74
Chapitre III : Conception
➢ Solution complète jusqu’à la visualisation : La seconde raison n’est rien d’autre que
le manque des solutions qui proposent à la fois, la collecte de données, le prétraitement
de données, l’analyse de sentiments et aussi un tableau de bord pour la visualisation des
données.
➢ Extension, maintenance et flexibilité : Parmi les raisons qui nous ont motivés aussi,
on trouve la non possibilité de personnaliser le système (avoir accès aux
algorithmes…etc). Ces derniers sont souvent cachés aux utilisateurs pour des raisons
de concurrence.
Pour les raisons ci-dessus, nous avons choisi de concevoir un système d'analyse de sentiments
complet qui inclut les fonctions de collecte, d'analyse et de visualisation. L’inconvénient
majeur de ces outils est la non prise en compte des dialectes ainsi que la fermeture de ces
solutions sous forme de boite noir. De ce fait, nous avons également pris la décision de
développer notre propre système d'analyse de sentiments afin de pallier le manque des APIs
disponibles sur le marché que nous avons déjà cité ci-dessus. De ce fait, la solution que nous
proposons nous permet d'avoir un accès libre et complet à l'analyseur de sentiments pour
faciliter la maintenance, l’extension et apporter des améliorations s’il y a lieu d'en faire.
A l'issue de notre travail, nous devons fournir un système d’analyse de sentiments capable de :
➢ Collecter du contenu à partir de différentes sources telles que : les médias sociaux et
les bases de données,
➢ Structurer et traiter les données collectées à partir des différentes sources pour leur
utilisation future,
➢ Fournir une interface de visualisation des résultats sous forme de statistiques et mesures
résumant la répartition des sentiments selon les sujets introduits par l'utilisateur et en
fonction des opérateurs.
75
Chapitre III : Conception
Nous exposons les différentes hypothèses que nous avons mis en place dans le but de répondre
aux questions posées plus haut. Nous commencerons donc par déterminer le type d'opinion que
notre système prendra en compte suivi du niveau d'analyse de sentiments à effectuer.
IV.1. Type d'opinions à traiter
En effet, la première décision est de choisir le type d'opinion que va traiter ce module qui se
résume en des opinions régulières. Cette décision a été principalement motivée par la
complexité de l'étude des opinions comparatives d'autant plus que ces dernières restent très
dépendantes de la structure des phrases et de la langue utilisée ce qui constitue un obstacle dans
notre cas. Rajoutant à cela qu’on a opté pour non seulement une classification binaire (positif
et négatif) mais pour une classification qui comporte cinq classes. Une analyse d’opinion
comparative pourrait bien sûr être intéressant, mais dans notre cas nous laissons ceci comme
perspective vu la complexité de l'étude sur un langage non structuré.
IV.2. Niveau de l'analyse de sentiments
Nous avons abordé dans la première partie du rapport un aspect très important de l'analyse de
sentiments et qui est le niveau d’analyse. Nous avons mis en avant trois différents niveaux que
nous citons en partant du plus général au plus précis, le niveau document, le niveau phrase et
le niveau aspect. Le choix du niveau dépend fortement de la structure et du type de la donnée
à traiter, donc du texte dans notre cas. Nous décidons donc d'effectuer notre analyse de
sentiments au niveau document et ce pour les raisons suivantes :
Ce qui nous envoi naturellement vers l'hypothèse qu'un document exprime une seule opinion.
V. Vue globale
Nous allons présenter dans cette section l'architecture globale du système d’analyse de
sentiments que nous proposons.
La figure 9 ci-dessous montre le processus général du système qui se déroule plusieurs étapes.
Chaque étape fait appel à des traitements particuliers.
➢ Prétraitement,
➢ Annotation,
76
Chapitre III : Conception
➢ Analyse de sentiments,
➢ Visualisation.
La phase de collecte parcourt la page de l’entreprise pour en extraire les posts et commentaires
postés, et cela grâce à l'API propre au réseau social.
Le résultat de la collecte passe par une étape de prétraitement qui permet de supprimer les
dupliqués et les spams (même auteur, même contenu, même post). Ensuite, dans cette même
étape on fait en sorte de préparer les données de façon qu’elles soient exploitables.
Une fois les données prétraitées, vient la phase d’annotation, qui permet de créer un dataset
d’apprentissage pour le système d’analyse de sentiments.
Le flux de texte issus des commentaires est envoyé par la suite à la catégorisation pour en
déterminer la classe de sentiments, qui à son tour utilise les données de la couche annotation
pour l’apprentissage.
Les résultats de la catégorisation sont sauvegardés avec le reste des métadonnées (date de
création, auteur ...etc) dans une couche de persistance. La phase de visualisation puise dans
cette dernière pour exposer les résultats à l'utilisateur en fonction des paramètres souhaités.
L'application finale prendra la forme d'un Dashboard qui présente les statistiques agrégées de
l'analyse. Nous présenterons dans ce qui suit une vue détaillée de notre système, où nous allons
présenter la conception de chaque phase que nous venons de présenter dans l'architecture
globale de la solution.
77
Chapitre III : Conception
Nous énumérons dans ce qui suit les principales tâches à réaliser dans le but de mettre en place
le système d'analyse de sentiments.
78
Chapitre III : Conception
Nous présentons dans cette section notre solution pour assurer une collecte efficace de toutes
les données textuelles qui se rapportent à l'activité des internautes sur les pages officielles des
opérateurs mobiles en plus des dispositions prises pour leur sauvegarde. Nous introduirons
également les deux étapes de nettoyage et de structuration qui interviennent à la suite de la
collecte.
L’étapes de nettoyage et de structuration vise à préparer les données pour les tâches d'analyses.
Les données, à savoir les posts et les commentaires, sont collectées à partir de Facebook en
deux phases :
➢ Phase 1 : Cette phase consiste à collecter les nouveaux posts mis en ligne depuis la
dernière exécution et les stocker.
➢ Phase 2 : La phase 2 est déclenchée par le signal de fin de la première phase. Durant
cette partie, les posts sont chargés et utilisés pour récupérer leurs commentaires. Une
fois les commentaires collectés ces derniers sont stockés dans des fichiers CSV. Les
commentaires doivent passer par une étape de nettoyage afin de supprimer les dupliqués
ainsi que les spams. La structuration de ces données est importante avant de les stocker
dans la couche de persistance. Ce processus est résumé par le diagramme d'activité
présenté sur la figure 10 ci-dessus.
79
Chapitre III : Conception
ensuite pour alimenter notre système visant leur exploitation dans l’analyse de sentiment pour
mesurer la satisfaction client.
Les principales sources que nous considérons sont les médias sociaux, plus précisément
Facebook étant donné que c’est la plateforme la plus répandue dans le monde. De plus, Nous
nous intéressons principalement aux données textuelles constituant principalement les posts et
les commentaires publiés.
Il existe différentes techniques de collecte de données à partir du web, précisément à partir des
réseaux sociaux à savoir le web crawling et l’utilisation des APIs. Nous nous sommes attardés
sur la plateformes Facebook en présentant les APIs fournies par la plateforme ainsi que leurs
restrictions, tout en présentant les autres techniques de collectes en -Annexe A-.
A travers cette étude, nous avons opté pour une technique basée sur les APIs pour extraire les
données à partir de Facebook. Cette technique reste meilleure comparée au Web Crawling
malgré les restrictions d'accès imposées par les APIs et ceci pour des raisons de maintenance
et de compatibilité (ajout de nouvelles fonctionnalités). De plus l'utilisation de l'API présente
un certain nombre d'avantages dont :
➢ Effectuer des requêtes avancées comme les projections, le tri, les filtres, la pagination
et les résumés,
➢ Les données récupérées sont sous un format JSON. Ce dernier facilite grandement la
manipulation des données,
Parmi les APIs proposées par les plateformes, nous utilisons Graph API de Facebook
puisqu'elle est publique et gratuite. De plus, elle permet d'accéder aux données textuelles des
posts et des commentaires sur lesquels nous allons appliquer l'analyse de sentiments,
contrairement aux APIs Marketing telles que : Atlas et Insights. Ces dernières ne fournissent
qu'une couche analytique sur les données sans donner l'information brute. Parmi les modes
d'accès présentés dans l'annexe, nous avons choisi d'accéder à l'API en tant qu'application afin
d'éviter les problèmes liés au contexte de l'utilisateur et d'avoir une vue neutre et globale sur
l'ensemble des pages surveillées.
Le processus de collecte se fait en deux phases durant lesquelles on extrait les posts et les
commentaires Facebook, autrement dit le contenu textuel des pages cibles. En plus du contenu
textuel, nous collectons aussi les métadonnées relatives au posts et aux commentaires des pages
officielles des opérateurs comme, date de publication, nature du poste : vidéo, image ou texte,
l’id utilisateur et le nombre de réactions.
80
Chapitre III : Conception
➢ Crawler facebook -FacebookCrawler- : Permet l'accès aux services fournis par l'API
Graph de Facebook.
Connecte (token)
Se connecter à Graph API en utilisant le token d’accès.
recupererPosts (p, t’, t)
Récupérer les posts publiés dans la page p dans la période [t, t’[.
recupererListePages ()
Récupérer la liste des pages surveillées.
updateDate(date)
Mis à jour la date de la dernière exécution de la collecte
save(posts)
Sauvegarder posts dans un fichier CSV.
81
Chapitre III : Conception
CommentsCollector (token)
1. Connecte (token)
2. posts = recupererPosts()
2. Pour chaque p dans posts :
(a) comments = commentes + recupererComments(p)
3.save(comments).
Connecte (token)
Se connecter à Graph API en utilisant le token d’accès.
recupererPosts()
Récupérer les posts á partir d’un fichier CSV.
recupererComments (p)
Récupérer les commentaires publiés dans le post p.
save(comments)
Sauvegarder comments dans un fichier CSV.
82
Chapitre III : Conception
En ce qui concerne la collecte des commentaires, pour chaque post récupéré, une requête est
envoyée vers l'API Graph afin de collecter les commentaires relatifs à ce dernier.
Contrairement aux posts, l'API ne permet pas d'effectuer une requête sur les commentaires en
utilisant un filtre temporel, donc nous jugeons que les commentaires qui viennent après une
certaine période T sont pas important (donnée non pertinente). Enfin, les données récupérées
sont stockées dans des fichiers CSV en attendant l'étape de la structuration. Le processus est
expliqué à travers le diagramme de séquence présenté dans la figure ci-dessous.
83
Chapitre III : Conception
84
Chapitre III : Conception
dupliqués en raison des API ou encore résultants de l'activité massive de certains internautes
qu'on pourra qualifier de spam.
➢ La suppression des dupliqués se fait en se basant sur l’Id des commentaires. En effet,
le flux collecté peut contenir des commentaires dupliqués avec le même Id.
➢ En plus des dupliqués générés par l'API, on peut parfois rencontrer des commentaires
redondants ou spams car ils comportent le même message mais des identifiants
différents. Ces duplications sont parfois dues à de mauvaises manœuvres ou de
mauvaises intentions de la part des utilisateurs qui postent plusieurs fois le même
message.
❖ Même texte,
85
Chapitre III : Conception
VI.2. Prétraitement
Une fois les commentaires sont récupérés et nettoyés afin de ne garder que les commentaires
jugés utiles, vient l’étape de prétraitement. Le flux collecté peut parfois contenir des messages
dupliqués (même contenu et même ID utilisateur) en raison de l’API ou encore résultants de
l’activité massive de certains internautes qu’on pourra qualifier de spam (identifiant diffèrent).
En effet, il ne faut garder que les informations les plus représentatives et importantes, pour cela
nous appliquons les traitements suivants : (1) tokenisation, (2) substitution des liens
hypertextes, (3) substitution des hashtags, (4) suppression des lettres répétées, (5) suppression
des mots vides, (6) traitement des émoticônes, (7) normalisation du texte, (6) construction du
dictionnaire des néographie.
86
Chapitre III : Conception
Tout texte qui n'est pas en rapport avec le contexte des données et la sortie finale peut être
identifié comme bruit. Par exemple : les URLs ou les liens, les entités de médias sociaux
(mentions, hashtags), la ponctuation et les expressions spécifiques à un secteur. Cette étape
concerne la suppression de tout type de bruit présents dans le texte.
VI.2.1.1. Tokenisation
Dans le but de découper chaque message en ses différents termes, nous avons utilisé une
fonction disponible dans la bibliothèque de traitement du langage naturel NLTK causant ainsi
la perte des smileys, qui sont très utiles pour déterminer le sentiment exprimé, pour remédier à
ça nous avons capturé ces objets en utilisant une expression régulière (donnée ci-dessous) avant
de faire passer le texte par l'outil de NLTK.
Exemple :
87
Chapitre III : Conception
Dans cette étape, nous avons capturé les liens hypertextes grâce à une expression régulière
(donnée ci-dessous) et les remplacés par _LINK_ car ils ne donnent aucune information sur la
polarité des messages et ceci permettra d'éviter les erreurs de prédiction et de réduire encore
plus la dimension du vocabulaire utilisé.
Exemple :
Liste des tokens : ['Bonjour', 'Pour', 'participer', 'au', 'jeu', 'il', 'faut', 'répondre', 'sur', 'le'
post', 'suivant',
'https://web.facebook.com/OoredooDZ/photos/a.115193385201473.30839.108951559158989
/1307600195960780/?type=3&theater']
Liste des tokens après prétraitement : ['Bonjour', 'Pour', 'participer', 'au', 'jeu', 'il', 'faut',
'répondre', 'sur', 'le', 'post', 'suivant']
Les internautes ont tendances à utiliser le hashtag pour expliciter le sujet que traite le message.
Les hashtags peuvent également comporter des mots d'opinion utilisés pour déterminer la
polarité du texte en question, donc Il est très important de garder trace de ces mots au niveau
de la base de données, avant de supprimer les symboles '#’, ‘_' car ils apportent beaucoup
d'informations pour l'analyse de sentiments et la détection du sujet.
Exemple :
Liste des tokens : [‘nous’, ‘avons’, ‘adoré’, ‘notre’, ‘expérience’, ‘à’, ‘#Alger’]
Liste des tokens après prétraitement : [‘nous’, ‘avons’, ‘adoré’, ‘notre’, ‘expérience’, ‘à’,
‘Alger’]
88
Chapitre III : Conception
Exemple :
En ce qui concerne la suppression des mots vides, nous avons besoin de ressources prêtes
comportant tous les mots outils des langues utilisées dans nos textes. A cet effet, pour des
langues comme l'anglais, le français ou l'arabe standard moderne, il existe des listes de mots
outils bien connues. Ces listes sont disponibles gratuitement sur internet ou via des outils
comme NLTK.
En ce qui concerne le dialecte transcrit en lettre latines ou arabes, nous ne disposons d'aucune
ressource regroupant les mots vides sont inutiles pour notre analyse.
Nous avons donc suivi une démarche présentée dans [Medhat et al., 2014b] et qui vise à créer
une liste des mots vides générale pour le dialecte et qui pourra être utiliser comme une source
fiable pour les futurs travaux sur un dialecte donné.
Ces listes de mots outils, comportent des mots de négation que nous ne devons en aucun cas
supprimer. Pour cette raison, nous avons enlevé ces mots et les mettre dans une liste blanche
qui comporte les expressions de négation des différentes langues.
Exemple :
Ce qui est utilisé généralement c'est avant de traiter tout texte, ce dernier est réduit à la forme
minuscule de toutes ses lettres latines quelle que soit la position dans le document. De ce fait,
les mots "EXCELLENT" et "excellent" sont réduits à la même instance ce qui réduit
considérablement la dimension du vecteur de caractéristiques, mais dans notre cas, nous
89
Chapitre III : Conception
jugeons qu'il est très important de garder trace des mots majuscules car ils apportent beaucoup
d'informations pour l'analyse de sentiments, car les LETTRES CAPITALES sont utilisées pour
que les mots sonnent plus fort.
Exemple :
Liste des tokens : ['Comment', 'désactiver', 'l', 'option', 'heya', 'AIME', 'pas']
Liste des tokens après prétraitement : ['Comment', 'désactiver', 'l', 'option', 'heya', 'aime_maj',
'pas']
VI.2.2.2. Désaccentuation
De même que pour la casse, la substitution des lettres accentuées par leur équivalent non
accentué permet d'unifier différents termes et ainsi réduire le nombre d'instances dans le
vocabulaire.
Exemple :
Nous supprimons dans cette étape tous les mots d'une seule lettre car tous les mots d'une seule
lettre sont des mots vides, Elles n'apportaient aucune information utile à l'analyse de sentiments
ou la détection du sujet.
Exemple :
Liste des tokens : ['Comment', 'désactiver', 'l', 'option', 'heya', 'aime_rep', 'pas']
Cette tâche est effectuée en utilisant une bibliothèque de détection de la langue basée sur
l’apprentissage automatique.
Principe de fonctionnement
90
Chapitre III : Conception
2_ S’il est détecté comme étant un commentaire dans une autre langue (espagnol, allemand,
anglais …),
3_ On vérifie La valeur renvoyée par langid, qui est une estimation de probabilité non
normalisée d’un texte d’appartenir à une langue donnée.
4_ Si elle est inférieure à 0.75 (pour prendre en compte une certaine marge d’erreur), on le
considère comme dialecte et il (le commentaire prétraité) passe par le traitement de dialecte.
Nous avons effectué une étude quantitative sur les données du corpus collecté pour se faire une
idée sur la nature et le type de textes à traiter. Nous pouvons voir à travers le graphique ci-
dessous que les commentaires dont la langue est non identifiée dans l'arabe standard ou le
français restent de loin les plus nombreux. De plus, la tâche de détection de la langue à partir
du texte elle-même reste imprécise en comptabilisant une certaine marge d'erreur. Il est à noter
que le corpus en question comporte plus de 100,000 commentaires.
50
45
40 43.3
35
35.1
30
25
20
21.6
15
10
5
0
Autre Arabe Français
VI.2.3. Racinisation
Pour la racinisation nous avons utilisé le Snowball. Cet outil permet de faire de la racinisation,
en appliquant l'algorithme de Porter, sur des mots français/anglais pour ne garder que la racine
du mot appelée aussi "Stemm", pour ce qui est de l'arabe standard, nous avons utilisé une
extension de Snowball développée par Assem Chelli un étudiant de l'ESI intitulée
"ArabicStemmer" (Assem Chelli, 2015).
91
Chapitre III : Conception
Il n'existe pas de stemmer pour le dialecte et vu que les mots n'appartiennent à aucune langue
formelle connue et surtout disposant de règles syntaxiques et grammaticales permettant la
racinisation, nous l'avons ignoré pour le dialecte.
Exemple :
Liste des tokens : ['Bonjour', 'participer', 'jeu', 'faut', 'repondre', 'post', 'suivant']
Liste des tokens après prétraitement : ['Bonjour', 'particip', 'jeu', 'faut', 'repondre', 'post',
'suivant'].
Pour la langue par exemple, les échanges sur les réseaux sociaux et les SMS ont aussi introduit
l’utilisation des chiffres pour formuler certaines lettres arabes sans équivalent dans l’écriture
latine, comme par exemple la lettre حH qui est translittérée en chiffre ‘7’, la lettre ’عA’ qui
est translittérée en chiffre ‘3’.
Exemple : 2m1 -> demain, jv encor dvoir 10qt -> je vais encore devoir discuter, 2day ->
today.
Après avoir examiné les données collectées, nous avons observé qu’il y a plusieurs textes écrits
en langage SMS, donc nous avons jugé qu’il est indispensable de le traiter, dans le but de
réduire la taille du corpus et avoir des meilleurs résultats dans l’étape de l’analyse de sentiments.
L’étape de traitement de langage SMS fait appel aux deux techniques qui seront présentées ci-
dessous.
Une première technique consiste à effectuer une série de substitutions phonétisées, càd
remplacer un son par des caractères uniques (lettres ou chiffres).
Une deuxième technique consiste à utiliser les dictionnaires SMS qui existent sur internet
(dictionnaire-sms, sos-sms, deblok). En effet, pour un même mot il existe une vaste quantité
de variante dans le dictionnaire : exemple pour « demain » : 2m1, dmain, dmin, 2main, dem1,
2min, dems, 2m, d2m1, 2mains, dem’s, dms, dmai, dem.
92
Chapitre III : Conception
2-Si correspondance trouvée, nous remplaçons le mot dans le corpus par son équivalant dans
le dictionnaire.
Exemple :
Liste des tokens après prétraitement : ['Chehal', 'dir', 'puce', 'Ooredoo', 'haya', 'repondez']
➢ Un regroupement phonétique.
Nous nous sommes basés sur une idée d'un projet de fin d'étude qui a été réalisé sur le dialecte
algérien (Benkrid et al,2016). Ce que nous avons exploité c'est le fait d'utiliser le regroupement
phonétique et par similarité que nous avons mieux exploité et développé par rapport à son usage
et utilisation dans la catégorisation, donc le résultat de ce regroupement constituera une
ressource utilisée par la suite pour corriger les nouveaux textes, une ressource que nous
pourrons qualifier de dictionnaire des néographies (Benkrid et al.,2016).
La figure ci-dessus met en évidence le processus qui permet de construire le dictionnaire des
néographies, il s'étale sur deux étapes qui sont le regroupement phonétique et enfin le
93
Chapitre III : Conception
La première phase consiste à faire à un regroupement phonétique, nous regroupons tous les
mots qui partagent le même code phonétique. Nous nous sommes basés sur un algorithme de
Soundex qui permet d'indexer les mots par leur prononciation avec un même code. Nous aurons
donc en sortie des familles composées des mots qui sont identiques en prononciation malgré
des différences au niveau de leurs écritures respectives.
Nous l'avons utilisé pour chaque mot dans le corpus en parcourant tous les messages prétraités
et nous avons regroupé tous les mots ayant le même code phonétique.
Exemple :
- N24 : ['nokloa', 'nchalh', 'nchlh', 'nchalah', 'nchallah', 'ngoul', 'nakle', 'nchallh', 'ngolo',
'naklo', 'nousalha', 'nqol', 'ngoulouha', 'nqolo', 'noklo', 'nchalahe', 'nqolh', 'nkhlio', 'nsl7o',
'nqool', 'nqolha', 'nsalho', 'nchlah', 'nkhliwha', 'nshallah', 'nshalah', 'nakol']
À la fin de cette étape nous avons un dictionnaire phonétique où nous associons chaque liste
de mots (ayant le même code phonétique) leur code phonétique correspondant.
Nous avons remarqué que le regroupement phonétique ne suffit pas car plusieurs mots qui ne
veulent pas dire la même chose sont regroupés ensemble. Il est donc nécessaire de faire un
second regroupement à l'intérieur de chaque groupe de mots dans le dictionnaire phonétique.
Exemple :
15 https://github.com/seatgeek/fuzzywuzzy
94
Chapitre III : Conception
Pour chaque liste de mots du dictionnaire donné dans l'étape du regroupement phonétique, nous
prenons le mot qui a apparu le plus dans le corpus parmi cette liste, et nous calculons sa
similarité avec tous les autres mots. Quand la similarité est supérieure à un certain seuil (que
nous avons fixé à 75% après avoir testé plusieurs exemples) les mots sont regroupés. Cela
donne une première liste qui représente le premier regroupement par similarité.
On refait la même chose pour le groupe de mots qui reste dans la liste jusqu'à que cette dernière
soit vide.
Exemple :
_ N24 : ['nokloa', 'nchalh', 'nchlh', 'nchalah', 'nchallah', 'ngoul', 'nakle', 'nchallh', 'ngolo',
'naklo', 'nousalha', 'nqol', 'ngoulouha', 'nqolo', 'noklo', 'nchalahe', 'nqolh', 'nkhlio', 'nsl7o',
'nqool', 'nqolha', 'nsalho', 'nchlah', 'nkhliwha', 'nshallah', 'nshalah', 'nakol ']
Dans cet exemple le mot le plus fréquent est : nchallah. Après regroupement par similarité le
résultat donne :
Et on refait la même chose pour ce qui reste dans la liste. Cela donne au final:
_ nchallah : nchalh, nchlh, nchalah, nchallah, nchallh, nchalahe, nchlah, nshallah, nshalah.
Par la suite, ce dictionnaire sera utilisé pour substituer certains mots par leur forme la plus
courante dans le dictionnaire. Le choix de la substitution par la forme la plus courante est fondé
sur le fait que le langage utilisé (dialecte algérien) ne possède pas de règles.
Ce processus a été mis en place afin de réduire le bruit généré par la diversité des écritures pour
un même mot. Cette étape du prétraitement a permis de réduire considérablement le nombre
de mots que comporte le vocabulaire de tout le corpus. Les chiffres de la figure 19 ci-dessous
indiquent clairement cette amélioration en réduisant presque un tiers (36.70) de la taille du
corpus.
95
Chapitre III : Conception
30000
25000
25304
20000
15000
16018
10000
5000
0
Avant Après
Avant Après
Lors de la phase d’observation, nous avons remarqué que sur les commentaires récoltés on
trouve une manière de communication semblable à celle qu’on utilise dans notre vie réelle les
expressions faciales particulières, les grimaces …etc. Ce qui nous a motivé à exploité ce qu’on
appelle les émoticônes. Il existe trois types d’émoticônes :
➢ Les smileys : représentent une expression faciale en utilisant des affiches
typographiques,
➢ Les emojis : sont des photos et images représentant des objets qu’on trouve dans notre
vie courante ou des émotions,
➢ Les autocollants : pareil que les emojis, mais ces derniers peuvent être animés.
96
Chapitre III : Conception
➢ Détection des smileys : Sachant que ces derniers sont des représentations
typographiques, nous avons utilisé une expression régulière comportant les différents
caractères qui interviennent dans l’expression des émoticônes ainsi que leur
séquencement.
➢ Détection des émojis : En ce qui est des emojis, nous avons eu recours á des ressources
externes prêtent conçues pour détecter les emojis à partir du texte.
Dans notre cas, on a opté pour une solution non supervisée qui se base sur le clustering.
97
Chapitre III : Conception
Après avoir étudier les besoins des analyses à effectuer, nous avons pu effectuer une sélection
des attributs disponibles au niveau de notre source de données pour pouvoir regrouper les
commentaires similaires dans un même cluster. Le tableau ci-dessous, présenté les attributs
sélectionnés pour chacune de nos deux analyses.
Attributs sélectionnés
Nb Représentation
Id Nb réactions Pages Nb Page Nb de
commentaires numérique du
utilisateur commentaires hôte réaction hôte réponse
publiés message
Les algorithmes de clustering prennent comment entrée que des données numériques, ce qui
n’est pas le cas de nos données. Pour y remédier à cela, nous utilisons une technique de
représentation de texte sous format numérique. La sortie de cette conversion est un vecteur
numérique auquel on rajoute les caractéristiques utilisateur ainsi que les métadonnées du
commentaire.
K-means
La méthode des k-means est une méthode de partitionnement de données introduite par
MacQueen en 1967, dont le but est de former des sous-ensembles des individus appelés
partitions tel que les individus formant chaque partition soit le plus proches possible.
98
Chapitre III : Conception
K-means (D, K)
1. Choisir K points centroïdes initiaux.
DB-SCAN
99
Chapitre III : Conception
Sinon
C++
etendreCluster(D, P, PtsVoisins, C, eps, MinPts)
Retourner tous les points de D qui sont à une distance inférieure à eps de P
Sortie : K clusters.
Une fois les caractéristiques représentées sous forme de vecteur, on utilise un algorithme de
clustering pour regrouper les documents similaires dans un même cluster. Ensuite, on extrait
100
Chapitre III : Conception
les mots les plus fréquents et nous les comparons avec des listes de mots qui représentent nos
classes de sentiments à savoir, des listes de mots qui expriment l’adoration, l’appréciation, la
tristesse ainsi que la colère. Enfin, on annote les clusters selon l’appartenance de leurs mots les
plus fréquents aux listes des mots les plus fréquents.
VI.4. Catégorisation
Après avoir terminé les étapes citées ci-dessus, nous procédons ensuite à une série de tests pour
déterminer la meilleure représentation pour le texte ainsi que l'algorithme qui donne les
meilleurs résultats en fonction de la combinaison choisie. Pour ce faire on a choisi quatre
techniques de représentation de texte qui sont, représentation binaire, IDF, TF-IDF et enfin
Word Embedding ainsi que quatre algorithmes d’apprentissage automatique qui sont, SVM,
NBM, CNN et enfin LSTM. En effet, il est difficile de prédire l'association qui donnera la plus
haute précision avant d'avoir essayé, car la qualité de la prédiction est très liée au corpus et à
la nature des textes. Ces étapes correspondent aux étapes 4 et 5 de la méthodologie CRISP-
DM.
VI.5. Visualisation
Nous exposons dans cette partie la méthodologie de conception du tableau de bord ainsi que la liste des
indicateurs de performance.
101
Chapitre III : Conception
Les méthodes les plus utilisées dans la conception des tableaux de bord sont : la méthode GIMSI et la
méthode BSC. Une étude comparative présente en -annexe D- a été effectué afin de comparer ces deux
méthodes. Finalement, notre choix s’est porté sur la méthode Balanced Scorecard (BSC) qui est un
système de mesure de performance qui privilégie l'approche « Top – Down » qui est particulièrement
efficace pour garantir une mise en œuvre assez étroite de la stratégie. Selon les concepteurs de ce
système « Le tableau de bord prospectif (ou Balanced Scorecard) est un concept de management qui se
focalise sur la stratégie et la vision plutôt que sur le contrôle. Les raisons qui ont motivés notre choix
sont les suivantes :
➢ La méthode BSC s’accorde parfaitement avec les besoins et attentes des hauts dirigeants, ce
qui nous convient vu qu’on s’intéresse aux performances globales de l’entreprise, ce qui n’est
pas le cas avec l’approche GIMSI qui se focalise beaucoup plus sur les besoins et attentes
opérationnels.
➢ La démarche privilégiée dans notre cas est la démarche Top-down adoptée par la BSC qui
donne une vision claire et globale des données de l’entreprise contrairement la GISMI qui
favorise l’approche Botton-up. Ce qui s’accorde parfaitement avec notre projet dont l’objectif
est de répondre aux attentes et aux besoins des haut dirigeants.
➢ Le besoin des décideurs de se focaliser sur les indicateurs citriques de l’entreprise nous impose
d’avoir recours à la BSC vu sa structuration et sa vision concise sur la performance globale de
l’entreprise.
Donnent une vue globale et comparative concernant nos sources de données. Comme nous
avons pris comme projet de référence l’entreprise Ooredoo Algérie, nous avons pris les quatre
opérateurs téléphoniques présents sur le marché algérien comme source de données.
102
Chapitre III : Conception
Vue Administrateur
L’administrateur gère les comptes utilisateurs, les droits d’accès au tableau de bord et il alloue
les ressources aux groupes d’utilisateurs si nécessaires. La figure ci-dessous résume les cas
d’utilisation de l’administrateur.
Vue Utilisateur
L’utilisateur en plus du fait qu’il utilise le Dashboard pour visualiser les différents indicateurs,
il se charge de créer les indicateurs, les rapports, les filtres, les graphiques qui seront consulter
par la suite. La figure ci-dessous, résume les cas d’utilisations de l’utilisateur.
103
Chapitre III : Conception
Ils donnent une vue plus détaillée par rapport à la vue comparative. Ils permettent de visualiser
les mesures de sentiment exprimés par une catégorie de clients, relatif à un opérateur sur une
période donnée. Ces mesures permettent de s'informer d'une manière plus détaillée à travers
les sentiments des clients sur les différentes pages Facebook surveillées, les types de clients,
les mentions ainsi que leur évolution. Pour les besoins opérationnels.
Nous exposons dans cette partie la liste des indicateurs avec leurs formules de calcul.
104
Chapitre III : Conception
105
Chapitre III : Conception
Nom de la Unité de
Objectif Formule de calcule Filtres
mesure mesure
Fournit une valeur normalisée de
Toutes les
Taux de nombre de commentaires qui Nb_commentaire_colere pages,
commentaires qui expriment de la colère par rapport au Pourcentage 100 ∗
exprime la colère trafic généré. Il peut être utilisé pour Nb_total_commentaires concurrents,
label
se comparer aux concurrents.
Fournit une valeur normalisée de
Taux de Toutes les
nombre de commentaires qui Nb_commentaire_tristesse
commentaires qui pages,
expriment de la tristesse par rapport Pourcentage 100 ∗
exprime la
au trafic généré. Il peut être utilisé Nb_total_commentaires concurrents,
tristesse label
pour se comparer aux concurrents.
Toutes les
Taux de Fournit une valeur normalisée de Nb_commentaire_neural pages,
commentaires nombre de commentaires neutres par Pourcentage 100 ∗
neutres rapport au trafic généré. Nb_total_commentaires concurrents,
label
Représente un degré de satisfaction (Taux de commentaires qui exprime
globale sur les réseaux sociaux, une l’appréciation + Taux de commentaires qui Toutes les
valeur positive indique une tendance exprime l’adoration) –
Score de pages,
positive envers la marque sinon c'est Pourcentage
sentiments (Taux de commentaires qui exprime la concurrents,
l'opinion négative qui domine. Il est
colère + Taux de commentaires qui label
utilisé comme mesure de
comparaison avec les concurrents. exprime la tristesse)
1. Authentification
106
Chapitre III : Conception
2. Autorisation
Nous optons pour une solution qui sépare l’authentification du reste du système, un serveur
d’authentification est responsable de l’identification des utilisateurs et l’attribution des rôles.
Cette solution permet de :
➢ Isoler les données confidentielles des utilisateurs du reste des ressources afin de limiter
le risque de défaillance de sécurité.
VI.6.1. Authentification
Avant d'accéder à une ressource, l'utilisateur doit d'abord s'authentifier à l'ouverture de session
en introduisant un couple (e-mail, mot de passe), le couple est envoyé au serveur
d'authentification à travers un canal sécurisé avec SSL16 afin d'être identifié dans la base de
données des utilisateurs.
L'authentification vérifie l'identité d'un utilisateur. Tous ceux qui doivent disposer d'un accès
à notre solution, que ce soit pour publier, naviguer ou administrer du contenu, doivent être
ajoutés en tant qu'utilisateurs dans la base de données des utilisateurs.
VI.6.2. Autorisation
A l'issue de l’étape d’authentification, le serveur d'authentification génère un Ticket de service
(Token en anglais), ce ticket contient les informations de base de l'utilisateur dont son
identifiant, les rôles ainsi que la date d'expiration du ticket autrement dit de la session.
L'autorisation inclut :
➢ Ce que les utilisateurs sont autorisés à faire avec le contenu hébergé sur notre solution.
➢ Ce que les utilisateurs sont autorisés à faire avec les sources de données gérées.
Les rôles définissent qui est un administrateur. Les administrateurs peuvent être désignés au
niveau du serveur authentification. Pour les non-administrateurs, les rôles sur le site indiquent
le niveau maximum d'accès dont un utilisateur peut disposer sur un site donné, soumis aux
autorisations définies sur les ressources de contenu. Par exemple, si le rôle sur le site Viewer
(Observateur) a été attribué à un utilisateur, et le rôle Creator à un autre.
107
Chapitre III : Conception
108
Chapitre III : Conception
VI.7. Conclusion
Dans ce chapitre, nous avons présenté en premier la méthodologie que nous avons suivie pour
mener à bien la réalisation de notre projet, après cela nous avons présenté une vue globale de
notre solution. Après avoir présente notre architecture globale, nous avons détaillé chaque
étape du système à commencer par la logique de collecte et de sauvegarde des données à partir
des réseaux sociaux. Nous avons par la suite abordé les différentes techniques de prétraitement
que nous avons appliquées à notre corpus dans le but de le préparer pour les étapes d’annotation
et de catégorisation. Nous avons notamment accordé beaucoup d'attention au traitement des
particularités du langage employé sur les plateformes de réseaux sociaux pour apporter une
solution qui gère le dialecte en plus des langues structurée. Pour ce faire, nous avons exploité
les particularités phonétiques pour proposer une approche qui nous permet de regrouper les
différentes néographies des mots. Nous avons également discuté les différents paramètres qui
interviennent au niveau du module de catégorisation. Pour finir, nous avons présenté le module
de visualisation avec les différentes mesures et vues qui offrent une vue globale des résultats
aux utilisateurs en fonction des paramètres de temps et des opérateurs.
Dans le prochain chapitre, nous allons exposer les différentes technologies employées pour la
réalisation de notre projet. Nous aborderons également la phase de déploiement en présentant
notre architecture de déploiement, avant de finir par les différents scénarios de tests ainsi que
les résultats obtenus dans la phase évaluation.
109
Chapitre IV : Réalisation, Déploiement et Évaluation
110
Chapitre IV : Réalisation, Déploiement et Évaluation
I. Environnement et technologies de
développement
Dans cette section nous allons nous attarder sur l'environnement ainsi que les technologies
utilisées pour la réalisation de notre projet. La figure ci-dessous résume les principales
technologies utilisées ainsi que le contexte et le module dans lequel elles interviennent.
Les technologies utilisées supportent plusieurs langages de programmation, nous avons donc
choisi d’utiliser les langages de programmation que nous maitrisons pour exploiter la puissance
des différentes technologies. Voici un tableau qui résume les langages de programmation
utilisés ainsi que la partie dans laquelle on les a utilisé.
Langages Endroit
111
Chapitre IV : Réalisation, Déploiement et Évaluation
I.1.1. Python
Python est un langage de script de haut niveau, structuré et open source. Il est multi-paradigme
et multiplateformes. Conçu pour être orienté objet, mais rien n'empêche de l'utiliser dans un
contexte de programmation fonctionnelle. En offrant des outils de haut niveau et une syntaxe
simple à utiliser, il permet d'optimiser considérablement la productivité́ des programmeurs.
Python est un langage qui peut être utilisé dans de nombreux contextes et s'adapter à tout type
d'utilisation grâce à des bibliothèques spécialisées. Il est particulièrement répandu dans le
monde scientifique, le traitement automatique du langage naturel et possède de nombreuses
extensions destinées aux applications numériques.
I.1.2. C#
C# est un langage de programmation orienté objet, fortement typé, dérivé́ de C et C++. C♯ est
destiné pour le développement sur la plateforme .NET, il est utilisé pour développer des
applications web et mobile, ainsi que des applications de bureau, des services web …etc.
I.2. Environnement
I.2.1. Nifi
NiFi est un logiciel libre de gestion de flux de données. Il permet de gérer et d'automatiser des
flux de données entre plusieurs systèmes informatiques, à partir d'une interface web et dans un
environnement distribué.
I.2.2 Kafka
Apache Kafka est un projet open-source d'agent de messages développé par l'Apache Software
Foundation et écrit en Scala. Le projet vise à fournir un système unifié, temps réel à latence
faible pour la manipulation de flux de données.
I.2.3. Spark
Apache Spark est un framework de traitements Big Data open source construit pour effectuer
des analyses sophistiquées et conçu pour la rapidité et la facilité d’utilisation.
D’abord, Spark propose un framework complet et unifié pour répondre aux besoins de
traitements Big Data pour divers jeux de données, divers par leur nature (texte, graphe, etc.)
aussi bien que par le type de source (batch ou flux temps-réel).
112
Chapitre IV : Réalisation, Déploiement et Évaluation
Ensuite, Spark permet à des applications sur clusters Hadoop d’être exécutées jusqu’à 100 fois
plus vite en mémoire, 10 fois plus vite sur disque. Il vous permet d’écrire rapidement des
applications en Java, Scala ou Python et inclut un jeu de plus de 80 opérateurs haut-niveau.
I.2.4. Hbase
HBase est un système de stockage distribué de map(s) triées, développé au-dessus du système
de fichier HDFS. Il permet un accès aléatoire en écriture/lecture en temps réel à un très grand
ensemble de données.
HBase est une base NoSQL distribuée orienté colonne, horizontalement scalable et tolérante
aux pannes où la charge de travail en termes de mémoire et de calculs (CPU) ainsi que le
stockage est distribué sur toutes les machines du cluster HBase.
I.3. Bibliothèques
NLTK est une bibliothèque logicielle écrite en python contenant un ensemble de fonctions
destinées au traitement automatique du langage naturel. Elle permet la segmentation des
phrases, l'étiquetage des textes, la normalisation des mots ainsi que certains calculs statistiques.
Elle est plus adaptée pour être utilisée avec des textes en anglais comparé à d'autres langues.
I.3.2. SciKit-Learn
Scikit-learn est une bibliothèque Python dédiée pour l'apprentissage automatique. Elle propose
divers algorithmes de clustering et de régression. Elle est conçue pour fonctionner avec les
bibliothèques numériques et scientifiques Python telles que numpy17et SciPy18.
I.3.3. Keras
Keras est une librairie open source écrite en python et permettant d'interagir avec les
algorithmes de deeep learning et de machine learning, capable de fonctionner sur TensorFlow 19,
CNTK20 ou Theano21.
I.3.4 Gensim
17 http://www.numpy.org/
18 https://www.scipy.org/
19 https://www.tensorflow.org/
20 https://www.microsoft.com/en-us/cognitive-toolkit/
21 https://github.com/Theano/Theano
113
Chapitre IV : Réalisation, Déploiement et Évaluation
Cython22 pour la performance. Il est spécialement conçu pour traiter de grandes collections de
textes, en utilisant des algorithmes de streaming de données et des algorithmes incrémentaux
efficaces, ce qui le différencie de la plupart des autres bibliothèques scientifiques qui ne ciblent
que le traitement par lots et en mémoire.
22 http://cython.org/
114
Chapitre IV : Réalisation, Déploiement et Évaluation
II. Réalisation
La figure ci-dessous représente notre architecture technique, ainsi que son découpage en
plusieurs modules sur lesquelles on va s’attarder un peu plus loin.
➢ Data Processing : Cette partie représente les phases de prétraitement de nos données
textuelles qui comporte les étapes décrites dans le chapitre conception.
➢ Sentiment Analysis : Cette partie comporte notre système d’analyse de sentiments, qui
nous permettra de prédire les classes de nos documents.
115
Chapitre IV : Réalisation, Déploiement et Évaluation
Ceci nous permettra d’avoir un accès durable sur les données publiques des pages concurrentes
tels que les postes et les commentaires.
➢ Meilleures performances,
Sur le marché, il existe plusieurs solutions tels que : MongoDB, Cassandra, HBase et d’autres
bases de données. Voici une petite comparaison entre les 3 bases de données les plus utilisées
dans un contexte Big Data :
116
Chapitre IV : Réalisation, Déploiement et Évaluation
Types complexes
Oui Oui Oui
(Maps & Tableaux)
D’abord nous avons réalisé un modèle de word embedding en utilisant la bibliothèque Gensim
qui nous permet de représenter chaque mot par un vecteur de n dimensions, dans notre cas nous
avons fixé n à 100, en se basant sur les recommandations sur le site officiel de Gensim 23.
Ensuite, nous utilisons celui-ci, pour calculer le vecteur moyen des vecteurscomposants chaque
document comme le montre la figure ci-dessous.
23 https://radimrehurek.com/gensim/
117
Chapitre IV : Réalisation, Déploiement et Évaluation
II.5. Annotation
II.5.1. Annotation non supervisée
Parmi les parties les plus importantes de notre solution, nous trouvons l’annotation non
supervisée, qui nous permettra de générer un dataset d’apprentissage consistant pour nos
algorithmes d’apprentissage automatique. Grâce à notre approche non supervisée, nous avons
pu annoter plus de 100.000 commentaires, ce qui nous a permis d’avoir des résultats
satisfaisants lors des tests de nos algorithmes de classification. L’annotation non supervisée de
corpus exploite la puissance des algorithmes de clustering. On utilise la technique du word
embedding pour l’extraction des caractéristiques tout en rajoutant les données relatives aux
utilisateurs au vecteurs résultant du Word Embedding (annotation du commentaire par les
utilisateurs, nombre de commentaire postés par l’utilisateur, nombre de réaction…etc).
Ensuite, on exploite la puissance des algorithmes de clustering pour regrouper les
commentaires similaires dans une même classe. L’étape suivante consiste à extraire les mots
les plus fréquents et les comparer avec des listes de mots qui représentent nos classes de
sentiments à savoir, des listes de mots qui expriment l’adoration, l’appréciation, la tristesse
ainsi que la colère. Enfin, on annote les classes selon l’appartenance aux listes des mots les
plus fréquents.
118
Chapitre IV : Réalisation, Déploiement et Évaluation
119
Chapitre IV : Réalisation, Déploiement et Évaluation
II.6. Catégorisation
Pour implémenter notre système d’analyse de sentiments, nous avons opté pour le Framework
Keras pour les raisons suivantes :
II.6.1.2. Pooling1d
La couche Dropout est proposé par (Hinton et al, 2010) comme un régularisateur qui règle les
activations des couches de notre réseaux pendant l'entraînement et améliore ainsi la capacité
de généralisation et prévient en grande partie le sur-ajustement.
II.6.1.3. Dropout
Dropout consiste à régler au hasard un taux de fraction d'unités d'entrée à 0 à chaque mise à
jour pendant l'entraînement, ce qui permet d'éviter les sur-ajustements.
II.6.1.4. LSTM
II.6.1.1. Conv1D
Cette couche représente la couche de convolution pour créer notre couche CNN (Conventional
Neural Network).
II.6.1.5. Dense
Permet de diviser le modèle entre les couches qui font l'extraction de caractéristiques et les
couches qui font la classification de ces caractéristiques
II.6.1.6. Flatten
120
Chapitre IV : Réalisation, Déploiement et Évaluation
Dans la figure ci-dessous, on présente l’architecture de notre algorithme de LSTM (Long Short
Term Memory). Nous avons opté pour cette architecture en se basant sur des travaux déjà
existant dans le domaine de classification du texte, ainsi que les recommandations sur le site
officiel du Framework Keras.
Notre algorithme de CNN est présenté dans la figure suivante, qui est l’implémentation de
l’algorithme présenté par (Kim Yoon et al,2014).
121
Chapitre IV : Réalisation, Déploiement et Évaluation
Après avoir implémenté les deux algorithmes précédents CNN et LSTM, on a décidé d’essayer
la combinaison de ces deux derniers, pour pouvoir exploiter les points forts de chaque
algorithme comme le montre la figure ci-dessous.
II.7. Visualisation
Pour pouvoir montrer l’importance de ce travail et les données récoltées, nous avons mis en
place un Dashboard en utilisant l’utilitaire ‘Tableau’.
122
Chapitre IV : Réalisation, Déploiement et Évaluation
➢ Part d’un sentiment par opérateur avec une possibilité de visualiser les messages
filtrés par opérateur ou sentiment.
Figure 39 Part d'un sentiment par opérateur avec aperçu sur les commentaires
➢ Et enfin voici l’interface principale de notre Dashboard qui regroupe toutes les
vues présentées ci-dessus.
123
Chapitre IV : Réalisation, Déploiement et Évaluation
III. Déploiement
La figure ci-dessous présente l’architecture de déploiement des principaux composants de notre
système. Le système est déployé́ sur le cloud privé d’Ooredoo, sur une machine virtuelle
Ubuntu Linux de la manière suivante :
➢ Les serveurs Ambari, Nifi, Spark, Hadoop, Python Anaconda, Tableau serveur sont
déployés sur la machine virtuelle.
➢ L’application principale est accessible à partir de Tableau Desktop ainsi que d’un
navigateur web via une adresse IP publique.
124
Chapitre IV : Réalisation, Déploiement et Évaluation
IV. Évaluation
L’objectif principale de notre projet est de concevoir un système qui permet de collecter,
prétraiter, sauvegarde ainsi que d’analyse les sentiments relatifs aux données textuelles issues
des réseaux sociaux et plus précisément Facebook dans notre cas. Cela dit, notre évaluation ne
concernera que le système d’analyse de sentiments à base de techniques d’apprentissage
automatique.
Dans cette section nous expliquerons dans un premier temps la démarche suivie ainsi que les
scénarios réalisés pour effectuer cette évaluation, en abordant l’ensemble des paramètres qui
interviennent durant ce processus. Pour ce faire, nous avons collecté un jeu de données qui
dépasse les 100.000 documents issus des quatre classes Adoration, Appréciation, Neutre,
Tristesse et Colère. Notre jeu de données est divisé en deux ensembles, documents annotés
manuellement et documents annotés avec une approche non supervisée Tableau 7.
Jeu de données
95731
Nous avons découpé ce jeu de données en ensemble d’apprentissage et ensemble de test avec
une part de 80% et 20% respectivement.
Il est à noter que nos tests ont été effectuer dans un environnement Linux Ubuntu avec un CPU
de 8 cœurs et 56 Go de RAM déployé sur le cloud Microsoft Azure.
125
Chapitre IV : Réalisation, Déploiement et Évaluation
IV.1. Démarche
Dans le but de valider nos modèles, Nous adoptions une démarche de test qui nous permet de
mesurer et de comparer les métriques suivantes :
➢ Exactitude,
➢ F-Mesure,
➢ Rappel.
Ces mesures seront calculées dans le but d’effectuer une comparaison entre les différentes
combinaisons d’algorithme d’apprentissage, de techniques d’extractions de caractéristiques
ainsi que de techniques d’annotations. Nous allons donc présenter dans ce qui suit les différents
paramètres qui interviennent dans les performances de notre système d’analyse de sentiments.
➢ Unigrammes : Les composantes du vecteur sont les mots du vocabulaire, que nous
désignerons par la lettre U.
➢ Bigrammes : Les composantes du vecteur sont les mots du vocabulaire ainsi que des
bigrammes qui seront composés par les mots qui se suivent régulièrement. Nous
désignerons ces composantes par la lettre B.
126
Chapitre IV : Réalisation, Déploiement et Évaluation
➢ Naïve Bayes : Nous avons utilisé la variante qui est NBM pour multinomial Naïve
Bayes,
➢ Deux niveaux : Cette approche est aussi appelée classification en cascade. Durant le
premier étage nous déterminerons si un commentaire est subjectif ou objectif et cela en
entrainant un classificateur spécifique pour ces deux classes. Si un commentaire est
prédit subjectif, il sera envoyé vers le niveau suivant.
127
Chapitre IV : Réalisation, Déploiement et Évaluation
Dans le deuxième niveau, un autre classificateur sera entrainé pour distinguer entre les
classes, Appréciation, Adoration, Tristesse et Colère. La figure ci-dessous montre le
processus global du système d’analyse de sentiments à deux niveaux.
Dans le but de tester les approches proposées, nous avons donc entrainés trois différents
classificateurs différents :
➢ Classificateur entrainé sur les classes Appréciation, Adoration, Tristesse et Colère qui
fera office de deuxième étage dans notre solution à deux niveaux.
Pour chaque teste, nous sélectionnerons une seule technique de composition du vecteur texte,
une seule technique de représentation du vecteur de composantes, un seul dataset
d’entrainement et de test (Dataset manuel, dataset non supervisée ou la concaténation des deux
dataset) et un seul algorithme d’apprentissage automatique.
128
Chapitre IV : Réalisation, Déploiement et Évaluation
Classificateur Sentiments
Total 90424
Les trois classificateurs sont entrainés sur trois types de jeux données, en utilisant différents
techniques et algorithmes.
129
Chapitre IV : Réalisation, Déploiement et Évaluation
130
Chapitre IV : Réalisation, Déploiement et Évaluation
131
Chapitre IV : Réalisation, Déploiement et Évaluation
U
94.78% 89.23%
CNN
B 94.29%
94.76% 89.67%
BO 94.65%
94.76% 89.45%
CNN+LSTM
U
88.06% 86.25% 83.11%
B
87.17% 84.95% 82.08%
BO
85.21% 90.75% 79.97%
132
Chapitre IV : Réalisation, Déploiement et Évaluation
➢ Le Word Embedding surpasse TF-IDF : Le TF-IDF a très souvent été sollicité pour
ses résultats dans la catégorisation de texte car il prend en compte la fréquence des
termes à travers les documents grâce à IDF. Mais avec l’explosion du Deep Learning,
le word embedding a remarquablement apporté un plus et dépasse même la technique
TF-IDF comme le montre les résultats que nous avons obtenus.
➢ Les performances de la représentation U surpasse celles de B et BO : Dans les
résultats des tests, nous remarquons que l’utilisation des unigrammes surpasse
l’utilisation des bigrammes, ce qui est contraire à nous attentes sachant que les
bigrammes prennent en considération la négation et les mots d’opinions. Pour connaitre
la cause de ce résultat, nous avons analysé une partie des documents, et nous avons
détecté les anomalies détectées par (Benkrid et al 2015) qui sont
❖ Le patron utilisé pour extraire les bigrammes (négation, mot opinion) peut induire
le classificateur en erreur. En effet, il faut prendre en compte la ponctuation et les
conjonctions de coordination avant d'extraire un bigramme. Dans l'exemple suivant :
❖ "Je voudrais savoir si le storm avec la carte Dahabia est dispo ou non et merci ! ",
"et" est considéré comme un mot vide il sera donc perdu après la phase de
prétraitement, par conséquent (non merci) est pris comme bi-gramme au lieu de
prendre chaque mot comme unigramme.
❖ Conflit entre les mots du dialecte algérien et les mots de la langue française et
anglaise : par exemple le mot "ma" est souvent utilisé pour la négation dans le
dialecte algérien, alors qu’il est considéré comme un mot vide en français, exemple
"3end AT haja ma mli7a" deviendra après prétraitement, "3end AT haja mli7a", et
donc le document sera affecté à la classe adoration ou satisfaction, alors qu’il
exprime le sentiment contraire.
133
Chapitre IV : Réalisation, Déploiement et Évaluation
❖ Les bigrammes (négation, opinion) sont souvent utilisés pour inverser le sentiment
d'un mot, mais dans certains cas-là négation est utilisé afin d'exprimer une
interrogation, exemple "SVP y'a-t-il pas une super offre prévue pour l'été ? :p " ce
qui induit en erreur le classificateur.
134
Chapitre IV : Réalisation, Déploiement et Évaluation
F-
Classes Algo. Carac. Représentation Exactitude Rappel
Mesure
Colère
Tristesse
CNN &
Appréciation U WE 91.09% 94.58% 87.62%
LSTM
Adoration
Neutre
Subjective/
CNN U WE 94.78% 95.12% 89.23%
Objective
Colère
Tristesse
CNN U WE 91.83% 95.26% 94.84%
Appréciation
Adoration
Nous avons proposé deux approches comme approches d’évaluation. La première qui consiste
à utiliser un seul niveau de classification pour cinq classes (Colère Tristesse Appréciation
Adoration et Neutre). La deuxième est une approche à deux niveaux, le premier est un
classificateur binaire (Subjective/Objective) alors que le deuxième niveau est un classificateur
à quatre classes (Colère Tristesse Appréciation et Adoration). Afin d’évaluer ces deux
approches, nous avons fixés unigramme comme caractéristiques et une représentation Word
embedding. Après les tests, nous avons remarqués dans l’approche à deux niveaux que l’erreur
et le bruit du première étage ont un grand impact sur le deuxième étage, et que le classificateur
à un seul niveau est nettement supérieur comme le montre le tableau suivant :
135
Chapitre IV : Réalisation, Déploiement et Évaluation
Nous avons comparé notre meilleure combinaison à savoir la combinaison CNN-WE à l’une
des solutions commerciales très connue que l'on a présenté dans la partie I à savoir Microsoft
Azure for sentiment analysis (MASA). Le tableau 29 montre que notre système surpasse
MASA de 14%.
V. Conclusion
Ce chapitre nous a permis de faire le point sur la réalisation de notre solution notamment à
travers l'architecture logicielle et les différentes technologies employées pour implémenter les
modules de notre solution. De plus, nous avons présenté l'architecture de déploiement adoptée
au sein de l'organisme d'accueil Ooredoo. Nous avons conclu le chapitre par le volet
d'évaluation du système d'analyse de sentiments en mettant l'accent sur les différentes
combinaisons et approches testées avant d'opter pour une solution finale que nous avons
comparé avec MASA qui est une solution commerciale développée par Microsoft.
136
Conclusion et perspectives
Dans ce rapport, nous avons présenté une solution de mesure de la satisfaction clients. La
solution consistait en un système d'analyse de sentiments sur les postes et commentaires des
utilisateurs sur Facebook. Pour ce faire, nous avons distingué ces principales tâches :
Nous avons pu constater à travers les différentes parties de notre travail l'intérêt que portent les
industriels et différentes entreprises aux médias sociaux en raison d'une activité massive des
internautes dans la création de contenu. Un contenu varié mais très souvent porteur
d'informations très pertinentes à l'image des opinions partagées à travers du texte.
Nous avons atteint les objectifs dressés en tout début du projet en termes de réalisation et de
performances.
Au cours de ce PFE, plusieurs limites et orientations de recherche ont été identifiées et jugées
comme méritant une étude plus approfondie. Par exemple, nous suggérons d'analyser le
sentiment des clients au fil du temps (quand ?). Dans cette section, nous présentons quelques
pistes de recherche prometteuses pour l'avenir à long terme.
Les études sur les utilisateurs des médias sociaux ont attiré la recherche pour différentes
applications (Omidvar et al., 2014, Tagarelli et Interdonato, 2014, Li et al., 2015). La plupart
de ces études ne transfèrent pas les connaissances extraites sur chaque utilisateur entre
différents médias sociaux (Facebook, Twitter, Instagram, WhatsApp, Tumblr, Google+,
Snapchat, StackExchange, Reddit, etc. Il sera alors intéressant de combiner plusieurs sources
afin d'avoir une vision globale d'un même utilisateur sur différents médias sociaux.
137
L’analyse de sentiments multimodale dans les réseaux sociaux
La combinaison de la fouille de données et de l'analyse des liens sociaux permet une meilleure
compréhension des données sociales. Cependant, les médias sociaux d'aujourd'hui sont
beaucoup plus diversifiés. Il serait intéressant d'extraire non seulement des structures de réseau
et des messages textuels, mais aussi des images, des vidéos, des lieux, etc.
La fouille des médias sociaux soulève des questions éthiques sur la façon dont les données
personnelles privées et publiques sont traitées. Certains médias sociaux comme Facebook
permettent à leurs utilisateurs de spécifier les personnes qui peuvent accéder à leurs
informations personnelles et au contenu publié (amis, amis d'amis, publique, etc.).
24 http://alt.qcri.org/semeval2014/
138
Références
• Abbasi, A., Chen, H., and Salem, A. (2008). Sentiment analysis in multiple languages:
Feature selection for opinion classification in web forums. ACM Transactions on
Information Systems (TOIS), 26(3):12.
• Boullier, D., & Lohard, A. (2012). Opinion mining et Sentiment analysis: Méthodes et
outils. OpenEdition Press.
• Bollen, J., Mao, H., and Zeng, X. (2011). Twitter mood predicts the stock market. Journal
of computational science, 2(1):1 8.
• Dang, Y., Zhang, Y., and Chen, H. (2010). A lexicon-enhanced method for sentiment
classification: An experiment on online product reviews. IEEE Intelligent Systems,
25(4):46 53.
• Ding, X., Liu, B., and Yu, P. S. (2008). A holistic lexicon-based approach to opinion
mining. In Proceedings of the 2008 international conference on web search and data
mining, pages 231 240. ACM.
• Fahrni, A. and Klenner, M. (2008). Old wine or warm beer: Target-specific sentiment
analysis of adjectives. In Proc. of the Symposium on Affective Language in Human
and Machine, AISB, pages 60 63.
• Groh, G. and Hau a, J. (2011). Characterizing social relations via nlp-based sentiment
analysis. In ICWSM.
• Harrat, S., Meftouh, K., Abbas, M., Jamoussi, S., Saad, M., and Smaili, K. (2015). Cross-
dialectal arabic processing. In International Conference on Intelligent Text Processing
and Computational Linguistics, pages 620 632. Springer.
139
• Hu, M. and Liu, B. (2004). Mining and summarizing customer reviews. In Proceedings of
the tenth ACM SIGKDD international conference on Knowledge discovery and data
mining, pages 168 177. ACM.
• Jiang, L., Yu, M., Zhou, M., Liu, X., and Zhao, T. (2011). Target-dependent twitter
sentiment classi - cation. In Proceedings of the 49th Annual Meeting of the Association
for Computational Linguistics: Human Language Technologies-Volume 1, pages 151
160. Association for Computational Linguistics.
• Jindal, N. and Liu, B. (2006). Mining comparative sentences and relations. In AAAI,
volume 22, pages 1331 1336.
• Joshi, M., Das, D., Gimpel, K., and Smith, N. A. (2010). Movie reviews and revenues:
An experiment in text regression. In Human Language Technologies: The 2010 Annual
Conference of the North American Chapter of the Association for Computational
Linguistics, pages 293 296. Association for Computational Linguistics.
• Kamps, J., Marx, M., Mokken, R. J., De Rijke, M., et al. (2004). Using wordnet to
measure semantic orientations of adjectives. In LREC, volume 4, pages 1115 1118.
Citeseer.
• Kanayama, H. and Nasukawa, T. (2006). Fully automatic lexicon expansion for domain-
oriented sentiment analysis. In Proceedings of the 2006 conference on empirical methods
in natural language processing, pages 355 363. Association for Computational
Linguistics.
• Kang, H., Yoo, S. J., and Han, D. (2012). Senti-lexicon and improved naïve bayes
algorithms for sentiment analysis of restaurant reviews. Expert Systems with
Applications, 39(5):6000 6010.
• Khan, A. Z., Atique, M., and Thakare, V. (2015). Combining lexicon-based and learning-
based me- thods for twitter sentiment analysis. International Journal of Electronics,
Communication and Soft Computing Science & Engineering (IJECSCSE), page 89.
• Kim, S.-M. and Hovy, E. (2004). Determining the sentiment of opinions. In Proceedings
of the 20th international conference on Computational Linguistics, page 1367.
Association for Computational Lin- guistics.
• Li, W. and Xu, H. (2014). Text-based emotion classification using emotion cause
extraction. Expert Systems with Applications, 41(4):1742 1749.
• Liu, B. (2007). Web data mining: exploring hyperlinks, contents, and usage data.
Springer Science & Business Media.
140
• Liu, B. (2012). Sentiment analysis and opinion mining. Synthesis lectures on human
language technologies, 5(1):1 167.
• Lu, Y., Kong, X., Quan, X., Liu, W., and Xu, Y. (2010). Exploring the sentiment strength
of user reviews. In International Conference on Web-Age Information Management,
pages 471 482. Springer.
• Medhat, W., Hassan, A., and Korashy, H. (2014). Sentiment analysis algorithms and
applications: A survey. Ain Shams Engineering Journal, 5(4):1093 1113.
• Myers, D. G. (2004). Theories of emotion. Psychology: Seventh Edition, New York, NY:
Worth Publishers, 500.
• Narayanan, R., Liu, B., and Choudhary, A. (2009). Sentiment analysis of conditional
sentences. In Proceedings of the 2009 Conference on Empirical Methods in Natural
Language Processing: Volume 1-Volume 1, pages 180 189. Association for
Computational Linguistics.
• Pak, A. and Paroubek, P. (2010). Twitter as a corpus for sentiment analysis and opinion
mining. In LREc, volume 10.
• Pang, B., Lee, L., et al. (2008). Opinion mining and sentiment analysis. Foundations and
Trends® in Information Retrieval, 2(1 2):1 135.
• Pang, B., Lee, L., and Vaithyanathan, S. (2002). Thumbs up? : Sentiment classi cation
using machine-learning techniques. In Proceedings of the ACL-02 conference on
Empirical methods in natural language processing-Volume 10, pages 79 86. Association
for Computational Linguistics.
• Plutchik, R. (1984). Emotions: A general psychoevolutionary theory. Approaches to
emotion, 1984 :197 219.
• Rilo , E., Patwardhan, S., and Wiebe, J. (2006). Feature subsumption for opinion analysis.
In Proceedings of the 2006 conference on empirical methods in natural language
processing, pages 440 448. Association for Computational Linguistics.
141
• Russell, J. A. (1991). Culture and the categorization of emotions. Psychological bulletin,
110(3) :426. Sablonnière, B. (2015). La chimie des sentiments. Odile Jacob.
• Taboada, M., Brooke, J., To loski, M., Voll, K., and Stede, M. (2011). Lexicon-based
methods for sentiment analysis. Computational linguistics, 37(2) :267 307.
• Tumasjan, A., Sprenger, T. O., Sandner, P. G., and Welpe, I. M. (2010). Predicting
elections with twitter : What 140 characters reveal about political sentiment. ICWSM,
10(1) :178 185.
• Turney, P. D. (2002). Thumbs up or thumbs down ? : semantic orientation applied to
unsupervised classi cation of reviews. In Proceedings of the 40th annual meeting on
association for computational linguistics, pages 417 424. Association for Computational
Linguistics.
• Wang, G., Sun, J., Ma, J., Xu, K., and Gu, J. (2014). Sentiment classi cation : The
contribution of ensemble learning. Decision support systems, 57 :77 93.
• Wiebe, J. M., Bruce, R. F., and O'Hara, T. P. (1999). Development and use of a gold-
standard data set for subjectivity classi cations. In Proceedings of the 37th annual meeting
of the Association for Com- putational Linguistics on Computational Linguistics, pages
246 253. Association for Computational Linguistics.
• Xia, R., Zong, C., and Li, S. (2011). Ensemble of feature sets and classi cation algorithms
for sentiment classi cation. Information Sciences, 181(6) :1138 1152.
• Zhang, L., Ghosh, R., Dekhil, M., Hsu, M., and Liu, B. (2011a). Combining lexicon-
based and learning- based methods for twitter sentiment analysis.
• Zhang, Z., Ye, Q., Zhang, Z., and Li, Y. (2011b). Sentiment classi cation of internet
restaurant reviews written in cantonese. Expert Systems with Applications, 38(6) :7674
7682.
• Yoav Goldberg and Omer Levy. word2vec explained: deriving Mikolov et al.’s negative-
sampling wordembedding method. arXiv preprint arXiv:1402.3722, 2014.
142
• Aggarwal, Charu C., and ChengXiang Zhai, eds. Mining text data. Springer Science &
Business Media, 2012.
• Forman, George. "An extensive empirical study of feature selection metrics for text
classification." Journal of machine learning research 3.Mar (2003): 1289-1305.
• Denis, Pascal, and Benoît Sagot. "Exploitation d'une ressource lexicale pour la
construction d'un étiqueteur morphosyntaxique état-de-l'art du français." Traitement
Automatique des Langues Naturelles: TALN 2010. 2010.
• Quan, Changqin, and Fuji Ren. "Construction of a blog emotion corpus for Chinese
emotional expression analysis." Proceedings of the 2009 Conference on Empirical
Methods in Natural Language Processing: Volume 3-Volume 3. Association for
Computational Linguistics, 2009.
• Agarwal, Apoorv, et al. "Sentiment analysis of twitter data." Proceedings of the workshop
on languages in social media. Association for Computational Linguistics, 2011.
• Omidvar, A., Garakani, M., and Safarpour, H. R. (2014). Context based user ranking in
forums for expert finding using wordnet dictionary and social network analysis
information Technology and Management, 15(1):51–63.
• Li, B., Li, R.-H., King, I., Lyu, M. R., and Yu, J. X. (2015). A topic-biased user
reputation model in rating systems. Knowledge and Information Systems, 44(3):581–607.
• Goga, O., Loiseau, P., Sommer, R., Teixeira, R., and Gummadi, K. P. (2015). On the
reliability of profile matching across large online social networks. In Proceedings of the
21th ACM SIGKDD International Conference on Knowledge Discovery and Data
Mining, pages 1799–1808. ACM.
• Yue-Hei Ng, J., Hausknecht, M., Vijayanarasimhan, S., Vinyals, O., Monga, R., and
Toderici, G. (2015). Beyond short snippets: Deep networks for video classification. In
Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages
4694–4702.
• Park, W. J. and Yu, K. Y. (2015). Spatial clustering analysis based on text mining of
location-based social media data. Journal of Korean Society for Geospatial Information
System, 23(2):89–96.
143
• Mohammad, S. M. (2016). Sentiment analysis: Detecting valence, emotions, and other
affectual states from text. In Meiselman, H., editor, Emotion Measurement. Elsevier.
• Rosenthal, S., Nakov, P., Kiritchenko, S., Mohammad, S., Ritter, A., and Stoyanov, V.
(2015). Semeval-2015 task 10: Sentiment analysis in twitter. In Proceedings of the 9th
International Workshop on Semantic Evaluation (SemEval 2015), pages 451–463.
• Mohammad, S. M., Salameh, M., and Kiritchenko, S. (2015a). How translation alters
sentiment. Journal of Artificial Intelligence Research, 1:1–20.
• Grijalva, E., Newman, D. A., Tay, L., Donnellan, M. B., Harms, P. D., Robins, R. W.,
and Yan, T. (2015). Gender differences in narcissism: A meta-analytic review.
Psychological bulletin, 141(2):261–310.
• Eichstaedt, J. C., Schwartz, H. A., Kern, M. L., Park, G., Labarthe, D. R., Merchant, R.
M., Jha, S., Agrawal, M., Dziurzynski, L. A., Sap, M., et al. (2015). Psychological
language on twitter predicts county-level heart disease mortality. Psychological science,
26(2):159–169.
• Hutton, L. and Henderson, T. (2015). “i didn’t sign up for this!": Informed consent in
social network research. In Proceedings of the 9th International AAAI Conference on
Web and Social Media (ICWSM), pages 178–187.
• Liu, Q., Li, J., Wang, Y., Xing, G., and Ren, Y. (2014). Account matching across
heterogeneous networks. In Proceedings of the 5th International Conference on Game
Theory for Networks, pages 1–5. IEEE.
• Wilson, Barbara A., Janet Cockburn, and Peter W. Halligan. Behavioural inattention test.
École des sciences de la réadaptation, Sciences de la santé, Université d'Ottawa, 2004.
• Nigam, Kamal, and Matthew Hurst. "Towards a robust metric of polarity." Computing
Attitude and Affect in Text: Theory and Applications. Springer, Dordrecht, 2006. 265-
279.
• [AGA, 2005] AGA, B. (2005). Exploration des bases de données industrielles à l’aide du
Data Mining – Perspectives, 9ème colloque national AIP PRIMECA.
• dos Santos C, Gatti M. Deep convolutional neural networks for sentiment analysis of
short texts. InProceedings of COLING 2014, the 25th International Conference on
Computational Linguistics: Technical Papers 2014 (pp. 69-78).
• Boullier, D., & Lohard, A. 2012. Opinion mining et Sentiment analysis : Méthodes et
outils. OpenEdition Press. doi :10.4000/books.oep.198.
144
Annexe
145
Annexe A
➢ Les services web et APIs : dans ce cas, la plateforme fournit des interfaces web pour
accéder aux données. L'accès reste limité et règlementé́ par un système de gouvernance
qui assure la protection de la vie privée des utilisateurs. Parmi ces APIs nous citons :
Graph API et Insights API de Facebook, Twitter API, Linkdin API et Google+ API.
➢ Web scraping : est une technique de collecte du contenu de sites Web, via un script ou
un programme dans le but de le transformer pour permettre son utilisation dans un autre
contexte. Un programme de Web Scraping va interagir avec les sites Web de la même
manière qu'un navigateur Web mais au lieu d'afficher les données desservies par le site
Web à l'écran, il enregistre les données. Cette technique est principalement utilisée avec
les blogs et les forums, où les plateformes ne fournissent pas d'APIs pour accéder aux
données. L'utilisation du Web Scraping n'est possible que si la source ne l'interdit pas
en utilisant un système de sécurité́ qui bloque ce genre de programmes.
➢ API Pages : utilisée pour l'administration des pages sur Facebook et permet aux
gestionnaires de se renseigner sur l'interaction et l'activité́ des utilisateurs sur
leur page.
➢ API Marketing et API Atlas : pour la gestion des compagnes publicitaires.
➢ API Public Feed : elle offre un fil de mises à jour de statuts d'utilisateurs et de
pages à mesure qu'ils sont publiés sur Facebook.
➢ API Insight : elle fournit des mesures concernant une page, par exemple la
répartition des fans par pays, le nombre de personnes qui ont partagé́ des
actualités .. etc.
➢ API Keyword : elle offre une couche analytique sur l'ensemble des publications
Facebook sous forme de statistiques anonymes sur les personnes mentionnant
un terme en particulier.
➢ API Graph : est l'interface principale par laquelle les applications peuvent lire
et écrire sur le graphe social de Facebook. Plusieurs versions ont été diffusées,
La dernière version en date est la version 2.6(12/04/2016).
146
I.3. Autorisation et restriction d'accès
Facebook règlementé l'accès à leur base de données publiques à travers l'API Graph en utilisant
un système d'autorisation basé sur les tickets (access token), il fournit trois modes d'accès aux
applications. Nous nous intéresserons aux opérations de lecture uniquement dans cette section
qui peuvent se faire à travers les modes suivants :
147
Annexe B
148
I.2. Vue Administrateur
L’administrateur gère les comptes utilisateurs, les droits d’accès au tableau de bord et il alloue
les ressources aux groupes d’utilisateurs si nécessaire. La figure ci-dessous résume les cas
d’utilisation de l’administrateur.
149
Annexe C
I. SEMMA
SEMMA divise la fouille de données en cinq étapes représentées pas l’acronyme SEMMA.
« Sample, Explore, Modify, Model, Asses ». Cette méthodologie facilite pour les analystes de
données la manière d’appliquer des techniques d’exploration statistique et de visualisation des
données, de sélection et de transformation des variables prédictives les plus importantes, de
modélisation des variables pour prédire les résultats et de confirmation de la précision du model
(Cristina OPREAN, 2010).
En évaluant les résultats obtenus à chaque étape du processus de SEMMA, nous pouvons
déterminer la façon de modéliser les nouveaux problèmes déterminés par les résultats
précédents, et donc de refaire la phase d’exploration supplémentaire pour le raffinement des
données.
150
II. Comparaison entre CRISP-DM et SEMMA :
Premièrement, SEMMA a été développé avec un progiciel de fouille de données spécifique à
(Enterprise Miner), plutôt que d'être conçu pour s'appliquer à une gamme plus large d'outils
d'exploration de données et à l'environnement commercial général.
Comme elle est axé sur le logiciel SAS Enterprise Miner et plus particulièrement sur le
développement de modèles, SEMMA met moins l'accent sur la phase de planification initiale
couvertes dans CRISP-DM (Business Understanding and Data Understanding phases) et omet
entièrement la phase de déploiement.
Cela dit, il y a aussi des similitudes. Les étapes Sample et Explore de SEMMA correspondent
à peu près à la phase de compréhension des données de CRISP-DM ; Modify se traduit par la
phase de préparation des données ; Model est évidemment la phase de modélisation, et Assess
est parallèle à la phase d'évaluation de CRISP-DM. De plus, les deux modèles sont conçus pour
être cycliques plutôt que linéaires. Le modèle SEMMA recommande de revenir à l'étape
d'exploration en réponse aux nouvelles informations qui seront révélées à des étapes ultérieures
et qui pourraient nécessiter des changements aux données. Le modèle CRISP-DM met
également l'accent sur l'exploration de données en tant qu’un processus non linéaire et adaptatif.
151
Annexe D
I. La méthode GIMSI
La méthode GIMSI est structurée en 10 étapes bien identifiées et regroupées en 4 phases
thématiques : 1) Identification, le contexte et les axes stratégiques, 2) Conception, Que faut-il
faire, 3) Réalisation, Comment le faire, 4) Suivi dans la durée.
152
La technologie est au service des Etape 9 : Intégration et déploiement
utilisateurs de terrain Implantation des progiciels, déploiement à l'entreprise
Client : pour la prise en compte de la satisfaction et des besoins de la clientèle. Quels apports
pour les clients ?
Les BSC et les tableaux de bord de pilotage de nouvelle génération tels ceux conçus avec la
méthode Gimsi n'adoptent pas la même philosophie de conception. Les deux méthodes
diffèrent fondamentalement. Gimsi s'inscrit dans une démarche coopérative et propose une
approche conceptuellement fondée sur les besoins précis du décideur en situation. Elle propose
une démarche bottom up en complément de l'approche Top Down plus traditionnel.
153
Annexe E
En 2003 et 2004, Google a publié deux papiers de recherches, l’un sur son système de fichiers
Google File System (Ghemawat et al. 2003) et l’autre sur un modèle de programmation
distribué qui s’appelle MapReduce (Dean & Ghemawat 2004) , Cutting and Cafarella ont
intégré ces deux concepts dans leur projet et éventuellement Hadoop est ainsi né. Yahoo! a
commencé à utiliser Hadoop comme système de base de son moteur de recherche et rapidement
se propagent vers plusieurs autres organisations. Actuellement, Hadoop est la solution
prédominante dans le marché, il existe plusieurs ressources qui expliquent Hadoop et son
architecture en détail. Dans ce qui suit, nous allons détailler les parties les plus importantes de
cet écosystème.
Il est important de noter que Hadoop ne désigne pas uniquement son noyau (HDFS &
MapReduce) mais plutôt tous les composants importants pour une architecture fonctionnelle.
Hadoop est donc composé de trois ressources principales :
➢ Hadoop Distributed File System (HDFS).
154
Traitement de données (Data Processing) : c’est là où la planification et l’allocation des
ressources liées aux clusters, ce traitement peut se réaliser en Batch ou en Streaming.
Access aux données (Data Access) : c’est la couche responsable sur l’accès aux données
stockées sur la couche de stockage avec éventuellement une coordination avec la couche de
gestion, Hive est un bon exemple de solution dans cette couche.
Gestion et monitoring : c’est la couche responsable sur la gestion et le monitoring sur les autres
couches. La coordination entre les applications qui s’exécutent dans l’écosystème Hadoop sont
prise en compte.
Hadoop a de loin prouvé son utilité et il est devenu la solution classée numéro 1 dans le marché
et cela pour plusieurs raisons :
Pour sa robustesse : Hadoop est basé sur des modèles algorithmiques publiés par Google et
qui sont actuellement utilisés pour supporter l’infrastructure de traitement des plus grandes
firmes : Amazon, Google, Facebook, Twitter, Quora, etc (Anon s. d.). L’architecture de
Hadoop permet la tolérance aux pannes, et garantit l’accès aux données.
Pour son évolutivité (scalabilité) : Hadoop peut s’exécuter sur n’importe quel nombre de
machines reliées entre elles, le plus grand cluster qui a été supporté est de l’ordre de 45k nouds
(Yahoo!) (Anon s. d.).
Pour sa maturité : Hadoop est supporté par une large communauté de développeurs et de
conseillers, chaque projet doit passer par une phase d’incubation pour prouver son aptitude à
supporter les opérations de vaste impacte sous Hadoop.
Compte tenu de la prédominance actuelle de la solution Hadoop sur le marché des solutions
Big Data, nous avons opté pour cette technologie étant donné tous ces avantages expliqués
précédemment.
155
II.2 SIMPLE, SÉCURISÉ, GARANTISSANT
L’ACHEMINEMENT DES DONNÉES
Son interface graphique permet de définir et contrôler en temps réel des flux de données de
manière simple et sécurisée. Basé sur le flow-based programming, Apache NiFi garantit le
bon acheminement des données.
La solution s’appuie sur les mêmes concepts qu’Hadoop (calcul distribué, Map Reduce) mais
ici les données sont montées en mémoire et les traitements sont de fait jusqu’à 100 fois plus
rapide que sur Hadoop.
156
gérer le pilotage des ressources entre des traitements Spark et d’autres traitements de type Map
Reduce
157
Annexe F
I. Gestion de projet
Avant de commencer le projet il fallait choisir la méthode de gestion de projet qui va nous
encadrer tout au long de la période de la réalisation. Deux approches principales sont utilisées
dans le domaine de l'informatique : l'approche classique ou traditionnelle et l'approche agile.
Une approche traditionnelle de type cycle en V ou en cascade attend généralement du client
une expression détaillée et validée au début du projet, laissant peu de place au changement. La
réalisation dure le temps estimé sans que le client n’ait une idée sur son produit. Souvent, des
spécifications mal détaillées, un planning mal géré ou encore des risques non étudiés au début
du projet risquent de le mettre en échec.
➢ Le changement de besoins : le client n'a pas fourni un cahier de charges avec des
spécifications détaillées sur le produit final, il a une vue globale du projet qui risque de
changer durant la période du projet.
➢ L'étude de risques : nous n'avons pas été en mesure d'identifier les risques relatifs au
projet car ce dernier représente notre première expérience avec un projet de cette taille.
158
➢ Espace de travail informatif : le projet est réalisé dans les locaux d'Ooredoo donc nous
sommes en interaction continue avec le client.
Les méthodes agiles sont plusieurs, la plus connue étant la méthode Scrum que nous avons
adopté. Scrum est une méthode très simple et très efficace adoptée par les géants du marché :
Microsoft, Google, Nokia..., elle est caractérisée par des sprints (itérations courtes) de (2) à (4)
semaines avec un feedback continu en collaboration avec les clients. Ce qui est notre cas pour
ce projet puisque le système est dédié au service gestion de la performance qui joue le rôle du
client. La figure xx illustre le schéma global de cette méthode.
159
Figure 46 Planning prévisionne
160