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

Documents pareils