Analyse des Sentiments -cas twitter- "Opinion Detection with Machine Lerning "

Preview:

Citation preview

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIREMinistère de l’Enseignement Supérieur et de la Recherche Scientifique

Faculté des Sciences et de Technologie Département des Mathématiques et Informatique

Spécialité : Systèmes Intelligents pour l'Extraction de Connaissances (SIEC)

 

ANALYSE DES SENTIMENTS  - CAS TWITTER -

  

Présente par : Soumia Elyakoute HERMA Khadidja SAIFIA

Suivi par : M. Djelloul ZIADI M. Slimane BELLAOUAR M. Slimane OULAD NAOUI M. Abderrahmane ADJILA

Twitter peut prédire le succès des produits livrés, des filmes ou des services

Motivation

Twitter a prédit la victoire d'Obama en 2012

Motivation

Selon la presse de la chaine sportive Bein SPORT les gents qui suivent l’évènement d’EURO 2016 alerte que la violence de #Marseille commencer sur Twitter avant le 11 juin 2016 .

Motivation

Introduction

Analyse des sentiments

Travaux sur les tweets

Expérimentation

Conclusion

web Explosion des sources des données

Nécessité d’analyse des sentiments

Introduction

Avec l'avènement du web et l'explosion des sources des données tels que les sites d'avis, les blogs et les micro-blogs est apparu la nécessite d'analyser des millions des postes, des tweets ou d'avis afin de savoir ce que pensent les internautes.

• L'origine : sciences de la psychologie, la sociologie et l'anthropologie.

• l'extraction automatique de texte évaluative, qui aide à produire des résultats prédictifs.

Analyse des sentiments 

Analyse des sentiments 

Sources des Données

• Sites d’avis (Review sites )• Blogs• Micro-blogs

Twitter est un réseau social.

Il permet aux utilisateurs de publier des messages en temps réel (tweets). Statistiques :

• Plus de 645 millions utilisateurs inscrits.

• 58 millions tweets envoyés chaque jour.

Twitter

URL : se présente sous forme d’un lien, permet à

l’utilisateur de rejoindre les liens dans un tweet

Mention @ : cible un utilisateur de Twitter dans un tweet posté.

RT (ReTweet) : permet de partager un tweet d'un

utilisateur. VIA : s'utilise pour mentionner un source d'information dans

un tweet .

Hashtag # : identifie un mot-clé en question comme

important et peut en faire un sujet populaire.

Caractéristiques des tweets

Go et al

Développement d’une application twitter sentiment.

Utilisation trois types d’algorithme NB, ME et SVM.

Classification des sentiments.

Lampos et Cristianini Développement d’un outil de surveillance.

Modèles ILI (Inuenza-like Illness) .

Prédiction de résultat du grippe H1N1.

Travaux sur les tweets 

Weng et Lee

Modèle EDCoW (Event Detection with Clustering of Wavelet-based Signals) .

Détection des évènements.

Travaux sur les tweets 

• Ambiguïté de certains mots positifs ou négatifs selon les contextes.

Difficultés  de l'Analyse des Sentiments

• structures syntaxiques et sémantiques d'une phrase et l'expression de

l'opinion qu'elle véhicule.

• contexte.

• l'analyse d’une phrase par paquets de mots.

Expérimentation et Interprétation

Notre contribution

Python.

Spyder est un IDE orienté vers un usage scientifique de Python.

Les packages utilisés : CSV, re, numpy, Nltk, SKlearn

Environnement de travail

Apprentissage + Test

Training Data

Test Data

Pre-processing

Pre-processing

Feature Extractor

Feature Extractor

Features

Features

Label

MachineLearning

Algorithm

ClassifierModel

1 • Phase d’apprentissage

Expérimentation 

• Tweets étiqueté par Niek Sanders

ClasseSujet 

Positive  Neutre Négative  horsde sujet

Apple  191 581 377 164

Google  218 604 61 498

Microsoft  93 671 138 513

Twitter  68 647 78 611

Chaque entrée de ensemble de

données est structuré comme suit :

• Tweet id : identfiant du tweet.

• Tweet texte : texte du tweet.

• TweetDate : date du tweet.

• Topic : le sujet du tweet

• Sentiment : étiquette du tweet.

1. Source des données

1 • Phase d’apprentissage

Construire des dictionnaires des émoticons, abréviations, et mots

contractés

2. Prétraitement

1 • Phase d’apprentissage

Remplacer les émoticons ‘’: ‘happy’, les abréviations ‘bff: best

friend forever’, les mots contractés ‘i’m : i am’.

Supprimer les identifiants @Obama, les liens, les chiffres, les

ponctuations et les commandes (VIA, RT).

Supprimer les mots vides (stop words) (nltk) .

2. Prétraitement

Supprimer les mots non Anglais (SentiWordNet).

1 • Phase d’apprentissage

La représentation d'un document avec

le modèle booléen se présente comme

suit: d = (1, 0, 0, 0, 1, 1, 0, 0, …).

3. Extraction des descripteurs et présentation

Tandis que le modele de poderation 

TF-IDF présente le document sous

forme d = (w1, w2, w3, …, wn),

Après l’étape de prétraitement il reste les mots importants qui sont les descripteurs sous forme de sac de mots

1 • Phase d’apprentissage

=

• Naïve Bayes est une algorithme probabiliste.

• Donne la probabilité maximale donnée de la classe sachant le document.

4. l’algorithme d’apprentissage

1 • Phase d’apprentissage

l'hypothèse d'indépendance conditionnelle dit que les probabilités P(fi/c) sont

indépendants étant donne la classe c et donc peuvent être "naïvement"

multipliées comme suit :

Les calculs sont faites de logarithme afin d‘éviter les problèmes de calcul des petites valeurs

1 • Phase d’apprentissage

4. l’algorithme d’apprentissage

• 80% d’ensemble des données (4090 tweets) • l'implémentation de Naïve Bayes d'après le package sklearn :

X_vec_train est les tweets d'ensemble d'apprentissage

y_train est les sentiments (labels) d'ensemble d'apprentissage

5. Apprentissage  de l’algorithme NB

1 • Phase d’apprentissage

20% de l’ensemble des données (1023 tweets) est utilisé pour la phase de test• les mesures de performance utilisées sont la précision, le

rappel et le F-mesure:

Precision = VP/(VP + FP)

Rappele = VP/(VP + FN)

F1-mesure = 2 * Precision * Rappele/(Precision + Rappele)

2 • Phase de test

• le modèle de pondération TF-IDF : F1- mesure de 0.74 • le modèle booléen : F1- mesure de 0.68.

Modèle Précision  Rappel F1-mesure Support

Booléen 0.68  0.69  0.68  1023

TF-IDF 0.74  0.75  0.74  1023

3. résultats et interprétation

TF-IDF > Booléen

Notre modèle pourra être utilisée en invoquant la méthode prédite de la classe NBClassifier

NBClassifier.predict(test_tweet)

Utilisation du classifieur

test-tweet : contient le tweet à tester 

L’Analyse des sentiments évolue bien depuis 2002.

C’est une technique très utile pour prédire des évènements et la prise de décision.

Les deux modèle de représentation booléen et TF-IDF. La comparaison entre les deux modèles de représentation révèle que le modèle TF-IDF est plus important que celui le booléen.

ConclusionL’Analyse des sentiments est une technique automatique de détection d’opinion .

corpus des tweets Niek Sanders.

l’algorithme probabiliste Naïve Bayes.

Perspectives

Investigue d'autres méthodes de l'analyse des sentiments telles que la méthode SVM et ME.

Des aspects linguistiques de négation, type de mots (sujet, verbe, adjectifs. . . ) peuvent améliorer le processus d'analyse des sentiments.

Merci pour votre attention