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