Académique Documents
Professionnel Documents
Culture Documents
Memoire 1
Memoire 1
MEMOIRE DE MASTER
option :
Micr
Thème
Encadré par :
Présenté par :
Dr. Yahlali Mebarka
Medjdoubi Abdelkader
Dr. Boudia Mohamed Amine
"Au début, nous remercions Allah qui nous a aidés à accomplir ce travail, et qui a été avec
nous à tous les moments de notre chemin d’étude. A mes chers parent ma mère et mon père
pour leur Patience, leur amour, leur soutien et leur Encouragement. Nos sincères
remerciements à tous les membres du jury qui nous ont fait l’honneur de réviser ce travail.
Un remerciement spécial au Dr .Mebarka YAHLALI et au Dr. Mohamed Amine
BOUDIA pour leur patience, leur aide et leurs conseils pour élaborer ce travail.
Une personne que je dois mentionner pour son aide et sa patience dans l’élaboration de ce
travail est Mlle Abdelli Wafa, un grand merci pour son soutien."
1
Résumé
L ’analyse des sentiments, une tâche de traitement du langage naturel, est un sujet d’intérêt
dans le passé et dans les années actuelles pour la communauté des chercheurs. Ce problème a
beaucoup de solutions proposées avec différentes techniques de classification de l’apprentissage
machine. L’une des techniques les plus récentes est l’apprentissage profond que nous trouvons
beaucoup de contributions l’ont utilisé comme une solution à ce type de tâche et montre aussi
de bons résultats.
2
Abstract
Key words : Sentiment analysis, opinion mining, natural language processing, deep lear-
ning, machine learning.
3
Table des matières
Acronyme 11
Introduction générale 12
0.1 Médias sociaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
0.2 Objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
0.3 La description des chapitres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1 L’analyse du Sentiment 15
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2 Les niveaux d’analyse du sentiment . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.1 Le niveau du document . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.2 Le niveau de la phrase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.3 Le niveau d’aspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3 Les applications de l’analyse du sentiment . . . . . . . . . . . . . . . . . . . . . 19
1.4 Les approches d’analyse du sentiment . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.1 L’approche d’apprentissage automatique . . . . . . . . . . . . . . . . . . 21
4
TABLE DES MATIÈRES 5
2 Deep Learning 30
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2 Les applications du Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3 Le réseau neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4 L’apprentissage en Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.2 Les variantes de la descente de gradient . . . . . . . . . . . . . . . . . . . 48
2.4.3 Les Algorithmes d’optimisation de la descente de gradient . . . . . . . . 49
2.5 L’analyse du sentiment et le Deep Learning . . . . . . . . . . . . . . . . . . . . 49
3 Contribution 52
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2 Twitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2.1 La structure de Tweet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2.2 Architecture de notre système . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3.1 Sentiment140 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3.2 Twitter US Airline Sentiment Dataset . . . . . . . . . . . . . . . . . . . 56
3.4 Présentation des outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.1 Le software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.2 Le hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.5 Implémentation et Mise en oeuvre . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5.1 Le prétraitement des données . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5.2 L’Architecture de notre réseau . . . . . . . . . . . . . . . . . . . . . . . 60
3.5.3 Résultats obtenus et discussions . . . . . . . . . . . . . . . . . . . . . . 65
3.5.4 Les résultats finaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.5.5 Comparaison entre nos résultats et ceux du projet Sentiment140 : . . . . 73
3.6 L’interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
TABLE DES MATIÈRES 6
Conclusion générale 76
Bibliographie 77
Table des figures
7
TABLE DES FIGURES 8
9
LISTE DES TABLEAUX 10
3.6 Les résultats finaux des deux modèles dans les deux ensembles de données. . . . 73
3.7 les résultats obtenus du projet Sentiment140 et de notre deux modèles proposés.. 74
Acronyme
IA : Intelligence Artificielle.
DL : Deep Learning.
ML : Machine Learning.
NB : Naïve Bayes.
GA : Algorithme Génétique.
11
Introduction générale
12
Introduction générale 13
La popularité des médias sociaux est liée à la demande d’information qui est devenue plus
importante dans notre société, car nous savons que ce genre de sites rendent l’information circule
très rapidement et disponible partout dans le monde, donc l’accès à tout type de données et
l’absence d’information ne sont plus un problème, et c’est pourquoi les gens utilisent de plus en
plus les réseaux sociaux chaque jour. En général, nous constatons que les gens aiment consulter
les interactions et les réactions des autres, comme les opinions par exemple, avant de prendre
une décision ou d’exprimer leur propre opinion, même s’ils connaissent ces personnes ou non.
De ce fait, l’information est devenue plus précieuse que jamais, de nombreux domaines sont de
plus en plus dominés par la circulation de l’information sur Internet et plus particulièrement
sur les réseaux sociaux comme l’économie, la politique, le sport, etc.
En particulier le cas de l’extraction des opinions des gens et de leur façon de penser sur n’im-
porte quel sujet de leur vie. Le mot extraction fait référence à la tâche liée à l’échange d’infor-
mations et d’opinions qui permettre l’apparition de certains types d’applications informatiques
de façon croissante. Ces applications ont été conçues pour analyser, détecter et récupérer les
émotions et les expressions des gens sur Internet, ce qui est présenté dans la littérature comme
analyse d’opinion (Opinion Mining en Anglais) ou analyse du sentiment (Sentiment Analysis
en Anglais). Parmi de nombreuses autres tâches, l’analyse du sentiment est un outil pour dé-
terminer l’opinion des gens sur les sites Web et les réseaux sociaux, dans le but de faire diverses
choses comme extraire le comportement des personnes, recommander des produits ou montrer
et expliquer des résultats dans les élections par exemple. Il consiste à rechercher des données
textuelles à caractère évaluatif sur Internet, telles que les revues, les tweets, les commentaires,
etc.
Automatiquement ou manuellement, le processus vise à une meilleure compréhension de
l’opinion publique. De nombreuses études ont montré que l’analyse du sentiment est très in-
téressante pour les personnes qui se concentrent sur l’opinion publique, pour de nombreuses
raisons personnelles, commerciales ou politiques. Ainsi, de nombreuses applications et systèmes
ont déjà été développés pour cette tâche, ils sont généralement formés sur des données tex-
tuelles évaluatives traditionnelles comme sur des textes non-traditionnels comme les messages
et les tweets de réseaux sociaux qui deviennent une ressource très importante et précieuse pour
les internautes concernant leurs opinions et leurs orientations. Par conséquent, il est devenu
important de concevoir des systèmes et des applications automatiques capables d’analyser, de
détecter et d’extraire les sentiments et les opinions des individus qui sont exprimés sur les
Introduction générale 14
réseaux sociaux.
0.2 Objectif
Dans ce projet, notre objectif est d’explorer le domaine de l’analyse du sentiment, de don-
ner un aperçu de ce qu’est ce problème et de représenter les différentes techniques et approches
proposées et leurs résultats. Nous avons également l’intention de présenter l’approche Deep
Learning, de ses applications et de développer notre propre modèle en tant qu’une contribution
à la problématique de l’analyse du sentiment
Chapitre 3 : Le troisième chapitre sera une description de nos modèles proposés, les outils
utilisés et les résultats obtenus.
CHAPITRE 1
L’analyse du Sentiment
15
L’analyse du Sentiment 16
1.1 Introduction
A ujourd’hui, avec l’augmentation de la quantité de données qui circulent sur le web, les utili-
sateurs partagent leurs sentiments, leurs opinions ou leurs points de vue sur l’Internet presque
partout, sous forme de commentaires, questions ou tout autre forme d’expression. Nous vivons
dans une époque où l’information est disponible en grande quantité et sous diverses formes,
la forme textuelle représente 80% de cette masse d’information, mais le volume massif de ces
données n’a aucune utilité si nous ne les explorons pas d’une manière spécifique en utilisant des
méthodes visant à extraire une information significative[1].
L’analyse du sentiment, aussi appelée opinion mining, est un sujet qui se concentre sur
la réalisation de ce type de tâches. Il existe de nombreux autres noms apparentés se référant
légèrement à différentes tâches telles que l’extraction d’opinion, le sentiment mining, l’analyse
de subjectivité, l’analyse d’affect, l’analyse d’émotion, les avis mining, etc. Cependant, ils font
maintenant tous partie de l’analyse des sentiments ou de l’opinion mining. Dans l’industrie, le
terme d’analyse du sentiment est couramment le plus utilisé, mais dans le milieu universitaire,
on utilise fréquemment à la fois l’analyse du sentiment et l’opinion mining [1]. Ce sujet suscite
beaucoup d’intérêt parmi des nombreux chercheurs qui ont apporté des contributions à l’aide
de diverses techniques.
Nous trouvons de nombreux travaux qui ont commencé plus tôt en 1997 un travail visant
à prédire l’orientation sémantique des adjectifs[2], en 2000 un travail proposé également axé
sur l’orientation adjectifs et leurs effets sur les phrases[3], en 2001 on trouve deux travaux, le
premier est un modèle d’un système opérationnel pour détecter et suivre les opinions[6], le
deuxième est un modèle suggéré pour obtenir les opinions des gens à partir des messages[5],
en 2004 un projet qui représente un modèle d’extraction de sentiments[4], etc. Parce qu’elle se
concentre sur les données textuelles, l’analyse du sentiment est largement utilisée dans d’autres
domaines que le traitement automatique du langue (TAL) comme le data mining, le texte
mining et la recherche d’information.
Avant d’arriver à ce qu’est l’analyse du sentiment, nous devons définir les deux termes
sentiment et opinion, car dans la littérature et dans le domaine actif de la recherche, il existe
une confusion entre ces deux mots.
Dans le dictionnaire Oxford[88], le sentiment est défini comme un point de vue ou une opinion
qui est détenu ou exprimé et comme une émotion. Pour le mot opinion, il s’agit d’une croyance
ou d’un jugement formé sur quelque chose, qui n’est pas nécessairement fondé sur des faits ou
des connaissances, mais sur les croyances ou les opinions d’un groupe ou de la majorité des gens.
La distinction entre les deux est assez compliquée parce que les deux termes comprennent des
parties l’un de l’autre. On peut dire que le terme sentiment est plus l’émotion d’une personne à
propos quelque chose, où le terme opinion représente ou montre le point de vue d’une personne.
La tâche d’analyse du sentiment porte plusieurs autres noms tels que l’extraction d’opinion,
la détection d’émotions, etc. C’est une tâche qui tente de classifier les données textuelles avec
diverses méthodes, nous pouvons dire classifie parce que c’est un type de NLP. Selon Bing
Liu[1] :
En d’autres termes, l’analyse du sentiment concerne le traitement d’un texte d’opinion pour
extraire et catégoriser les opinions d’un certain document. La polarité des sentiments généra-
lement exprimée en termes d’opinion positive ou négative (classification binaire). Cependant,
il peut s’agir d’une classification multiple, où le sentiment peut avoir une étiquette neutre ou
même une étiquette différente comme très positive, positive, neutre, négative, très négative, les
étiquettes peuvent aussi être associées à des émotions comme la tristesse, la colère, le bonheur,
etc. Ce sujet est un domaine en développement qui suscite l’intérêt des recherches et a pris
beaucoup d’intérêt ces 20 dernières années ce qui pousse à suggérer plusieurs contributions
avec diverses méthodes utilisant des approches multiples.
À ce niveau, nous traitons des phrases. Chacun d’entre eux est considéré comme une unité
d’information qui porte une opinion. La tâche à ce niveau consiste à classer chaque phrase
selon l’opinion qu’elle s’exprime un opinion positive, négative ou neutre. Ce niveau d’analyse
est considéré comme une classification de la subjectivité ou il y a la distinction entre les phrases
objectives et les phrases subjectives. Néanmoins, la subjectivité n’est pas l’équivalent d’un senti-
ment ou d’une opinion, car de nombreuses phrases objectives peuvent impliquer des sentiments
ou des opinions [1], par exemple, "We bought the car last month and the windshield wi-
per has fallen off."D’un autre côté, beaucoup de phrases subjectives peuvent ne représenter
aucune opinion ou sentiment, par exemple, "He goes to work."
Le niveau d’aspect, également appelé le niveau de caractéristique, effectue une analyse plus
poussée et de meilleure qualité, car il examine directement l’opinion elle-même. Ni l’analyse
de document ni l’analyse de la phrase, découvrent ce que les gens aiment et n’aiment pas
exactement [1]. L’étape de base de ce niveau consiste à identifier et à extraire les entités cibles.
Par exemple :
Dans cette phrase, le mot textit ’Neighborhood’ est la cible et ’great place’ est l’opinion
ou l’expression du sentiment (adjectif). Le but de ce niveau d’analyse est de découvrir des
L’analyse du Sentiment 19
1. En tant que sous-partie des systèmes : Les systèmes d’analyse du sentiment et d’ana-
lyse de l’opinion jouent un rôle important en tant qu’amélioration par rapport à d’autres
systèmes comme les systèmes de recommandation, où l’on ne recommande pas des élé-
ments qui reçoivent beaucoup de commentaires négatifs [8]. De même, en ce qui concerne
les systèmes d’extraction de l’information, il a été démontré que nous pouvons les amélio-
rer et les rendre plus performants en coupant l’information dans des phrases subjectives
[9]. Les systèmes de réponse aux questions sont un autre domaine où l’analyse du senti-
ment peut être bénéfique [10] [11]. Le résumé du document peut faire mieux et donner
des bons résultats dans le cas où nous avons intérêt à prendre en compte plusieurs points
de vue, comme indiqué dans [12].
est la plus appréciée dans quelle partie du monde. Les grandes entreprises peuvent
identifier leurs stratégies futures à partir des données relatives aux services ou produits
déjà analysés.
Nous trouvons une autre nouvelle approche qui est nouvelle dans le domaine de l’appren-
tissage machine et qui a été utilisée comme une solution proposée au problème de l’Opinion
Mining, c’est l’approche d’apprentissage profond, dont nous parlerons en détail au chapitre 2.
L’analyse du Sentiment 21
1.4.1.1 Support Vector Machine (SVM) classificateur : SVM est une méthode dont
l’objectif principal est de trouver des séparateurs linéaires qui se séparent entre diffé-
rentes classes. Le SVM trouve un hyperplan avec la plus grande marge possible [15]. Le
SVM prend en entrée un grand nombre d’exemples et les affecte à différentes classes. Les
données formées qui sont des exemples considérés comme des points dans l’espace. Le
point que nous avons obtenu appartient à l’une des classes qui sont pré-séparées et la
distance obtenue est appelée hyperplan. Quand nous avons une nouvelle donnée d’entrée,
nous la mettons dans le SVM, elle sera assignée à l’une des classes après une séparation
par la marge. Plus la marge est grande, plus l’erreur de généralisation du classificateur
est faible [16].
1.4.1.2 Naïve Bayes classificateur : La classificateur Naïve Bayes est une technique d’ap-
prentissage probabiliste supervisé qui est régulièrement utilisée à des fins de classification.
Il est basé sur le théorème de Bayes où la probabilité conditionnelle qu’un événement X
se produise, pour un indice Y, est déterminée par la règle de Bayes :
L’analyse du Sentiment 22
Ainsi, pour trouver le sentiment d’une phrase d’entrée, elle sera transformée en ce qui
suit [17] :
Lorsque nous avons un nouvel exemple en entrée, il sera classé en fonction de la distance
qu’est le signe pour faire la classification.
Pour la technique d’apprentissage non supervisé, on parle principalement de clustering où il
s’agit de découvrir des groupes et de présenter une vue d’ensemble des classes dans une collection
de documents. L’algorithme le plus largement utilisé est l’algorithme de base k-means [19]. Il
ne nécessite pas de processus d’entraînement ou de données pré-étiquetées. Ce processus de
clustering a été appliqué comme une solution potentielle au problème de l’extraction d’opinion,
un travail similaire proposé dans [20] qui a prédit l’orientation sémantique des adjectifs.
Comme toutes les techniques, celles mentionnées ci-dessus ont leurs avantages et leurs in-
convénients. Nous les résumons dans le tableau suivant :
L’analyse du Sentiment 23
Table 1.1 – Résumé des avantages et des inconvénients des techniques mentionnées[21].
L’approche basée sur le lexique dépend des lexiques de sentiment utilisés pour l’analyse
d’un texte d’entrée donné. Un lexique des sentiments est un ensemble de terminologies et
L’analyse du Sentiment 24
1.4.2.2 L’approche par Corpus : Les approches basées sur des corpus reposent sur l’orien-
tation contextuelle des mots d’opinion [25]. Dans cette technique, un corpus de mots
d’opinion d’un domaine spécifique est créé à partir d’un groupe de mots-clés de base.
La taille augmente en ajoutant d’autres terminologies d’opinion à l’aide de différentes
techniques statistiques ou sémantiques.
Le tableau suivant montre les avantages et les limites de l’approche basée sur ML et de l’ap-
proche basée sur un lexique : :
L’analyse du Sentiment 25
Table 1.2 – Résumé des avantages et des limites des deux approches précédentes basées sur
différents niveaux d’analyse du sentiment[26] [27] [28].
Divers travaux d’apprentissage automatique anciens et récents ont été proposés comme
un solution à ce sujet de l’analyse du sentiment. Dans ce qui suit, nous en avons mentionné
quelques-unes :
Dans [18], ils avaient représenté l’utilisation de cinq méthodes d’apprentissage, entre les-
L’analyse du Sentiment 26
quels nous trouvons les trois types de classificateurs mentionnés ci-dessus, à savoir K-NN, NB
et SVM pour la classification du sentiment d’un corpus de sentiments chinois d’une taille de
1021 documents. Comme une méthodologie, les auteurs suivent trois étapes. Premièrement, ils
ont fait le POSAGE (Part-Of-Speech tagging) des textes chinois en utilisant l’outil ICTCLAS
pour analyser et marquer les documents de révision en chinois. Deuxièmement, lors de la sé-
lection des caractéristiques, ils ont essayé quatre méthodes de sélection qui sont (l’information
mutuelle (MI), le gain d’information (IG), les mesures statistiques CHI (CHI) et la fréquence du
document (DF)). Ils sont utilisés pour choisir des termes discriminants pour l’entrainement et
la classification. Enfin, la classification en utilisant les méthodes d’apprentissage automatique.
Les résultats obtenus sont résumés dans le tableau suivant :
Naive
K-NN Robustesse
Bayes
MI 0.7943 0.8012 0.8257
IG 0.8756 0.8883 0.9060
CHI 0.8433 0.8913 0.8903
DF 0.8511 0.8717 0.8521
Moyenne 0.8548 0.8411 0.8631
Table 1.3 – Résumé des résultats des trois méthodes d’apprentissage automatique appliquées
[18].
Le travail [29] a montré la création de deux classificateurs SVM, l’un pour détecter le
sentiment des messages tels que les tweets (tâche au niveau du message) et l’autre pour détecter
le sentiment d’un terme dans un message (tâche au niveau du terme). Les résultats obtenus
ont été très bons. Selon les auteurs Parmi les soumissions de 44 équipes participant à une
compétition, l’approche proposée était la première dans les deux tâches sur les tweets avec un
F-score de 69,02% dans la tâche au niveau du message et de 88,93% dans la tâche au niveau
du terme.
Dans [30], une approche hybride associant une approche lexicale et des techniques
d’apprentissage automatique incluant les classificateurs NB et SVM a été explorée. Ce travail
proposé prend en charge la détection des changements émotionnels, la découverte des émotions
et la classification des utilisateurs en fonction de leurs messages. Les résultats obtenus ont
L’analyse du Sentiment 27
phrase sera considérée comme positive à la fois pour le terme "Real Madrid" et aussi
pour le terme "Liverpool" en utilisant la représentation du sac du mot.
1.5.2 La détection des fausses opinions : Avec l’augmentation massive des médias so-
ciaux, il arrive que des fausses critiques et de fausses opinions prennent une place. Une
fausse opinion se réfère à un avis qui trompe les utilisateurs avec un opinion négative
ou positive fabriquée sur une entité spécifique dans le but de sous-estimer la réputation
de cette entité. Ces spams font des opinions sans but dans de nombreuses applications
différentes.
1.5.3 Le problème de la langue : Dans l’analyse du sentiment, la langue la plus utilisée est
la langue Anglaise, ce qui incite les chercheurs à travailler sur d’autres langues comme
l’Arabe, le Chinois, l’Allemand, etc. Le défi consiste à développer des ressources comme
des lexiques, des dictionnaires et des corpus pour ces langues.
• Le contexte ne concerne pas le terme "Google" : " You should Google that."
1.5.5 Les Phrases ironiques (La détection de sarcasme) : Les expressions sous forme
des blagues peuvent conduire à une mauvaise compréhension du sens. Ces phrases avec ce
genre d’expressions humoristiques peuvent détruire la valeur de l’ensemble du document.
Nous prenons comme exemple l’expression de quelque chose qui utilise des mots positifs,
mais le sentiment est négatif :
L’expression ne comprend que des mots positifs, mais elle révèle en réalité un sentiment négatif.
1.5.6 Construire un classificateur pour les tweets subjectifs vs. Objectifs : Les tra-
vaux en cours se concentrent principalement sur la classification correcte du positif et
du négatif. Il est nécessaire d’examiner la classification des tweets avec ou sans sentiment
[33].
L’analyse du Sentiment 29
1.5.7 L’identification des parties subjectives du texte : Les éléments subjectifs repré-
sentent des contenus porteurs des sentiments. Le même mot peut être considéré comme
subjectif dans un cas, et objectif dans un autre. Il est donc difficile de traiter ce cas et
d’identifier les éléments subjectifs mentionnés dans un texte donné. Par exemple [34] :
Le terme "Crude" est utilisé dans le premier exemple sous forme d’opinion, alors qu’il
est tout à fait objectif dans le second.
Conclusion :
Dans ce chapitre, nous avons présenté ce qu’est l’analyse du sentiment, avec ses trois diffé-
rents niveaux, et nous parlons aussi de ses applications. Nous avons mentionné les différentes
approches qui existent avec les différents algorithmes et nous avons cité certains des travaux
connexes avec les résultats obtenus, et nous avons aussi parlé des problèmes qui existaient dans
ce type de tache.
CHAPITRE 2
Deep Learning
30
Deep Learning 31
2.1 Introduction
A vant d’arriver à ce qu’est l’apprentissage profond (DL : Deep Learning), nous devons introduire
deux concepts principaux : le premier est le ML que nous introduisons dans le dernier chapitre,
et le second est le concept d’intelligence artificielle.
L’Intelligence Artificielle (IA) est un vaste domaine, où nous essayons d’imiter le compor-
tement humain dans le but de rendre les machines si puissantes pour accomplir de nombreux
types de tâches telles que la résolution de problèmes, la représentation des connaissances, la
reconnaissance vocale, et autres. L’idée de base est de mettre les connaissances dans la machine.
Grâce à ces deux domaines., il existe des systèmes sophistiqués capable de changer leur compor-
tement sans qu’il soit nécessaire d’apporter des modifications à leur code, mais uniquement sur
leurs données d’entraînement. Ainsi, avec cette vague de techniques avancées d’apprentissage
machine qui donne à l’IA un pas en avant, où est la place de DL ou qu’est-ce que le DL apporte
dans ce domaine.
De nos jours, DL est au centre de l’attention puisque sa réalisation est beaucoup plus
importante que tout autre algorithme d’apprentissage machine dans des tâches aussi complexes,
par exemple, nous marquons ce qui suit :
• La reconnaissance vocale et le traitement du signal dans [37] qui nous présentent les
résultats obtenus dans la classification phonétique pour la reconnaissance automatique de
la parole comme la première application industrielle de l’apprentissage profond.
DL est l’une des raisons qui ont conduit les récents mouvements et progrès de l’IA, et
c’est la principale cause qui fait penser que finalement, il existe une possibilité pour l’IA de
devenir plus réaliste. Alors, qu’est-ce que DL ?
Selon les fondateurs Yann LeCun, Yoshua Bengio Geoffrey Hinton dans [38] :
Dans [68], un article représente un aperçu du contexte historique de DL, il présente les
étapes majeures qui mènent à ce que nous avons maintenant. Ces étapes sont résumées dans le
tableau suivant :
-Introduction de Harmonium,
1986 Paul Smolensky qui sera connu plus tard comme
machines de Boltzmann restreintes
Michael I. Jor- -Définition et introduction des
1986
dan réseaux de neurones récurrent
-Introduction de LeNet et montra
1990 Yann LeCun la capacités des réseaux de neurones
profond
Schuster et Pali- -Introduction des réseaux de neu-
1997
wal rones récurrent bidirectionnelles
-Introduction de LSTM, qui ont ré-
Hochreiter et solu le problème du vanishing gra-
1997
Schmidhuber dient dans les réseaux de neurones
récurrent
-Introduction des Deep Belief Net-
2006 Geoffrey Hinton
work
Salakhutdinov -Introduction des Deep Boltzmann
2009
et Hinton Machines
-Introduction de AlexNet qui rem-
2012 Geoffrey Hinton
porta le challenge ImageNet
La relation entre les trois concepts IA, ML et DL est résumée par les auteurs dans la figure
suivante :
Deep Learning 35
3. Voitures autonomes : Les entreprises qui construisent de tels types de services d’aide à
la conduite, ainsi que des voitures autonomes telles que Google, doivent apprendre à un
ordinateur à maîtriser certaines parties essentielles de la conduite à l’aide de systèmes
de capteurs numériques au lieu de l’esprit humain. Pour ce faire, les entreprises
commencent généralement par entraîner des algorithmes utilisant une grande quantité
de données. Vous pouvez imaginer comment un enfant apprend grâce à des expériences
constantes et à la réplication. Ces nouveaux services pourraient fournir des modèles
commerciaux inattendus aux entreprises.
Deep Learning 36
5. Ajout automatique de sons à des films muets : Dans cette tâche, le système doit
synthétiser des sons pour correspondre à une vidéo silencieuse. Le système est formé à
l’aide de 1 000 exemples de vidéos avec le son d’une baguette frappant différentes
surfaces et créant différents sons. Un modèle DL associe les images vidéo à une base de
données de sons pré-enregistrés afin de sélectionner le son à reproduire qui correspond le
mieux à ce qui se passe dans la scène.
Le système a ensuite été évalué à l’aide d’un test de contrôle, comme une configuration
dans laquelle les humains devaient déterminer quelle vidéo comportait le son réel ou le
son factice (synthétisé). ). Ceci utilise à la fois les réseaux de neurones convolutionnels
et les réseaux de neurones récurrents à mémoire à court terme.
6. traduction automatique : Il s’agit d’une tâche dans laquelle des mots, expressions ou
phrases donnés dans une langue sont automatiquement traduits dans une autre langue.
La traduction automatique existe depuis longtemps, mais DL permet d’obtenir les
meilleurs résultats dans deux domaines spécifiques :
former des phrases et même capturer le style du texte dans le corpus. Les grands
réseaux de neurones récurrents sont utilisés pour apprendre la relation entre les éléments
dans les séquences de chaînes d’entrée, puis pour générer du texte.
11. la détection du cancer du cerveau : Une équipe de chercheurs français a noté qu’il
était difficile de détecter les cellules cancéreuses du cerveau invasives au cours d’une
intervention chirurgicale, en partie à cause des effets de l’éclairage dans les salles
Deep Learning 38
12. Analyse des sentiments du texte : De nombreuses applications ont des commentaires
ou des systèmes de révision basés sur des commentaires intégrés à leurs applications. La
recherche sur le traitement du langage naturel et les réseaux de neurones récurrents ont
parcouru un long chemin et il est maintenant tout à fait possible de déployer ces
modèles sur le texte de votre application pour extraire des informations de niveau
supérieur. Cela peut être très utile pour évaluer la polarité sentimentale dans les
sections de commentaires ou pour extraire des sujets significatifs à l’aide de modèles de
reconnaissance d’entités nommées.
2.3.1 Le neurone : Ce qui forme les réseaux de neurones, ce sont les neurones artificiels
inspirés du vrai neurone qui existe dans notre cerveau. Les 2 figures suivantes montrent
une représentation d’un neurone réel et d’un neurone artificiel :
Deep Learning 39
Les Xi sont des valeurs numériques qui représentent soit les données d’entrée, soit les valeurs
sorties d’autres neurones. Les poids Wi sont des valeurs numériques qui représentent soit la
valeur de puissance des entrées, soit la valeur de puissance des connexions entre les neurones.
Il existe des opérations qui se passent au niveau du neurone artificiel. Le neurone artificiel fera
un produit entre le poids (w) et la valeur d’entrée (x), puis ajouter un biais (b), le résultat est
transmis à une fonction d’activation (f) qui ajoutera une certaine non-linéarité.
2.3.2 Les fonctions d’activation : Après que le neurone a effectué le produit entre ses
entrées et ses poids, il applique également une non-linéarité sur ce résultat. Cette
fonction non linéaire s’appelle la fonction d’activation.
La fonction d’activation est une composante essentielle du réseau neuronal. Ce que cette
fonction a décidé est si le neurone est activé ou non. Il calcule la somme pondérée des
entrées et ajoute le biais. C’est une transformation non linéaire de la valeur d’entrée.
Deep Learning 40
2.3.2.1 La fonction Sigmoïde : Cette fonction est l’une des plus couramment utilisées. Il
est borné entre 0 et 1, et il peut être interprété stochastique-ment comme la probabilité
que le neurone s’active, et il est généralement appelé la fonction logistique ou le
sigmoïde logistique.
chiffres manuscrits. Dans cette tâche, chaque étiquette est comprise entre 0 et 9. Nous
devons être confiants dans notre prédiction et cela peut être fait en utilisant une
distribution de probabilité. Pour la tâche mentionnée, le vecteur de sortie souhaité est
de la forme ci-dessous :
[p0 p1 p1 p2 p3 . . . p9]
Où :
P9
i=0 pi = 1
activités des neurones de chaque couche sont une fonction non-linéaire des activités de
la couche inférieure [43].
-La couche convolutive : C’est la couche la plus importante et le cœur des éléments
constitutifs du réseau convolutif, et c’est aussi elle qui effectue le plus de calculs lourd.
-La couche de pooling : Il est courant d’insérer périodiquement une couche Pooling dans
ce type d’architecture. Sa fonction est de réduire progressivement la taille spatiale de la
représentation pour réduire le nombre de paramètres et de calculs dans le réseau, et
donc de contrôler également le overfitting.
Deep Learning 43
-La couche entièrement connectée : Comme nous l’avons mentionné précédemment, les
neurones d’une couche entièrement connectée ont des connexions complètes à toutes les
activations de la couche précédente.
2.3.3.3 Les réseaux neuronaux récurrents et LSTM : Les couches de réseaux neuro-
naux récurrentes (RNN : Recurrent Neural Networks) sont des entités primitives qui permettent
aux réseaux neuronaux d’apprendre à partir de séquences d’entrées [39].La figure représente les
types de séquences d’entrée que le réseau traite :
Si la séquence que nous traitons est une phrase de 3 termes par exemple, le réseau va être
déroulé en un réseau neuronal à 3 couches, une couche pour chaque mot, la figure suivante [39]
représente cette idée :
st est calculé en fonction de l’état caché précédent et de l’entrée à l’étape courante avec :
xt = f (uxt + wst−1 )
• Ot à l’instant . Par exemple, si nous souhaitons prédire le mot suivant dans une phrase,
ce serait un vecteur de probabilités à travers notre vocabulaire [72], nous utiliserons alors
la fonction d’activation softmax avec : ot = sof tmax(vst ) .
Long Short-Term Memory (LSTM) : Les réseaux de mémoire à long terme à court terme
généralement appelés simplement (LSTM : Long Short Term Memory) sont un type spécial
de RNN. Ils ont été introduits par Hochreiter Schmidhuber (1997). Les Réseaux neuronaux
récurrents présentés dans la section précédente sont capables d’apprendre des règles de mise
à jour de séquence arbitraire en théorie. Dans la pratique, cependant, ces modèles oublient
généralement rapidement le passé [39]. C’est ce qu’on appelle le problème de la disparition de
gradient [44] et c’est pourquoi ils ont inventé le LSTM. La cellule LSTM est une adaptation de
la couche récurrente qui permet aux signaux plus anciens des couches profondes de se déplacer
Deep Learning 45
vers la cellule du présent [39]. La figure suivante représente une chaîne de trois cellules LSTM :
Avec :
ht−1 : La sortie a l’instant t-1
xt : L’entrée courant a l’instant t
b : C’est le bais
w : C’est le poids
σ : C’est la fonction sigmoïde
Avec :
Deep Learning 46
Avec
ct : État interne
Avec
ht : La sortie
Les réseaux neuronaux mentionnés, ne sont pas tous les réseaux qui existent, une excellente
ressource qui résume peut-être toute les architectures est en [73]. La figure suivante montre
une représentation de ce travail :
Deep Learning 47
2.4.1 Introduction
gradients déterministes ou batch descente de gradient, car ce sont des méthodes où tous les
exemples d’apprentissage sont traités simultanément dans un grand batch, tandis que le terme
"batch" pour décrire un groupe d’exemples.
Les algorithmes d’optimisation qui n’utilisent qu’un seul exemple à la fois sont parfois
appelés méthodes stochastiques ou en online descente de gradient.
La plupart des algorithmes utilisés pour l’apprentissage profond se situent quelque part
entre les deux, utilisant plus d’un mais moins que tous les exemples d’entrainement. Ils sont
appelés les méthodes stochastiques de minibatch ou de minibatch descente de gradient.
Adam : Adam est un algorithme d’optimisation présenté en 2015 [80]. Le nom de cet
algorithme est dérivé de Adaptive Moment Estimation. Lors de l’introduction de cet
algorithme, les auteurs ont présenté les avantages de l’utilisation d’Adam sur des problèmes
d’optimisation non convexes, comme suit :
• Efficacité du calcul.
• Adagrad
• RMSProp
• Adadelta
sentiment. Récemment, de nombreux articles ont été publiés dans lesquels nous trouvons
l’utilisation des différentes architectures de réseaux de neurones mentionnées précédemment :
Dans [77] qui explorait l’application des CNN profonds sur les tweets. Les résultats ont été
très bons selon les auteurs et les résultats obtenues ont été classées dans les deux premières en
terme de robustesse dans le Semeval-2015 [74].
Dans [78] ils ont proposé un réseau CNN dynamique (appelé DCNN) pour la modélisation
sémantique des phrases. Le modèle a réussi à capturer les relations entre les mots. Les
expériences ont été faites sur les tweets data set qui ont une robustesse de 87,4 % et sur les
revues de films data set qui ont une robustesse de 86,8 %.
Dans [79], ils ont introduit un modèle de classification des sentiments au niveau du
document. Les auteurs construisent un modèle qui utilise d’abord un réseau de neurones
convolutif pour apprendre la représentation des phrases, puis la sémantique des phrases.
Les relations entre les phrases sont codées d’une manière adaptative dans la représentation
de documents avec un réseau de neurones récurrent. Les résultats obtenus ont été les
meilleurs, comme l’affirment les auteurs utilisant quatre data sets de l’IMDB [76] et de Yelp
[75]. Le tableau ci-dessous résume ces résultats :
Table 2.2 – Résumé des résultats obtenus avec la robustesse comme une métrique d’évaluation
[79].
Deep Learning 51
Dans [87] un travail qui présentait une comparaison empirique entre le SVM et les réseaux
neuronaux artificiels (ANN) concernant l’analyse du sentiment au niveau du document. Pour
tester leurs travaux, les auteurs ont expérimenté les modèles sur quatre data sets différents.
Le ANN a dépassé SVM d’une manière significative en terme robustesse, comme le montre le
tableau ci-dessous :
ANN SVM
Movies dataset 86% 85.2%
GPS dataset 87.3% 84.5%
Books dataset 81.8% 80.9%
Cameras dataset 90.3% 89.6%
Table 2.3 – Résumé des résultats basant sur la robustesse comme une métrique d’évaluation
[87].
CHAPITRE 3
Contribution
52
Contribution 53
3.1 Introduction
Dans le cadre de notre recherche, nous avons traité les textes anglais pour l’analyse du
sentiment. Ce traitement permet d’extraire la polarité des opinions qui s’exprime en négatif et
positif dans le cas d’une classification binaire et en négatif, neutre et positif dans le cas d’une
classification multiple. Les données d’entrée que nous avons utilisées sont des tweets, extraits
de deux datasets pour entraîner et tester notre modèle de DL et aussi nous testons le modèle
proposé en temps réel sur des tweets extraits du Twitter lui-même. Ces tweets représentent les
statuts postés sur ce réseau social.
3.2 Twitter
En mars 2006, Twitter a été créé par le développeur Jack Dorsey pour rester en contact
avec sa famille et ses amis. Twitter est un service Web qui permet aux utilisateurs d’envoyer,
de consulter et de lire des messages courts. Twitter est un réseau social qui permet aux
utilisateurs de poster des messages en temps réel, appelés tweets. Les tweets sont des messages
courts, limités à 280 caractères [45]. En raison de la qualité de ce service, les gens utilisent des
abréviations, font des fautes d’orthographe, utilisent des émoticônes et autres caractéristiques
qui expriment des significations particulières. Ce réseau social est actuellement l’une des
plateformes les plus populaires. Plusieurs célébrités utilisent Twitter, dont des chefs d’État.
• L’id du tweet.
• Le texte du tweet.
• D’émojis .
• La photo du profil.
• L’emplacement de l’utilisation.
Contribution 54
La figure suivante représente un tweet qui illustre l’ensemble les différents éléments
mentionnés :
Notre projet de recherche porte sur la tâche d’analyse du sentiment sur les données de
Twitter. Pour attendre cette objectif et pour obtenir la meilleure performance possible, nous
proposons le système suivant :
Contribution 55
3.3 Dataset
Il s’agit d’un grand ensemble de données, plus d’un million de tweets avec deux classes de
tweets négatifs et positifs, avec 800.000 pour chacun. Les auteurs ont représenté la classe
positive avec le numéro 4 et l’autre classe avec le numéro 0. Le schéma suivant les représente :
Le jeu de données de Twitter US.Airline de Kaggle[49] a été pris à l’origine de [60]. Selon les
auteurs de Kaggle, les données fournies sont reformatées à partir de la version originale en
utilisant des méthodes de pré-traitement qui ont fait des transformations [61]. La figure
suivante représente une partie de cet ensemble de données :
Contribution 57
Cet ensemble de données contient 14.600 Tweets avec trois classes positives, négatif et
neutre. Le schéma suivant les représente :
Figure 3.6 – Le nombre de tweet l’ensemble de données de Twitter US.Airline Sentiment [49].
3.4.1 Le software
3.4.1.2 Keras : Keras [50] est un framework open source d’apprentissage profond pour le
Python, capable de s’exécuter sur TensorFlow. Il est écrit par Francis Chollet, membre de
l’équipe Google. Keras est utilisé dans un grand nombre de startups, de laboratoires de
recherche [62] (dont le CERN, Microsoft Research et la NASA) et de grandes entreprises telles
que Netflix, Yelp, Square, Uber, Google, etc. Il a été développé dans le cadre de l’effort de
recherche du projet ONEIROS (Open-ended Neuro Electronic Intelligent Robot Operating
System). En 2017, l’équipe TensorFlow de Google a pris la décision de fournir un support
pour Keras et de l’intégrer dans la bibliothèque principale de TensorFlow. Il présente un
ensemble d’abstractions de plus haut niveau et plus intuitives qui facilitent la configuration
des réseaux neuronaux [50].
Autres frameworks :
• Pytorch [52]
• Theano [53]
3.4.2 Le hardware
Colaboratory [55] est un outil de recherche open source pour l’enseignement et la recherche
en apprentissage machine. Il s’agit d’un environnement pour ordinateur portable Jupyter qui
ne nécessite aucune installation ou bien une configuration pour être utilisé, il s’exécute
entièrement dans le cloud. Cet environnement supporte Python 2.0 et ses versions supérieures.
Il nous permet d’écrire et d’exécuter du code, de sauvegarder et partager, et d’accéder à de
puissantes ressources informatiques depuis notre navigateur.
Les expériences ont été réalisées sur une machine virtuelle dans l’environnement Google
Colab qui offre une bonne performance dont les caractéristiques sont les suivantes :
Contribution 59
Le pré-traitement des données est une étape importante dans l’analyse du sentiment, bien que
le pré-traitement des données est un outil puissant pour traiter les données textuelles en
général. La fonction de pré-traitement que nous créons et utilisons, a fait un certain nombre
d’étapes spécifiques donnant une importance à la sémantique des tweets. Les étapes sont les
suivantes :
1. Éliminer les URLs et les mots avec hashtag : Le sentiment exprimé par un
utilisateur est formé par les mots qu’il utilise, dans certains cas nous trouvons des éléments
dans le tweet sans valeur de sentiment comme les URLs et les mots avec hashtags ”#”. Par
exemple :
d’éviter cette étape entièrement pour la raison mentionnée et pour la nécessité d’expertise
linguistique et au besoin de ressources lexicales pour couvrir toutes les situations et toutes les
termes qui expriment les formes de la négation. Comme une solution dans notre travail, nous
extrayons les formes de négation les plus utilisées du dictionnaire de Cambridge [56] et
essayons de les convertir en leur forme réelle, pour un exemple :
4 .Éliminer les caractères non alphabétiques : Les caractères non alphabétiques tels
que les chiffres, la ponctuation et les caractères spéciaux n’ont aucune utilité pour exprimer
un sentiment. Par exemple, c’est le même cas si nous disions :
5 .Lemming : La lemmatisation est l’étape qui fait référence à l’analyse lexicale qui permet
de regrouper des mots d’une même famille qui partagent le même suffixe lexical. Chacun des
mots du texte est ainsi réduit à une entité appelée "Lemme". Ce lemme fait référence à la
forme canonique des mots. La lemmatisation regroupe les différentes formes que peut prendre
un mot. Par exemple, un nom pluriel sera réduit au singulier, un verbe à son infinitif, etc.
Parce que nous avons une tâche où la sémantique a une grande importance, nous choisissons
lemming plutôt que le stemming en raison de l’application de la première va introduire des
termes réels contrairement à la seconde qui peut résulter des mots non existants.
6 .Éliminer les termes répétés : La répétition des termes n’a pas d’importance et
n’ajoute rien au sentiment de tweet, elle augmente seulement le volume des données, donc
nous éliminons tous les termes répétés dans chaque tweet.
3.5.2.1 .Word Embeddings : Word embeddings est le mappage de mots à des vecteurs de
nombres réels dans un espace dimensionnel réduit [82]. Avec cette méthode, il est capable de
capturer le contexte d’un mot dans un document, la similarité sémantique, la et la relation
entre les mots, etc. il y a trois méthodes pour obtenir Embeddings [83] : :
• Le clustering Brown
Dans notre travail, nous utilisons le GloVe pour le word Embdding de l’université de
Standford [85]. Il s’agit d’un projet open source. GloVe est un algorithme d’apprentissage non
supervisé permettant d’obtenir des représentations vectorielles de mot. Nous avons utilisé le
Twitter GloVe pour les représentations vectorielles de mots, qui contient 2 milliards de tweets
et 1,2 million de mots avec des vecteurs de dimension égale à 200 [84].
Lorsque les neurones sont supprimés au hasard du réseau au cours de l’apprentissage, les
autres neurones sont obligés de répondre et de contrôler la représentation requise pour faire
des prédictions pour les neurones manquants. Cette méthode améliore la généralisation car
elle oblige les couches à apprendre le même "concept" avec des neurones différents.
Contribution 62
3.5.2.3 Les modèles : Au cours de nos expériences, nous avons créé deux modèles avec des
architectures différentes, où le premier était un modèle LSTM ( Long Short Term Memory) et
le second était un modèle CNN (Convolutional Neural Networks).
• La couche Embedding : pour convertir les tokens dans nos données en embedding de taille
spécifique égale à 200, basé sur le modèle GloVe pour Twitter.
• La couche LSTM : nous ajoutons 3 couches de LSTM avec 200 unités cachées pour chaque
couche.
• La couche Dropout : nous avons appliqué deux couches Dropout pour la régularisation.
Contribution 64
• La couche entièrement connectée : nous ajoutons 3 couches entièrement connectées avec 200
unités cachées au modèle qui mappe la sortie de LSTM à la taille de sortie désirée qui est
égale à 5 et prévue par la fonction d’activation softmax.
2. Le modèle CNN :
La figure suivante représente les différentes couches que contient notre modèle : :
• La couche Embedding : de la même façon pour le modèle LSTM, nous avons appliqué le
modèle GloVe pour Twitter et choisi une dimenssion égale à 200.
• Les Couches Conv1D et MaxPooling1D : nous utilisons trois couches convolutives d’une
dimmenssion suivie de trois couches de max pooling.
• La couche Flatten : nous ajoutons une couche flatten dans le but de préparer le résultat de la
couche maxpooling à la couche entièrement connecté, la figure suivante [86] illustre l’idée :
• La couche Dropout : nous avons appliqué une seul couche Dropout pour la régularisation.
• La couche entièrement connectée : comme dans le modèle LSTM, nous avons utilisé trois
couches entièrement connectées avec 200 neurones cachés et utilisé la fonction softmax pour
prédire la sortie.
Chaque modèle a été appliqué sur les deux ensembles de données mentionnés précédemment,
que nous pouvons résumer dans le tableau suivant :
Contribution 66
L’évaluation de nos deux modèles s’est faite en terme de 5 métriques qui sont l’erreur, la
robustesse, la précision, le rappelle et la F-mesure. Tous les résultats obtenus sont résumés
sous forme de graphes.
3.5.3.1 Les résultats obtenus pour le modèle LSTM :
Sentiment140 Dataset :
Figure 3.11 – La robustesse et l’erreur du modèle LSTM sur le jeu de données Sentiment140 .
Contribution 67
Figure 3.12 – La précision et le rappelle du modèle LSTM sur le jeu de données Sentiment140
.
Figure 3.14 – La robustesse et l’erreur du modèle LSTM sur le jeu de données Twitter
US.Airline Sentiment.
Contribution 68
Figure 3.15 – La précision et le rappelle du modèle LSTM sur le jeu de données Twitter
US.Airline Sentiment.
Figure 3.16 – La fmesure du modèle LSTM sur le jeu de données Twitter US.Airline Sentiment.
Dans le tableau suivant, nous résumons le résultat obtenu pour le modèle LSTM avec les deux
datasets :
Contribution 69
Train- Validation-
Train set :Senti- Validation-set :
Data set Set :US.Airline Set :US.Airline
ment140 Sentiment140
Sentiment Sentiment
Nombre de tweet 1.152.000 tweets 288.000 tweets 10.540 tweets 2636 tweets
Erreur 0.16 0.16 0.15 0.19
Robustesse 0.92 0.93 0.93 0.92
Précision 0.80 0.81 0.85 0.82
Rappelle 0.80 0.81 0.82 0.80
F-mesure 0.80 0.81 0.83 0.80
Table 3.3 – Les résultats d’entrainement et de validation du modèle LSTM sur les deux jeux
de données .
Figure 3.17 – La robustesse et l’erreur du modèle CNN sur le jeu de données Sentiment140.
Figure 3.18 – La précision et le rappelle du modèle CNN sur le jeu de données Sentiment140.
Figure 3.20 – La robustesse et l’erreur du modèle CNN sur le jeu de données Twitter US.Airline
Sentiment.
Figure 3.21 – La précision et le rappelle du modèle CNN sur le jeu de données Twitter
US.Airline Sentiment.
Figure 3.22 – La fmesure du modèle CNN sur le jeu de données Twitter US.Airline Sentiment.
Contribution 72
Dans le tableau suivant, nous résumons le résultat obtenu pour le modèle CNN avec les deux
datasets :
Train- Validation-
Train set :Senti- Validation-set :
Data set Set :US.Airline Set :US.Airline
ment140 Sentiment140
Sentiment Sentiment
Nombre de tweet 1.152.000 tweets 288.000 tweets 10.540 tweets 2636 tweets
Erreur 0.14 0.17 0.03 0.40
Robustesse 0.93 0.92 0.98 0.90
Précision 0.83 0.80 0.97 0.76
Rappelle 0.83 0.80 0.94 0.73
F-mesure 0.83 0.80 0.95 0.75
Table 3.4 – Les résultats d’entrainement et de validation du modèle CNN sur les deux jeux
de données .
Les figures 17, 18, 19, 20, 21 et 22 nous observons l’influence du volume des données après
l’entraînement du modèle CNN pendant 50 époques pour les deux ensembles de données. Il
donne un résultat plus faible en US.Airline en terme de l’erreur de la validation qu’est égale à
0.40 alors qu’il est égal à 0.17 pour le Sentiment140. Aussi il est évident dans les valeurs des
autres métriques en terme de validation, où il ne dépasse pas 0.78 dans la précision, le rappel
et la fmeasure tandis que dans Sentiment140 les métriques mentionnées sont égales à 0.80.
Les résultats finaux ont été obtenus après l’évaluation des deux modèles sur le test-set des
deux data sets qui contient comme suit :
Test set :
Table 3.6 – Les résultats finaux des deux modèles dans les deux ensembles de données.
Notre décision de choisir différents ensembles de données en fonction de leur taille a été de
voir comment un modèle de DL fonctionne dans deux situations où nous avons un grand et un
petit volume de données.
Pour les tests finaux sur les deux ensembles de données, nous avons entrainé les deux modèles
à 200 époques pour le Sentiment140 et pour le US.Airline, nous avons entrainé le CNN pour
50 époques et le LSTM pour seulement 20 époques.
En tant que résultat final, nous constatons que le modèle LSTM surpasse le modèle CNN,
surtout si nous avons un faible volume de données. Comme nous pouvons l’observer dans le
tableau 6, dans le cas de US.Airline, le LSTM donne le meilleur résultat d’erreur que le
modèle CNN et avec seulement 50% d’épochs, et cela est également évident dans les valeurs
de la précision, du rappel et de la fmeasure. Pour le Sentiment140 où nous disposons d’un
grand volume de données, les deux modèles donnent à peu près les mêmes bons résultats,
mais le LSTM fait mieux en termes de toutes les mesures. Avec cette quantité de données,
nous avons observé qu’autant nous ajoutons d’époques, plus nous obtenons de résultats.
A partir de ce que nous avons comme résultats, les modèles de DL le LSTM et le CNN
donnent de bonnes performances si nous les utilisons pour le problème de l’analyse du
sentiment où la quantité des données de l’apprentissage joue un rôle important et peut
affecter les résultats surtout si nous avons entrainé le CNN en faible quantité.
projet, ils ont effectué une classification binaire (positive et négative) en utilisant trois
algorithmes différents de ML qui sont NB, SVM et Maximum Entropy.
Dans le tableau suivant nous résumons tous les résultats obtenus de ce projet et les résultats
de nos deux modèles en terme de la robustesse :
Robustesse
NB 0.82
Maximum Entropy 0.83
SVM 0.82
Notre modele LSTM 0.93
Notre modele CNN 0.92
Table 3.7 – les résultats obtenus du projet Sentiment140 et de notre deux modèles proposés..
Comme nous l’observons dans le tableau 7, les modèles LSTM et CNN surpassent les trois
algorithmes avec un degré élevé, cela nous montre l’avantage de l’application d’une approche
DL dans ce type de tâches d’analyse de sentiment et la bonne performance que nous
obtiennons en cas dune masse de données élevée au lieu d’utiliser des algorithmes ML
traditionnels.
3.6 L’interface
Nous avons créé une interface graphique qui nous permet de communiquer avec nos modèles
qui est représenté dans la figure suivante :
Contribution 75
Cette interface a été créée en utilisant le langage Java. Il contient des boutons qui nous
permettent d’exécuter diverses fonctions, qui nous permettent :
3.7 Conclusion
Dans ce chapitre, nous avons vu notre part de contribution au problème de l’analyse du
sentiment, représentant les outils et les jeux de données utilise, ainsi que les étapes que nous
avons suivies pour obtenir les résultats que nous montrons également pour deux différents
modèles dont le but de faire la comparaison pour deux différents benchmarks.
Conclusion générale
Dans ce travail, nous avons exploré le domaine de l’analyse des sentiments qui, comme tous
les autres domaines du traitement du langage naturel, a connu une évolution majeure depuis
les années 2000 et a réalisé une évolution majeure et un grand intérêt depuis la naissance de
l’apprentissage profond.
Afin d’atteindre ces résultats, nous avons passé beaucoup de temps à lire et réviser des
publications, des articles et des livres pour voir et comprendre les concepts et comment
appliquer un modèle de deep learning à notre problème.
Enfin, avant de passer aux perspectives, ce travail nous a permis de mettre en pratique
notre connaissances des réseaux de neurones et de les enrichir, et le plus important est que
nous fassions le premier pas vers l’apprentissage profond, un des champs les plus importants
de l’intelligence artificielle.
Comme perspectives nous pouvons citer :
• Nous ne nous concentrons que sur les phrases en anglais, Il devrait être possible d’utiliser
notre approche pour classer les sentiments dans d’autres langues.
76
Bibliographie
[1] Sentiment analysis : mining opinions sentiments, and emotions. Bing Liu. First edition
USA 2015.
[4] Yahoo ! for Amazon :Sentiment Extraction from Small Talk on the Web. Sanjiv Das,
Mike Chen. 2004.
[5] Yahoo ! for Amazon : Extracting Market Sentiment from Stock Message Boards Sanjiv
Das, Mike Chen. In Proceedings of APFA. 2001.
[6] An Operational System for Detecting and Tracking Opinions in on-Line Discussion. Tong,
Richard M. In Proceedings of SIGIR Workshop on Operational Text Classification. 2001.
[7] Opinion Mining and Sentiment Analysis. Bo Pang and Lillian Lee. 2008.
77
78
[10] Multi-perspective question answering using the OpQA corpus, ? in Proceedings of the
Human Language Technology Conference and the Conference on Empirical Methods in
Natural Language Processing (HLT/EMNLP). 2005.
[11] Qualitative dimensions in question answering : Extending the definitional QA task. L.V.
Lita, A.H. Schlaikjer, W. Hong, and E. Nyberg. 2005.
[13] Baynes, C. Trump says he would not be President without Twitter. Retrieved from
https ://www.independent.co.uk/news/world/americas/us-politics/donald-trump-tweets-
twitter-social-mediafacebook-instagram-fox-business-network-would-not-be-
a8013491.html . 2019, Mars
27.
[14] A survey on Sentiment Analysis Algorithms for opinion mining . Pradhan, V. Pradhan,
Vala, Balani. International Journal of Computer Applications.2016.
[17] Sentiment Analysis of Micro blogs using Opinion Mining Classification Algorithm. A.
Tamilselvi1, M. ParveenTaj. International Journal of Science and Research (IJSR). 2014.
[18] An empirical study of sentiment analysis for chinese documents. Songbo Tan, Jin Zhang.
Expert Systems with Applications. 2008.
[22] The Application and Comparison of Web Services for Sentiment Analysis in Tourism.
Shanshan Gao1, Jinxing Hao2, Yu Fu.2015.
[23] Sentiment Analysis and Dataset Collection : A Comparitive Study Sruthi Kalarikkal
Remya P. C. International Advance Computing Conference. 2015.
[24] Feature Extraction and Opinion Mining in Online Product Reviews. Siddharth
Aravindan, Asif Ekbal. 13th International Conference on Information Technology. 2014.
[26] NLP Based Sentiment Analysis on Twitter Data Using Ensemble Classifiers. Monisha
Kanakaraj and Ram Mohana Reddy Guddeti. 3rd International Conference on Signal
Processing, Communication and Networking (ICSCN) .2015.
[27] Knowledge Based approaches to concept - level sentiment analysis, Erik Cambria, Bjorn
Schuller, Yunqing Xia, Catherine Havasi. 2013.
[30] Sentiment analysis in Facebook and its application to e-learning Alvaro Ortigosa , José
M. Martín, Rosa M. Carro. 2013.
[31] Sentiment Analysis of Movie Reviews using Hybrid Method of Naive Bayes and Genetic
Algorithm M.Govindarajan. International Journal of Advanced Computer Research. 2013.
[32] Sentiment Analysis of Review Datasets using Naïve Bayes ? and K-NN Classifier
Lopamudra Dey Sanjay Chakraborty. 2014
[35] Study of Different Levels for Sentiment Analysis. Seema Kolkur, Gayatri Dantal and
Reena Mahe. International Journal of Current Engineering and Technology. 2015
[37] Deep Neural Networks for Acoustic Modeling in Speech Recognition. Geoffrey Hinton, Li
Deng, Dong Yu, George Dahl, Abdel-rahman Mohamed, Navdeep Jaitly, Andrew Senior,
Vincent Vanhoucke, Patrick Nguyen, Tara Sainath, and Brian Kingsbury.
[38] Deep Learning Yann LeCun, Yoshua Bengio Geoffrey Hinton. 2015
[39] TensorFlow for Deep Learning. Reza Bosagh Zadeh, Bharath Ramsundar. 2017
[40] Python Deep Learning. Ivan Vasilev, Daniel Slater, Gianmario Spacagna, Peter Roelants,
Valentino Zocca. 2019
[42] Deep Learning with Keras. Antonio Gulli, Sujit Pal. 2017
[46] Une approche Deep Learning pour l’analyse des Sentiments Sur Twitter. BEGHDAD
Abdelkrim ,OUSERIR Amina. Mémoire de Master. Université de Djilali BOUNAAMA
Khemis Miliana. 2018
[53] deeplearning.net/software/theano/
[64] Deep Learning. Ian Goodfellow, Yoshua Bengio, Aaron Courville. MIT Press. 2016
[66] Python Deep Learning. Valentino Zocca, Gianmario Spacagna, Daniel Slater, Peter
Roelants. 2017.
[68] On the Origin of Deep Learning. Haohan Wang, Bhiksha Raj. 2017.
[77] Twitter Sentiment Analysis with Deep Convolutional Neural Networks. Aliaksei Severyn,
Alessandro Moschitt. 2015
[78] Convolutional Neural Networks for Sentence Classification. Yoon Kim. Proceedings of the
2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2014.
[79] Document Modeling with Gated Recurrent Neural Network for Sentiment Classification.
Duyu Tang, Bing Qin, Ting Liu. Proceedings of the 2015 Conference on Empirical
Methods in Natural Language Processing. 2015
[82] Learning Semantic Relations from Text, Preslav Nakov,Diarmuid Ó Séaghdha, Vivi
Nastase Stan Szpakowicz, Empirical Methods in Natural Language Processing (EMNLP),
2015.
[85] GloVe : Global Vectors for Word Representation, Jeffrey Pennington, Richard Socher,
Christopher D. Manning. 2014
[93] Top 15 Deep Learning applications that will rule the world in 2018 and beyond, Vartul
Mittal, 3 Oct 2017
[94] Twitter Sentiment Classification using Distant Supervision. Alec Go, Richa Bhayani, Lei
Huang. Stanford University.