<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Analyse d'opinions multi-aspects pour la recommandation fine de restaurants</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Isabelle Tellier</string-name>
          <email>isabelle.tellier@sorbonne-nouvelle.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hamid Hammouche</string-name>
          <email>hamid.hammouche@advanceddecision.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Didier Cholvy</string-name>
          <email>didier.cholvy@advanceddecision.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Résumé</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mots Clés</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Lattice, CNRS (UMR8094), ENS Paris, Université Sorbonne Nouvelle - Paris 3</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>advanced decision</institution>
          ,
          <addr-line>243 B Boulevard Pereire, 75017 Paris</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <fpage>306</fpage>
      <lpage>311</lpage>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Jean-Baptiste Tanguy2
In this paper, we present the task of multi-aspect opinion
mining and its application for recommendation in an
industrial context. The texts used are comments in French
about restaurants, posted on the Internet. These texts have
been manually labeled according to a domain ontology, so
as to extract the various aspects of the user experience and
attach a polarity to them. Several Machine Learning
experiments have been conducted to reproduce this annotation
on new texts. The best results have been obtained by using
two consecutive CRFs.
natural language processing, multi-aspect analysis, opinion
mining, CRF
L’objectif final de nos travaux est de proposer un service
industriel de recommandation personnalisée de produits
touristiques. Ce service s’appuiera notamment sur l’analyse
automatique de commentaires utilisateurs postés sur
Internet concernant ces produits, en y recherchant les
"expériences utilisateurs" fines qui y sont décrites. Cette
démarche correspond à la tâche d’extraction automatique
d’opinions multi-aspects dans des textes. Dans un premier
temps, nous nous sommes concentrés sur le domaine de
la restauration. Dans ce cadre, les différents "aspects"
pertinents pouvant apparaître dans un commentaire sont par
exemple l’ambiance, le cadre, la cuisine, le service, etc.
Chacun d’eux décrit une facette de l’expérience utilisateur
et peut être qualifié positivement ou négativement.
Nous avons constitué un corpus original en français de
commentaires et l’avons manuellement annoté en
distinguant 12 aspects distincts et en associant une polarité (au
minimum : positive, négative ou neutre) à chaque
occurrence de ces aspects. Nous avons ensuite utilisé ce corpus
pour procéder à des expériences d’apprentissage
automatique visant à reproduire cette annotation sur de nouveaux
textes. Comme cela est traditionnellement fait dans le
domaine, les deux étapes d’identification des aspects et de
qualification de leur polarité ont été traités
séquentiellement : la première par un CRF, la deuxième en mettant
en concurrence un SVM et un nouveau CRF. Sur nos
données, c’est la deuxième approche qui s’est avérée la plus
performante.</p>
      <p>Dans la suite de l’article, nous présentons tout d’abord
rapidement l’état de l’art du domaine. Nous décrivons ensuite
le corpus que nous avons constitué, puis les expériences
que nous avons menées et leurs résultats.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Etat de l’art</title>
      <p>
        L’analyse d’opinion multi-aspects est une sous-tâche bien
identifiée du Traitement Automatique des Langues [4, 6,
5], elle a notamment fait l’objet d’une compétition
SemEval en 2014 [9] 1, 2015 [8] 2 et 2016 [7] 3. Elle est
traditionnellement traitée en deux étapes distinctes :
identification des "aspects" d’abord puis qualification de leur
polarité. Pour l’identification des aspects, quelques approches à
base de patrons linguistiques manuellement définis ont été
testées, mais ce sont bien sûr les méthodes d’apprentissage
automatique supervisé qui ont depuis quelques années pris
1. http ://alt.qcri.org/semeval2014/task4/
2. http ://alt.qcri.org/semeval2015/task12/
3. http ://alt.qcri.org/semeval2016/task5/
le dessus. Comme un "aspect" est un empan de texte
(généralement supposé contigu) pouvant couvrir plusieurs mots,
ce sont les techniques d’annotation de séquences qui sont
les plus adaptées, avec un codage BIO (Begin/In/Out) pour
bien en délimiter les frontières. Les CRF [
        <xref ref-type="bibr" rid="ref2">12</xref>
        ], et plus
récemment les réseaux de neurones convolutifs [10] ont
montré leur efficacité en la matière. Associer une polarité à un
aspect est une tâche de classification simple, qui a été
traitée notamment par de la régression logistique [3], des SVM
[1] ou des réseaux neuronaux [
        <xref ref-type="bibr" rid="ref1">11</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Constitution du corpus annoté</title>
      <p>Lors de SemEval 2016, une partie des données
proposées étaient en français et portaient sur des restaurants
[2]. Les données d’entraînement et de test de ce
corpus comprennent en tout 457 textes correspondant à 2365
phrases. Notre corpus a été développé indépendamment 4.
Il contient 8381 avis issus de différentes sources. Ces avis
portent sur des restaurants parisiens, ils correspondant à
46213 phrases : un avis a en moyenne 6 phrases, 75
unités (mots, émoticônes...) dont 51 distincts. Les annotations
des deux corpus ne sont pas exactement les mêmes :
– le corpus de SemEval est annoté au niveau des phrases,
une propriété "target" permet de citer la portion de texte
correspondant à l’aspect annoté : cette propriété est
parfois vide, parfois dupliquée dans les annotations. Notre
corpus est annoté au niveau des unités linguistiques,
chaque unité ne peut donc recevoir qu’une seule
étiquette.
– les étiquettes du corpus SemEval sont des paires
EntitéAttribut (6 entités, auxquelles peuvent être attachés
certains attributs : 12 paires possibles en tout). Notre
jeu d’étiquettes, inspiré d’ontologies du domaine, est
aussi composé de 12 unités, mais elles ne coïncident
que partiellement (certaines sont plus orientées "avis"
qu’"aspect" proprement dit) : Ambiance, Astuce, Cadre,
Boisson, Cuisine-Générale, Nourriture,
EmplacementGéographique, Public-Cible, Qualité-Prix, Service,
Opinion générale et Recommandation.
– la polarité dans SemEval peut valoir "positif", "négatif"
ou "neutre", nous avons ajouté les modalités "très
positif" et "très négatif".</p>
      <p>Pour toutes ces raisons, les résultats de nos expériences
seront difficilement comparables avec ceux de la littérature.
Pour préparer nos expériences, des pré-traitements
linguistiques ont été appliqués sur nos textes : segmentation,
étiquetage POS (Treetagger pour l’oral et pour l’écrit, SEM 5,
Talismane 6), lemmatisation (Talismane), chunking et
entités nommées (SEM), analyse syntaxique (Talismane). Des
lexiques spécialisés (termes de cuisine par exemple) ainsi
que des lexiques d’opinion ont également été constitués.</p>
      <p>4. il ne peut malheureusement pas être diffusé librement pour des
raisons de confidentialité industrielle
5. http ://www.lattice.cnrs.fr/sites/itellier/SEM.html
6. http ://redac.univ-tlse2.fr/applications/talismane.html
Pour ces expériences, nous avons systématiquement utilisé
le protocole de la validation croisée à 5 plis.</p>
      <p>Conformément à la littérature, nous avons d’abord
cherché à retrouver les "aspects", indépendamment de leur
polarité. Nous avons pour cela utilisé des CRF, tels
qu’implémentés dans Wapiti 7. Les textes ont été traités phrase
par phrase, mais en gardant en indice leur position dans le
texte. Les "patrons" (templates) permettant de générer les
fonctions caractéristiques les plus efficaces comprenaient
la prise en compte des tokens courant, précédant et suivant,
d’expressions régulières pour les chiffres et les monnaies,
des lexiques. Les meilleurs résultats obtenus sont mesurés
en micro-moyennes des précisions (P), rappels (R) et
F1mesures (F1) à différents niveaux de granularité :
– pour chaque étiquette distincte : P=73,52, R=72,76,</p>
      <p>F1=73,13
– pour chaque "segment de texte" (commençant par un B
d’un certain type, se prolongeant éventuellement par des
I de même type) : P=57,59, R=54,23, F1=55,85
– par segment sans tenir compte de leur type : P=70,72,</p>
      <p>R=66,27, F1=68,41.</p>
      <p>Pour identifier les polarités (classification parmi les 5
classes possibles), nous avons testé des SVM et, de
nouveau, des CRF. Nous avons d’abord réalisé des expériences
en utilisant les segments de texte "Gold". Pour les SVM 8,
les segments de textes ont été transformés en vecteurs
d’indices comprenant divers nombres d’occurrences et
proportions (des différentes catégories de mots lexicaux, mots
appartenant aux lexiques d’opinion, ponctuations, mots en
majuscules, indices de négation). Le meilleur SVM testé
(noyau RBF, stratégie "un contre tous", vote pondéré par
la précision du modèle associé à l’étiquette proposée) a
atteint P=39,56, R=43,3, F1=41,19. Ce SVM n’a pas
directement été confronté au vocabulaire des segments, ce
qui explique sans doute ses faibles performances. Quant au
CRF, il n’a pas à réaliser de segmentation : c’est donc en
fait plutôt un modèle de "maximum d’entropie" qui a été
appris. Les attributs utilisés se sont réduits aux tokens, aux
lemmes, aux POS et à l’appartenance aux lexiques
d’opinion. Les résultats ont alors atteint : P=R=F1=74,79, et
même P=R=F1=80,83 quand on se ramène à 3 polarités
au lieu des 5 initiales. Mis bout à bout, les meilleurs
modèles de deux tâches ont la performance suivante (par bloc
de segments typés) : P=35,18, R=35,27, F1=35,23.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>Nous avons reporté dans cet article des expériences
préliminaires visant à extraire des informations fines de
commentaires en français. La tâche est difficile, nous l’avons
évaluée de la façon la plus exigeante possible. Les CRF
ont pour l’instant été privilégiés, pour leur utilisation facile
de ressources linguistiques externes. Nous comptons par la
suite tester des alternatives neuronales à nos modèles.
7. https ://wapiti.limsi.fr/
8. avec la librairie Python sklearn
[10] S. Poria, E. Cambria, and A. F. Gelbukh. Aspect
extraction for opinion mining with a deep
convolutional neural network. Knowl.-Based Syst., 108 :42–49,
2016.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Tang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Qin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Liu</surname>
          </string-name>
          .
          <article-title>Aspect level sentiment classification with deep memory network</article-title>
          .
          <source>In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, EMNLP</source>
          <year>2016</year>
          , Austin, Texas, USA, November 1-
          <issue>4</issue>
          ,
          <year>2016</year>
          , pages
          <fpage>214</fpage>
          -
          <lpage>224</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Toh</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>DLIREC : aspect term extraction and term polarity classification system</article-title>
          .
          <source>In Proceedings of the 8th International Workshop on Semantic Evaluation, SemEval@COLING</source>
          <year>2014</year>
          , Dublin, Ireland,
          <source>August 23-24</source>
          ,
          <year>2014</year>
          ., pages
          <fpage>235</fpage>
          -
          <lpage>240</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>