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.

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
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
Tout en minuscule :
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
Tout en minuscule :
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)

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