Twitto feels
ERP de capture de tweets et valorisation des sentiments dans le cadre de la démarche métier
Twitter
Réseau social de micro-messaging.
645,700,00 utilisateurs actifs.
58,000,00 de tweets par jours.
645,700,00 utilisateurs actifs.
58,000,00 de tweets par jours.
Tweets
-
Des statuts d'une longueur maximale de 140 caractères
-
Encodés en utf-8
-
Tweets géolocalisés (ou non)
-
Mentions, retweets, hashtags
Analyse de sentiments
Qu'est-ce que c'est ?
Analyse de sentiments
Utilisations pratiques :
- Popularité d'une série TV
- Automatisation du service client
- Opinions politiques
-
Effet d'une campagne de pub
Analyse de sentiments
Comment ça marche ?
PIPELINE : 1) récupération des tweets
...
Just watched S04E02 of Game Of Thrones
lol cet épizod é tro bi1, tavu @khaleesi
Just watched S04E02 of Game Of Thrones
lol cet épizod é tro bi1, tavu @khaleesi
w€sh cÉtÉ pA tr0 mal Game of tronc iér ! #GoT
C'est nul Game of Thrones, je préfère les Chtis à Las Vegas
...
Pipeline : 2) Normalisation
w€sh cÉtÉ pA tr0 mal Game of tronc iér ! #GoT
Conversion des caractères "spéciaux" :
€ → e
€ → e
Tout en minuscule :
cÉtÉ → cété
cÉtÉ → cété
Remplacement des contractions et autre argot :
cété -> c'était ; iér -> hier
PIPELINE : 2) NORMALISATION
Conversion des caractères "spéciaux" :
€ → e
€ → e
Tout en minuscule :
cÉtÉ → cété
cÉtÉ → cété
Remplacement des contractions et autre argot :
cété → c'était ; iér → hier
w€sh cÉtÉ pA tr0 mal Game of tronc iér ! #GoT
→
wesh c'était pas trop mal game of tronne hier ! #got
PIPELINE : 2) NORMALISATION
Il peut aussi être utile de faire de la lemmatisation.
(Remplacements des mots par leur forme canonique)
Exemple :
je veux → je vouloir
amis → ami
Pipeline : 3) Prédiction de la polarité
Analyse statistiques (fréquence des mots)
bad : 84% negative ~ 36% positive
crazy : 47% negative ~ 53% positive
Exploités à partir d'un corpus de 1,5 millions de tweets tagués et un model de prédiction (Naive Bayes).
En général, approche peu fiable (~40% d'erreurs dans nos essais)
En général, approche peu fiable (~40% d'erreurs dans nos essais)
PIPELINE : 3) PRÉDICTION DE LA POLARITÉ
Analyse syntaxique
Prends en compte le rôle de chaque mot dans une phrase, prends en compte la négation ("this is not bad" vs "this is bad"). Plus dur à mettre en place.
Twitto feels
-
Récupération de tweets par topics et par localisation
-
Visualisation des données sur une map
- Analyse de sentiments avec TextBlob
- Architecture REST : modularité, possibilité de récupérer les tweets pour d'autres utilisations
Démonstration
Quelques stats
Game of Thrones
Moyenne de la polarité : + 0.11
Pourcentage de tweets positifs : 55%
Déviation standard : 0.3
Technologies
-
Python
- NLTK + Textblob
Lib Python pour le traitement de langage naturel -
MongoDB
Base de données NoSQL
-
Tweepy
Wrapper Twitter
-
AngularJS
Interactions / UI
Merci pour votre attention !
Twitto feels
By Ahmed Kachkach
Twitto feels
- 1,285