Analyse d’opinions multi-aspects pour la recommandation fine de restaurants Isabelle Tellier1 Hamid Hammouche2 Didier Cholvy2 Jean-Baptiste Tanguy2 1 Lattice, CNRS (UMR8094), ENS Paris, Université Sorbonne Nouvelle - Paris 3 2 advanced decision, 243 B Boulevard Pereire, 75017 Paris isabelle.tellier@sorbonne-nouvelle.fr, hamid.hammouche@advanceddecision.fr didier.cholvy@advanceddecision.fr, jean-baptiste.tanguy@advanceddecision.fr Résumé marche correspond à la tâche d’extraction automatique d’opinions multi-aspects dans des textes. Dans un premier Dans cet article, nous présentons la tâche d’analyse d’opi- temps, nous nous sommes concentrés sur le domaine de nions multi-aspects et son application pour la recom- la restauration. Dans ce cadre, les différents "aspects" per- mandation dans un cadre industriel. Les textes analysés tinents pouvant apparaître dans un commentaire sont par concernent des avis en français sur des restaurants, pos- exemple l’ambiance, le cadre, la cuisine, le service, etc. tés sur Internet. Ces textes ont été manuellement anno- Chacun d’eux décrit une facette de l’expérience utilisateur tés conformément à une ontologie du domaine, pour en et peut être qualifié positivement ou négativement. extraire les différentes facettes de l’expérience utilisateur décrite et qualifier leur polarité. Plusieurs expériences Nous avons constitué un corpus original en français de ont ensuite été menées pour apprendre automatiquement commentaires et l’avons manuellement annoté en distin- à reproduire ce type d’annotation sur de nouveaux textes. guant 12 aspects distincts et en associant une polarité (au L’utilisation de deux CRF successifs ont permis d’atteindre minimum : positive, négative ou neutre) à chaque occur- les meilleurs résultats. rence de ces aspects. Nous avons ensuite utilisé ce corpus pour procéder à des expériences d’apprentissage automa- Mots Clés tique visant à reproduire cette annotation sur de nouveaux traitement automatique des langues, analyse multi-aspects, textes. Comme cela est traditionnellement fait dans le do- fouille d’opinion, CRF maine, les deux étapes d’identification des aspects et de qualification de leur polarité ont été traités séquentielle- Abstract ment : la première par un CRF, la deuxième en mettant In this paper, we present the task of multi-aspect opinion en concurrence un SVM et un nouveau CRF. Sur nos don- mining and its application for recommendation in an in- nées, c’est la deuxième approche qui s’est avérée la plus dustrial context. The texts used are comments in French performante. about restaurants, posted on the Internet. These texts have Dans la suite de l’article, nous présentons tout d’abord rapi- been manually labeled according to a domain ontology, so dement l’état de l’art du domaine. Nous décrivons ensuite as to extract the various aspects of the user experience and le corpus que nous avons constitué, puis les expériences attach a polarity to them. Several Machine Learning expe- que nous avons menées et leurs résultats. riments have been conducted to reproduce this annotation on new texts. The best results have been obtained by using 2 Etat de l’art two consecutive CRFs. L’analyse d’opinion multi-aspects est une sous-tâche bien identifiée du Traitement Automatique des Langues [4, 6, Keywords 5], elle a notamment fait l’objet d’une compétition SemE- natural language processing, multi-aspect analysis, opinion val en 2014 [9] 1 , 2015 [8] 2 et 2016 [7] 3 . Elle est tradi- mining, CRF tionnellement traitée en deux étapes distinctes : identifica- tion des "aspects" d’abord puis qualification de leur pola- 1 Introduction rité. Pour l’identification des aspects, quelques approches à L’objectif final de nos travaux est de proposer un service in- base de patrons linguistiques manuellement définis ont été dustriel de recommandation personnalisée de produits tou- testées, mais ce sont bien sûr les méthodes d’apprentissage ristiques. Ce service s’appuiera notamment sur l’analyse automatique supervisé qui ont depuis quelques années pris automatique de commentaires utilisateurs postés sur In- 1. http ://alt.qcri.org/semeval2014/task4/ ternet concernant ces produits, en y recherchant les "ex- 2. http ://alt.qcri.org/semeval2015/task12/ périences utilisateurs" fines qui y sont décrites. Cette dé- 3. http ://alt.qcri.org/semeval2016/task5/ le dessus. Comme un "aspect" est un empan de texte (géné- 4 Expériences ralement supposé contigu) pouvant couvrir plusieurs mots, Pour ces expériences, nous avons systématiquement utilisé ce sont les techniques d’annotation de séquences qui sont le protocole de la validation croisée à 5 plis. les plus adaptées, avec un codage BIO (Begin/In/Out) pour Conformément à la littérature, nous avons d’abord cher- bien en délimiter les frontières. Les CRF [12], et plus ré- ché à retrouver les "aspects", indépendamment de leur po- cemment les réseaux de neurones convolutifs [10] ont mon- larité. Nous avons pour cela utilisé des CRF, tels qu’im- tré leur efficacité en la matière. Associer une polarité à un plémentés dans Wapiti 7 . Les textes ont été traités phrase aspect est une tâche de classification simple, qui a été trai- par phrase, mais en gardant en indice leur position dans le tée notamment par de la régression logistique [3], des SVM texte. Les "patrons" (templates) permettant de générer les [1] ou des réseaux neuronaux [11]. fonctions caractéristiques les plus efficaces comprenaient la prise en compte des tokens courant, précédant et suivant, 3 Constitution du corpus annoté d’expressions régulières pour les chiffres et les monnaies, des lexiques. Les meilleurs résultats obtenus sont mesurés Lors de SemEval 2016, une partie des données propo- en micro-moyennes des précisions (P), rappels (R) et F1- sées étaient en français et portaient sur des restaurants mesures (F1) à différents niveaux de granularité : [2]. Les données d’entraînement et de test de ce cor- – pour chaque étiquette distincte : P=73,52, R=72,76, pus comprennent en tout 457 textes correspondant à 2365 F1=73,13 phrases. Notre corpus a été développé indépendamment 4 . – pour chaque "segment de texte" (commençant par un B Il contient 8381 avis issus de différentes sources. Ces avis d’un certain type, se prolongeant éventuellement par des portent sur des restaurants parisiens, ils correspondant à I de même type) : P=57,59, R=54,23, F1=55,85 46213 phrases : un avis a en moyenne 6 phrases, 75 uni- – par segment sans tenir compte de leur type : P=70,72, tés (mots, émoticônes...) dont 51 distincts. Les annotations R=66,27, F1=68,41. des deux corpus ne sont pas exactement les mêmes : Pour identifier les polarités (classification parmi les 5 – le corpus de SemEval est annoté au niveau des phrases, classes possibles), nous avons testé des SVM et, de nou- une propriété "target" permet de citer la portion de texte veau, des CRF. Nous avons d’abord réalisé des expériences correspondant à l’aspect annoté : cette propriété est par- en utilisant les segments de texte "Gold". Pour les SVM 8 , fois vide, parfois dupliquée dans les annotations. Notre les segments de textes ont été transformés en vecteurs d’in- corpus est annoté au niveau des unités linguistiques, dices comprenant divers nombres d’occurrences et propor- chaque unité ne peut donc recevoir qu’une seule éti- tions (des différentes catégories de mots lexicaux, mots ap- quette. partenant aux lexiques d’opinion, ponctuations, mots en – les étiquettes du corpus SemEval sont des paires Entité- majuscules, indices de négation). Le meilleur SVM testé Attribut (6 entités, auxquelles peuvent être attachés cer- (noyau RBF, stratégie "un contre tous", vote pondéré par tains attributs : 12 paires possibles en tout). Notre la précision du modèle associé à l’étiquette proposée) a jeu d’étiquettes, inspiré d’ontologies du domaine, est atteint P=39,56, R=43,3, F1=41,19. Ce SVM n’a pas di- aussi composé de 12 unités, mais elles ne coïncident rectement été confronté au vocabulaire des segments, ce que partiellement (certaines sont plus orientées "avis" qui explique sans doute ses faibles performances. Quant au qu’"aspect" proprement dit) : Ambiance, Astuce, Cadre, CRF, il n’a pas à réaliser de segmentation : c’est donc en Boisson, Cuisine-Générale, Nourriture, Emplacement- fait plutôt un modèle de "maximum d’entropie" qui a été Géographique, Public-Cible, Qualité-Prix, Service, Opi- appris. Les attributs utilisés se sont réduits aux tokens, aux nion générale et Recommandation. lemmes, aux POS et à l’appartenance aux lexiques d’opi- – la polarité dans SemEval peut valoir "positif", "négatif" nion. Les résultats ont alors atteint : P=R=F1=74,79, et ou "neutre", nous avons ajouté les modalités "très posi- même P=R=F1=80,83 quand on se ramène à 3 polarités tif" et "très négatif". au lieu des 5 initiales. Mis bout à bout, les meilleurs mo- Pour toutes ces raisons, les résultats de nos expériences se- dèles de deux tâches ont la performance suivante (par bloc ront difficilement comparables avec ceux de la littérature. de segments typés) : P=35,18, R=35,27, F1=35,23. Pour préparer nos expériences, des pré-traitements linguis- tiques ont été appliqués sur nos textes : segmentation, éti- 5 Conclusion quetage POS (Treetagger pour l’oral et pour l’écrit, SEM 5 , Nous avons reporté dans cet article des expériences préli- Talismane 6 ), lemmatisation (Talismane), chunking et enti- minaires visant à extraire des informations fines de com- tés nommées (SEM), analyse syntaxique (Talismane). Des mentaires en français. La tâche est difficile, nous l’avons lexiques spécialisés (termes de cuisine par exemple) ainsi évaluée de la façon la plus exigeante possible. Les CRF que des lexiques d’opinion ont également été constitués. ont pour l’instant été privilégiés, pour leur utilisation facile de ressources linguistiques externes. Nous comptons par la 4. il ne peut malheureusement pas être diffusé librement pour des rai- suite tester des alternatives neuronales à nos modèles. sons de confidentialité industrielle 5. http ://www.lattice.cnrs.fr/sites/itellier/SEM.html 7. https ://wapiti.limsi.fr/ 6. http ://redac.univ-tlse2.fr/applications/talismane.html 8. avec la librairie Python sklearn Références [10] S. Poria, E. Cambria, and A. F. Gelbukh. Aspect ex- [1] T. Álvarez López, J. Juncal-Martínez, M. Fernández- traction for opinion mining with a deep convolutio- Gavilanes, E. Costa-Montenegro, and F. J. González- nal neural network. Knowl.-Based Syst., 108 :42–49, Castaño. Gti at semeval-2016 task 5 : Svm and crf for 2016. aspect detection and unsupervised aspect-based sen- [11] D. Tang, B. Qin, and T. Liu. Aspect level sentiment timent analysis. In Proceedings of the 10th Interna- classification with deep memory network. In Procee- tional Workshop on Semantic Evaluation (SemEval- dings of the 2016 Conference on Empirical Methods 2016), pages 306–311, San Diego, California, June in Natural Language Processing, EMNLP 2016, Aus- 2016. Association for Computational Linguistics. tin, Texas, USA, November 1-4, 2016, pages 214–224, [2] M. Apidianaki, X. Tannier, and C. Richart. Data- 2016. sets for aspect-based sentiment analysis in french. In [12] Z. Toh and W. Wang. DLIREC : aspect term ex- Proceedings of the Tenth International Conference traction and term polarity classification system. In on Language Resources and Evaluation LREC 2016, Proceedings of the 8th International Workshop on Portorož, Slovenia, May 23-28, 2016., 2016. Semantic Evaluation, SemEval@COLING 2014, Du- [3] H. Hamdan. Sentisys at semeval-2016 task 5 : Opi- blin, Ireland, August 23-24, 2014., pages 235–240, nion target extraction and sentiment polarity detec- 2014. tion. In Proceedings of the 10th International Work- shop on Semantic Evaluation, SemEval@NAACL- HLT 2016, San Diego, CA, USA, June 16-17, 2016, pages 350–355, 2016. [4] M. Hu and B. Liu. Mining and summarizing customer reviews. In Proceedings of the Tenth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Seattle, Washington, USA, August 22-25, 2004, pages 168–177, 2004. [5] B. Liu. Sentiment Analysis and Opinion Mining. Syn- thesis Lectures on Human Language Technologies. Morgan & Claypool Publishers, 2012. [6] B. Pang and L. Lee. Opinion mining and sentiment analysis. Foundations and Trends in Information Re- trieval, 2(1-2) :1–135, 2007. [7] M. Pontiki, D. Galanis, H. Papageorgiou, I. An- droutsopoulos, S. Manandhar, M. Al-Smadi, M. Al- Ayyoub, Y. Zhao, B. Qin, O. D. Clercq, V. Hoste, M. Apidianaki, X. Tannier, N. V. Loukachevitch, E. Kotelnikov, N. Bel, S. M. J. Zafra, and G. Eryigit. Semeval-2016 task 5 : Aspect based sentiment analy- sis. In Proceedings of the 10th International Work- shop on Semantic Evaluation, SemEval@NAACL- HLT 2016, San Diego, CA, USA, June 16-17, 2016, pages 19–30, 2016. [8] M. Pontiki, D. Galanis, H. Papageorgiou, S. Manand- har, and I. Androutsopoulos. Semeval-2015 task 12 : Aspect based sentiment analysis. In Proceedings of the 9th International Workshop on Semantic Eva- luation, SemEval@NAACL-HLT 2015, Denver, Colo- rado, USA, June 4-5, 2015, pages 486–495, 2015. [9] M. Pontiki, D. Galanis, J. Pavlopoulos, H. Papa- georgiou, I. Androutsopoulos, and S. Manandhar. Semeval-2014 task 4 : Aspect based sentiment analy- sis. In Proceedings of the 8th International Workshop on Semantic Evaluation, SemEval@COLING 2014, Dublin, Ireland, August 23-24, 2014., pages 27–35, 2014.