Analyse de sentiments et extraction des opinions pour les sites e
Transcription
Analyse de sentiments et extraction des opinions pour les sites e
Analyse de sentiments et extraction des opinions pour les sites e-commerce : application sur la langue arabe Mohamed Ali Sghaier Houssem Abdellaoui Laboratoire LATICE, unité de Monastir Faculté des Sciences de Monastir Monastir, Tunisie [email protected] Laboratoire LATICE, unité de Monastir Faculté des Sciences de Monastir Monastir, Tunisie [email protected] Rami Ayadi Mounir Zrigui Laboratoire LATICE, unité de Monastir Faculté des Sciences de Monastir Monastir, Tunisie [email protected] Laboratoire LATICE, unité de Monastir Faculté des Sciences de Monastir Monastir, Tunisie [email protected] le grand profit qu’il pourra accorder au domaine industriel encourage les grandes sociétés du globe à s’y investir. En effet, l’analyse des sentiments est un des nouveaux défis apparu en traitement automatique des langues qui consiste à analyser les opinions des internautes à propos d’un sujet donné pour détecter son polarité (positive / négative). Résumé— Avec l’émergence du web 2.0, les internautes sont de plus en plus inviter à exprimer leurs opinions à propos de différents sujets dans des réseaux sociaux, des sites de e-commerce, des sites d’actualités, des forums, etc. Une majeur partie de ces informations, qui décrivent des sentiments devient l’objet d’études dans plusieurs domaines de recherche tel que : « La détection de opinions et l’analyse des sentiments ». En fait c’est le processus d'identification de la polarité des sentiments détenus dans les avis trouvés dans les interactions des internautes sur le web et de les classer comme positif, négatif ou neutre. Dans cet article, nous proposons l’implémentation d'un outil d'analyse des sentiments qui a pour rôle de détecter la polarité des opinions à partir des revues extraites des sites web qui se spécialisent dans le commerce électronique ou les revues des produits en langue arabe. Les résultats montrent des lacunes dans ce domaine de recherche, d’abord le manque de ressources lors de la collection des données. Deuxièmement la complexité de traitement de la langue arabe surtout les dialectes dans la phase de prétraitement. Mais finalement les résultats obtenus sont prometteurs. Notre travail s’inscrit dans cette mouvance, il vise les interactions des internautes, ces derniers peuvent toucher plusieurs domaines (arts, politique, sport, économie…). On a choisi de s’accentuer sur l’économie et plus précisément sur les revus des produits. Ce domaine est devenu un enjeu majeur pour toute entreprise désireuse de mieux comprendre ce qui plait et déplait à ses clients ainsi que pour les clients qui souhaitent comparer les produits avant de les acquérir [1]. La plupart des travaux de recherche effectués dans ce domaine ont été menés sur des langues européennes (surtout en anglais) et asiatiques (japonais et chinois). Néanmoins, très peu de travaux ont été réalisés sur le plan des langues qui sont morphologiquement riches (comme l'arabe et tchèque). On a pris le challenge de travailler sur la langue arabe. Mots-clés — Analyse de Sentiment; Opinion Mining; Revues des produits; Langue Arabe, TAL I. Tout au long de notre travail, nous essaierons de mettre l'accent sur les différents problématiques qui posent un défi à la communauté scientifique qui doit être en mesure de proposer des outils efficaces permettant de faire les traitements nécessaires pour l’extraction des opinions et l’analyse de sentiment. INTRODUCTION Depuis l'apparition de la notion de Web 2.0 et l’émergence des sites communautaires, l’internet devient le moyen le plus sophistiqué qui donne la possibilité de communiquer, de s’exprimer, à travers les réseaux sociaux, les blogs les forums … à une échelle mondiale. Une majeur partie de ces informations, dont leur taille est en pleine expansion, qui en une sorte ou autre décrivent des opinions, sont devenu l’objet de plusieurs domaines de recherche et principalement « Analyse de Sentiments » ou « Opinion Mining ». On va tout d’abord commencer par présenter la première phase « collection des données », ensuite décortiquer les différents types de taches réalisées pour le prétraitement appliqué sur les données, puis on arrive à l’étape la plus délicate qui est la classification, c'est-à-dire l’identification de la polarité des avis par rapport à un produit, les différents expérimentations faites et les résultats obtenus. Un peu récent, « Analyse des sentiment » attire l’intention de plusieurs laboratoires de recherche d’une part. D’autre part 57 II. puis ils ont traduit ce dernier en version anglaise appelé English version OCA (EVOCA) pour l’application de la tâche de classification. Contrairement à notre travail ou nous avons évité la traduction qui diminue la précision des résultats sur tout qu’il y‘a des commentaires rédigés dans des dialectes variés. TRAVAUX RELIÉS Les recherches dans ce domaine ont commencé dès l’année 2002 par Pang, Lee et Vaithyanathanc [2], qui ont travaillé sur la classification au niveau document à travers des méthodes d’apprentissage automatique (Naive Bayes, maximum entropy classification et support vector machines) appliqué sur des critiques des films en anglais. Plusieurs améliorations ont ensuite été proposées sur plusieurs langues telles que le français, allemand, russe… III. COLLECTION DES DONNÉES Notre corpus est collecté manuellement par nous-même à partir de plusieurs ressources web, à titre d’exemples reviewzat1, jawal1232, jumia3… Il est sous forme d’un ensemble de documents textes, chaque document représente un produit dont chaque produit est représenté par son type, son nom et les revues (les commentaires) sur ce dernier. On a sélectionné cinq types de produits qui forment ce corpus, les types sont Caméra, PC portable, Téléphone portable, Tablet, Télévision. Le corpus contient 250 documents, 2812 phrases et 15466 mots. Au cours des dernières années, des chercheurs ont relevé le défis de l'analyse des sentiments et détections des opinions dans les langues dites « riche morphologiquement : MRL ». En effet, une langue MRL est une langue dans laquelle les informations importantes concernant les unités syntaxiques et les relations sont exprimées au niveau du mot [3]. La langue arabe constitue une de ces langues qui a commencé à attirer un certain intérêt. Parmi les travaux qui s’y ont intéressé, on cite M. Elhawary et M. Elfeky [4] qui ont appliqué l'analyse des sentiments sur des critiques arabes pour extraire des descripteurs en utilisant un lexique de mots arabe afin d’identifier la polarité (positive, négative ou neutre) des avis. Aussi Motaz K. Saad et W. Ashour [5] ont étudié l’impact de la phase de prétraitement du texte, la racinisation ou désuffixation (stemming), normalisation de texte et la pondération des termes sur la classification des textes arabe. M. Hijjawi et Z. Bander [6] ont représenté une approche d’identification des opinions basée sur l'exploration ontologique de textes. Un lexique d’émotions et des techniques de classification supervisées été utilisé dans l’extraction des opinions et pour détecter la polarité des avis. IV. ANNOTATION DE CORPUS L'étiquetage ou l'annotation des opinions est une tâche humaine qui nécessite d'énormes efforts. Et afin de réaliser ce processus, deux évaluateurs ont travaillé sur l'annotation des revues qu’on a collecté, un premier expert d’évaluation de produits et rédaction des revues et un deuxième spécialiste dans la langue arabe (enseignant). On a observé qu'ils avaient un haut degré d'accord dans leur classification (plus de 92%). Pour les revues qu'ils ont été annotés différemment, un troisième évaluateur non spécialiste a été utilisé pour valider les choix de deux autres annotateurs pour avoir un certain degré de fiabilité d’annotation pour notre corpus. Finalement, on a obtenu un corpus qui contient 250 documents annotés comme ceci, 125 documents positifs | 125 documents négatifs. A. Ziani, Y. Tlili Guiassa et N. Azizi [7] ont proposé un système qui opère en trois phases, la première consiste à la construction et le prétraitement manuel du corpus recueillis à partir des journaux arabes algériens. La seconde phase est le choix des caractéristiques pour la représentation des commentaires. Enfin la troisième phase est la réalisation du module de classification combinant quatre classificateurs SVM avec des fonctions noyaux différents. Ils ont utilisé deux stratégies nommé un contre un et un contre tous dont les résultats ont prouvé que la première stratégie est meilleure que la deuxième avec les commentaires des journaux en langue arabe. V. LES DÉFIS A. L’utilisation des émoticônes Certaines personnes trouvent que l’utilisation des smileys dans leurs interactions dans le web est plus émotionnelle et reflète vraiment ce qu’elles sentent (La joie, la colère, le dégoût, la surprise…). Pour cela on a développé un petit convertisseur (symbole vers mot) qui fonctionne comme le montre le tableau suivant. A. Mountassir, H.Benbrahim et I.Berrada [8] ont investiguer la classification supervisée de sentiment dans un contexte arabe. Ils ont utilisé deux corpus arabes différents à plusieurs niveaux et trois classificateurs standards à savoir Naïve Bayes (NB), Support Vector Machine (SVM) et KNearst Neighbor (KNN). Les résultats obtenus montrent que NB et SVM sont efficaces et compétitifs. Néamoins, la performance de KNN dépend du corpus. Table 1: Exemples de conversions à partir d'un symbole vers un mot Émoticône Mohammed Rushdi-Saleh et M. Teresa Martín-Valdivia [9] ont appliqué les classificateurs Support Vector Machine (SVM) et Naïve Bayes (NB) pour identifier la polarité des commentaires des internautes. Les auteurs ont collecté un corpus en arabe nommé OCA (Opinion Corpus for Arabic), Symbole Commentaire Commentaire après conversion de l’icône :) ^_^ :) هاتف روعة جهاز ممتاز فاق كل ^_^ التوقعات :( الكاميرا سيئة للغاية سعيد،هاتف روعة جهاز ممتاز فاق كل مستمتع،التوقعات حزين،الكاميرا سيئة للغاية دقة الكاميرا دون المتوقع :/ ،دقة الكاميرا دون المتوقع خاب أملي :( :/ 1 2 3 58 www.reviewzat.com www.jawal123.com www.jumia.com.eg B. L’utilisation des mots allongés D’autres internautes trouvent que la répétition des caractères dans un mot exprime l’affirmation, l’accentuation… Alors on a développé un correcteur qui a pour but d’éliminer la redondance des caractères tout en gardant la signification des mots. Exemple : جميييييييل جدااااااااا جميل جدا verbaux et nominaux pour l’extraction de la racine. Le stemmer fait appel à plusieurs fichiers de données linguistiques comme une liste de tous les caractères diacritiques, caractères de ponctuation, des articles précis, et 168 stops words. C. L'utilisation de dialectes Le défi à ce niveau est que beaucoup de gens ont tendance à utiliser le dialecte de son pays pour exprimer leur opinion, ce qui rend la tâche de manipulation de données plus complexe. VII. ARCHITECTURE DU PROTOTYPE . Nous avons testé l'impact de trois types de stemmers, Arabic Stemmer, Arabic Light Stemmer et Khoja stemmer. Notre prototype possède une architecture modulaire. Ses tâches principales sont les suivantes : le collecte des revues sur Internet à partir des sites web spécialisée dans le commerce électronique, ensuite le prétraitement des données, puis la phase de racination (stemming) ou se fait la réduction des mots à leurs racines, et finalement la détection de la polarité des opinions selon le classificateur SVM soit positive soit négative. D. Commentaires qui contiennent plusieurs langues Il est également possible de trouver des commentaires en anglais, français ou espagnol mélangés avec des phrases en arabe. Exemple « i like it » من أفضل الهواتف لهذا العامou bien « ممتازmobile » ال. La figure ci-dessous représente l’architecture générale de notre prototype pour l’extraction des opinions et l’analyse de sentiments. E. Des commentaires non liés au thème Les gens tentent de faire de nombreux commentaires dans les différents sites web sur n’importe quel sujet avec n’importe quels mots qui ne portent pas un sens vis à vis d’un thème. Pour surmonter tous ces types de bruit attaché aux données, on a développé un prototype qui peut faire le traitement demandé pendant la phase de prétraitement. VI. CLASSIFICATION La classification consiste à analyser de nouvelles données et à les affecter, en fonction de leurs caractéristiques ou attributs, à telle ou telle classe prédéfinie. Le but principal de cette tâche est d’identifier les classes auxquelles appartiennent des données selon certains descripteurs [10] [11]. Dans cette section, nous présentons des détails sur les expériences que nous avons menées. On commence par le stemming qui est l'un des facteurs les plus importants qui a un impact direct sur la performance d’un système d'analyse des sentiments. C'est le processus de suppression de tous les préfixes et les suffixes d'un mot pour produire le stem ou la racine Figure 1 : l’architecture générale du système d’analyse de sentiments L'utilisation de l'Arabic Stemmer rend la détection de la polarité de ces mots une tâche difficile, car en arabe à partir d’une même racine, nous pouvons générer diverses formes de mots qui n'ont pas une signification similaire. Par exemple, le stemming des deux mots «( »رائعmerveilleux) et «»مروع (terrible) donne le mot «( »روعhorreur). Nous pouvons voir que la polarité de «( »رائعmerveilleux) est inversée par le stemming [8]. Cependant lors de l'utilisation de light stemming la tâche est devenue dépouiller un petit ensemble de préfixes et / ou suffixes tout en conservant le sens des mots. Par exemple, le mot «( »المسافرونvoyageurs) se transformer en «»مسافر (voyageur) non pas en la racine «( »سفرVoyage). VIII. EXPÉRIMENTATIONS Nous avons fait nos tests avec plusieurs types d’algorithmes de classification. On cite à titre d’exemple le Support Vector Machines (SVM), Naïve Bayes (NB), K-plus proche voisin (KPPV). Et ces derniers sont appliqués sur différent combinaison de données prétraitées. La phase de test de la performance des classificateurs appliqué sur le corpus est faite à l’aide de l’outil libre weka, en fait c’est une suite populaire de logiciels d'apprentissage automatique. Écrite en Java, développée à l'université de Waikato, Nouvelle-Zélande [13]. Pour réaliser les tests de performances, il existe plusieurs techniques, on a choisi deux parmi eux qui sont : La validation croisée et ‘ pourcentage scission’. Il est important de mentionner l’existence dans un troisième algorithme similaire à l’algorithme de l’arabic stemmer nommé ‘ arabic khoja stemmer ’, il est développé par Shereen Khoja [12] qui a pour rôle de supprimer les plus long suffixes et le préfixes. Il compare ensuite le mot restant avec des motifs 59 A. La validation croisée Table 3 : Les résultats de classification par la méthode d'évaluation ‘validation croisée’ en terme de rappel Selon J. Chiquet [14] la validation croisée est une alternative très populaire pour gérer la parcimonie des données. Il s’agit de découper le jeu de données en K groupes tirés aléatoirement qui font successivement servir d’ensemble de test. On peut alors calculer une erreur de test pour chacun des groupes et en faire la moyenne, ce qui constitue l’estimateur de l’erreur de test par validation croisée. Support Vector Machines 0,885 Naïve Bayes Corpus à l'état brut K-plus proches voisins 0,693 Corpus + light stemmer 0,705 0,902 0,857 Corpus + khoja stemmer 0,705 0,902 0,857 Corpus + normalisation 0,607 0,877 0,869 Corpus + normalisation+khoja stemmer Corpus + normalisation+light stemmer 0,578 0,898 0,873 0,578 0,898 0,873 Corpus / Classificateur Dans notre cas, le nombre K est égal à 10, c'est-à-dire l’ensemble d’apprentissage est coupé en 10 groupes. L’algorithme va effectuer un apprentissage dix fois sur neuf parties et le modèle sera évalué sur la dixième restante. Les dix évaluations sont alors combinées. Les tables et figures ci-dessous présentent les résultats obtenus par rapport aux différents classificateurs en termes de précision et rappel avec la méthode d'estimation de fiabilité “ validation croisée ou en anglais cross-validation”. En terme de rappel 0,828 En terme de precision Table 2 : Les résultats de classification par la méthode d'évaluation ‘validation croisée’ en terme de précision Support Vector Machines 0,886 Naïve Bayes Corpus à l'état brut K-plus proches voisins 0,712 Corpus + light stemmer 0,76 0,904 0,861 Corpus + khoja stemmer 0,76 0,904 0,861 Corpus + normalisation 0,618 0,885 0,871 Corpus + normalisation+khoja stemmer Corpus + normalisation+light stemmer 0,58 0,912 0,876 0,58 0,912 0,876 Corpus / Classificateur 0,834 Figure 3 : Les résultats de classification par la méthode d'évaluation ‘validation croisée’ en terme de rappel D’après les figures 2 et 3, on conclut qu’il y’a un classificateur qui a donné des performances moins bonnes que les deux autres, il est le classificateur k-plus proches voisins (KPPV). Contrairement aux résultats obtenus par le Naïve Bayes (NB) et le Support Vector Machines (SVM) qui sont plus ou moins proches. Sauf que le SVM est le plus efficace avec les différents types de combinaison de données, on a atteint 0,904 de précision et 0,902 de rappel avec la méthode d’estimation de fiabilité “validation croisée”. Figure 2 : Les résultats de classification par la méthode d'évaluation ‘validation croisée’ en terme de précision 60 B. Pourcentage scission Table 5 : Les résultats de classification par apprentissage en terme de rappel Dans cette méthode, le corpus est divisé au hasard en deux ensembles de données disjoints. Le premier ensemble c’est l’ensemble qu’à partir de lui le système va extraire les connaissances, il est appelé l'ensemble d’apprentissage (training sets). Le deuxième ensemble est composé des données à classifier appelée l’ensemble de test (test sets). K-plus proches voisins 0,776 Support Vector Machines 0,939 0,816 Corpus + light stemmer 0,735 0,939 0,878 Corpus + khoja stemmer 0,735 0,939 0,878 Corpus + normalisation 0,714 0,898 0,918 Corpus + normalisation+khoja stemmer Corpus + normalisation+light stemmer 0,653 0,918 0,939 0,653 0,918 0,939 Corpus / Classificateur Corpus à l'état brute Dans notre cas, 80% des données sont pour l’ensemble d’apprentissage et le reste 20% c’est pour l’ensemble de teste. Les figures qui suivent présentent les résultats obtenus par rapport aux différents classificateurs en termes de précision et rappel. En terme de rappel En terme de precision Naïve Bayes Table 4 : Les résultats de classification par apprentissage en termes de précision K-plus proches voisins 0,803 Support Vector Machines 0,946 0,822 Corpus + light stemmer 0,799 0,946 0,881 Corpus + khoja stemmer 0,799 0,946 0,881 Corpus + normalisation 0,788 0,899 0,922 Corpus + normalisation+khoja stemmer Corpus + normalisation+light stemmer 0,801 0,93 0,946 0,801 0,93 0,946 Corpus / Classificateur Corpus à l'état brute Naïve Bayes Figure 5 : Les résultats de classification par apprentissage en terme de rappel Idem pour ce qui concerne le classificateur KPPV lors de changement de méthode d’évaluation « pourcentage scission », on trouve qu’il n’a pas arrivé à donner des performances proches que les deux autres classificateurs. Cette fois le SVM a gagné le challenge que sur le corpus a l’état brute, le corpus avec le light stemmer et le corpus avec le khoja stemmer par contre le NB est plus efficace avec les combinaisons de données corpus plus normalisation, corpus plus normalisation plus khoja stemmer et et corpus plus normalisation plus light stemmer. On a atteint 0,946 de précision et 0,939 de rappel. Figure 4 : Les résultats de classification par apprentissage en termes de précision 61 IX. CONCLUSION [4] M. Elhawary et M. Elfeky, «Mining Arabic Business Reviews,» chez IEEE International Conference on Data Mining Workshops, Mountain View, CA, USA, 2010. [5] M. Khaled Saad et W. Ashour, «Arabic Text Classification Using Decision Trees,» pp. 25-26, Novembre 2010. [6] M. Hijjawi et Z. Bandar, «An Arabic Stemming Approach using Machine Learning with Arabic Dialogue System,» ICGST AIML-11 Conference, 12-14 April 2011. [7] A. Ziani, Y. Tlili Guiassa et N. Azizi, «Détection de polarité d’opinion dans les forums en langues arabe par fusion de plusieurs SVMs,» TALN-RÉCITAL, 17-21 Juin 2013. [8] A. Mountassir, H. Benbrahim et I. Berrada, «A crossstudy of Sentiment Classification on Arabic corpora,» Research and Development in Intelligent Systems XXIX. [9] M. Rushdi-Saleh, M. T. Martín-Valdivia, L. A. UreñaLópez et J. M. Perea-Ortega, «Bilingual Experiments with an Arabic-English Corpus for Opinion Mining,» Proceedings of Recent Advances in Natural Language Processing, p. 740–745, 12-14 September 2011. [10] R. Ayadi, M. Maraoui et M. Zrigui, «Intertextual distance for Arabic texts classification,» ICITST, pp. 1-6, 2009. [11] M. Zrigui, R. Ayadi, M. Mars et M. Maraoui, «Arabic Text Classification Framework Based on Latent Dirichlet Allocation,» Journal of Computing and Information Technology - CIT 20, vol. 2, p. 125–140, 2012. [12] S. Khoja, «Shereen Khoja - Research,» 15 mars 2002. [En ligne]. Available: http://zeus.cs.pacificu.edu/shereen/research.htm. [Accès le 12 Aout 2014]. [13] Machine Learning Group at the University of Waikato, «Weka 3: Data Mining Software in Java,» 4 Janvier 2013. [En ligne]. Available: http://www.cs.waikato.ac.nz/ml/weka/index.html. [Accès le 6 Juillet 2014]. [14] J. Chiquet, «Validation croisée pour le choix de paramère de méhodes,» Module MPR – option modélisation, 2009. L’application de trois algorithmes de classification Naïve Bayes (NB), Support Vector Machines (SVM) et K-plus proches voisins (KPPV) sur un corpus en langue arabe a montré la supériorité des deux premiers classificateurs par rapport au troisième. Les résultats obtenus montrent l’impact de la phase de prétraitement et l’application de différentes techniques de stemming par rapport à un ensemble de données (revues de produits) dans des dialectes arabes variés. L’évaluation est faite par les deux techniques « validation croisée » et « pourcentage scission », les meilleures précisions atteintes sont dans les cas suivants : L’utilisation de Naïve Bayes avec un corpus normalisé plus l’application de Khoja Stemmer ou Light Stemmer à donner 0,946 comme précision et 0,939 comme rappel. L’utilisation de Support Vector Machines soit avec le corpus à l’état brute soit avec le corpus plus l’application de Khoja Stemmer ou Light Stemmer à donner aussi 0,946 pour la précision et 0,939 pour le rappel. REMERCIEMENTS Je tiens à exprimer ma plus grande reconnaissance envers les personnes qui m’ont aidé et m'ont soutenu pour la réalisation de cet article. RÉFÉRENCES [1] D. Poirier, F. Fessant et C. Bothorel, «Approches Statistique et Linguistique Pour la Classification,» Revue des Nouvelles Technologies de l'Information RNTI-E-17, pp. 147-169, 2009. [2] P. Bo, L. Lillian et S. Vaithyanathan, «Thumbs up? Sentiment Classification using Machine Learning,» Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), vol. 10, pp. 7986, Juillet 2002. [3] R. Ayadi, M. Maraoui et M. Zrigui, «Latent Topic Model for Indexing Arabic Documents,» International Journal of Information Retrieval Research, vol. 4, pp. 29-45, 2014. 62