Mémoire de Projet de Fin D'étude: Option: Systèmes D'informations Et Technologies (SIT)
Mémoire de Projet de Fin D'étude: Option: Systèmes D'informations Et Technologies (SIT)
Promotion : 2019/2020
Dédicaces
À mes anges gardiens, ma mère Zoulikha et mon père Djilali qui sont la source
de mon bonheur au quotidien, je suis immensément fier d’être votre fils et je ferai de
mon mieux pour que vous ressentiez la même chose. Vos encouragements, vos mo-
tivations, votre aide et vos efforts sont au-delà de toute description, vous êtes les
meilleurs parents du monde.
À mon frère Adel et ma sœur Leila qui ont toujours été si aimants et encoura-
geants et toujours à la recherche de mes meilleurs intérêts, je vous souhaite à la fois
la meilleure des chances et le bonheur dans vos vies, pour vous et vos familles.
À mon binôme Amine avec qui j’ai partagé les cinq années les plus mémorables
de ma vie, tu as été exemplaire, je te remercie et je suis fier de toi mon ami.
À mes amis proches Alaeddine et Fatima Zahra, nous avons commencé ce parcours
ensemble il y a sept ans, je vous remercie d’être ma famille.
À ma chère amie Sirine qui m’a encouragé et soutenu de tout son cœur.
À tous mes chers amis de l’ESI qui n’ont cessé d’être pour moi des exemples de
persévérance, de courage et de générosité.
Aux ’Boys’ et à mes chers amis de Chlef.
Bilel Mostefa
I
Dédicaces
Je dédie ce travail,
À mon binôme et meilleur ami Bilel Mostefa-Chebra avec qui j’ai passé 5 fières
années.
À tous les amis que j’ai rencontrés au cours de mes années chez ESI. Et un merci
spécial à tous mes proches qui m’ont soutenu.
Amine Derouaz
II
Remerciements
Nous remercions tout d’abord notre encadrante Mme BOURAI Safia pour ses
précieux conseils, son orientation, sa correction continue et sa disponibilité durant
toute l’année, elle a rendu les choses difficiles paraître faciles ; et pour elle, nous se-
rons toujours reconnaissants.
Nous tenons à remercier également Mme AIT ALI YAHIA Dahbia pour sa dis-
ponibilité et l’effort incroyable consenti dans l’orientation, et pour toujours mettre
notre meilleur intérêt en premier.
Nous tenons à remercier Mme ZAKARIA Chahnez qui a trouvé le temps et nous
a accueillis pour partager son expertise et ses conseils.
Sans oublier, l’ensemble de l’équipe GEN-42 qui nous ont accordés un peu de leurs
précieux temps pour répondre à toutes nos questions, et avec lesquels nous avons passé
une agréable année.
Enfin, nous adressons nos plus sincères remerciements à tous ceux qui ont participé
de près et de loin à la réalisation de ce modeste travail.
Merci à toutes et à tous.
III
Résumé
Dans un monde où les réseaux sociaux sont devenus de plus en plus relatifs, com-
prendre ce que les gens pensent et veulent à travers eux est devenu vital pour de
nombreuses entreprises.
Des études et des recherches ont été faites et toujours, dans le but de comprendre ce
que les gens expriment à travers leurs flux et messages, ce qu’ils veulent, de quoi se
plaignent-ils.
L’idée de comprendre la polarité des sentiments à travers une machine et de les éti-
queter s’appelle l’analyse des sentiments. Elle engage de nombreuses approches dont
l’une est une branche de l’intelligence artificielle : l’apprentissage automatique.
Ce travail est fait sous le cadre d’un projet de fin d’étude proposé par la direction de
GEN-42 intitulé ’La conception et la réalisation d’un système de traitement de don-
nées issues des média sociaux’. Il s’agit de la mise en place d’un système d’analyse
de sentiment permettant de prédire automatiquement la polarité et la catégorie des
commentaires en dialecte Algérien des pages Facebook des clients de l’entreprise. Le
système à développer collecte les données, classifie les commentaires selon sa polarité
et sa catégorie en suivant certaines phases inspirées des travaux antérieurs, affiche les
résultats de la classification en statistiques et en chiffres via des tableaux de bord.
Le but de cette classification est d’identifier le contenu qui est aimé et celui qui est
détesté par les consommateurs, nous pouvons donc adapter la meilleure stratégie de
publication de contenu en conséquence.
Mots-clés
IV
Abstract
In a world where social media has become more and more relative, understanding
what people think and want through it has become vital for many businesses.
Studies and researches has been made and still, for the purpose of understanding
what are people expressing through their feeds and messages, what is that they want,
what do they complain about.
Marketing would become much easier if it could analyse automatically people sen-
timents through their messages, it is possible to hire people to do it, but it would
consume time and by the time these people have analysed 10 messages, they would
have recieved 1000 more.
The idea of understanding the polarity of feelings through a machine and classify
them is called sentiment analysis, and it hires many approaches one of them is a
branch of the aritifical intelligence : machine-learning.
This work was done as part of a graduation project proposed by the management
of GEN-42 entitled ’The design and construction of a system for processing data
from social media’. This is the implementation of a sentiment analysis system to
automatically predict the polarity and category of comments in Algerian dialect of
Facebook pages of the company’s customers. The system to be developed collects the
data, classify the comments according to its polarity and category following certain
phases inspired by previous works, displays the results of the classification in statistics
and figures via dashboards.
The goal of this classification is to identify the content that is liked and the one that is
hated by the consumers, therefore we can adapt the best content publishing strategy
accordingly.
Keywords
V
jÊÓ
AÓ Ñê¯ iJ. @ éJ ÓñJË@ AJKAJm'. A£AJ.KP@ Q» A¯ Q» @ ú«AÒJk. B@ É@ñJË@ ÉKAð éJ¯ Ij
. @ ÕËA« ú¯
Ë@ áÓ YK YªÊË AK ñJk @QÓ @ éËCg áÓ éKðYK QK AÓð AJË@ éJ¯ Qº®K
. HA¿Qå
g ÈCg áÓ AJË@ éJ« Q.ªK AÓ Ñê¯ QªË , È@QK Bð HñjJ
ÑîEAC P YË@ Z@Qk. @ Õç'
. Ë@ð HA@
. éJÓ àñº ø YË@ AÓð , éKðYK QK ø YË@ AÓ , ÑêÊKAPð
, ÑêÊKAP ÈCg áÓ AJKA®Ê K Am B@ Q«AÓ ÉJÊm' éKA¾ÓAK. àA¿ @ X@ QJºK. ÉîD @ K ñË@
iJ
.
ZBñë éJ¯ ÉÊg ø YË@ I ¯ñË@ ÈñÊm'. ð AJ¯ð QªJ éJºËð , ½Ë YK. ÐAJ®ÊË Am @ J£ñK áºÒÖÏ @ áÔ¯
Ë @ @ñ®Ê K Y¯ àñKñºJ , ÉKAP èQå« Am B@
.øQk @ éËAP
áÓ YK YªË@ Qk. AJð , Q«AÖ Ï @ ÉJÊjJK. Aê®Jð éË @ ÈCg áÓ Q«AÖ Ï @ éJ J.¢¯ Ñê¯ èQº¯ ú«YK
.úÍ B@ ÕΪJË @ / éË B@ ÕΪK : ú«AJ¢B@ ZA¿YË@ áÓ ¨Q¯ ñë AëYg @ , I.JËA B@
ÐA¢ ZAJK. ð ÕæÒ @ à@ñJªK. ák. é»Qå èP@X@ éJkQ¯@ ø YË@ h QjJË@ ¨ðQåÓ áÓ ZQm» QjJÓ ÉÒªË@ @ Yë
. . .
AJKA®Ê K ñJJÊË Q«AÖ Ï @ ÉJÊjJË ÐA¢ ZA @ ½Ë X áÒJK . ú«AÒJk B@ É@ñJË@ ÉKAð áÓ HA KAJJ.Ë@ ém .Ì 'AªÖÏ
. .
èQK ñ¢ X@QÖÏ @ ÐA¢JË@ Ðñ®K . é»Qå Ë@ ZCÔ« ¼ñJ¯ HAj
. ®Ë éK QK@Qm.Ì '@ éj
êÊËAK HA
. . ®JʪJË@ éJ¯ð éJJ.¢®K.
. HAÓñʪÖ
Ï @ HAgñË Q.« ÐA¯P B@ð HAJ
KAkB @ ú¯ JJË@ l. ' AJK Q«ð HA
KAJJ.Ë@ ©Òm.'.
ESI VI
Table des matières
Dédicaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I
Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IV
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII
Table des figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI
Table des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XV
Liste des abréviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XVII
Introduction générale 1
I Étude bibliographique 4
Introduction 5
VII
TABLE DES MATIÈRES
Conclusion 49
II Développement du système 50
Introduction 51
ESI VIII
TABLE DES MATIÈRES
5 Conception 69
5.1 Architecture globale d’analyse de sentiment . . . . . . . . . . . . . . 69
5.2 Récupération des données . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2.1 Objectif et nature des données . . . . . . . . . . . . . . . . . . 70
5.2.2 La source de données : Facebook . . . . . . . . . . . . . . . . 70
5.2.3 Nos données sur Facebook . . . . . . . . . . . . . . . . . . . . 71
5.2.4 Hiérarchie globale et premières étapes de récupération . . . . . 71
5.2.5 Récupération des commentaires d’une page . . . . . . . . . . . 72
5.2.6 Tableau récapitulatif des données récupérées . . . . . . . . . . 75
5.2.7 Un schéma récapitulatif pour la phase de récupération des données 76
5.3 Annotation des données . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3.1 Sources de données à annoter . . . . . . . . . . . . . . . . . . 77
5.3.2 Un schéma global pour la phase d’Annotation des données . . 81
5.4 Prétraitement (Preprocessing) . . . . . . . . . . . . . . . . . . . . . . 81
5.4.1 Pré-tokenisation . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.4.2 Tokenisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.4.3 Après-Tokenisation . . . . . . . . . . . . . . . . . . . . . . . . 83
5.4.4 Un exemple de déroulement complet de la phase de prétraitement 89
5.4.5 Un schéma récapitulatif pour la phase de Prétraitement des
données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.5 Représentation de données . . . . . . . . . . . . . . . . . . . . . . . . 92
5.6 Classification et tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.7 Schéma de la base de données . . . . . . . . . . . . . . . . . . . . . . 93
5.7.1 Diagramme Entité/Association . . . . . . . . . . . . . . . . . 93
5.7.2 Description des entités . . . . . . . . . . . . . . . . . . . . . . 94
6 Realisation 101
6.1 Architecture logicielle de l’application . . . . . . . . . . . . . . . . . . 101
6.1.1 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.1.2 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.2 Architecture globale de la solution . . . . . . . . . . . . . . . . . . . . 103
6.3 Environnement et technologies de développement . . . . . . . . . . . 104
6.3.1 Technologies utilisées . . . . . . . . . . . . . . . . . . . . . . . 105
6.3.2 Bibliothèques utilisées . . . . . . . . . . . . . . . . . . . . . . 107
6.4 Présentation sommaire de l’outil logiciel réalisé . . . . . . . . . . . . . 109
ESI IX
TABLE DES MATIÈRES
Conclusion 148
Bibliographie 151
ESI X
Table des figures
19 Logo de GEN-42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
20 Schéma d’organisation du personnel . . . . . . . . . . . . . . . . . . . 56
21 Projet global 2019-2022 . . . . . . . . . . . . . . . . . . . . . . . . . . 59
22 Diagramme des cas d’utilisation de système . . . . . . . . . . . . . . 65
23 Un schéma détaillé qui montre les différentes interactions entre les don-
nées et les phases de notre système. . . . . . . . . . . . . . . . . . . . 70
24 Capture d’écran d’une utilisation de l’API Graph Facebook . . . . . . 71
25 Captures d’écran tirées de json-Viewer . . . . . . . . . . . . . . . . . 73
26 Captures d’écran d’éléments récupéré pour chaque page – outil : json
Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
XI
TABLE DES FIGURES
27 Les posts d’une page récupérés dans un seul fichier, capture prise de
l’outil : Json-Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
28 Captures d’écran d’éléments récupéré pour chaque post – outil : json
Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
29 Captures d’écran d’éléments récupéré pour chaque commentaire – ou-
til : json Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
30 Récapitulatif des données récupérées à partir de facebook pour cet
exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
31 Schéma récapitulatif de la phase de récupération de données . . . . . 76
32 Exemple d’un fichier csv contenant les commentaires de Dataset GEN-42 77
33 Exemple d’un fichier excel contenant les commentaires de Dataset
GEN-42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
34 Exemple de commentaires annotés dans un fichier Excel de Dataset
GEN-42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
35 Capture d’écran montre l’utilisation de l’outil TagTog . . . . . . . . . 79
36 Exemple des commentaires annotés dans Tagtog est exporté puis ex-
ploités dans Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
37 Le processus complet de l’annotation de nos Datasets . . . . . . . . . 81
38 Le dictionnaire créé pour le regroupement phonétique, capture d’écran
de json-viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
39 Phase de prétraitement (PreProcessing) des données illustrées par une
architecture pipline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
40 Les méthodes de représentation (vectorisation) utilisées dans notre so-
lution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
41 Regroupement des différentes variations sur lesquelles nous baserons la
phase de classification et de test . . . . . . . . . . . . . . . . . . . . . 92
42 Diagramme Entité / Association . . . . . . . . . . . . . . . . . . . . . 93
ESI XII
TABLE DES FIGURES
ESI XIII
TABLE DES FIGURES
ESI XIV
Liste des tableaux
XV
LISTE DES TABLEAUX
ESI XVI
Liste des abréviations
BC Base de connaissance
DT Decision Tree
IA Intelligence artificielle
LR Logistic Regression
ML Machine Learning
NB Naive Bayes
SC Sentiment Classification
TF Term Frequency
XVII
Introduction générale
L’analyse des sentiments est devenue omniprésente dans notre société, avec des
applications dans la recherche en ligne, la vision par ordinateur, la compréhension
d’image, l’intelligence artificielle et le marketing. Dans ce contexte, l’analyse des sen-
timents en marketing a un rôle important dans le développement du domaine en
nous permettant de comprendre si les gens sont satisfaits ou insatisfaits du service
ou produit afin d’analyser par la suite les forces et les faiblesses de ces expériences de
consommation.
C’est là que notre projet pèse, car nous travaillons sur un projet d’analyse des senti-
ments au sein d’une agence de marketing digital.
Contexte
GEN-42 est une agence de communication digitale située à Alger, sa mission prin-
cipale est de propulser ses clients sur Internet par la publicité, des conseils et diverses
offres afin de les faire connaître sur le web et d’accroître leur visibilité et leur réputa-
tion.
Problématique
Le bureau de gestion et de création de contenu actuel et le service client et support
ne disposent pas des ressources suffisantes pour déterminer et étiqueter manuellement
chaque commentaire dans chaque publication pour chacun des clients GEN-42,
Tout ce processus prendra beaucoup de main-d’œuvre et énormément de temps,
compte tenu de la quantité croissante de commentaires (environ 10.000 commentaires
chaque jour) et de publications qui est combinée entre les 41 pages Facebook des
1
INTRODUCTION GÉNÉRALE
clients, il est sûr de dire si il n’est impossible à suivre, c’est extrêmement difficile.
Et parce que cette opération (d’étiqueter les commentaires pour obtenir les résul-
tats) prend du temps (des jours) et nécessite beaucoup de monde (environ 10 per-
sonnes), les services actuels en charge d’identifier le taux de satisfaction des clients
sur les produits ne disposent pas de suffisamment de données et de résultats pour
déterminer réellement ces chiffres de satisfaction.
Comme il est extrêmement difficile de déterminer quel contenu est positif et négatif
simplement en regardant les commentaires. Tant qu’il n’y a pas de classification claire
et concrète, elle reste toujours obscure et trompeuse. Les services ont également du
mal à déterminer quel domaine / catégorie intéresse le plus les gens dans la section
commentaires, les gens se soucient-ils plus du prix ? Ou est-ce il s’agit des plaintes ?
Est-ce qu’ils spamment plus ?
Ce qui explique la nécessité d’une classification automatique, faite avec des algo-
rithmes d’apprentissage automatique sur les commentaires, une classification basée
sur la polarité et une autre sur les catégories. Et de plus, l’entreprise a clairement
exprimé que ce dont elle avait besoin était de traiter automatiquement les commen-
taires du dialecte Algérien (Darja).
La polarité et la catégorie dominante des commentaires sont nécessaires pour savoir
quel contenu à adapter et lequel à améliorer ,le besoin de GEN-42 est plus grand que
de simplement déterminer si les commentaires sont positifs ou pas une seule fois ou
sur un certain lot de commentaires, mais c’est de le faire d’une manière continue tout
en gardant la trace des commentaires sur chaque Post. Sans une telle opération, il
serait très improbable de réellement prendre la bonne décision sur la stratégie adaptée
concernant le contenu.
De plus, il n’y a aucun moyen pour générer des rapports pour les clients contenant
des informations détaillées sur la polarité et la catégorie du contenu des pages. Il est
aussi nécessaire d’avoir un tableau de bord pour surveiller le développement de la
polarité et la catégorie de données au cours des six derniers mois pour tous les clients
ensembles et pour chacun individuellement. Également l’entreprise veut suivre la pro-
gression de la performance et précision de la classification automatique et finalement
avoir la possibilité de répondre aux commentaires Facebook au cas de nécessité.
Objectifs
Notre système doit Récupérer les données des pages Facebook des clients et les
afficher, prédire automatiquement la polarité et la catégorie des commentaires en
dialecte Algérien (Darja), afficher les résultats de la classification en statistiques et
en chiffres via des tableaux de bord.
Il devrait donner à l’utilisateur la possibilité de corriger (tag) les commentaires
mal prédis et de générer des rapports Excel sur chaque page.
ESI 2
INTRODUCTION GÉNÉRALE
Organisation du mémoire
Notre mémoire est composé de deux grandes parties et une annexe.
Conception
Une explication détaillée étape par étape de la solution proposée pour le problème
d’analyse des sentiments, ainsi que la structure de la base de données et la description
de ses entités.
Réalisation
Ce chapitre est composé de l’architecture globale du système, les technologies et
différentes bibliothèques utilisées et les interfaces principales de l’outil développé.
Tests et résultats
Vue d’ensemble détaillée des données collectées, des jeux de données construits et
du plan de test avec les résultats et les interprétations des tests pour chaque jeux de
données.
Bibliographie
Troisième partie : Annexe
Où toutes les méthodes d’organisation, outils et documents nécessaires sont ré-
pertoriés et expliqués.
ESI 3
Première partie
Étude bibliographique
4
Introduction
L’objectif principal de cet état de l’art est d’introduire les domaines de l’analyse des
sentiments et de l’apprentissage automatique, les travaux existants, en introduisant
les défis auxquels ils pourraient être confrontés lorsqu’ils traitent des dialectes arabes.
5
Chapitre 1
Introduction
Au cours de ce chapitre, nous discuterons en détail du sujet de l’analyse des
sentiments et découvrirons tous les aspects qui l’entourent : termes, applications,
défis, approches et travaux connexes.
Mais pour comprendre impeccablement l’analyse des sentiments, nous devons com-
mencer par des notions de base.
1.1.2 É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), ce dernier définit l’émotion comme étant une expérience
psychophysiologique complexe et intense avec un début brutal et une durée relative-
ment brève.
Le dictionnaire en ligne l’Internaute la définit comme la à "manifestation d’un
sentiment", tandis que le Larousse (2019) la présente sous une "réaction affective
transitoire d’assez grande intensité ".
6
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
Niveau du document
Selon Turney (2002) la tâche à ce niveau est de déterminer l’opinion globale du
document. L’analyse des sentiments au niveau du document suppose que chaque
document exprime des opinions sur une seule entité.
Niveau phrase
Selon Jagtap and Pawar (2013) La tâche à ce niveau est de déterminer si chaque
phrase a exprimé une opinion.
Ce niveau distingue les phrases objectives exprimant des informations factuelles
et les phrases subjectives exprimant des opinions.
Dans ce cas, les traitements sont doubles ; identifiez d’abord si la phrase a exprimé
ou non une opinion (si elle est subjective), puis évaluez la polarité de l’opinion. Mais
la principale difficulté vient du fait que des phrases objectives peuvent être porteuses
d’opinion.
Niveau aspect
Selon Liu and Zhang (2013) ce niveau effectue une analyse plus fine et nécessite
l’utilisation du traitement du langage naturel.
Selon Mukherjee and Bhattacharyya (2013), à ce niveau, l’opinion se caractérise
par une polarité et une cible d’opinion. Dans ce cas, les traitements sont doubles :
ESI 7
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
identifiez d’abord l’entité et les aspects de l’entité en question, puis évaluez l’opinion
sur chaque aspect.
Au niveau du document, il est possible de classer si une opinion globale des utili-
sateurs exprime un sentiment positif ou négatif. Par exemple, étant donné un examen
de produit / service, il est possible de déterminer si l’avis exprime une opinion globale
positive ou négative sur le produit / service.
La phrase détermine si chaque phrase exprime un positif ou un négatif. Alors que
le niveau entité / aspect, au lieu de regarder la construction du langage (phrases,
paragraphes, clauses, etc.), se concentrer directement sur l’opinion elle-même. Il est
basé sur l’idée qu’une opinion se compose d’un sentiment (positif ou négatif) et d’un
objectif (d’opinion). D’Andrea et al. (2015)
1.2.3 Applications
L’analyse des sentiments peut révéler des opportunités pour améliorer l’expérience
client, réduire le roulement du personnel, créer de meilleurs produits, etc. De nom-
breux travaux ont donné une catégorisation différente des applications liées à l’analyse
des sentiments.
Pang et al. (2002) classe largement les demandes dans les catégories suivantes :
— A. Demandes de sites Web liés à l’examen
Critiques de films, critiques de produits, etc.
— B. Applications en tant que technologie de sous-composants
Détection d’un langage antagoniste et chauffé dans les mails, détection de
spam, sensible au contexte, détection d’informations, etc.
— C. Applications en intelligence économique et gouvernementale
Connaître les attitudes et les tendances des consommateurs
— D. Applications sur différents domaines
Connaître les opinions publiques des dirigeants politiques ou leurs notions sur
les règles et réglementations en vigueur, etc.
De plus, dans le travail de D’Andrea et al. (2015), une catégorisation différente est
donnée aux différentes applications de l’analyse des sentiments :
ESI 8
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
Exemple des résultats de l’analyse des sentiments appliqués aux titres des
actualités
Figure 1 – Exemple d’application de l’analyse des sentiments sur les Titres des
actualités
La figure montre un exemple d’application de l’analyse des sentiments sur les titres
des actualités. Les titres ont été extraits de différentes sources d’Internet (twitter,
forums, sites de journaux, etc ...) Naturellement, la sécurité a été le sujet le plus
discuté dans les actualités. De plus, l’analyse du sentiment de ces titres est positive
dans l’ensemble et individuellement dans chaque catégorie également.
1.2.4 Défis
Les approches de l’analyse des sentiments visent à extraire des mots porteurs de
sentiments positifs et négatifs d’un texte et à classer le texte comme positif, négatif
ou objectif s’il ne trouve pas de mots porteurs de sentiments. À cet égard, elle peut
être considérée comme une tâche de catégorisation de texte.
Dans la classification de texte, il existe de nombreuses classes correspondant à dif-
férents sujets tandis que dans l’analyse des sentiments, nous n’avons que 3 classes
larges. Il semble donc que l’analyse des sentiments est plus facile que la classification
des textes, ce qui n’est pas tout à fait le cas. Les défis généraux peuvent être résumés
comme suit :
ESI 9
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
Dépendance du domaine
Il existe de nombreux mots dont la polarité change d’un domaine à l’autre. Consi-
dérez les exemples suivants :
- L’histoire était imprévisible.
- La direction de la voiture est imprévisible.
- Allez lire le livre.
Dans le premier exemple, le sentiment véhiculé est positif alors que le sentiment vé-
hiculé dans le second est négatif. Le troisième exemple a un sentiment positif dans le
domaine du livre mais un sentiment négatif dans le domaine du film (où le réalisateur
est invité à aller lire le livre).
Attentes contrariées
Parfois, l’auteur établit délibérément un contexte pour le réfuter à la fin. Prenons
l’exemple suivant :
Ce film devrait être brillant. Cela ressemble à une grande intrigue, les acteurs sont
de première classe, et le casting de soutien est bon aussi, et Stallone essaie de livrer
une bonne performance. Cependant, cela ne peut pas tenir.
En dépit de la présence de mots dont l’orientation est positive, le sentiment général
est négatif en raison de la dernière phrase cruciale, alors que dans la classification de
texte traditionnelle, cela aurait été classé comme positif car la fréquence des termes
y est plus importante que la présence des termes.
Pragmatique
Il est important de détecter la pragmatique de l’opinion des utilisateurs qui peut
changer profondément le sentiment.
Considérez les exemples suivants :
Je viens de finir de regarder le Barca détruire Ac Milan
Cette finale m’a complètement détruit.
La capitalisation peut être utilisée avec subtilité pour indiquer le sentiment. Le pre-
mier exemple dénote un sentiment positif tandis que le second dénote un sentiment
négatif. Il existe de nombreuses autres façons d’exprimer le pragmatisme.
Connaissance du monde
Souvent, la connaissance du monde doit être incorporée dans le système de détec-
tion des sentiments.
Considérez les exemples suivants :
- C’est un Frankenstein.
- Je viens de terminer le docteur Zhivago pour la première fois et tout ce que je peux
dire, c’est que la Russie craint.
La première phrase dépeint un sentiment négatif tandis que la seconde dépeint un
sentiment positif. Mais il faut connaître Frankenstein et le docteur Zhivago pour
connaître le sentiment.
ESI 10
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
Détection de la subjectivité
Il s’agit de différencier le texte avec opinion et sans opinion. Il est utilisé pour
améliorer les performances du système en incluant un module de détection de subjec-
tivité pour filtrer les faits objectifs. Mais cela est souvent difficile à faire.
Considérez les exemples suivants :
Je déteste les histoires d’amour.
Je n’aime pas le film "Je déteste les histoires".
Le premier exemple présente un fait objectif tandis que le deuxième exemple repré-
sente l’opinion sur un film particulier.
Identification d’entité
Un texte ou une phrase peut avoir plusieurs entités. Il est extrêmement important
de connaître l’entité vers laquelle l’avis est dirigé.
Considérez les exemples suivants :
Samsung est meilleur que Nokia
Ram a battu Hari au football.
Les exemples sont positifs pour Samsung et Ram respectivement mais négatifs pour
Nokia et Hari.
Négation
La gestion de la négation est une tâche difficile en AS.
La négation peut être exprimée de manière subtile même sans l’utilisation explicite
d’un mot négatif. Une méthode souvent suivie pour gérer explicitement la négation
dans des phrases comme «Je n’aime pas le film», consiste à inverser la polarité de
tous les mots apparaissant après l’opérateur de négation (comme pas). Mais cela ne
fonctionne pas pour "je n’aime pas le jeu mais j’aime la mise en scène". Nous devons
donc également considérer la portée de la négation, qui ne s’étend que jusqu’à mais
ici.
Donc, la chose qui peut être faite est de changer la polarité de tous les mots appa-
raissant après un mot de négation jusqu’à ce qu’un autre mot de négation apparaisse.
Mais il peut toujours y avoir des problèmes. Par exemple, dans la phrase «Non seule-
ment j’ai aimé le jeu, mais aussi la direction», la polarité n’est pas inversée après
«non» en raison de la présence de «seulement». Ce type de combinaisons de «non»
avec d’autres mots comme «seulement» doit donc être gardé à l’esprit lors de la
conception de l’algorithme selon Mukherjee and Bhattacharyya (2013).
ESI 11
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
Phase Définition
Collection La collecte des données réfère à tout processus dont l’objectif est d’ac-
de quérir ou de faciliter l’acquisition des données.
donnée On procède à cette collecte en demandant et en obtenant des don-
nées pertinentes auprès de personnes ou d’organismes au moyen de
procédés adéquats.
Feature Selection L’extraction et la sélection de variables ont été largement discutées et
analysées dans l’exploration de texte depuis longtemps.
(Variable, Attribute Selection)
Feature Extraction La sélection de features sert à filtrer les attributs non pertinents ou
redondants de votre jeu de données.
La principale différence entre la sélection et l’extraction de features
est que la sélection de features conserve un sous-ensemble des features
originales tandis que l’extraction de features en crée de toutes nouvelles.
Table 2 – Tableau des définitions des differentes étapes du processus de l’AS utilisées
ESI 12
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
La figure suivante représente ke processus proposé dans le cadre d’une enquête (Sur-
vey) complète qui a simplifié les outils et techniques d’analyse des sentiments.
Ce processus est composé de quatre étapes :
— Collecte de données : la première étape du processus d’analyse des sen-
timents consiste à collecter des données. Les principales sources de données
proviennent des critiques de produits obtenues sur les blogs, les réseaux so-
ciaux et les forums en ligne. Les données obtenues à partir de ces sources ne
sont pas organisées et sont exprimées dans différents contextes et vocabulaires.
L’utilisation d’une analyse manuelle pour de telles données entraîne une com-
plexité temporelle élevée et donc un ralentissement du processus.
— Prétraitement : les données collectées à l’étape précédente sont prétraitées.
Le prétraitement implique la suppression du contenu non textuel des données
obtenues. Certaines étapes de prétraitement populaires incluent la suppression
des mots vides et des émoticônes, la suppression des caractères spéciaux et
de la ponctuation, la suppression des URL, le stemming, la tokenisation et
l’extraction des fonctionnalités.
— Identification du sentiment : la classification est une technique utilisée
pour classer les données en différentes catégories. Cette étape est utilisée afin
ESI 13
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
de classer les données en trois classes ; positif, négatif et neutre. Ces classes sont
également appelées orientations d’opinion, orientations de sentiment, orienta-
tions sémantiques ou polarités. Cette étape est appelée identification des senti-
ments. L’analyse des sentiments peut désormais être basée sur la classification
de la polarité du texte au niveau du document, de la phrase ou de l’aspect
positif, négatif ou neutre.
— Présentation des résultats : La dernière étape de l’analyse des sentiments
consiste à présenter les résultats sous différentes formes. Les résultats du texte
peuvent être affichés à l’aide d’une représentation graphique. Une ligne de
temps de sentiment peut également être générée pour une certaine période de
temps avec des valeurs comme la fréquence et les moyennes.
Figure 4 – Etapes du processus proposé pour l’analyse des sentiments selon Elouar-
dighi et al. (2018)
ESI 14
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
L’AS des commentaires Facebook écrits en ASM ou en ADM selon une approche
d’apprentissage automatique, nécessite l’implémentation de plusieurs étapes. La figure
4 fournit un aperçu global de ce processus selon le travail de Elouardighi et al. (2018).
Ce processus commence par la collecte des commentaires et leur annotation à l’aide
du crowdsourcing suivi d’une phase de prétraitement du texte afin d’extraire des
mots arabes réduits à leur racine. Ces mots vont être utilisés pour la construction des
variables d’entrée en utilisant plusieurs combinaisons de schémas d’extraction et de
pondération. Pour réduire la dimensionnalité, une méthode de sélection de variables
est appliquée.
- Processus proposé dans le cadre d’un travail comparatif entre les tech-
niques de prétraitement pour l’analyse des sentiments sur Twitter.
Magliani et al. (2016) proposent le processus suivant : Premièrement, les données
doivent être préparées afin d’obtenir un ensemble de données - l’ensemble d’appren-
tissage - au moyen de méthodes de prétraitement et de sélection des caractéristiques.
Ensuite, un tel ensemble de données est impliqué dans l’étape d’apprentissage, qui
utilise des algorithmes ML et produit un classificateur qualifié. Enfin, le classificateur
doit être testé sur un autre ensemble de données - l’ensemble de test.
ESI 15
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
Les différences qui existent entre ces cinq processus malgré leur objectif commun
est la nature des données et les circonstances de leur collecte, qu’elles soient annotées
ou non, donc, allons-nous chercher le sentiment dans un document ou une phrase ?
quel type de prétraitement est nécessaire ? quelle est la représentation la plus appro-
priée ?
Toutes ces questions doivent être répondues et tous les objectifs nécessaires doivent
être fixés avant de déterminer les étapes du processus, afin que tout soit justifié, car
ce qui fonctionne pour un corpus anglais annoté, ne fonctionnera pas pour un corpus
non-annoté qui est mixte entre l’arabe et le français.
Comme il apparaît, ces travaux sélectionnés ont chacun appliqué ses propres mé-
thodes pour procéder au processus d’analyse des sentiments.
Cela revient à plusieurs raisons, la première étant la différence de terminologie et le
ESI 16
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
fait que certains travaux considèrent certaines phases implicites dans d’autres phases.
Par exemple, Barretto (2017) considère que la sélection de caractéristiques et l’anno-
tation font partie du prétraitement, car pour eux le prétraitement n’est pas seulement
une élimination du bruit.
Nous mentionnerons également que le processus de vectorisation (représentation) est
également considéré parmi plusieurs auteurs, comme (Magliani et al. (2016), Elouar-
dighi et al. (2018)) l’une des étapes de classification.
Quand à la phase d’annotation, c’est une phase impérative si l’on veut utiliser l’ap-
prentissage automatique et la classification, donc tous les travaux qui n’ont pas men-
tionné l’annotation signifie qu’ils l’ont fait dans le cadre de la formation (training) de
modèle comme le travail de Magliani et al. (2016) .
La deuxième raison serait la nature des données, comment elles sont et comment
nous voulions qu’elles soient, certaines données sont déjà annotées (jeux de données
prédéfinis) c’est pourquoi la phase n’est pas mentionnée,
Alors que certaines données nécessitent la phase de détection de la langue Chader
et al. (2019), dans le cas où les données contiennent plusieurs langues et il nous est
demandé de ne traiter qu’une seule langue spécifique.
ESI 17
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
ESI 18
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
L’approche hybride
Elle combine les deux approches et est très courante, les lexiques de sentiment
jouant un rôle clé dans la majorité des méthodes. Medhat et al. (2014)
Les différentes approches et les algorithmes les plus populaires de SC sont illustrés
sur la figure 7 comme mentionné précédemment.
Les principaux avantages des approches hybrides sont la symbiose lexique / appren-
tissage, la détection et la mesure des sentiments au niveau du concept et la moindre
sensibilité aux changements dans le domaine du sujet.
Alors que la principale limitation est que les avis sont très bruyants (les mots non
pertinents pour le sujet de l’examen) reçoivent souvent un score neutre car la méthode
ne détecte aucun sentiment. D’Andrea et al. (2015)
Le tableau suivant est un résumé des trois approches de l’analyse des sentiments, où
sont mentionnées pour chaque approche ses techniques les plus connues, ses caracté-
ristiques techniques, ses avantages et ses limites.
ESI 19
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
Barretto (2017) a défini dans son travail certains des outils d’analyse des sentiments,
qui sont :
• Happiness Index est un outil qui utilise des normes affectives pour les mots
anglais. Il fournit un score pour le texte de 1 à 9 indiquant la quantité de bonheur.
• Un autre outil est SentiWordNet. Cet outil est utilisé comme une ressource lexicale
pour l’exploration d’opinion. Il est basé sur le dictionnaire WordNet. SentiWordNet
attribue à chaque synset de WordNet trois scores de sentiment : positivité, négativité,
ESI 20
CHAPITRE 1. GÉNÉRALITÉS SUR L’ANALYSE DE SENTIMENTS
objectivité.
• Septic Net est un outil utilisé pour effectuer une analyse des sentiments au niveau
du concept.
Les tâches comprennent la reconnaissance des émotions et la détection de la polarité
qui tient compte de la sémantique. Il ne se concentre pas beaucoup sur les fréquences
de cooccurrence de mots. Il peut être considéré comme un cadre ou une base de
connaissances.
• Linguistic Inquiry Word Count analyse les fichiers texte mot par mot à l’aide
d’un dictionnaire interne de plus de 2 300 des mots et des tiges de mots les plus
courants.
LIWC classe les mots en des dizaines de catégories linguistiques et psychologiques qui
exploitent les processus sociaux, cognitifs et affectifs.
Conclusion
Dans ce premier chapitre, nous avons expliqué en détail ce qu’est l’analyse de
sentiment, de la signification de ses mots fondamentaux à l’explication de ses niveaux,
applications et défis.
De plus nous avons également cité le processus global et montré qu’il peut différer d’un
cas à l’autre en fonction des données disponibles, des circonstances de leur collecte et
des objectifs généraux du cas.
Enfin, nous avons brièvement présenté les trois approches existantes : Lexicon-based,
Machine Learning et Hybride et les outils proposés.
Dans le chapitre suivant nous allons parcourir les concepts et méthodes de base du
Machine Learning.
ESI 21
Chapitre 2
Introduction
L’apprentissage automatique est la science qui permet aux ordinateurs d’agir sans
être explicitement programmés. Au cours de la dernière décennie, l’apprentissage au-
tomatique nous a donné des voitures autonomes, une reconnaissance vocale pratique,
une recherche Web efficace et une compréhension considérablement améliorée du gé-
nome humain. L’apprentissage automatique est si répandu aujourd’hui que nous l’uti-
lisons probablement des dizaines de fois par jour sans le savoir. De nombreux cher-
cheurs pensent également que c’est la meilleure façon de progresser vers l’IA au niveau
humain.
Dans ce chapitre, nous discuterons les techniques d’apprentissage automatique les plus
efficaces avec les fondements théoriques de l’apprentissage, les domaines de l’applica-
tion et les procédés, avec l’explication des algorithmes et des méthodes d’évaluation
les plus connus.
L’objectif visé est de rendre la machine ou l’ordinateur capable d’apporter des so-
lutions à des problèmes compliqués, par le traitement d’une quantité astronomique
d’informations. Cela offre ainsi une possibilité d’analyser et de mettre en évidence les
corrélations qui existent entre deux ou plusieurs situations données et de prédire leurs
différentes implications.
22
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
2.2.1 Prédiction
L’apprentissage automatique peut également être utilisé dans les systèmes de pré-
diction. Compte tenu de l’exemple de prêt, pour calculer la probabilité d’un défaut,
le système devra classer les données disponibles en groupes.
ESI 23
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
ESI 24
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
ESI 25
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
Naïve Bayes
Pour calculer la probabilité qu’un événement se produise, étant donné qu’un autre
événement s’est déjà produit, nous utilisons le théorème de Bayes. Pour calculer la
probabilité que l’hypothèse (h) soit vraie, compte tenu de nos connaissances anté-
rieures (d), nous utilisons le théorème de Bayes comme suit :
où :
P (h | d) = probabilité postérieure. La probabilité que l’hypothèse h soit vraie, étant
donné les données d, où P (h | d) = P (d1 | h) P (d2 | h). . . .P (dn | h) P (d)
P (d | h) = vraisemblance. La probabilité des données d étant donné que l’hypothèse
h était vraie.
P (h) = probabilité antérieure de classe. La probabilité que l’hypothèse h soit vraie
(quelles que soient les données)
P (d) = Probabilité a priori du prédicteur. Probabilité des données (quelle que soit
l’hypothèse)
Cet algorithme est appelé « naïf » car il suppose que toutes les variables sont indépen-
dantes les unes des autres, ce qui est une hypothèse naïve à faire dans des exemples
réels. Bishop (2001)
ESI 26
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
ESI 27
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
Apriori
L’algorithme Apriori est utilisé dans une base de données transactionnelle pour
exploiter des ensembles d’éléments fréquents, puis générer des règles d’association. Il
est couramment utilisé dans l’analyse du panier de consommation, où l’on vérifie les
combinaisons de produits qui coexistent fréquemment dans la base de données.
En général, nous écrivons la règle d’association pour «si une personne achète l’article
X, alors il achète l’article Y» comme : X -> Y.
Exemple : si une personne achète du lait et du sucre, elle achètera probablement
du café en poudre. Cela pourrait être écrit sous la forme d’une règle d’association
comme : lait, sucre -> café en poudre. Les règles d’association sont générées après
avoir franchi le seuil de soutien et de confiance.
La mesure de support permet d’élaguer le nombre d’ensembles d’articles candidats
à prendre en compte lors de la génération fréquente d’ensembles d’articles. Cette
mesure de soutien est guidée par le principe Apriori. Le principe Apriori stipule que si
un ensemble d’éléments est fréquent, alors tous ses sous-ensembles doivent également
être fréquents.
ESI 28
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
K-means
K-means est un algorithme itératif qui regroupe des données similaires en grappes.
Il calcule les centroïdes de k grappes et attribue un point de données à cette grappe
ayant la plus petite distance entre son centre de gravité et le point de données.
On commence par choisir une valeur de k. Ici, disons k = 3. Ensuite, nous attri-
buons au hasard chaque point de données à l’un des 3 clusters. Calculez le centroïde
du cluster pour chacun des clusters. Les étoiles rouges, bleues et vertes désignent les
centroïdes pour chacun des 3 groupes.
Ensuite, réaffectez chaque point au centre de gravité du cluster le plus proche. Dans
la figure ci-dessus, les 5 points supérieurs ont été attribués au cluster avec le centroïde
bleu.
Suivez la même procédure pour attribuer des points aux grappes contenant les cen-
troïdes rouges et verts.
Ensuite, calculez les centroïdes pour les nouveaux clusters. Les vieux centroïdes sont
des étoiles grises ; les nouveaux centroïdes sont les étoiles rouges, vertes et bleues.
Enfin, répétez les étapes 2-3 jusqu’à ce qu’il n’y ait pas de commutation de points d’un
cluster à un autre. Une fois qu’il n’y a pas de commutation pour 2 étapes consécutives,
quittez l’algorithme K-means.
ESI 29
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
2.5 Évaluation
Évaluer les performances d’un modèle d’apprentissage automatique fait partie in-
tégrante de tout projet de science des données. L’évaluation du modèle vise à estimer
la précision de généralisation d’un modèle sur des données futures (invisibles / hors
échantillon). Dans la section suivante, nous présenterons les métriques qui nous per-
mettent d’évaluer un modèle et les étapes de leur calcul.
ESI 30
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
ESI 31
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
Accuracy - Exactitude
L’exactitude est la mesure de performance la plus intuitive et il s’agit simplement
d’un rapport entre l’observation correctement prévue et les observations totales.
On peut penser que si nous avons une grande précision, notre modèle est le meilleur.
Oui, la précision est une bonne mesure, mais uniquement lorsque vous avez des en-
sembles de données symétriques où les valeurs de faux positifs et de faux négatifs sont
presque identiques.
Par conséquent, nous devons examiner d’autres paramètres pour évaluer les perfor-
mances de votre modèle. Par exemple, si nous avons 0.803, cela signifie que notre
modèle est d’env. 80% précis.
TP + TN
Accuracy = (2.1)
TP + TN + FP + FN
Precision
La précision est le rapport des observations positives correctement prédites au
total des observations positives prévues.
La question que cette réponse métrique est de toutes les valeurs étiquetées comme
positives, combien sont réellement ?
La haute précision est liée au faible taux de faux positifs.
TP
P recision = (2.2)
TP + FP
Recall / Rappel
(Sensibilité) - Le rappel est le rapport des observations positives correctement
prédites à toutes les observations de la classe réelle - «OUI».
La question de rappel des réponses est : De toutes les valeurs positives qui existent
vraiment, combien en avons-nous étiquetées ?
TP
P recision = (2.3)
TP + FN
F1-Score / F-mesure
Le score F1 est la moyenne pondérée de la précision et du rappel. Par conséquent,
ce score prend en compte à la fois les faux positifs et les faux négatifs. Intuitivement,
il n’est pas aussi facile à comprendre que la précision, mais F1 est généralement plus
utile que la précision, surtout si la distribution des classes est inégale.
ESI 32
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
La précision fonctionne mieux si les faux positifs et les faux négatifs ont un coût
similaire.
Si le coût des faux positifs et des faux négatifs est très différent, il vaut mieux regarder
à la fois la précision et le rappel.
Recall ∗ P recision
F 1 − Score = 2 ∗ (2.4)
Recall + P recision
K-Validation croisée
La K-validation croisée est la démarche la plus recommandée, à condition d’avoir
suffisamment de données pour pouvoir l’appliquer. Dans un premier temps, ayant
choisi une valeur pour k (typiquement, on prend k=10), on partitionne les données en
k morceaux de même taille (D1,D2,. . . ,Dk) Ensuite, on construit k classifieurs, chacun
à partir des observations issues d’un morceau Di, i est dans [1 ;k]. Enfin, on construit
pour chaque classifieur une matrice de confusion Mi sur la base des observations issues
des k-1 autres morceaux (Dj, j appartient à [1 ;k].).
ESI 33
CHAPITRE 2. GÉNÉRALITÉS SUR L’APPRENTISSAGE AUTOMATIQUE
Biais
Si l’erreur est aussi élevée sur les données d’apprentissage que sur les données
d’évaluation, alors on peut supposer un problème de biais trop élevé. Cela signifie
que le modèle est victime de sous-apprentissage.
Pour palier un problème de biais élevé, on peut tenter d’incorporer des descripteurs
supplémentaires ou bien changer de type de modèle.
Variance
Si l’erreur est significativement moins élevée sur les données d’apprentissage que
sur les données d’évaluation, alors on peut supposer un problème de variance trop
élevée. Cela signifie que le modèle est victime de sur-apprentissage.
Pour palier un problème de variance élevée, on peut tenter de collecter plus d’individus
ou bien tenter de réduire le nombre de variables.
Conclusion
Dans ce chapitre, nous avons expliqué ce qu’est l’apprentissage automatique et
avons parlé de son champ d’application,
Nous avons également expliqué les différents procédés et algorithmes d’apprentissage
automatique ;
Et puis nous avons montré comment ces algorithmes sont évalués, dans le chapitre
suivant, nous détaillerons la façon dont l’apprentissage automatique gère l’analyse des
sentiments.
ESI 34
Chapitre 3
Introduction
Comment fonctionne l’analyse des sentiments avec l’apprentissage automatique ?
Il existe un certain nombre de techniques et d’algorithmes complexes utilisés pour
commander et former des machines à effectuer une analyse des sentiments. Il y a des
avantages et des inconvénients à chacun. Mais, utilisés ensemble, ils peuvent fournir
des résultats exceptionnels. Dans ce chapitre nous décrivons les différentes étapes de
l’AS et les algorithmes les plus utilisés.
La phase de collecte des données peut varier d’une étude à l’autre, car elle dépend
uniquement de la source des données il peut s’agir de jeux de données prédéfinis
disponibles pour tout le monde, ou des données sont collectées à partir des médias
sociaux ou ailleurs dans le but exact d’une certaine étude.
Pour le reste de ce chapitre, nous montrerons en détail ce qui se fait lors des phases
d’annotation, de prétraitement, de représentation, de sélection du modèle et de clas-
sification.
35
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
Les étapes illustrées dans la figure suivante sont inspirées de travaux similaires qui
ont effectué une analyse des sentiments avec une approche d’apprentissage automa-
tique sur un dialecte Algérien ou marocain, qui sont : Chader et al. (2019), Shoukry
and Rafea (2012), Elouardighi et al. (2018).
Annotation automatique
Les documents peuvent être annotés automatiquement (sans présence humaine)
à l’aide d’algorithmes d’apprentissage automatique non supervisés tels que K-mean
pour le clustering.
Cependant, il existe a une conséquence : puisque ces algorithmes regroupent les don-
nées similaires en différents clusters, les résultats ne sont pas garantis d’être bons, le
taux d’erreur est élevé.
ESI 36
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
ESI 37
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
ESI 38
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
ESI 39
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
[
"John likes",
"likes to",
"to watch",
"watch movies",
"Mary likes",
"likes movies",
"movies too",
]
Application
En pratique, le modèle Bag-of-words est principalement utilisé comme outil de
génération de features.
Après avoir transformé le texte en un BOW, nous pouvons calculer différentes mesures
pour caractériser le texte. Les type les plus courants des features ou des attributs
calculées à partir du modèle BOW sont : Le nombre de fois où le mot est apparu
(appelé Term-Frequency) et TF-IDF (Term Frequency Inverse Document Frequency).
La méthode connaît certaines limitations qui sont : Plus un mot est fréquent, plus
nous lui accordons d’importance dans chaque document, ce qui est logique.
Cependant, cela peut être problématique car des mots courants comme les noms n’ap-
portent pas beaucoup d’informations sur le document auquel il se réfère. En d’autres
termes, les mots qui apparaissent le plus ne sont pas les plus intéressants pour extraire
des informations d’un document.
Nous pourrions tirer parti du fait que les mots qui apparaissent apportent rarement
beaucoup d’informations sur le document auquel il se réfère.
M
= ft,d ∗ log( dft
) (3.3)
ESI 40
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
Ou :
Le fréquence du terme ftd compte le nombre d’occurrences de t dans d
La fréquence de document dft compte le nombre de documents contenant le mot t
M est le nombre total de documents dans le corpus
La valeur TF-IDF croît proportionnellement aux occurrences du mot dans le TF,
mais l’effet est équilibré par les occurrences du mot dans tous les autres documents
(IDF).
2. Extraction de BOW
bcp bravo dire et etes je les meilleures merci trop veux vous
bcp bravo dire et etes je les meilleures merci trop veux vous
Doc 0 1/16 3/16 1/16 1/16 0 1/16 0 0 1/16 0 1/16 1/16
Doc 1 0 0 0 0 1/16 0 1/16 1/16 1/16 1/16 0 1/16
bcp bravo dire et etes je les meilleures merci trop veux vous
Doc 0 0,258 0,774 0,26 0,258 0 0,26 0 0 0,184 0 0,258 0,184
Doc 1 0 0 0 0 0,45 0 0,45 0,447 0,318 0,447 0 0,318
ESI 41
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
Table 10 – Les algorithmes utilisés dans l’approche ML et les travaux qui l’ont
utilisée.
ESI 42
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
ESI 43
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
Support Vector SVM est une méthode - Le SVM peut mo- - Le manque de trans-
Machine (SVM) d’apprentissage super- déliser des limites de parence des résultats
visé qui examine les décision non linéaires dû à un nombre
données et les trie - Fonctionne de la élevé de dimensions
dans l’une des deux même manière que la (notamment pour les
catégories. Un SVM régression logistique données textuelles).
génère une carte des lorsque la séparation - Le choix d’une fonc-
données triées avec linéaire tion efficace du noyau
les marges entre les - Robuste contre les est difficile (Suscep-
deux aussi éloignées problèmes de sur- tible de problèmes de
que possible. charge (en particulier surcharge/formation
pour les ensembles de selon le noyau)
données textuelles en - Complexité de la
raison de l’espace de mémoire
haute dimension)
Decision Tree L’arbre de décision - Peut facilement - Questions relatives
construit des modèles gérer les caractéris- aux limites diagonales
de classification ou tiques qualitativesdes décisions
de régression sous la (catégorielles) - Peut être facilement
forme d’une struc- - Fonctionne bien avec surdimensionné
ture arborescente. Il les limites de décision - extrêmement sen-
décompose un en- parallèles à l’axe des sible aux petites per-
semble de données caractéristiques turbations des don-
en sous-ensembles de - L’arbre de décision nées
plus en plus petits, est un algorithme - Problèmes de prédic-
tout en développant très rapide pour tion hors échantillon
progressivement un l’apprentissage et la
arbre de décision prédiction
associé. Les arbres
de décision peuvent
gérer à la fois des
données catégorielles
et numériques
Table 11: Comparaison des techniques les plus courantes
de la classification de texte, Kowsari et al. (2019)
ESI 44
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
Méthode de repré- il renvoie 0 si le mot existe dans le document, 1 sinon. Aucun dé-
sentation : Binary compte n’existe.
Average Method Ce paramètre est obligatoire pour les cibles multiclasses / multi-
étiquettes, cela détermine le type de moyennage effectué sur les
données.
Average Method : Rapportez uniquement les résultats pour la classe spécifiée par une
Binary étiquette positive.
Average Method : Calculez les métriques à l’échelle globale en comptant le total des
Micro vrais positifs, des faux négatifs et des faux positifs.
Average Method : Calculez les métriques pour chaque étiquette et trouvez leur
Macro moyenne non pondérée. Cela ne tient pas compte du déséquilibre
des étiquettes.
Average Method : Weighted : pondéré ; Calculez les métriques pour chaque étiquette
Weighted et trouvez leur moyenne pondérée par le support (le nombre d’ins-
tances réelles pour chaque étiquette). Cela modifie la «macro» pour
tenir compte du déséquilibre des étiquettes ; il peut en résulter un
score F qui n’est pas entre la précision et le rappel
Table 13: Annexe des définitions de certains termes uti-
lisés dans le processus ci-dessous
ESI 45
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
Etape 05 : Test
Tester les différentes combinaisons des étapes précédentes et enregistrer le score et
revenir à l’étape 0 jusqu’à ce que nous trouvions le modèle le plus approprié.
Après avoir collecté, annoté et prétraité nos données, nous sommes maintenant arrivés
à la phase de classification, ce qui signifie choisir un algorithme (les algorithmes de
classification de texte les plus courants ont été mentionnés dans la section ci-dessus).
Mais la phase de sélection du modèle concerne-t-elle vraiment la sélection de l’algo-
rithme ?
Eh bien oui et non, oui nous allons choisir un algorithme mais il y a de nombreux
facteurs qui doivent aussi se fixer. c’est une phase de paramétrage pourrait-on dire.
Mais est-ce nécessaire ?
Eh bien, nous devons choisir le modèle le plus approprié pour nos données, tous
les modèles sont bons lorsqu’ils sont utilisés avec les données appropriées et si le
changement de la représentation ou la méthode de moyenne peut augmenter le bon
algorithme avec 5%, alors, il doit être considéré.
Il n’y a pas d’algorithme concrètement meilleur que les autres, mais il y en a un qui
donne un meilleur résultat selon les données. C’est ce que l’on essaie essentiellement
de trouver dans cette phase de sélection du modèle.
ESI 46
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
un dialecte Algérien.
Un autre problème est que le corpus pourrait être un mélange entre des mots écrits
en lettres arabes et des mots écrits en lettres latines, ce qui entraînera la non harmo-
nisation du corpus et un défi encore plus grand à relever.
Nous constatons également que même lorsque le corpus contient toutes les lettres la-
tines, il contient des mots en arabizi, en français simple et en anglais plan, et parfois
même en espagnol, tels que «Viva Algeria», «Rio adoro».
Dans cet article, Guellil et al. (2018) a présenté un outil pour l’analyse des senti-
ments des messages écrits en dialecte Algérien. Cet outil est basé sur une approche
qui utilise à la fois des lexiques et un traitement spécifique de l’agglutination. Cette
approche a été expérimentée en utilisant deux lexiques de sentiments et un corpus de
test contenant 749 messages. Les résultats obtenus sont encourageants et montrent
une amélioration continue après chaque étape de l’approche considérée.
Dans Bettiche et al. (2018) , ils s’intéressent à la classification des messages de ré-
seaux sociaux récupérés sur Twitter, Facebook et YouTube écrits en dialecte Algérien
en caractères latins dans des classes positives ou négatives en utilisant des approches
existantes d’exploration d’opinion (basée sur lexical, apprentissage automatique et
hybride). En outre, ils appliquent un processus de regroupement dans l’étape de pré-
traitement pour surmonter les problèmes liés au dialecte Algérien tels que les variétés
orthographiques pour exprimer le même mot.
De plus, ils se concentrent sur l’approche hybride qui consiste à annoter automati-
quement le corpus d’apprentissage avec l’approche lexicale puis à utiliser l’approche
machine learning sur ce corpus pour créer le modèle de classification. Cette approche
permet de classer les messages en classes positives ou négatives, sans avoir à anno-
ter manuellement un corpus de formation. Ils ont rapporté 93,7% en termes de F-score.
Dans Mataoui et al. (2016), ils ont proposé une nouvelle approche d’analyse des
sentiments basée sur le lexique pour aborder les aspects spécifiques de l’arabe algé-
rien vernaculaire pleinement utilisé dans les réseaux sociaux. Un ensemble de données
annoté manuellement et trois lexiques arabes algériens ont été créés pour explorer les
différentes phases de notre approche.
Elouardighi et al. (2018) ont utilisé une approche d’apprentissage automatique Ils
traitent dans ce travail dans l’analyse des sentiments des commentaires Facebook,
réels, partagés en arabe ou marocain standard par une approche basée sur l’appren-
tissage automatique. Ce processus commence par la collecte des commentaires et leur
annotation à l’aide du crowdsourcing suivi d’une phase de prétraitement du texte
ESI 47
CHAPITRE 3. ANALYSE DE SENTIMENT AVEC L’APPROCHE
APPRENTISSAGE AUTOMATIQUE
Conclusion
Dans ce chapitre, nous avons vu les différentes étapes de l’approche du machine
learning sur l’analyse des sentiments et comment ces étapes diffèrent d’un travail à
l’autre, que cela ait été fait sur un corpus arabe ou non. Nous avons également vu
l’efficacité de l’approche de l’apprentissage automatique à en juger par ses résultats,
et la vitesse de cette phase dépend de la disponibilité des données annotées.
Ce qui le rend plus simple d’une manière comparable à l’approche du lexique qui
nécessite un lexique défini. Nous avons également souligné l’importance d’une phase
négligée, qui est la sélection du modèle, les gens oublient souvent qu’avec un simple
paramètre ou un changement moyen, les résultats pourraient changer radicalement.
ESI 48
Conclusion
Dans cette étude, nous avons mis en lumière les domaines de l’analyse des senti-
ments et de l’apprentissage automatique, discuté ses différentes applications et pro-
priétés.
Nous avons ensuite effectué un travail de synthèse où nous avons cité des travaux de
l’analyse des sentiments avec l’approche de l’apprentissage automatique que le travail
soit fait sur un corpus arabe ou non, suivi d’une étude comparative sur les travaux
qui ont traité le dialecte Algérien.
Nous avons conclu que dans cette approche, il n’y pas un bon modèle concret in-
contesté, mais il y a le modèle le plus approprié et qui change en fonction du langage,
des données, de l’objectif de la façon dont il a été annoté, de la méthode de calcul de
la moyenne, de la représentation et de nombreux les facteurs.
Tous ces facteurs définissent ce que nous avons appelé le processus de sélection du
modèle, dans lequel nous avons montré qu’il est ignoré dans cette approche et que
certaines personnes vont directement à l’évaluation sans considérer qu’elles pourraient
obtenir de meilleurs résultats.
49
Deuxième partie
Développement du système
50
Introduction
51
Chapitre 4
Introduction
Dans ce chapitre, nous présenterons l’entreprise GEN-42, nous introduisons de ses
missions, des services rendus et des réalisations antérieures et enfin nous mettrons en
évidence le plan de développement de l’entreprise et le futur projet global (2019-2022)
dont notre projet fait partie de ce dernier.
Ensuite, nous allons faire une étude des besoins en révélant les plus grands besoins
de l’entreprise.
Nous montrerons en détail les objectifs que notre système doit atteindre, énumérerons
les différents acteurs, les spécifications fonctionnelles et techniques et les schématise-
rons dans un diagramme de cas d’utilisation.
GEN-42 est une agence de communication digitale située à Alger. elle s’engage à pro-
pulser les services et les produits sur internet par la publicité, le conseil ainsi que
différentes offres permettant de faire connaitre sur le web et accroitre la visibilité et
la notoriété.
Samir Bellik a fondé son entreprise Gen 42 en septembre 2014 dans le cadre du dis-
positif Ansej. L’entreprise spécialisée dans la gestion d’image et l’optimisation de la
52
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
visibilité des entreprises sur le web à lancer de nombreux projets et espère dominer un
marché en plein essor en Algérie. Ce présent chapitre, est consacré à la présentation
de l’entreprise et ses missions.
Ci-dessous un tableau contenant des informations globales sur l’organisme :
Création 2014
Fondateur Mr Samir BELLIK
Forme juridique L’entreprise unipersonnelle à responsabilité limitée (EURL)
Domaine Communication digitale
Siege social 126 Rue Didouche Mourad, Alger centre 16020
Activité Web Marketing, Difital Strategies, Social Media, SEO, and E-Reputation
Effectif 15(2020)
Site web https ://[Link]/
4.2 Missions
La mission principale de GEN-42 est de mettre la communication virtuelle au
service du développement bien réel des entreprises. De la construction de leurs sites
web au déploiement des troupes sur les réseaux sociaux, les clients bénéficieront de
l’expertise de GEN-42 pour optimiser leur visibilité sur internet et adopter la stratégie
qui permettra de conquérir le Web.
4.2.1 Services
• Création web : La communication sur le web devenant de plus en plus concur-
rentielle, il est nécessaire que les sites et applications soient conformes aux
dernières tendances du net. GEN-42 propose également des sites web et appli-
cations qui deviendront rapidement des références dans les paysages web.
• Référencement (SEO) : Parce que le référencement naturel est un enjeu de
la plus grande importance pour la réussite et la pérennité de l’activité sur le
web, GEN-42 propose de le confier à son équipe d’experts qui sauront vous
mettre en place une stratégie de visibilité cohérente et efficiente
• Réseaux sociaux : Devant l’ampleur du trafic en provenance des réseaux
sociaux sur l’ensemble du web, le social media management devient non seule-
ment un impératif pour votre stratégie webmarketing mais aussi une science
de plus en difficile à maîtriser. GEN-42 me à disposition toute son expertise
pour une gestion à la pointe de l’efficacité et des dernières bonnes pratiques
en termes de management et de technologies.
• Création de contenu : GEN-42 établit pour ces clients un contenu en accord
avec leurs image et leurs objectifs. En créant leur contenu sur différentes formes
et différents médias, en les adaptant aux canaux de communications où ils
souhaitent être présents.
• Gestion de campagnes : GEN-42 fait bénéficier ces clients des opportunités
de l’ensemble des réseaux publicitaires du web. A travers des campagnes ci-
blées et des coûts maîtrisés, elle déploie de manière pertinente votre stratégie
commerciale.
ESI 53
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
Logo Réalisation
GEN-42 à réalisé pour l’entreprise Aymen Promotion
(une agence de promotion immobilière) un site internet
proposant les différentes promotions immobilières afin
de permettre aux clients de connaitre les différents pro-
duits réalisés par l’entreprise.
ESI 54
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
ESI 55
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
ESI 56
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
— Operations office
• Operations Manager : Gère l’ensemble des opérations et est responsable
de la gestion efficace et réussie du travail, de la productivité, du contrôle
de la qualité et des mesures de sécurité telles qu’établies et fixées pour le
département des opérations.
• Business Developement Director : Les directeurs du développement
commercial établissent des relations et fournissent une orientation straté-
gique pour aider les entreprises à se développer et à réaliser des bénéfices.
Ils se concentrent sur la création et l’orientation des relations internes et
externes avec les équipes de vente et de marketing, les vendeurs et les dis-
tributeurs, et les clients.
• Account Customer Manager : une personne qui travaille pour une
entreprise et qui est responsable de la gestion des ventes et des relations avec
des clients particuliers. Un gestionnaire de compte entretient les relations
existantes de l’entreprise avec un client ou un groupe de clients, afin que
ceux-ci continuent leur partenariat avec l’entreprise pour leurs affaires.
— Content Office
• Content Manager : Les tâches du gestionnaire de contenu comprennent,
entre autres, la production et la publication de contenu, la rédaction, la
révision et la correction d’épreuves, la formulation de stratégies de contenu
et la gestion d’une équipe de contenu. ... Ici, le contenu est défini comme
des articles multimédias, des billets de blog, des images ou des vidéos qui
aident à favoriser l’engagement en ligne.
• Creative Director : Les directeurs de création travaillent normalement sur
des campagnes de publicité et de branding à travers une gamme de sup-
ports tels que le cinéma, le numérique, l’animation et les applications. Ils
travaillent parfois sur la conception des produits, des emballages et des em-
placements. Ils dirigent une équipe composée de directeurs artistiques et
de designers, qui exécutent les projets qu’ils conçoivent.
• Ads Reporting Manager : une personne qui gère les rapports et la
publicité sur Internet, il aide à atteindre les objectifs commerciaux sur
Facebook, Instagram et Audience Network.
— Finance Office
• Finance Manager : Les tâches typiques comprennent l’examen des rap-
ports financiers, le suivi des comptes et la préparation des rapports d’acti-
vité et des prévisions financières. Les responsables financiers étudient éga-
lement les moyens d’améliorer la rentabilité et analysent les marchés pour
les opportunités commerciales, telles que l’expansion, les fusions ou les ac-
quisitions.
ESI 57
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
— Technical Office
• Technical Lead Manager : superviser une équipe de personnel qui se
concentre sur les questions techniques, notamment le développement de lo-
giciels, les versions de produits et les tâches d’ingénierie. En plus d’embau-
cher et de former du personnel et de déléguer des tâches, les responsables
techniques peuvent également collaborer avec des collègues pour identifier
et réparer des problèmes techniques.
• Web Developper : Il est responsable de la conception, du codage et de
la modification des sites web, de la mise en page à la fonction et selon les
spécifications du client. Il s’efforce de créer des sites visuellement attrayants
qui se caractérisent par une conception conviviale et une navigation claire.
ESI 58
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
ESI 59
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
montées en flèche. Auparavant, vous ne pouviez choisir que les sites web, la
taille des bannières et l’emplacement physique pour cibler vos publicités. Ce
n’est plus le cas aujourd’hui.
• Pages de renvoi : C’est probablement la partie la plus négligée du marketing
numérique. La page d’accueil est l’endroit où l’utilisateur se rend après avoir
cliqué sur votre publicité.
• Passerelle mobile : Cela ressemble beaucoup aux pré-rouleaux vidéo. La
différence est qu’ils agissent comme une "passerelle" vers l’ensemble de votre
site web, ou vers une certaine section de votre site. Il peut s’agir de publi-
cités affichées ou de publicités vidéo. Elles occupent la totalité de l’écran et
l’utilisateur doit attendre quelques secondes avant de pouvoir continuer sur le
site.
Une fois que ces mesures sont recueillies à partir des plateformes dont nous avons parlé
précédemment, l’utilisateur (qui est l’employé de l’entreprise de GEN-42) utilise l’outil
de ce module pour créer le rapport basé sur les besoins du client.
Fonctionnement
Le processus du RTB se déroule en quelques millièmes de secondes. Voici les
différentes étapes qui prennent place :
• Un utilisateur appelle une page web qui utilise le RTB.
• Le tag URL contenu dans la page web appelle un serveur publicitaire ou « ad
server »
• Ce serveur est en lien avec un ou des « supply side platform » (SSP). Il les
appelle et détermine qui offre le meilleur prix.
• La publicité remportant l’enchère est alors affichée sur la page web.
ESI 60
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
créateurs de GEN-42 pour ses différents clients. et à les mettre en classes sur la base du
contenu de manière automatique. Ces données collectées proviennent principalement
de Facebook et d’Instagram pour l’instant.
ESI 61
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
Community manager :
comme décrit précédemment, les community managers sont le visage de l’entre-
prise, et ce sont eux qui sont les principaux responsables de la plupart des activités
des réseaux sociaux, c’est pourquoi un community manager est un des deux acteurs
de notre système.
Leur rôle est de taguer les commentaires mal prédits, d’y répondre si nécessaire, de
consulter les performances de l’entreprise, de générer des rapports et d’utiliser les
informations fournies par notre système pour réfléchir à une meilleure stratégie de
création de contenu.
Super-Admin :
Ce rôle est de la responsabilité du directeur général, en plus qu’il inclut toutes
les fonctionnalités effectuées par un community manager régulier, le super-admin a
le privilège de créer, modifier et supprimer des comptes de community mangers, il
peut surveiller tout leur historique d’activité, leur attribuer des pages, consulter leurs
contributions et les promouvoir en super-admin.
ID Spécification Priorité
1 Le système doit permettre aux utilisateurs de s’authentifier. Medium
2 Le système doit permettre aux utilisateurs de consulter le tableau de Max
bord général.
3 Le système doit permettre aux utilisateurs d’accéder à la page où ils Max
peuvent voir les pages facebook des clients.
4 Le système doit charger les listes des pages clients de facebook. Max
5 Le système doit permettre aux utilisateurs de visualiser la liste des pages, Max
et chaque page sera vue avec son titre et sa photo de profil facebook, le
nombre de commentaires positifs, le nombre total de commentaires et la
précision de la classification automatique.
6 Le système doit permettre aux utilisateurs d’accéder à une Page client Max
spécifique.
7 Le système doit permettre aux utilisateurs de consulter le tableau de Max
bord pour chaque page.
8 Le système doit charger les Posts d’une page facebook, selon la minute Max
en cours.
9 Le système doit permettre aux utilisateurs de visualiser la liste des Post Max
pour une page spécifique, et chaque Post sera accompagné de sa photo (si
elle existe), du nombre de likes, partages et commentaires et du nombre
de commentaires traités.
10 Le système doit indiquer si un Post n’est pas traité en affichant le mot Max
’NEW’.
11 Le système doit permettre aux utilisateurs d’accéder à un Post spécifique. Max
12 Le système doit charger tous les commentaires existants d’un post face- Max
book.
13 Le système doit permettre aux utilisateurs de visualiser la liste des com- Max
mentaires pour un Post spécifique.
ESI 62
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
ESI 63
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
ID Spécification Priorité
1 Le système doit disposer d’un compte Super-Admin. Medium
2 Le système doit être disponible 24/7. Max
3 Le système doit être une application Web. Max
4 Le système doit avoir une précision de classification qui s’améliore avec Max
le temps.
5 Le système doit utiliser les commentaires qui ont été mal prédites pour Max
améliorer l’apprentissage du modèle de classification.
6 Le système doit garder toujours les données des six derniers mois. Max
7 Le système doit exécuter les travaux dans un temps optimal. Max
8 Le code doit être bien commenté afin de faciliter le développement de Max
toutes autres fonctionnalités supplémentaires et maintenance de l’appli-
cation.
9 Le système doit avoir certaines réglementations en matière de création de Medium
mot de passe (taille minimale des caractères : 8, doit avoir des caractères
minuscules et majuscules et des chiffres)
10 Le système doit être déployé sur le serveur d’entreprise. Max
Table 17: Spécifications techniques du système
ESI 64
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
ESI 65
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
CU Répondre au commentaire
ID 18
Description brève Permet à l’utilisateur de répondre à un commentaire sur
facebook directement via cet outil.
ESI 66
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
ESI 67
CHAPITRE 4. ETAT DES LIEUX ET IDENTIFICATION DES BESOINS
Conclusion
Après s’être familiarisé avec l’entreprise, évoqué ses différents rôles et perspectives
d’avenir à développer ; avoir identifié les besoins, les objectifs, les acteurs et les spé-
cifications fonctionnelles et techniques, nous présenterons ensuite dans le chapitre
suivant la conception complète de notre solution détaillant chaque phase en son sein.
ESI 68
Chapitre 5
Conception
Introduction
Dans ce chapitre, nous verrons en détail quelle est la solution que nous proposons.
Nous projetterons la lumière sur la solution concernant la partie analyse des
sentiments, où nous détaillerons chacune de ses phases : récupération, annotation,
prétraitement, représentation et classification ; et nous mentionnerons les différentes
techniques que nous exécuterons au cours de chaque phase.
De plus, nous décrirons la base de données de ce système, nous donnerons le
schéma entité / association et la description des entités utilisées.
69
CHAPITRE 5. CONCEPTION
Figure 23 – Un schéma détaillé qui montre les différentes interactions entre les
données et les phases de notre système.
ESI 70
CHAPITRE 5. CONCEPTION
ESI 71
CHAPITRE 5. CONCEPTION
ESI 72
CHAPITRE 5. CONCEPTION
Figure 26 – Captures d’écran d’éléments récupéré pour chaque page – outil : json
Viewer
ESI 73
CHAPITRE 5. CONCEPTION
Figure 27 – Les posts d’une page récupérés dans un seul fichier, capture prise de
l’outil : Json-Viewer
Figure 28 – Captures d’écran d’éléments récupéré pour chaque post – outil : json
Viewer
ESI 74
CHAPITRE 5. CONCEPTION
ESI 75
CHAPITRE 5. CONCEPTION
ESI 76
CHAPITRE 5. CONCEPTION
Dataset GEN-42
Tout comme la phase de récupération des données montrée, nous avons utilisé la
même pour récupérer environ 3971 commentaires, sans annotation.
Nous avons utilisé des scripts Python pour les diviser en 20 fichiers CSV, chacun
contenant exactement 200 commentaires, puis nous avons converti les fichiers CSV
en 20 fichiers Excel pour faciliter l’annotation manuelle pour nos gestionnaires de
communauté et finalement envoyer ces fichiers Excel à nos Community managers de
GEN-42 qui ont accepté de nous aider à annoter les données.
Les captures d’écran suivantes montrent un exemple à partir d’un exemple de
fichier CSV :
Figure 32 – Exemple d’un fichier csv contenant les commentaires de Dataset GEN-42
ESI 77
CHAPITRE 5. CONCEPTION
Figure 33 – Exemple d’un fichier excel contenant les commentaires de Dataset GEN-
42
ESI 78
CHAPITRE 5. CONCEPTION
Les passage vert indique le positif, le jaune pour le neutre et le rouge pour le
negatif.
Et les résultats peuvent être exportés vers un fichier TSV qui pourrait être converti
en csv et exploité.
ESI 79
CHAPITRE 5. CONCEPTION
Voici une capture d’écran du fichier CSV ouvert sur Excel correspondant aux
commentaires sur l’exemple ci-dessus :
Figure 36 – Exemple des commentaires annotés dans Tagtog est exporté puis ex-
ploités dans Excel
Certaines données ont été annotées à l’aide de Tagtog, les autres ont été annotées
par Excel comme expliqué et c’est ainsi que nous avons formé le troisième ensemble
de données que nous avons.
Plusieurs détails et chiffres sur chaque ensemble de données seront discutés dans
le chapitre de réalisation.
ESI 80
CHAPITRE 5. CONCEPTION
ESI 81
CHAPITRE 5. CONCEPTION
5.4.1 Pré-tokenisation
Étape 1 : Élimination des liens URL
Tout lien URL fourni n’aura pas vraiment d’effet sur le fait que le commentaire
soit positif ou négatif, nous allons donc commencer par les éliminer d’abord de votre
message avant de poursuivre avec le texte restant.
Voici un exemple de son fonctionnement :
Entrée : [[ This is my link https ://[Link]/ the rest of my msg ]]
Sortie : [[ This is my link the rest of my msg]]
5.4.2 Tokenisation
La tokenisation (Anglais : Tokenization), est une étape très importante en ce qui
concerne la préparation des données dans l’analyse des sentiments, car nous avons
mentionné la valeur et le sens pouvaient tous reposer sur un seul mot, par conséquent,
avant de procéder à toute autre étape telle que la suppression du bruit, etc., nous
devons d’abord réduire notre chaîne en mots appelés Tokens.
Voici un exemple de son fonctionnement :
Entrée : [[ Saha arwah nahder m3ak berk matkhafche kamal ]]
Sortie : [[ [’Saha’, ’arwah’, ’nahder’, ’m3ak’, ’berk’, ’matkhafche’, ’kamal’] ]]
ESI 82
CHAPITRE 5. CONCEPTION
5.4.3 Après-Tokenisation
Étape 1 : Translittération
Il est important pour nos données d’avoir un corpus unifié, donc nous ne pouvons
pas permettre d’avoir une nature mixte de langues dans notre corpus.
C’est à ce moment-là que nous sommes parvenus à la conclusion de l’opération de
translittération, qui consiste essentiellement à transformer les lettres écrites arabes
en lettres écrites latines tout en préservant la façon dont les lettres doivent être
prononcées.
Nous avons recherché le tableau de translittération qui existe et nous avons ajusté
qu’il semble convenir à notre dialecte Algérien.
ESI 83
CHAPITRE 5. CONCEPTION
C’est pourquoi cette étape est également une autre étape importante qui nettoie
notre corpus de ce genre de différences.
ESI 84
CHAPITRE 5. CONCEPTION
ESI 85
CHAPITRE 5. CONCEPTION
Dans notre liste de mots vides, nous avons rassemblé les mots arabes, français et
anglais en plus d’une liste de mots vides que nous avons ajoutés nous-mêmes qui
comprend notre dialecte Algérien et bien sûr, elle est toujours ouverte à l’améliora-
tion par les utilisateurs.
ESI 86
CHAPITRE 5. CONCEPTION
Table 25 – Les chiffres trouvés dans certains mots du dialecte Algérien et leurs
substituts
De plus, bien sûr, notre liste de substitutions est toujours ouverte à l’amélioration
par les utilisateurs si des cas similaires apparaissaient.
ESI 87
CHAPITRE 5. CONCEPTION
ESI 88
CHAPITRE 5. CONCEPTION
ESI 89
CHAPITRE 5. CONCEPTION
ESI 90
CHAPITRE 5. CONCEPTION
ESI 91
CHAPITRE 5. CONCEPTION
ESI 92
CHAPITRE 5. CONCEPTION
ESI 93
CHAPITRE 5. CONCEPTION
Entité Page
Attribut Type Description Utilisation
IdPage Int L’identificateur de la Dont nous aurons besoin
page selon Facebook. lors de l’utilisation des
requêtes pour récupérer
les articles de la page et
les commentaires.
Name String Le nom de la page. Sera utilisé lors de l’af-
fichage de la liste des
pages dans le Frontend.
AccessToken String Un code unique qui Peut-être l’élément le
contient une série de plus important que nous
lettres et de chiffres recherchons lors de cette
et est généré par fa- requête, c’est ce qui ren-
cebook pour chaque dra possible la récupéra-
page, et est nécessaire tion des publications et
si l’on a besoin de ré- des commentaires.
cupérer des éléments
de cette page.
Picture String La photo de profil de Stocké en tant qu’URL,
la page sur Facebook. et principalement sera
utilisé lors de l’affichage
de la liste des pages dans
le Frontend.
Performance Int Ce nombre indique le Ces chiffres et statis-
pourcentage des com- tiques seront utilisés
mentaires positifs + dans le cadre des calculs
neutres par rapport des ratios qu’ils appa-
au nombre total de raîtront sur le tableau
commentaires. de bord de chaque page,
LearningPerformance Int La précision de l’al- et font partie également
gorithme au fil du de la construction du ta-
temps. bleau de bord global.
IssueField String La catégorie domi-
nante dans les com-
mentaires sur : Spam,
Plainte, Question, Ta-
rification, Sans rap-
port.
Field_ratio Int le pourcentage de la
catégorie dominante
ESI 94
CHAPITRE 5. CONCEPTION
L’entité utilisateur représente une personne physique qui utilise notre système.
Selon l’attribut privilège, il existe deux types : Super administrateur et un community
manager.
Entité User
Utilisateur
Attribut Type Description Utilisation
IdUser String Représente l’identifi- Clé primaire pour chaque
cateur unique de l’uti- utilisateur, générée auto-
lisateur. matiquement, va être uti-
lisé lors des opérations
faite sur l’utilisateur.
Name String Le prénom de l’utili- Stocké pour être utilisé
sateur. dans l’affichage.
Email String L’adresse Mail de Va servir comme identi-
l’utilisateur. fiant pour l’authentifica-
tion.
Password String Le mot de passe de Doit suivre quelque
l’utilisateur. norme et conditions,
comme le nombre mi-
nimum de caractères,
l’utilisation de minus-
cules, de majuscules et de
chiffres.
Ranking Int Classement Est calculé en fonction du
nombre de contributions
de chaque utilisateur par
rapport aux autres utili-
sateurs
Privilege String Que l’utilisateur Distinguer le type d’utili-
soit un super- sateur
administrateur ou
un utilisateur nor-
mal (Community
Manager)
AllowedPages String La liste des pages fa- Un utilisateur ne peut
cebook attribuées à manipuler et travailler
un certain utilisateur. que sur les pages qui lui
sont attribuées.
ESI 95
CHAPITRE 5. CONCEPTION
L’entité de Post représente les publications / Posts / articles qu’une page Facebook
publie sur son flux.
Entité Post
(Facebook Post = Publication = Statut)
Attribut Type Description Utilisation
IdPost String L’identificateur du Le post id est de la forme :
Post selon Facebook. IdPage_PostNumber et
le stockage de cet Id est
nécessaire pour récupérer
ses commentaires.
MessagePost String Le texte du message Il sera utilisé lors de l’affi-
de Post. chage de la liste des pages
dans le frontend.
PictureSmall String La version petite de Stocké en tant qu’URL, et
l’Image publiée avec sera principalement uti-
ce Post. lisé lors de l’affichage de
la liste des pages dans
le frontend, c’est la pe-
tite version de l’image qui
sera utilisée dans le menu.
PictureBig String L’image publiée avec Stocké en tant qu’URL, et
ce Post. sera principalement uti-
lisé lors de l’affichage du
Post dans sa page dans le
frontend, c’est la grande
version de l’image.
LikeCount Int Le nombre total Nécessaire pour afficher
de likes (reactions dans le frontend sur sa
–j’aime-) sur ce post. page.
ShareCount Int Le nombre total de Nécessaire pour afficher
partages sur ce post. dans le frontend sur sa
page.
ESI 96
CHAPITRE 5. CONCEPTION
ESI 97
CHAPITRE 5. CONCEPTION
Entité Commentaire
Attribut Type Description Utilisation
IdComment String Représente l’identifica- Clé primaire pour le com-
teur unique du com- mentaire et sera utile lors
mentaire, attribué par des opérations faites sur
facebook. les commentaires (Tag /
Réponse)
MessageComment String Le texte du commen- L’élément d’information le
taire. plus important que nous
cherchions à récupérer de-
puis le début de toute
cette procédure, car sur la
base de ce texte, nous clas-
serons ce commentaire.
PredictedPolarity String la polarité du commen- À l’aide de ces champs,
taire prédite par l’algo- nous saurons si notre
rithme classification automatique
classe correctement les
commentaires.
Manual Polarity String la polarité du commen- En comparant le tag ma-
taire taguée manuelle- nuel et prédit pour les
ment par l’utilisateur deux sujets que nous avons
pour chaque commentaire.
PredictedField String la catégorie du com-
mentaire prédite par
l’algorithme
ManualField String la catégorie du com-
mentaire taguée ma-
nuellement par l’utili-
sateur
CanReply Boolean Variable booléenne, Stocké pour savoir quand
la fonction des droits il est possible de répondre
d’accès pour une page. à un commentaire ou non.
ESI 98
CHAPITRE 5. CONCEPTION
ESI 99
CHAPITRE 5. CONCEPTION
Conclusion
Dans ce chapitre de conception, nous avons vu un dessin détaillé de la solution, de
l’analyse des sentiments et du système global ; Nous avons expliqué chaque détail de
chaque phase et conclu avec la structure de la base de données.
Dans la prochaine partie (Réalisation) nous verrons l’architecture globale du sys-
tème, les technologies et bibliothèques utilisées et les capture d’écran de l’outil réalisé.
ESI 100
Chapitre 6
Realisation
Introduction
Dans ce chapitre, nous montrerons différents aspects de ce qui est nécessaire pour
l’implementation de l’outil.
Nous énumérerons les technologies que nous avons utilisées pour construire notre
système et nous décrirons leurs bibliothèques les plus importantes. Et enfin, nous
montrerons les captures d’écran des interfaces principales de notre outil réalisé.
6.1.1 Frontend
• L’interface graphique est le visage de notre système, c’est là que les données
et les résultats de nos calculs sont affichés.
Des modifications et des opérations peuvent être effectuées sur l’interface gra-
phique, ce qui entraînera d’éventuels changements dans la base de données et
d’autres calculs.
101
CHAPITRE 6. REALISATION
6.1.2 Backend
ESI 102
CHAPITRE 6. REALISATION
ESI 103
CHAPITRE 6. REALISATION
Phase 02 : Classification
Cette phase est dédiée à la solution proposée concernant la classification des com-
mentaires du dialecte Algérien avec l’approche de l’apprentissage automatique.
Tout d’abord, nous préparons l’ensemble de données à partir des données que nous
avons collectées, puis nous annotons les différents corpuses que nous avons collectés,
nous appliquons les phases de prétraitement et les techniques de représentation, et
éventuellement exécuter les tests avec les différents paramètres.
Nous avons essayé différentes combinaisons de phases de prétraitement avec des
méthodes de représentation et différents algorithmes et nous avons retenu la combi-
naison avec le meilleur résultat.
ESI 104
CHAPITRE 6. REALISATION
2/ Django
Django est un framework Web Py-
thon de haut niveau qui encourage un
développement rapide et une conception
propre et pragmatique. Construit par des
développeurs expérimentés, il prend en
charge une grande partie des tracas du
développement Web, de sorte que l’on
peut se concentrer sur l’écriture de son Figure 46 – Logo de Django
application sans avoir à réinventer la
roue. C’est gratuit et open source.
3/ HTML/CSS
HTML (le langage de balisage hyper-
texte - the Hypertext Markup Language)
et CSS (feuilles de style en cascade - Cas-
cading Style Sheets) sont deux des tech-
nologies de base pour la création de pages
Web.
ESI 105
CHAPITRE 6. REALISATION
à notre contenu Web, par exemple en définissant des paragraphes, des en-têtes et des
tableaux de données, ou en incorporant des images et des vidéos dans la page.
CSS la mise en page (visuelle et auditive), pour une variété d’appareils. Outre les
graphiques et les scripts, c’ est un langage de règles de style que nous utilisons pour
appliquer un style à notre contenu HTML, par exemple en définissant les couleurs et
les polices d’arrière-plan et en présentant notre contenu dans plusieurs colonnes.
HTML et CSS sont à la base de la création de pages Web et d’applications Web.
4/Javascript
JavaScript est un langage de script ou de programmation qui nous permet d’im-
plémenter des fonctionnalités complexes sur les pages Web - chaque fois qu’une page
Web fait plus que simplement rester là et afficher des informations statiques que nous
pouvons regarder - afficher des mises à jour de contenu opportunes, des cartes inter-
actives, des animations 2D / Graphiques 3D, juke-box vidéo à défilement, etc. - nous
pouvons affirmer avec certitude que JavaScript est probablement impliqué. C’est la
troisième couche du gâteau de couches des technologies Web standard, dont deux
(HTML et CSS) que nous avons mentionnées ci-dessus.
Et parmi les technologies Javascript que nous avons utilisées, nous mentionnons :
4.1 / React JS
React. js est une bibliothèque JavaScript open-source utilisée pour créer des in-
terfaces utilisateur spécifiquement pour les applications monopages. Il est utilisé pour
gérer la couche de vue pour les applications Web et mobiles. React nous permet
également de créer des composants d’interface utilisateur réutilisables.
4.2 / Redux
Redux est une bibliothèque JavaScript populaire pour gérer l’état de votre ap-
plication. Il est très courant et les personnes qui portaient avec le React utilisent
principalement Redux également.
Un état d’application est comme un objet global qui contient des informations
que l’on utilise à diverses fins plus tard dans l’application (par exemple, prendre des
décisions sur les composants à rendre et quand, rendre les données stockées, etc.).
ESI 106
CHAPITRE 6. REALISATION
Numpy
NumPy est une bibliothèque pour le langage Manipulation
de programmation Python, ajoutant la prise de données
en charge de grands tableaux et matrices numériques.
multidimensionnels, ainsi qu’une grande col-
lection de fonctions mathématiques de haut
niveau pour fonctionner sur ces tableaux.
Pandas
Pandas est une bibliothèque de logiciels
écrite pour le langage de programmation Py-
thon pour la manipulation et l’analyse des
données. En particulier, il propose des struc-
tures de données et des opérations pour ma-
nipuler des tableaux numériques et des séries
chronologiques.
Json
La bibliothèque json peut analyser JSON Manipulations
à partir de chaînes ou de fichiers. La bi- de fichiers CSV
bliothèque analyse JSON dans un diction- et Json, telles
naire ou une liste Python. Il peut également que la création,
convertir des dictionnaires ou des listes Py- la copie, la mo-
thon en chaînes JSON. dification et la
suppression.
CSV
ESI 107
CHAPITRE 6. REALISATION
Shutil
Le module shutil propose un certain nombre
d’opérations de haut niveau sur les fichiers
et les collections de fichiers. En particulier,
des fonctions sont fournies qui prennent en
charge la copie et la suppression de fichiers.
Time
Le module de temps Python fournit de nom- Manipulation de
breuses façons de représenter l’heure dans le données écrites
code, telles que des objets, des nombres et des dans différents
chaînes. Il fournit également des fonctionna- formats d’heure,
lités autres que la représentation du temps, utile pour gérer
comme attendre pendant l’exécution du code et conserver les
et mesurer l’efficacité de notre code. temps corrects
pour les pu-
blications, les
commentaires
et pour mesu-
rer le temps
d’exécution des
algorithmes
testés.
Dateutil
Le module dateutil fournit de puissantes ex-
tensions au module datetime standard.
Matplotlib
Matplotlib est une bibliothèque complète Visualisation de
pour créer des visualisations statiques, ani- données.
mées et interactives en Python.
Scikit-learn
ESI 108
CHAPITRE 6. REALISATION
Interface d’authentification
ESI 109
CHAPITRE 6. REALISATION
ESI 110
CHAPITRE 6. REALISATION
Les métriques calculées dans un premier temps considèrent que la prédiction au-
tomatique est correcte, et à chaque tag manuel, elle s’ajuste en fonction de celle-ci.
Sous les quatre mesures, nous voyons notre graphique de Business Performance :
ESI 111
CHAPITRE 6. REALISATION
Lorsque l’utilisateur clique sur la Pages List située dans le menu de gauche, il
obtient cette page ; Cette page affiche simplement la liste des pages facebook des
clients de GEN-42 accompagnée du nombre de commentaires positifs, du nombre total
de commentaires, de la performance de la page et de la précision d’apprentissage pour
chaque page.
ESI 112
CHAPITRE 6. REALISATION
ESI 113
CHAPITRE 6. REALISATION
Après les changements nécessaires, l’utilisateur enregistre ses modifications et les cal-
culs pour toutes les métriques changeront en fonction des corrections apportées.
Les commentaires faussement prédits seront ajoutés aux données d’entraînement,
pour améliorer la classification.
ESI 114
CHAPITRE 6. REALISATION
Nous écrivons la réponse que nous souhaitons et cliquons sur le bouton Send Reply,
et la réponse sera envoyée sur ce commentaire et publiée sur Facebook.
ESI 115
CHAPITRE 6. REALISATION
ESI 116
CHAPITRE 6. REALISATION
ESI 117
CHAPITRE 6. REALISATION
Pour chaque page client facebook, un rapport Excel sera généré avec un bouton.
Ce rapport ressemble à ceci :
Nous pouvons voir dans la capture d’écran que le rapport contient des informations
générales sur la page, et les chiffres des 6 derniers mois. Il a les chiffres pour la
classification automatique effectuée et le nombre de commentaires corrigés.
Et aussi, les 10 meilleurs articles avec leurs liens réels afin que l’utilisateur puisse
les vérifier s’il vaut, ils sont classés en fonction du nombre de commentaires (décrois-
sant).
ESI 118
CHAPITRE 6. REALISATION
ESI 119
CHAPITRE 6. REALISATION
ESI 120
CHAPITRE 6. REALISATION
ESI 121
CHAPITRE 6. REALISATION
Conclusion
A la fin de cet chapitre, nous avons expliqué les technologies et les bibliothèques
que nous avons utilisées, puis nous avons montré les interfaces de notre produit final,
en détaillant l’architecture globale de la solution.
Le prochaine chapitre sera dédié aux toutes les informations et statistiques sur les
différents données collectées, la documentation des tests effectués et résultats enre-
gistrés et la synthèse des meilleures résultats.
ESI 122
Chapitre 7
Tests et résultats
Introduction
Dans ce dernier chapitre, nous allons d’abord expliquer en détail tous les chiffres
nécessaires sur les données collectées, les jeux de données que nous avons construits à
partir de celles-ci, et comment le prétraitement a-t-il affecté ces données (en chiffres).
Nous passerons ensuite à une partie des tests très détaillée, où nous testerons sur
de nombreux jeux de données de données avec des propriétés différentes pour chacun
et expliquerons les résultats, nous ajouterons également un cas de test pratique réalisé
sur un fichier Excel basé sur le modèle que nous avons entraîné après les tests.
En terme de polarité, nous avons collecté quatre corpuses, comme le montre le tableau
suivant 34
Le corpus C1 (Mataoui et al. (2016)) est un corpus publique librement disponible
sur Internet et il a déjà été annoté.
Le corpus C2 (GEN-42) est un corpus privé ; il est le fruit des commentaires collec-
tés à travers les pages Facebook et de l’annotation faite sur Excel par les community
managers de GEN-42.
Le corpus C3 (GEN-42/ ENIEM), est le résultat d’une collaboration entre nous
et l’un des clients de GEN-42 : ENIEM, il a été annoté manuellement par nous en
collaboration avec certain membres de l’équipe de GEN-42 (en utilisant l’outil Tagtog
et Excel)
Le corpus C4 représente un petit nombre de commentaires que nous avons annotés
manuellement, les commentaires sur ce corpus représentent des phrases et termes
répétitifs fréquents qui sont facilement interprétés comme positifs ou négatifs.
123
CHAPITRE 7. TESTS ET RÉSULTATS
En ce qui concerne les catégories, nos ressources étaient limitées à deux corpus
seulement, F1 (GEN-42] annotée par l’équipe GEN-42, et F2 GEN-42/ ENIEM) an-
notée par nous manuellement. Ces deux corpuses définies dans la table (35), seront
utilisés pour construire le jeux de données afin de tester également la classification
sur la catégorie.
En terme de polarité
ESI 124
CHAPITRE 7. TESTS ET RÉSULTATS
Nous avons construit cinq jeux de données différents à partir de nos différentes sources,
Les principales propriétés et différences que nous trouvons dans ces jeux de données
sont les suivantes :
• D1 est binaire (positif / négatif), équilibré et plus petit (2200).
• D2 est beaucoup plus grand et totalement déséquilibré.
• D3 a 3 étiquettes, et n’est pas totalement équilibré.
• D4 a 3 étiquettes et parfaitement équilibré.
• D5 a 3 étiquettes, est plus grand que les autres et équilibré à un certain degré.
• Tous les jeux de données contiennent des commentaires écrits principalement
en dialecte Algérien (Darja), certains en caractères latin et d’autres en carac-
tères arabes.
En terme de catégorie
ESI 125
CHAPITRE 7. TESTS ET RÉSULTATS
Nous avons construit trois jeux de données différents à partir de nos différentes
sources, les principales propriétés et différences que nous trouvons dans ces jeux de
données sont les suivantes :
• Tous les jeux de données sont construits d’une manière non équilibrée, et cela
renvoie à la nature des données et au manque de données disponibles sur Inter-
net avec ces étiquettes (Commentaire en dialecte Algérien avec les étiquettes
de : SPAM / PRIX / QUESTION / PLAINTE)
• G3 est plus grand que les deux autres et il est le résultat de la combinaison de
F1 (GEN-42) et F2 (GEN-42/ENIEM).
• Tous les jeux de données contiennent 5 étiquettes.
• Tous les jeux de données contiennent des commentaires écrits principalement
en dialecte Algérien (Darja), certains en caractères latin et d’autres en carac-
tères arabes.
ESI 126
CHAPITRE 7. TESTS ET RÉSULTATS
Nous avons au total 8 jeux de données (5 pour l’étude de polarité et 3 pour l’étude
de catégorie) et le nombre de mots pour ces jeux de données, tous, varie et évolue en
fonction des phases de prétraitement.
Comme le montre le graphique, les jeux de données qui ont le plus grand nombre
de documents (commentaires) sont ceux qui possèdent le plus grand nombre de mots
et ce sont eux qui souffrent le plus de pertes de nombres de mots.
la réduction du nombre de mots pour tous les ensembles de données à travers le
ESI 127
CHAPITRE 7. TESTS ET RÉSULTATS
prétraitement est attendue vue la nature des phases du prétraitement telles que la
suppression de symboles, la suppression de mots en double, le regroupement phoné-
tique, etc.
Et un nombre moins de mots devrait aider à obtenir un meilleur résultat dans la
classification
Par la suite, nous vérifierons si c’est toujours le cas dans la partie des tests.
Le tableau suivant montre le nombre total de mots pour chaque jeu de données
distribué depuis le début du prétraitement, en passant par la phase : Suppression des
mots en double, et jusqu’à la dernière phase : l’élimination des chiffres et des lettres
isolées.
D1 - D2 - D3- D4 - D5 - G1- G2- G3 -
2200 5500 3212 3900 7721 1415 2964 4382
phase 0 25246 61767 15232 27270 53926 5814 19260 23302
phase 8
(Suppression des 22895 55682 14509 25127 50599 5592 18529 22423
mots en double)
phase 13
(Suppression 19938 47227 11060 20614 40760 4172 14367 17290
des chiffres)
Table 38: Les nombres de mots total dans les phases
0,8,13 pour tous les jeux de données.
Nous remarquons que pendant les phases 8 à 13, que se produit la plus grande
réduction de mots pour la plupart des ensembles de données, qu’il s’agisse de mots
uniques ou totaux.
Les deux principales phases responsables de ceci sont la phase 8 : suppression
des mots en double et la phase 12 : suppression des voyelles. Après le regroupement
phonétique, nous retrouverons éventuellement les mêmes mots deux fois ou plus dans
un commentaire, donc tous les doublons du même mot dans le même commentaire
seront supprimés.
Et bien sûr après toutes les phases précédentes et la translittération et les chan-
gements qui se produisent, beaucoup de mots ne contiendront que des voyelles, ce qui
explique le changement des nombres.
ESI 128
CHAPITRE 7. TESTS ET RÉSULTATS
Figure 76 – Graphique en barres qui montre les mots les plus fréquents dans l’en-
semble de données 7721 avant tout prétraitement effectué.
Figure 77 – Graphique en barres qui montre les mots les plus fréquents dans l’en-
semble de données 7721 après 13 phases de prétraitement.
Une autre façon de voir les résultats du prétraitement autre des variations de
nombre de mots, est de voir les mots les plus fréquents avant et après.
Nous avons exploré le jeux de données avec les 7721 documents (commentaires)
et extrait les mots (features) avec leur occurrences et nous les avons ordonnés.
Nous voyons les 30 premiers mots d’avant et après tout le prétraitement, et nous
pouvons remarquer que les totaux ont changé.
Exemples :
le mot áÓ qui était auparavant de 665 est passé à 726 écrit comme ’mn’, et et c’est
grâce à le regroupement phoentique pour des mots similaires, et à la suppression de
voyelle qui a abouti à des mots similaires à être regroupés avec lui.
Même chose avec ’merci’ qui en avait 165 et est passé à 213 avec ‘mrc’, regroupe-
ment phonétique et suppression de voyelle de variations telles que «merciiiii, marrcii,
mercccuuuu».
Même chose avec é<Ë@ de 590, passé à 713 avec ’lh’
D’autre part, certains mots sont complètement supprimés tels que ú¯ qui a eu le
plus grand nombre d’apparitions avec 819 et qui n’est même pas dans le top 30, la
ESI 129
CHAPITRE 7. TESTS ET RÉSULTATS
nature de ce mot est ce qui a causé cela, une fois translittéré, il devient ’ fi ’puis après
la suppression de la voyelle, il passe à’ f ’et f est une seule lettre isolée, il est donc
également supprimé à la phase 13.
Nous avons testé sur chacun des 8 jeux de données construits (5 pour la polarité
et 3 pour la catégorie) sur 3 axes différents qui sont les suivants :
ESI 130
CHAPITRE 7. TESTS ET RÉSULTATS
Erreur de mémoire
La première difficulté majeure était la limitation de la mémoire (RAM).
Nous avons essayé de tester avec des jeux de données qui contenaient 31000 docu-
ments et 57000 documents (nous les avons construits simplement en doublant et en
combinant les jeux de données mentionnés précédemment).
ESI 131
CHAPITRE 7. TESTS ET RÉSULTATS
L’erreur indique qu’il n’y a pas assez de mémoire RAM pour classifier ce nombre
de commentaires, il fallait 12,7 Go de plus, d’où le choix d’un jeux de données extrê-
mement volumineux pouvait être problématique.
Le RAM utilisé lors de ce test est celui du serveur d’entreprise sur lequel nous al-
lons éventuellement déployer l’application : (8GB Total, dont seulement 500 Mo est
libre, 6 Go est disponible mais pourrait être utilisée par d’autres programmes dans le
serveur)
ESI 132
CHAPITRE 7. TESTS ET RÉSULTATS
Temps d’exécution
Lors du test des différentes combinaisons, nous mentionnons que l’algorithme de
régression logistique prend plus de temps d’exécution que tous les autres.
La capture d’écran suivante a été prise lors du test de la régression logistique
avec la méthode de représentation binaire et sur l’ensemble de données de 2.200
commentaires sur 13 phases avec la validation croisée.
ESI 133
CHAPITRE 7. TESTS ET RÉSULTATS
L’ensemble de données est choisi comme étant parfaitement équilibré entre positif
et négatif.
Les meilleurs résultats sont observés dans les SVM, TF et TFIDF, phase 07 et
Naive Bayes phase 07 avec TFIDF, tous ces résultats étant de 77% sur l’exactitude.
L’algorithme KNN a donné les scores les plus faibles, tandis que les scores de
l’arbre de décision étaient au mieux modestes.
Pour un jeux de données équilibré, ces résultats sont plutôt encourageants.
ESI 134
CHAPITRE 7. TESTS ET RÉSULTATS
ESI 135
CHAPITRE 7. TESTS ET RÉSULTATS
Les meilleurs résultats sont vus dans les SVM, TF et TFIDF, phases 07 et avec 84%
sur le score de l’exactitude, et Naive Bayes phase 07 avec TFIDF étant le deuxième
meilleur score de 81% sur l’exactitude.
L’algorithme KNN a donné les scores les plus faibles, tandis que les scores de
l’arbre de décision étaient au mieux modestes.
Pour un jeux de données non équilibré, ces résultats étaient attendus, car même
s’ils sont élevés, mais ils seulement reflètent que la classification serait bonne lorsque
la plupart des données sont positives,
Donc, dans ce cas, notre modèle sera surchargé de commentaires positifs ,et il
serait un risque d’entraîner le modèle sur ce type de jeux de données parce qu’il
pourrait trouver une grande quantité de commentaires négatifs et les identifier tous
comme positifs.
ESI 136
CHAPITRE 7. TESTS ET RÉSULTATS
Les meilleurs résultats sont vus dans le SVM, TFIDF, phase 13 : 72% sur le score
de l’exactitude. et Naive Bayes phase 13 avec TFIDF étant le deuxième meilleur score
de 71% sur l’exactitude.
L’algorithme KNN a donné les scores les plus faibles, tandis que les scores de
l’arbre de décision étaient au mieux modestes.
D’après les résultats, il est évident qu’une classification avec trois étiquettes sur
un jeu de données déséquilibré est plus difficile que qu’une classification binaire dés-
équilibrée.
Mais, puisque c’est fait sur des commentaires de dialecte Algérien, 72% est un
score toujours encourageant pour la classification automatique.
Ce jeu de données est composé d’un mélange, la plupart des commentaires sont
ceux collectés à partir du corpus privé GEN-42, le reste (majoritairement les négatifs)
sont les données publiques de Mataoui et al. (2016).
ESI 137
CHAPITRE 7. TESTS ET RÉSULTATS
Nous avons ajouté des commentaires de (Mataoui et al. (2016)) pour atteindre
1300 négatifs et en avons retiré certains des deux autres classes (positif et neutre), le
jeu de données est parfaitement équilibré entre les trois étiquettes.
Les meilleurs résultats sont observés dans les SVM, TF et TFIDF, phase 7 et 13
avec 70% sur le score de l’exactitude, et Naive Bayes phase 13 avec TF-IDF étant le
deuxième meilleur score de 69% sur l’exactitude.
L’algorithme KNN a donné les scores les plus faibles, tandis que les scores de
l’arbre de décision étaient au mieux modestes.
Les résultats reflètent qu’il est plus difficile de classifier entre trois étiquettes,
surtout lorsque on a un équilibre entre ce étiquettes, cependant, avoir un exactitude
de 70% sur les commentaires du dialecte Algérien pour classifier la polarité entre 3
classes différentes est certainement encourageant.
ESI 138
CHAPITRE 7. TESTS ET RÉSULTATS
Ce jeu de données est composé d’un mélange : Mataoui et al. (2016), Pages de
GEN-42, commentaires de la page ENIEM et quelques commentaires manuels que
ESI 139
CHAPITRE 7. TESTS ET RÉSULTATS
ESI 140
CHAPITRE 7. TESTS ET RÉSULTATS
Les meilleurs résultats sont observés dans SVM, TFIDF, phase 7 avec 78% à la
fois en exactitude et en F1.
Le KNN continue de donner les résultats les plus bas, et l’arbre de décision et le
Naive-bayes sont loin derrière cette fois.
Globalement ces résultats sont très prometteurs, nous verrons comment il en sera
lorsque l’équilibrage des étiquettes sera différent.
ESI 141
CHAPITRE 7. TESTS ET RÉSULTATS
ESI 142
CHAPITRE 7. TESTS ET RÉSULTATS
ESI 143
CHAPITRE 7. TESTS ET RÉSULTATS
données précédents.
Il se compose de 5 étiquettes différentes pour les catégories des commentaires.
Les meilleurs résultats sont observés dans SVM, TFIDF, phase 7 avec 80% à la
fois sur l’exactitude et la F1. Naive Bayes est le deuxième meilleur avec 78% sur la
phase 07 du TFIDF.
Le KNN et l’arbre de décision continuent de donner les résultats les plus bas.
Considérant qu’il s’agit d’un jeux de données équilibré, et celui avec les commen-
taires les plus similaires à ceux que nous attendons dans pages Facebook, et que nous
classifions entre 5 classes, Le score de 80% de exactitude et 79% en F1 est considéré
comme très satisfaisant.
Après avoir testé sur 8 jeux de données différents, en utilisant de nombreuses com-
binaisons (3 méthode de représentation X 4 Algorithme X 8 Jeux de données = 96
Test), nous avons beaucoup de résultats qui varient selon les méthodes et algorithmes
et jeux données, mais le résultat le plus fréquent est que l’algorithme SVM avec le
TF-IDF donne les meilleurs scores.
En ce qui concerne le prétraitement, on a vu des résultats presque égaux entre la fin
de la phase 08 (suppression des mots en double), et la fin du prétraitement (phase
13).
Étant donné que tous les jeux de données sont constitués de commentaires du dia-
lecte Algérien (Darja), obtenir des scores tels que 75%, 80% et 84% est extrêmement
encourageant et considéré comme un bon résultat.
À la fin de ces tests, nous utiliserons le jeu de données de D5-7721 sur lequel nous
avons obtenu le score de 75% pour entraîner notre modèle, pour la prédiction de fu-
turs commentaires.
Nous avons choisi le D5-7721 car c’est un jeux de données qui a 3 étiquettes diffé-
rentes, il est équilibré, et il est le plus similaire à ce qui est attendu dans les données
à venir ; Et biensur nous utiliserons le SVM avec la représentation TF-IDF avec un
prétraitement complet.
ESI 144
CHAPITRE 7. TESTS ET RÉSULTATS
ESI 145
CHAPITRE 7. TESTS ET RÉSULTATS
Voici une capture d’écran du fichier, après avoir effectué la classification automa-
tique et inséré les résultats dans le fichier Excel :
Figure 99 – Capture d’écran pour le fichier Excel après avoir inséré les résultats.
Après avoir prédit le sentiment et les catégories dans notre classificateur, nous
avons réinséré dans Excel en ajoutant les colonnes affichées à l’écran.
• La colonne Sentiment Predicted : est le sentiment généré automatiquement par
notre classificateur.
• La colonne de Sentiment Correct : vaut 1 si le sentiment prédit égal à celui
marqué manuellement, sinon 0 ;
et la somme de cette colonne est le nombre de commentaires correctement
prédits.
• La colonne Sentiment Exist : tous remplis par 1, et c’est juste un moyen de
calculer le nombre de commentaires.
• La colonne de Field predicted : est la catégorie / champ généré automatique-
ment par notre classfier.
• La colonne du Field Correct : vaut 1 si la catégorie prédite est égal à celui
marquée manuellement, sinon 0 ;
et la somme de cette colonne est le nombre de commentaires correctement
prédits.
’Sentiment Correct’ et ’Sentiment Exist’ et ’Field Correct’ étaient remplies par des
formules Excel.
’Sentiment Predicted’ et ’Field Predicted’ ont été copiées à partir de fichiers générés
par notre classification.
ESI 146
CHAPITRE 7. TESTS ET RÉSULTATS
Résultats
Figure 100 – Capture d’écran pour les cellules de résultats du fichier Excel.
Conclusion
À la fin de ce chapitre, nous avons montré en détail nos données collectées et nos
jeux de données construits.
Nous avons suivi un plan de test, interprété les différents résultats et à la fin
nous sommes arrivés avec un ensemble d’entrainement principal, un algorithme et
une méthode de représentation ; pour nous, ce sera le SVM avec le TF-IDF.
ESI 147
Conclusion
À la fin de cette partie, nous sommes maintenant familiarisés avec l’entreprise, ses
différents rôles et perspectives d’avenir à développer, ses besoins et les objectifs que
notre système devrait atteindre.
148
Conclusion générale et perspectives
Dans ce rapport, nous avons présenté dans un premier temps une étude biblio-
graphique, nous avons mis en lumière les domaines de l’analyse des sentiments et de
l’apprentissage automatique, illustrant leurs différentes applications et propriétés.
Nous avons ensuite effectué un travail de synthèse où nous avons expliqué en détail les
étapes de l’approche d’apprentissage automatique en analyse de sentiment en citant
les travaux importants dans le contexte.
Nous avons montré la difficulté de travailler sur la langue arabe, et nous avons cité
les travaux qui ont fait l’analyse de sentiments sur le dialecte Algérien.
Après l’étude bibliographique, nous avons présenté une étude détaillée des besoins
suivie d’une conception de notre solution d’analyse des sentiments.
Nous avons également présenté des tests détaillés, documenté les technologies utilisées
et présenté des captures d’écran de l’outil réalisé.
Mais même si ce projet était satisfaisant pour le client et répond à tous ses besoins,
il y a toujours des choses à améliorer,
En tant que futures perspectives pour l’élargir, nous suggérons ce qui suit :
149
CONCLUSION GÉNÉRALE ET PERSPECTIVES
ESI 150
Bibliographie
Abbasi, A., Chen, H., and Salem, A. (2008). Sentiment analysis in multiple languages :
Feature selection for opinion classification in web forums. ACM Trans. Inf. Syst.,
26(3).
Abdelhamid, N., Ayesh, A., and Hadi, W. (2014). Multi-label rules algorithm based
associative classification. Parallel Processing Letters, 24.
Abdul-Mageed, M., Kuebler, S., and Diab, M. (2012). SAMAR : A system for sub-
jectivity and sentiment analysis of Arabic social media. In Proceedings of the 3rd
Workshop in Computational Approaches to Subjectivity and Sentiment Analysis,
pages 19–28, Jeju, Korea. Association for Computational Linguistics.
Ben Salamah, J. and Elkhlifi, A. (2014). Microblogging opinion mining approach for
kuwaiti dialect. international conference of computer technology and information
management.
Bettiche, M., Mouffok, M., and Zakaria, C. (2018). Opinion Mining in Social Networks
for Algerian Dialect, pages 629–641.
Boiy, E. and Moens, M.-F. (2009). A machine learning approach to sentiment analysis
in multilingual web texts. Inf. Retr., 12 :526–558.
Cejuela, J. M., McQuilton, P., Ponting, L., Marygold, S. J., Stefancsik, R., Millburn,
G. H., Rost, B., and the FlyBase Consortium (2014). tagtog : interactive and text-
mining-assisted annotation of gene mentions in PLOS full-text articles. Database,
2014. bau033.
Chader, A., Dihia, L., Hamdad, L., Belkheir, M., and Hennoune, W. (2019). Sentiment
analysis for arabizi : Application to algerian dialect. pages 475–482.
Chen, K., Zhang, Z., Long, J., and Zhang, H. (2016). Turning from tf-idf to tf-igm
for term weighting in text classification. Expert Systems with Applications, 66 :245
– 260.
Cherif, W., Madani, A., and Kissi, M. (2015). A new modeling approach for arabic
opinion mining recognition. 2015 Intelligent Systems and Computer Vision, ISCV
2015.
151
BIBLIOGRAPHIE
D’Andrea, A., Ferri, F., Grifoni, P., and Guzzo, T. (2015). Approaches, tools and
applications for sentiment analysis implementation. International Journal of Com-
puter Applications, 125 :26–33.
Dror, G. (2005). Analysis of gene expression data spring semester. 2002 Lecture.
Duwairi, R., Marji, R., Sha’ban, N., and Rushaidat, S. (2014). Sentiment analysis in
arabic tweets. pages 1–6.
Elouardighi, A., Maghfour, M., Hammia, H., and Aazi, F.-Z. (2018). Analyse des sen-
timents à partir des commentaires facebook publiés en arabe standard ou dialectal
marocain par une approche d’apprentissage automatique.
Guellil, I., Azouaou, F., Saadane, H., and Semmar, N. (2018). Une approche fondée
sur les lexiques d’analyse de sentiments du dialecte algérien. TAL Traitement
Automatique des Langues, 58 :41 à 65.
Itani, M., Hamandi, L., Zantout, R., and Elkabani, I. (2012). Classifying sentiment
in arabic social networks : Naïve search versus naïve bayes. pages 192–197.
Kang, H., Yoo, S. J., and il Han, D. (2012). Senti-lexicon and improved naïve bayes al-
gorithms for sentiment analysis of restaurant reviews. Expert Syst. Appl., 39 :6000–
6010.
Kim, S., Han, K., and Rim, H.-C. (2006). Some effective techniques for naive
bayes text classification. IEEE Transactions on Knowledge and Data Engineering,
18(11) :1457–1466.
Kowsari, K., Jafari Meimandi, K., Heidarysafa, M., Mendu, S., Barnes, L., Brown, D.,
Id, L., and Barnes (2019). Text classification algorithms : A survey. Information
(Switzerland), 10.
Liu, B. and Zhang, L. (2013). A survey of opinion mining and sentiment analysis.
Mining Text Data, pages 415–463.
ESI 152
BIBLIOGRAPHIE
Lodhi, H., Saunders, C., Shawe-Taylor, J., Cristianini, N., and Watkins, C. (2002).
Text classification using string kernels. Journal of Machine Learning Research, 2.
Madigan, D., Genkin, A., Lewis, D., and Fradkin, D. (2005). Bayesian multinomial lo-
gistic regression for author identification. 25th International Workshop on Bayesian
Inference and Maximum Entropy Methods in Science and Engineering.
Magliani, F., Fontanini, T., Fornacciari, P., Manicardi, S., and Iotti, E. (2016). A
comparison between preprocessing techniques for sentiment analysis in twitter.
Mdhaffar, S., Bougares, F., Estève, Y., and Belguith, L. (2017). Sentiment analysis
of tunisian dialects : Linguistic ressources and experiments. pages 55–61.
Medhat, W., Hassan, A., and Korashy, H. (2014). Sentiment analysis algorithms and
applications : A survey. Ain Shams Engineering Journal, 5(4) :1093 – 1113.
Pak, A. and Paroubek, P. (2010). Twitter as a corpus for sentiment analysis and
opinion mining. volume 10.
Pang, B., Lee, L., and Vaithyanathan, S. (2002). Thumbs up ? sentiment classification
using machine learning techniques. In Proceedings of the ACL-02 Conference on
Empirical Methods in Natural Language Processing - Volume 10, EMNLP ’02, page
79–86, USA. Association for Computational Linguistics.
ESI 153
BIBLIOGRAPHIE
Saleh, M., Martín-Valdivia, M., Montejo-Ráez, A., and López, L. (2011). Experiments
with svm to classify opinions in different domains. Expert Syst. Appl., 38 :14799–
14804.
Samuel, A. L. (1959). Some studies in machine learning using the game of checkers.
IBM Journal of Research and Development, 3(3) :210–229.
Singh, R. and Kaur, R. (2015). Sentiment analysis on social media and online review.
International Journal of Computer Applications, 121 :44–48.
Wang, R. and Li, J. (2019). Bayes test of precision, recall, and f1 measure for compa-
rison of two natural language processing models. In Proceedings of the 57th Annual
Meeting of the Association for Computational Linguistics, pages 4135–4145.
Yamamoto, H., Isogai, S., and Sagisaka, Y. (2003). Multi-class composite n-gram
language model. Speech Communication, 41(2) :369 – 379.
ESI 154
Troisième partie
Annexe
155
ANNEXE
ESI 156
ANNEXE
• Propositions de valeur
Qu’essayons-nous de faire pour les utilisateurs finaux du système prédictif ?
Quels objectifs servons-nous ?
• Source de données
Quelles sources de données brutes pouvons-nous utiliser ?
• La collecte de données
Comment obtenons-nous de nouvelles données dont nous apprenons ?
• Faire des prédictions
Quand faisons-nous des prédictions sur les nouvelles entrées ?
Combien de temps avons-nous pour représenter une nouvelle entrée comme
features et faire une prédiction ?
• Évaluation hors ligne (offline Evaluation)
Méthodes et métriques pour évaluer le système avant le déploiement.
• Évaluation et surveillance en direct (Live Evalution and monitoring)
Méthodes et métriques pour évaluer le système après son déploiement et pour
quantifier la valeur crée.
• Features
Représentations d’entrée extraites des sources de données brutes.
• Building models
Quand créons-nous / mettons-nous à jour des modèles avec de nouvelles don-
nées d’entraînement ?
Combien de temps avons-nous pour représenter les données de training en
features et créer un modèle ?
ESI 157
ANNEXE
1. Compréhension commerciale
Se concentre sur la compréhension des objectifs et des exigences du projet d’un point
de vue commercial, puis sur la conversion de ces connaissances en une définition de
problème d’exploration de données et un plan préliminaire.
4. Modélisation
Les techniques de modélisation sont sélectionnées et appliquées. Étant donné que
certaines techniques comme les réseaux de neurones ont des exigences spécifiques
concernant la forme des données, il peut y avoir une boucle de retour ici pour la
préparation des données.
ESI 158
ANNEXE
5. Évaluation
Une fois qu’un ou plusieurs modèles ont été construits qui semblent être de haute
qualité en fonction des métriques sélectionnées, ils doivent être testés pour s’assu-
rer qu’ils se généralisent par rapport aux données invisibles. Le résultat final est la
sélection du (des) modèle (s) champion (s).
6. Déploiement
Généralement, cela impliquera de déployer une représentation de code du modèle
dans un système d’exploitation pour noter ou classer les nouvelles données invisibles
au fur et à mesure qu’elles se présentent et pour créer un mécanisme pour l’utilisation
de ces nouvelles informations dans la solution du problème commercial d’origine.
Mini Report
Un mini-rapport est un document de deux pages, avec lequel nous et le PDG
avons convenu de l’utiliser comme moyen de communication pour informer de l’état
d’avancement au cours d’une certaine période passée (une semaine à trois semaines)
ESI 159
ANNEXE
ESI 160
ANNEXE
ESI 161
ANNEXE
PV de reunion
Afin de garder une trace des priorités et des tâches, nous écrivions des PV à chaque
réunion que ce soit avec l’entreprise ou l’encadrante, voici un modèle de PV réalisé
en GEN-42 :
ESI 162
ANNEXE
Figure 106 – Une capture d’écran du dossier contenant les différents fichiers de jeux
de données
ESI 163
ANNEXE
Les images suivantes montrent la hiérarchie de la façon dont nous avons enregistré
les résultats.
Figure 108 – Les différents fichiers contiennent chacun le résultat du test pour cette
combinaison particulière.
ESI 164
ANNEXE
Figure 109 – Les résultats pour un test particulier avec les 4 métriques sur les 13
phases de prétraitement.
Et ce qui suit est une capture d’écran de la page d’instructions du fichier txt que
nous avons écrit et envoyé aux Community Managers pour annoter les fichiers Excel
du Dataset GEN42 (Corpus C2)
Figure 110 – Le fichier d’instructions que nous avons créé et que les Community
Managers du GEN-42 ont suivi pour annoter le corpus C2.
ESI 165
ANNEXE
Figure 111 – Le fichier Excel qui contient tous les résultats détaillés des tests, capture
d’écran de Microsoft Excel.
ESI 166
ANNEXE
ESI 167
ANNEXE
ne récupérera que les fichiers de données que l’api lui enverra. Tout processus ne peut
être effectué que si l’utilisateur est d’abord connecté. Ensuite, l’utilisateur commence
à assigner de nouvelles données aux éléments récupérés. tout ce qu’il modifie sera
communiqué à l’API. une réponse de succès sera donnée par cette dernière.
ESI 168
ANNEXE
ESI 169