Telechargé par benaceur wari

memoire

publicité
1
CHAPITRE 1 : L'analyse Des Sentiments
1.1 Introduction
Le développement d'Internet a rendu les opinions et les expressions d'émotion
largement disponibles. Les émotions et les opinions aident à gérer la façon dont les
humains communiquent entre eux et comment ils motivent leurs actions.
Les opinions, les sentiments et même les sujets sont automatiquement traités
grâce à l'analyse des opinions. De plus, il existe un grand nombre de documents
textuels qui véhiculent des opinions et des sentiments, et parmi les sources d'opinions
les plus importantes figurent les sites de réseaux sociaux tels que Twitter, Facebook,
YouTube et Instagram, car ils jouent un rôle important dans presque tous les emplois.
L'analyse de l'opinion et l'expression des sentiments sont devenues depuis un certain
temps un sujet important, tant dans les milieux académiques que dans les applications
pratiques.
L'analyse des sentiments et l'exploration d'opinions sont un domaine d'étude qui
analyse les opinions, les sentiments, les évaluations, les attitudes et les émotions des
personnes à partir du langage écrit sans nécessiter de traduction dans un langage de
programmation.
Par conséquent, nous commençons cette section en examinant le domaine de
l'analyse des sentiments à travers ses différents niveaux et les tâches qui le
composent, et nous parlerons également de ses types et approches plus
spécifiquement dans l'étude et la construction du vocabulaire pour distinguer les
émotions positives et négatives.
1.2 Analyse Sentiments
Le développement des forums, des blogs et des ventes en ligne pousse les
utilisateurs à laisser de plus en plus d'informations librement disponibles sur le web.
Certaines de ces informations décrivent des sentiments. Il permet le développement
de modèles d'analyse des sentiments et d'enquêtes dans divers domaines en
récupérant simplement ces données textuelles. Et ces dernières années,
l'augmentation exponentielle de l'utilisation d'Internet et de l'échange de sentiments,
qui s'expriment de diverses manières, notamment la quantité de détails fournis, le
type de vocabulaire utilisé, le contexte d'écriture, la langue familière et la langue les
différences rendent le manuel d'analyse des sentiments fastidieux et presque
impossible. Cette explosion de données a entraîné une augmentation exponentielle
de la demande d'outils d'analyse des sentiments. De plus en plus de chercheurs
développent de nouveaux outils. Des outils pour effectuer une analyse des
sentiments, effectuer une analyse des sentiments pour tout type de document dans
n'importe quel domaine. Il existe des cas où différents les formes du même mot seront
associées à des sentiments différents. Par exemple, dans les avis clients, le mot
"amélioré" était associé à des commentaires positifs, mais le mot "amélioration" était
plus souvent utilisé dans les commentaires négatifs.
Dans ce chapitre, nous introduisons les concepts de base de l'analyse des
sentiments en fournissant une définition et des raisons précises pour mener une
analyse des sentiments.
1.2.1 Définition
Dans la littérature, les deux termes analyse d'opinion et analyse de sentiment
désignent le même domaine d'étude et sont utilisés de manière interchangeable. Pour
donner une définition de l'analyse des sentiments, également connue sous le nom
d'exploration d'opinions, est le domaine d'étude qui analyse les opinions, les
sentiments, les évaluations, les attitudes et les sentiments des personnes envers les
entités et leurs traits exprimés dans un texte écrit.
D'une autre manière, l'analyse des sentiments consiste à traiter le texte
d'opinion pour extraire la polarité des sentiments qui sont généralement exprimés en
termes d'opinion positive ou négative (classification binaire), ou de classification
multiple, où le sentiment peut avoir une étiquette neutre et c'est un des domaines de
recherche les plus actifs dans le traitement du langage Natural, il a également été
largement étudié dans l'exploration de données, l'exploration d'Internet et
l'exploration de texte. L'importance croissante de l'analyse des sentiments coïncide
avec la croissance des médias sociaux et c'est le domaine qui traite du traitement de
l'opinion, des sentiments et de la subjectivité dans un texte.
1.2.2 Processus d'analyse des sentiments
Les étapes du processus sentimental sont illustrées ci-dessus :
Figure 1 – 5 étapes de processus
1.2.2.1 Extraction de données
Les données sont collectées à partir des requêtes de discussions d'utilisateurs sur
des forums publics tels que des blogs, des forums de discussions et des tableaux de
critiques de produits, ainsi que sur des journaux privés via des sites de réseaux sociaux
tels que Twitter et Facebook et YouTube et Instagram. Très souvent, le journal de
données est volumineux, désorganisé et désintégré sur plusieurs portails stockées
dans une base de données. Une fois les données extraites, elles seront ensuite
préparées pour l'analyse.
1.2.2.2 Prétraitement
Le prétraitement est le processus de nettoyage des données préparant le texte
pour la classification. Les textes en ligne contiennent généralement beaucoup de
bruits et des éléments inutiles tels que des balises, des scripts. Le prétraitement des
données réduit le bruit dans lequel contribue à s’améliorer les performances du
classificateur. Le prétraitement accélère également le processus de classification,
aidant ainsi en temps réel SA. La préparation du texte implique le nettoyage des
données extraites avant que l'analyse ne soit effectuée. Habituellement, la
préparation de texte implique l'identification et l'élimination du contenu non textuel
de l'ensemble de données textuelles. En outre, tout autre contenu qui n'est pas jugé
pertinent pour le domaine d'étude est également supprimé de l'ensemble de données
textuelles, comme par exemple des mots vides ou des mots qui ne sont pas pertinents
pour le cours de l'analyse. Pour un système qui donne SA des flux de données, la
stratégie de prétraitement est la suivante :
a) Suppression des mots : Certaines approches considèrent que certains mots très
communs n’apportent aucune information utile pour l’analyse du texte. Dans ce cas,
il est courant, d’utiliser une liste de ces mots pour filtrer le texte. La suppression de
ces mots présente l’avantage de réduire la phrase à des mots pleins.
b) Structuration des phrases : Structurer une phrase permet de mieux
appréhender la sémantique de chaque mot. Certaines techniques d’analyse de
sentiments utilisent la structure des phrases afin d’identifier l’opinion.
c) Suppression des localisateurs de ressources uniformes (URL), hashtags,
références, caractères spéciaux : Le nettoyage des données des hashtags, références,
caractères spéciaux, aidera à réduire la plupart des bruits.
d) Traduction de mots d'argot - Pour cela, nous prenons l'aide du dictionnaire
d'argot Internet et remplaçons les mots d'argot dans leur format significatif.
e) Suppression des lettres supplémentaires des mots : Les mots qui ont la même
lettre plus de deux fois et qui ne sont pas présents dans le lexique sont réduits au mot
avec la lettre répétitive n'apparaissant qu'une seule fois. Par exemple, le mot exagéré
«Happyyyyyy» est réduit à «Happy».
1.2.2.3 Détection des sentiments
La troisième étape est la détection des sentiments. La détection des sentiments
nécessite d'évaluer et d'extraire des critiques et des opinions à partir de l'ensemble
de données textuelles grâce à l'utilisation de tâches de calcul. Chaque phrase est
examinée pour la subjectivité. Seules les phrases avec des expressions subjectives sont
conservées dans l'ensemble de données. Les phrases qui véhiculent des faits et une
communication objective sont écartées de toute analyse ultérieure. La détection des
sentiments se fait à différents niveaux, soit un seul terme, des phrases, des phrases
complètes ou un document complet avec des techniques couramment utilisées.
1.2.2.4 Sélection des fonctionnalités
L'objectif principal de la sélection des caractéristiques est de réduire les dimensions
de l'espace des caractéristiques. L'espace des fonctionnalités réduit les coûts de calcul.
Comme deuxième objectif, la sélection des fonctionnalités réduira également
l'adéquation du schéma d'entraînement aux données d'entraînement. Au cours de ce
processus, il est également important de trouver un bon compromis entre la richesse
des fonctionnalités et les limitations de calcul impliquées dans la résolution d'une
tâche de classification.
1.2.2.5 Classification des sentiments
La cinquième étape est la classification de la polarité qui classe chaque phrase
subjective de l'ensemble de données textuelles en groupes de classification.
Habituellement, ces groupes sont représentés sur deux points extrêmes d'un
continuum (positif, négatif). Les techniques de classification des sentiments (SC)
peuvent être divisées en deux parties, à savoir l'approche d’apprentissage
automatique (Machine Learning) et l'approche basée sur le lexique. Les approches ML
sont basées sur la formation d'un algorithme, principalement la classification sur un
ensemble de fonctionnalités sélectionnées pour une mission spécifique, puis testées
sur un autre ensemble s'il est capable de détecter les bonnes fonctionnalités et de
donner les bonnes classifications. Les approches ML utilisent des algorithmes de ML
en utilisant des attributs linguistiques tandis que l'approche basée sur un lexique
s'inspire du «lexique des sentiments». Un état de l’art de ces approches est abordé
dans le chapitre suivant.
1.2.3 Les applications de l'analyse des sentiments
La gestion de contenu axée sur l'opinion possède de nombreuses applications
importantes comme la détermination des opinions des critiques concernant un certain
produit via la classification des critiques de produits en ligne ou l'enregistrement de
l'évolution des attitudes du public à l'égard d'un parti politique via l'extraction de sites
d'actualités en ligne. Alors que les applications basées sur l'opinion ou sur le feedback
sont plus populaires, le domaine du traitement du langage naturel s'intéresse
actuellement aux analyses de sentiments ainsi qu'aux systèmes d'exploration
d'opinion. Les principales applications de des analyses de sentiments et de l'extraction
d'opinions sont données ci-dessous :
1.2.3.1 Achat de produits ou de services :
Lorsque vous décidez d'acheter des produits ou des services, prendre des décisions
précises n'est plus un travail difficile. Grâce à cette méthode, les individus peuvent
évaluer les opinions et les expériences des autres concernant tous les produits et
services et comparer les marques concurrentes.
1.2.3.2 Amélioration de la qualité du produit ou du service :
grâce à l'exploration d'opinions et à l'analyse des sentiments, les fabricants peuvent
recueillir les opinions des critiques ainsi que les critiques positives concernant leurs
produits ou services et ainsi améliorer la qualité de leurs services.
1.2.3.3 Recherche marketing :
les résultats des analyses de sentiment peuvent être utilisés à des fins d'étude de
marché. Grâce à des méthodes d'analyse des sentiments, les tendances récentes des
clients concernant des produits ou services particuliers peuvent être examinées. De
même, les attitudes actuelles du public à l'égard des nouvelles politiques de l'État
peuvent également être facilement examinées.
1.2.3.4 Systèmes de recommandation :
Grâce à la classification des opinions des individus comme positives ou négatives,
le système peut déterminer laquelle est recommandée et laquelle ne l'est pas.
1.2.3.5 Détection de flamme :
la supervision des sites d'information, des articles de blogs ainsi que des réseaux
sociaux est simplifiée grâce à des analyses de sentiment. l'exploration d'opinions et
l’analyses des sentiments sont capables de détecter les mots arrogants, surchauffés,
incitant à la haine, jurons utilisés dans les e-mails, les blogs ou les sites d'informations
de manière automatisée.
1.2.3.6 Détection d’opinion Spam :
Comme Internet est également accessible à tout le monde, n'importe qui peut
télécharger n'importe quoi sur Internet. Cela signifie la probabilité que le contenu soit
du spam augmente de jour en jour. Les particuliers pourraient télécharger du contenu
de spam dans le but d'induire les gens en erreur. L'exploration d'opinions ainsi que les
analyses de sentiment sont capables de classer le contenu Internet en spam et en non
spam.
1.2.3.7 Élaboration de politiques :
En utilisant des analyses de sentiment, les décideurs politiques sont en mesure de
prendre en considération les perspectives des citoyens concernant certaines
politiques et ces connaissances peuvent être utilisées pour créer de nouvelles
politiques en faveur des citoyens.
1.2.3.8 Prise de décision :
Les opinions et les expériences du public sont des facteurs très utiles lors de la
prise de décisions. Une analyse OM ainsi qu'une analyse des sentiments fournissent
une analyse des opinions du public qui peuvent être utilisées efficacement lors de la
prise de décisions. Les sites de réseaux sociaux tels que Twitter ou Facebook ne sont
pas des sources de données publiques à grande échelle à traiter légèrement. Le public
les utilise pour révéler ses opinions et ses sentiments sur plusieurs sujets. L'utilisation
d'analyses de sentiment sur les avis et leur classification automatique en classes
positives, négatives ou neutres peut offrir des données cruciales aux entreprises sous
la forme d'études de marché.
1.2.4 Les tâches d'analyse des sentiments
Les tâches d'analyse des sentiments consistent principalement à classer la polarité
d'un texte donné au niveau du document, de la phrase ou de la fonction / aspect
exprimant l'opinion comme positive, négative ou neutre. L'analyse des sentiments
peut être effectuée à l'un des trois niveaux : le niveau du document, le niveau de la
sentence, niveau de fonctionnalité.
1.2.4.1 Analyse des sentiments au niveau du document :
le principal défi de l'analyse des sentiments au niveau du document est d'extraire
du texte informatif pour déduire le sentiment de l'ensemble du document. Dans
l'analyse des sentiments, un document peut être classé comme positif ou négatif ou
neutre en fonction de la polarité des informations subjectives présentes dans le
document. L'évaluation de la qualité de sentiment détermine si une opinion est utile
ou non, et les groupes d'identification des spams divisent les sentiments en tant que
spam et non spam.
1.2.4.2 Analyse des sentiments au niveau de la phrase :
Dans une classification des sentiments au niveau du phrase, la polarité de la phrase
peut être donnée par trois catégories : positive, négative et neutre. Le défi auquel est
confrontée la classification des sentiments au niveau des phrases réside dans les
caractéristiques d'identification indiquant si les phrases sont sur le sujet, ce qui est
une sorte de problème. Enfin, l’analyse de sentiments dans des phrases relatives
incorpore la reconnaissance de phrases similaires et la concentration des données à
partir d'elles.
1.2.4.3 Analyse des sentiments au niveau de la fonctionnalité :
les fonctionnalités du produit sont définies comme des attributs ou des
composants de produit. L'analyse de ces fonctionnalités pour identifier le sentiment
du document est appelée analyse de sentiment basée sur la fonctionnalité. Dans cette
approche, une opinion positive ou négative est identifiée à partir des caractéristiques
déjà extraites. Dans certaines, l’analyse de sentiments au niveau des fonctionnalités
aide beaucoup à extraire les informations de polarité pour une fonctionnalité ou un
attribut particulier d'un produit.
1.3 Les défis de l'analyse des sentiments
L'analyse des sentiments concerne principalement le traitement des avis, les
commentaires sur différentes personnes et leur traitement pour en obtenir des
informations significatives [5]. Différents facteurs affectent le processus de SA et
doivent être traités correctement pour obtenir le rapport final de classification ou de
regroupement. Quelques-uns de ces défis sont abordés ci-dessous :
1.3.1 Résolution de coréférence :
Ce problème se réfère principalement à savoir ce qu'indique un pronom ou un
proverbe? » Par exemple, dans la phrase Après avoir regardé le film, nous sommes
partis manger; c'était bien. » À quoi se réfère le mot «c'était »; que ce soit le film ou
la nourriture? Ainsi, lorsque l'analyse du film est en cours, si la phrase concerne le film
ou la nourriture? C'est une préoccupation pour l'analyste. Ce type de problème se
produit principalement dans le cas d'une SA orientée aspect.
1.3.2 Association avec une période :
le moment de la collecte d'avis est une question importante dans le cas de l'AS. Le
même utilisateur ou groupe d'utilisateurs peut donner une réponse positive pour un
produit à un moment donné, et il peut y avoir un cas où il peut donner une réponse
négative. C'est donc un défi pour l'analyseur de sentiment à un autre moment. Ce type
de problème survient principalement dans la SA comparative.
1.3.3 Gestion du sarcasme :
L'utilisation de mots qui signifient le contraire de ce qu'ils informent sont surtout
connus comme des mots de sarcasme. Par exemple, la phrase « Quel bon batteur il
est, il marque zéro dans toutes les autres manches.» Dans ce cas, le mot positif « bon»
a un sens négatif. Ces phrases sont difficiles à trouver et par conséquent, elles
affectent l'analyse du sentiment.
1.3.4 Indépendance de domaine :
Dans le SA, les mots sont principalement utilisés comme fonction d'analyse. Mais,
le sens des mots n'est pas fixé de bout en bout. Il y a peu de mots dont la signification
change d'un domaine à l'autre. En dehors de cela, il existe des mots qui ont une
signification opposée dans différentes situations connues sous le nom de contronyme.
Ainsi, il est difficile de connaître le contexte pour lequel le mot est utilisé, car il affecte
l'analyse du texte et finalement le résultat.
1.3.5 Négations :
Les mots négatifs présents dans un texte peuvent totalement changer le sens de
la phrase dans laquelle il est présent. Ainsi, lors de l'analyse des critiques, ces mots
doivent être pris en compte. Par exemple, les phrases « Ceci est un bon livre. » Et « Ce
n'est pas un bon livre. » Ont une signification opposée, mais lorsque l'analyse est
effectuée en utilisant un seul mot à la fois, le résultat peut être différent. Pour gérer
ce type de situations, une analyse en n-gramme est préférable.
1.3.6 Mots orthographiques :
les gens utilisent des mots orthographiques pour exprimer leur excitation, leur
bonheur, par exemple: le mot Sooo, Sweeettt, Haappy ou s'ils sont pressés, ils
insistent sur les mots par exemple : comeeeee, fassssssst , waittttnggg…ect
1.3.7 Manière d’exprimer son sentiment :
les gens n’expriment pas toujours leurs sentiments de la même manière. Le
sentiment de chaque individu est différent la façon de penser, la manière d'exprimer
varie d'une personne à l'autre.
1.3.8 Asymétrie dans la disponibilité des logiciels d'extraction d'opinion:
Le logiciel d'extraction d'opinion est très coûteux et actuellement abordable
uniquement pour les grandes organisations et le gouvernement. C’est au-delà des
attentes des citoyens ordinaires. Cela doit être accessible à tous, afin que chacun en
profite .
1.4 Conclusion
Dans ce premier chapitre, nous avons fourni les définitions et les termes utilisés
dans cette thèse. Nous avons vu dans l'ordre le processus d'analyse des sentiments,
les applications et les tâches de l'analyse des sentiments.
Dans le chapitre suivant, nous donnons un aperçu de l'apprentissage en
profondeur, de la technologie que nous adopterons dans notre travail ainsi que des
différentes approches actuelles dans l'état de l'art dans les différentes approches
de l'analyse des sentiments en mettant l'accent sur les plus importantes.
2
CHAPITRE 2 : Construction des corpus
2.1 Corpus
Le corpus est une collection de divers matériaux rassemblés selon un ensemble de
critères afin qu’il soit représentatif et balancé. Parmi les paramètres qu’il faut prendre
en considération pour qu’un corpus soit balancé, nous citons à titre d’exemple, le
genre, le domaine, la longueur, le temps et l’époque qu’il représente ainsi que le
registre du langage.
Les systèmes analyse des sentiments sont formés et évalués par les corpus. Les
données sont collectées pour créer des systèmes d'analyse des sentiments via les sites
de réseaux sociaux. Ces données sont textuelles telles que les publications et les
commentaires sur les publications.
Un programme de facepage va interagir avec les sites Web de la même manière
qu'un navigateur Web mais au lieu d'afficher les données desservies par le site Web à
l'écran, il enregistre les données.
Les Corpus sont des sources importantes de données dont le data scientiste a
besoin dans les domaines du Learning , mais cette source est peu disponible au niveau
de la langue arabe et quasi inexistante au niveau de ses dialectes, Ce qui nous oblige
à le créer en cas de besoin de plusieurs manières, manuellement ou
automatiquement.
Ce chapitre est organisé en 2 parties, on commencera par définir les
caractéristiques de la langue Arabe puis celle de l'Arabe algérien. En deuxième partie
on parlera des méthodes de construction et d’annotation des ressources .
2.2 La langue Arabe
2.2.1 Introduction
L'arabe est une langue officielle dans 22 pays et est parlée par plus de 300 millions
de personnes.
La langue arabe est une langue riche et complexe en termes d'orthographe et de
forme, car elle contient plus de 12 millions de mots non répétés comme la langue la
plus verbeuse, et elle contient également 28 lettres
Dans cette partie, nous tenterons de commencer par un aperçu historique de celleci et un traitement mécanique de la langue arabe algérienne.
La langue arabe est issue de l'arabe classique, apparu pour la première fois dans la
péninsule arabique : berceau de la culture et de la civilisation arabes. Puis la langue
arabe s'est propagée hors de la péninsule arabique à travers plusieurs conquêtes
visant à propager l'islam.
Il se compose de trois catégories principales, à savoir : l'arabe standard, l'arabe
standard moderne et l'arabe dialectal.
• L'arabe standard est généralement utilisé dans les écrits religieux, en particulier
le Coran.
• L'arabe standard moderne est la langue officielle des pays arabes et est
principalement utilisé dans les journaux, les livres éducatifs et les publications
scientifiques.
• Le dialecte arabe utilisé par les arabophones dans la vie quotidienne. Ces trois
formes d'arabe peuvent coexister dans un même discours.
Il est important de noter que l'arabe classique est principalement utilisé dans un
contexte religieux, tandis que l'arabe moderne et le dialecte sont, à l'heure actuelle,
les plus couramment utilisés dans la vie quotidienne.
2.2.2 Arabe algérien
L'Arabe Algérien ou bien le dialecte algérien , est un groupe d'Arabe Nord-Africain,
dialectes mélangés avec différentes langues parlées en Algérie, le frottement de
plusieurs langues à travers l'histoire de la région a produit un langage complexe , des
expressions et des structures linguistiques ces langues tel que le Berbère, le Français,
l’Italien, l’Espagnol et le Turc ainsi que des autres langues romanes méditerranéennes.
Le dialecte algérien est fortement influencé particulièrement par le français où on
peut trouver la commutation de codes et emprunter .
Nous pouvons catégoriser les paroles en ce dialecte comme la suite :
Modern Standard Arabic encodé en lettres arabiques, par exemple :
«‫»عيدكم مبارك كل عام و انتم بخي‬
Modern Standard Arabic encodé en lettres romanisées, par exemple :
« ana said hada elyaoum »
Dialecte encodé en lettres arabiques, par exemple : «‫» كياك رشيك‬
Dialecte encodé en lettres romanisées, par exemple : « maysoumouch bla shour »
Langue étrangère encodée en lettres romanisées, par exemple : « je vais à l’univ »
Langue étrangère encodée en lettres arabiques, par exemple : «‫»برافوووو‬.
Arabe
Algérien
Traduction
‫فقير‬
‫الزوالي‬
Pauvres
‫أسبوع‬
‫سمانة‬
Semaine
‫فقط‬
‫نيشان‬
Juste
‫هاتف‬
‫تيليفون‬
Téléphone
‫أبدا‬
‫جامي‬
Jamais
)‫البرتقال (فاكهة‬
‫التشينة‬
Orange(Fruit)
‫حفلة‬
‫فيشطة‬
Fête
‫سعر‬
‫السومة‬
Prix
‫احدية‬
‫سبابيط‬
Chaussures
‫علب‬
‫قوابس‬
Boites
‫ابواب‬
‫بيبان‬
Portes
‫نوافد‬
‫تيقان‬
Fenêtres
Tableau 1 - Certains mots en Arabe algérien sont d'origine non arabe
2.3 Méthodes de construction de ressources
2.3.1 Emojis
Nous ne voyons pratiquement aucun commentaire sans des Emojis ces jours-ci, car
il est devenu un élément indispensable de toute correspondance, chat ou
commentaire. Il exprime largement les opinions et les sentiments des gens, ce qui le
rend important dans notre projet.
Extrait et modifié sur un ensemble d'environ 700 Emojis non répétés avec polarité
(Kralj Novak, 2015). Certains Emojis ne sont pas conformes à la morale de notre
communauté, ils ont donc été supprimés et nous avons ajouté environ 300
émoticônes supplémentaires manuellement. La figure 2 représente la liste des Emojis
et ces Polarités:
Figure 2 - Liste des Emojis et ces Polarités
2.3.2 Construction manuelle
La plupart des Corpus utilisés sont générés manuellement, c'est-à-dire qu'ils ont
été annotée par des annotateurs humains.
Il serait intéressant de réutiliser des ensembles de données prêts à l'emploi pour
entraîner un algorithme, mais parfois ces ensembles ne sont pas appropriés car ils ne
représentent pas les documents à classer. En fait, un classificateur formé sur les
critiques de films aurait des performances médiocres, voire moyennes, s'il était utilisé
pour prédire le sentiment ou d'autres types de texte.
Ainsi, ces contraintes obligent les chercheurs et designers à composer leurs propres
collections, ce qui implique une étape d'assemblage et d'annotation. Cette étape est
la plus importante dans le cas d'analyse du sentiment sur les réseaux sociaux, des
contenus produits par les internautes.
Dans ce cas, nous croyons que facebook est l'une des sources les plus importantes
pour extraire des Sentiments , en raison de son utilisation fréquente et de la
disponibilité des outils nécessaires pour .
La tâche d'annotation manuelle de groupe est coûteuse en temps et nécessite des
ressources humaines.
2.3.3 Construction automatique
La construction automatique est basée sur les notes des commentaires, car certains
sites utilisent la possibilité de commenter via un texte accompagné d'un certain
nombre d'étoiles (le nombre d'étoiles est utilisé de 1 à 5, le tableau 3 le montre).
Parmi ces sites les boutiques d'applications comme Google Play et App Store, des sites
de vente comme Amazon et eBay ou des sites de réservation d'hôtels tels que Trivago
et Booking, son utilisation nous permet de nous en passer de l’annotation humaine.
Nombre d’étoiles
Polarité
⭐⭐⭐⭐⭐
⭐⭐⭐⭐
⭐⭐⭐
Positive
Neutre
⭐⭐
⭐
Négative
Tableau 2 - Correspondance entre le nombre d’étoiles et la polarité
Le système de notation par étoiles dicte une correspondance entre le nombre
d'étoiles et le contenu du commentaire textuel. Le nombre d'étoiles reflète la polarité
de ce que l'avis de la personne porte dans son commentaire.
Nous n'avons pas utilisé ce type de construction car il est cher et ses outils ne sont
pas disponibles en abondance, même les Algériens n'utilisent pas beaucoup les sites
de classement par étoiles, donc il y aura une pénurie de données extraites.
2.4 Conclusion
Dans ce chapitre, nous avons parlé de la langue arabe, Corpus arabe et des moyens
de construire des ressources.
Dans le chapitre suivant, nous présentons un aperçu de la conception du
programme , de son architecture et de son fonctionnement.
3
CHAPITRE 3 : Conception de Logiciel DzBERT
3.1 Introduction
Dans ce chapitre, nous décrivons notre système de création des corpus annotés
d'analyse d'opinion appelé DzBERT conçu pour analyser les opinions en dialecte
algérien et en arabe.
Ce système utilise la dernière technologie dans le domaine de l'apprentissage
profond, connue sous le nom de BERT, qui a récemment réussi dans le domaine du
traitement du langage naturel. Nous l'avons adapté afin de pouvoir saisir des données
en dialecte algérien que nous avions précédemment collectées sur des plateformes
de médias sociaux telles que Facebook et Youtube.
En raison de la spécificité du dialecte algérien, nous avons choisi d'utiliser le modèle
BERT pour convertir les mots susceptibles de former des sentiments textuels et
extraire leur polarité.
3.2 Modèle DzBERT
AraBERT est considéré comme l'un des meilleurs modèles ayant obtenu de bons
résultats dans le domaine de l'analyse d'opinion en langue arabe, ce qui nous a incité
à essayer son utilisation dans notre travail basé sur le dialecte algérien.
Notre modèle DzBERT utilise la technologie d'apprentissage par transfert, qui est à
base de l'utilisation d'un modèle préformé, dans notre cas c'était AraBERT, qui a acquis
des connaissances à partir du modèle original BERT de Google.
3.3 Architecture DzBERT
Nous avons scindé ce travail en deux sections complémentaires : La première
section, où le modèle est entraîné à reconnaître le dialecte algérien, à travers les
données collectées. La deuxième section utilise le modèle formé dans le processus de
production du nouveau Corpus.
Notre architecture est comme illustrée par la figure 2:
Figure 2 - Architecture d’apprentissage de modèle DzBERT
3.3.1 La première section : Training Section
Cette section n'intervient qu'une seule fois au cours du programme, car il s'agit de
la première étape de réalisation d'un système de reconnaissance de polarité et
création de modèle d'apprentissage. Elle passe par plusieurs étapes que nous
résumons comme suit :
3.3.1.1 La collecte des données
C'est la première étape dans laquelle la plus grande quantité de données est
collectée en dialecte algérien à partir de différentes sources. Elle fait également l'objet
de contrôle de données.
Bien que nous les ayons collectées sur Internet, ces données sont brouillées et non
ordonnées et contiennent 12 colonnes (ID, Code, Publication, Commentaire ou langue
de publication, Date d'écriture, Source et polarité, ainsi que des informations sur
l'auteur en tant que nom d'utilisateur et nombre de fans…).
3.3.1.2 Module de Prétraitement
Cette étape est considérée comme l'une des étapes les plus importantes avant le
processus d’entraînement, Ce module se charge d’extraire uniquement des données
importantes. Nous mentionnons : supprimer les liens et les e-mails, les hashtags, les
tags, les lettres répétées, les symboles et les mots vides, en plus de supprimer les
signes diacritiques pour l'arabe standard.
Le processus de prétraitement comprend plusieurs étapes. Il est illustré dans la
figure 14 :
Figure 3 - Prétraitement général du texte
3.3.1.3 Module d’entraînement et Évaluation
Après le processus de prétraitement, les données que nous avons obtenues
passent par le processus de partitionnement, elles sont principalement divisées en
deux parties : la première est les données d'entraînement, qui occupent la majeure
partie des données, et nous choisissons au hasard 85 % du volume total des données
qui ont été traitées et obtenues à l'étape précédente. La deuxième section contient
les données de test, qui prend le reste des données (15 %).
La figure 4 explique les étapes pour diviser les données et apprendre de modèle.
Figure 4 - Architecture des étapes d'apprentissage et Évaluation
Ces deux sections (les données d'entraînement et de test) passent par un modèle
pré-formé appelé AraBERT, à travers lequel un nouveau processus d’apprentissage
commence sur nos données pour qu'il puisse reconnaître les mots et les phrases du
dialecte algérien et définir leur polarité. La Figure 5 montre le processus.
Figure 5 - Apprentissage par transfert pour la PNL
Lorsque nous terminons l'entraînement du modèle, nous devons l’évaluer et
connaître son état par rapport au reste des modèles connus.
Après avoir suivi ces étapes, un modèle est créé et évalué et prêt à l'utilisation .
3.3.2 La deuxième section : Program tasks Section
Cette étape consiste à tester et à utiliser le modèle que nous avons créé dans la
première section, cette section peut être divisée en trois modules. Dans le premier
module, les données sont collectées à partir de différentes sources telles que les
commentaires et les publications sur les sites de réseaux sociaux ou de sources
externes telles que les fichiers et les textes, le deuxième module est spécialisé dans le
prétraitement de ces commentaires. Le troisième module est dans lequel un ensemble
de décisions sont prises en fonction du contenu du texte à traiter.
3.3.2.1 La collecte des données et Prétraitement
La collecte de données à cette étape est complètement différente de l'assemblage
de la section précédente, où l'objectif était de collecter des corpus pour
l'entraînement, alors que maintenant nous collectons des données pour faire une
prédiction de polarité et obtenir des résultats à partir du modèle que nous avons créé.
Dans ce module, nous avons ajouté 4 façons de produire des commentaires
réparties entre manuelle et automatique.
Pour la méthode manuelle, un commentaire ou une publication est ajouté en
écrivant le texte directement sans utiliser d'outil, ou en ajoutant un fichier CSV pré-
préparé qui contient plusieurs commentaires qui partagent le sujet autour duquel le
texte ou le commentaire est écrit.
Quant à la méthode automatique, deux outils ont été utilisés pour extraire des
commentaires et des textes aléatoires des plateformes de médias sociaux (Twitter et
YouTube).
La figure 6 montre les différentes sources utilisées pour extraire les données:
Figure 6 - Architecture de préparation des données
Ces données contiennent plus de 17 692 lignes commentaires) réparties en (3026
négatives, 9557 positives et 5109 neutres) par rapport à la polarité.
La figure 7 est une capture extraite de notre fichier de données:
Figure 7 - Un extrait de notre fichier de données
3.3.2.2 Module de Filtrage
Cette partie est l'une des parties les plus importantes qui a demandé beaucoup de
temps et d'efforts, car dans cette partie, nous filtrons tous les commentaires qui ont
été nettoyés lors des étapes précédentes.
La figure 7 explique les différents processus de filtrage par lesquels passe chaque
commentaire :
Figure 7 - Architecture de filtrage des données
3.3.2.3 Module de Traitement
Cette étape est considérée comme la dernière étape avant la création du corpus
final, et est l'étape la plus importante.
La figure 8 explique les différents processus de traitement final du texte:
Figure 8 - Architecture des différentes opérations de Traitement
3.4 Conclusion
Dans ce chapitre, nous avons présenté la conception générale de notre système,
nous avons détaillé les différents modules qui le composent. Nous avons justifié les
choix des différentes techniques adoptées.
Dans le prochain chapitre, nous allons détailler le développement technique de
Logiciel DzBERT.
4
CHAPITRE 4 : Implémentation & Evaluation
4.1 Introduction
Nous aborderons dans ce chapitre les phases de réalisation et évaluation, nous
présenterons dans un premier temps l`environnement de travail, le langage de
programmation, et les outils que nous avons utilisés pour programmer le
système.Nous allons ensuite nous attarder sur chaque composant en montrant
l'implémentation des modules qui le composent ainsi que le déroulement de notre
système.Nous terminons par la phase d'évaluation des résultats obtenus, des
performances du système d'analyse d'opinions et création des corpus Dzbert en
expliquant les résultats obtenus
4.2 Langages et Bibliothèques de programmation
4.2.1Python
Logo de Python
Python est un langage de script de haut niveau, structuré et open source. Il est
multi paradigme et multiplateformes. Conçu pour être orienté objet, mais rien
n'empêche de l'utiliser dans un contexte de programmation fonctionnelle. En
offrant des outils de haut niveau et une syntaxe simple à utiliser, il permet
d'optimiser considérablement la productivité des programmeurs.
4.2.2 CSS3
Logo de css3
Le CSS pour Cascading Style Sheets, est un langage informatique utilisé sur Internet
pour la mise en forme de fichiers et de pages HTML. On le traduit en français par
feuilles de style en cascade.
Apparu dans les années 1990, le CSS se présente comme une alternative à la mise
en forme via des balises, notamment HTML. Un peu plus complexe à maîtriser, il
permet un gain de temps considérable dans la mise en forme d'une page web par
rapport à ces balises. Grâce au CSS, vous pouvez en effet appliquer des règles de mise
en forme (titrage, alignement, polices, couleurs, bordures, etc.) à plusieurs documents
simultanément.
4.2.3 environnement de programmation
4.2.3.1 PyCharm
Logo de PyCharm
PyCharm est un environnement de développement intégré utilisé pour
programmer en Python. Il permet l'analyse de code et contient un débogueur
graphique. Il permet également la gestion des tests unitaires, l'intégration de
logiciel de gestion de versions, et supporte le développement web avec Django.
Il est développé par la société tchèque JetBrains. (PyCharm - Wikipedia, 2015).
4.2.3.2 Google Colab
Logo de Google Colab
Colaboratory, souvent raccourci en "Colab", est un produit de Google Research. Colab
permet à n'importe qui d'écrire et d'exécuter le code Python de son choix par le biais
du navigateur. C'est un environnement particulièrement adapté au machine learning,
à l'analyse de données et à l'éducation.
4.2.4 Bibliothèques
4.2.4.1 NLTK
Le Natural Language Toolkit (NLTK) est une plate-forme utilisée pour créer des
programmes Python qui fonctionnent avec des données en langage humain pour les
appliquer au traitement statistique du langage naturel (NLP).
Il contient des bibliothèques de traitement de texte pour la tokenisation, l'analyse, la
classification, le stemming, le balisage et le raisonnement sémantique. Il comprend
également des démonstrations graphiques et des exemples d'ensembles de
données, ainsi qu'un livre de cuisine et un livre expliquant les principes sous-jacents
aux tâches de traitement du langage sous-jacentes prises en charge par NLTK.
4.2.4.2 Pandas
Pandas est une bibliothèque écrite pour le langage de programmation Python
permettant la manipulation et l'analyse des données. Elle propose en particulier des
structures de données et des opérations de manipulation de tableaux numériques et
de séries temporelles.
Pandas est un logiciel libre sous licence BSD2. Son nom est dérivé du terme Panel Data
(en français "données de panel", un terme d'économétrie pour les jeux de données
qui comprennent des observations sur plusieurs périodes de temps pour les mêmes
individus). Son nom est également un jeu de mots sur l'expression "Python Data
Analysis".
4.2.4.3 Keras
C'est une bibliothèque Python open source gratuite puissante et facile à utiliser
pour développer et évaluer des modèles d'apprentissage en profondeur.
4.2.4.4 Facepager
C'est un logiciel qui peut être utilisé pour gratter les commentateurs sans aucune
restriction ni limite de demande à partir de n'importe quelle plate-forme, que ce
soit facebook youtube…., il a été conçu pour récupérer des données publiques
disponibles sur YouTube, Twitter et d'autres sites Web sur la base d'API et de
webscraping. Toutes les données sont stockées dans une base de données SQLite
et peuvent être exportées au format csv.
4.3Expliquer le fonctionnement du modèle
Dans cette section, nous montrons comment nous avons réalisé les
différentes étapes du système qui ont été expliqué dans le chapitre 3.
4.3.1: Préparation des données
Nous obtenons une collection de 17 692 commentaires en arabe algérien qui
peuvent être utilisés dans les prochaines étapes.
Polarite
positive
negative
neutre
Statistique de base de données
4.3.2 Prétraitement
Téléchargement