Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Matthieu Vernier 1, Yann Mathet 1, François Rioult 1, Thierry Charnois 1, Stéphane Ferrari 1 et Dominique Legallois 2
1 GREYC – CNRS UMR 6072 2 CRISCO – CNRS FRE 2805
Université de Caen Basse- Normandie
« Classification de textes d’opinions : une approche mixte n-grammes et sémantique »
Classification de textes d’opinions : une approche mixte n-grammes et sémantique
« 1ère approche : approche n-grammes »
N-Grammes : principes
� But : Déterminer des n-grammes révélateurs d’une catégorie
� Exemple pour un corpus d’œuvres littéraires :� « une vraie catastrophe » : catégorie 0
� « roman assez moyen » : catégorie 1
� « très belle œuvre » : catégorie 2
� Découpage du corpus d’étude en catégories
� Détermination de tous les n-grammes de chaque catégorie, et calcul de leur fréquence relative : cl asse NGramCorpus
N-Grammes : principes
Comment trouver des N-Grammes discriminants d’un co rpus par rapport à un autre corpus ? La classe CorpusDiscriminator
� Comparer la fréquence relative d’un n-gramme dans u n corpus par rapport à sa fréquence relative dans l’autre corpus.
� Ex. de deux corpus A (mauvaises évaluations) et B (b onnes) :� Dans A, fréq. relative de « une vraie catastrophe » = 12/13247
� Dans B, fréq. relative de « une vraie catastrophe » = 2/17523
� Le rapport de fréq. rel. est de (12/13247) / (2/17523) = 7.93
� Ce trigramme est donc « discriminant » de A par rappo rt à B avec un poids de 7.93 (8 fois plus de chances d’apparition dans A que dans B)
� Si un n-gramme est lacunaire dans B, attribution d’ un poids « infini » (=15) s’il apparaît au moins n (=2) fois dans A.
N-Grammes : principes
Cas d’un nombre de catégories supérieur à 2 : le « merge » de corpus
� Déterminer les n-grammes discriminants d’un corpus (une catégorie) par rapport à son complémentaire (le merge d es autres catégories)
� Ex : le n-gramme « roman assez moyen » a une fréquence relative importante dans le corpus cat 1 par rapport à sa fréquence relative dans le merge des corpus cat 0 et c at 2.
� discriminatorCat[1] = new CorpusDiscriminator(ngramCat[1], NGramCorpus.merge(ngramCat[0],ngramCat[2])) ;
N-Grammes : principes
Application à la détermination de la catégorie d’un t exte
� Rappel : nous disposons à présent d’autant de Corpu sDiscriminator qu’il y a de catégories
� Découpage en n-grammes du texte analysé
� Pour chaque n-gramme, interrogation de chaque CorpusDiscriminator sur ce n-gramme. Un poids est r etourné par chacun, éventuellement nul, et ajouté au poids tota l de la catégorie
� Nous retenons la catégorie qui totalise le poids le plus important.
� L’application peut être paramétrée pour lancer le t raitement sur une plage de n-grammes, par exemple bigrammes et trigra mmes avec la plage [2,3]. Les résultats sont alors moyennés.
N-grammes : apports de la linguistique
� Apports de la linguistique :� Lemmatisation
� Synonymie
� Négation
N-grammes : apports de la linguistique
� Lemmatisation
� « la bonne idée », « les bonnes idées »� « le bon idée »
� Avantage : gain de généricité
� Inconvénient : perte de spécificité d’un n-gramme
� Amélioration envisagée :• N’utiliser les n-grammes lemmatisés qu’à défaut de la
présence du n-gramme source dans le corpus d’apprentissage
N-grammes : apports de la linguistique
� Synonymie
� « bon », « excellent », « formidable », « extraordinaire »� « bon »
� Gain de généricité� Baisse de la spécificité� Problème de la polysémie (non géré ici)� Deux tentatives :
• Automatique d’après dictionnaire des synonymes CRIS CO• Manuelle, sur un choix restreint de termes pour un corpus
donné
N-grammes : apports de la linguistique
� Traitement de la négation
� Version ambitieuse : reconstituer un n-gramme affirmatif et inverser sa « valeur » : comment faire si plus de deux catégories ?
� Version simple : ne pas traiter les n-grammes présents dans une proposition négative : difficulté de circonscrire les propositions
� En l’absence de traitement spécifique, une fenêtre de n-gramme suffisamment large permet de prendre en compte la négation, mais nécessite un très gros corpus.
Réglage de l’application « n-grammes » selon les corpus
Corpus Plage de n-grammes
Min-count for infinity
Eliminate value
Min quot.
Lemmatisation Synonymie Coefficients correcteurs
1 [1, 3] 3 1 1.5 ON ON Cat0 : 0.85 Cat1 : 1.35 Cat2 : 1
2 [2, 3] 3 2 1.5 ON ON Cat 0 : 1.15 Cat 1 : 1 Cat 2 : 1
3 [2, 3] 3 2 1.5 ON OFF Cat 0 : 1.08 Cat 1 : 1.07 Cat 2 : 0.78
4 [1, 3] 3 2 1.5 OFF ON Cat 0 : 1 Cat 1 : 1
Classification de textes d’opinions : une approche mixte n-grammes et sémantique
« 2ème approche : approche sémantique »
Classification de textes d’opinions : approche sémantique
Chaîne de traitements linguistiques
texte
ligne de matrice
Segmentation
Catégorisation Grammaticale
Recherche d’indices
Ressources évaluation
Ressources pondération
Calcul du score local de l’indice
Calcul du score à l’échelle du texte
Corpus
matrice
Classification de textes d’opinions : approche sémantique
Chaîne de traitements : plate-forme Linguastream
Enrichissement dufichier source XML :
• Tree Tagger,• Expressions régulières,• Grammaire Prolog
Classification de textes d’opinions : approche sémantique
Ressources lexicales : Lexique évaluatifs
Positif (score +1) Négatif (score –1)
Noms chef d’œuvre, réussite, merveille, …(27)
nullité, faiblesse, navet, ...(19)
Adjectifs beau, intéressant, parfait, …(90)
nul, incorrect, bâclé, ...(60)
Verbes réussir, plaire, …(24)
décevoir, frustrer, perdre son temps(20)
Adverbes magnifiquement, judicieusement, …(6)
malheureusement, hélas, …(6)
Classification de textes d’opinions : approche sémantique
Ressources lexicales : pondération des indices
Termes généraux (coef. 4) Termes partiels (coef. 2)
Corpus 1 film, roman, album, livre, spectacle, divertissement, comédie, …
personnage, histoire, scénario, acteur, dialogue, musique, décor, …
Corpus 2 jeu, titre, version, opus, … niveau, mode, son, gameplay, univers, graphisme, prise en main, …
Corpus 3 article, papier, rapport, contribution, travail, étude, recherche, …
résultats, approche, méthode, outil, application, expérience, …
Corpus 4 hypothèse non considérée sur ce corpus.
- Termes du domaine
- marques de négation (coef. -1), intensité (coef. 2) et de concession (coef. 0)
Classification de textes d’opinions : approche sémantique
calcul du score local de l’indice
Classification de textes d’opinions : approche sémantique
Calcul du score à l’échelle du texte
� Plusieurs opinions exprimées dans la plupart des textes.� Classe « neutre » = opinion neutre ou opinion mitigée ?
� Unités de texte pertinentes : introduction, conclusion, … ?� Réduire l’effet d’opinions localement contrastées
� Une ligne de matrice pour chaque texte :
� Attribution d’un score positif et d’un score négatif global pourle texte et pour chaque unité (intro, conclu, …)
Classification de textes d’opinions : approche sémantique
Classification supervisée
� Règles d’association disjonctives .� Fournit de nombreuses règles (intéressant pour le petit corpus 3)
� Concluant sur la classe
� Excluant la classe (si elle est en prémisse)
� Particularités des données DEFT : échantillonnage pour obtenir des répartitions homogènes
Résultats et comparaison des approches
Résultats obtenus