lundi 5 septembre 2016

Twitter Profiling

Introduction : Après la collecte de plus de 5 milions  de profils d'utilisateurs Twitter. Je vais vous exposer dans cet article une approche d'analyse de ces profils par cartographies thématiques.

L'approche


Sur Twitter il est difficile de savoir qui est qui, car c'est plus un média qu'un réseau social. Les membres ont peu d'espace pour se décrire, et il le font peu. Finalement ce qui défini le mieux un compte Twitter, et son utilisateur, c'est sa liste d'abonnement, c'est à dire les comptes qu'il suit (follow dans la jargon Twitter).
On peut donc utiliser l'adage "Dis moi ce que tu lis, je te dirais qui tu es". Cette approche a l'avantage de pouvoir analyser les profils même s'ils ne tweettent pas ou  très peu. C'est important car sur Twitter "90% des messages sont générés par 10% des utilisateurs".
Cependant, pris comme telle, cette approche est difficilement automatisable, car il faut encore comprendre le sens de ces abonnements. J'ai donc décidé de simplifier l'approche comme suit : "des personnes qui suivent a peu près les mêmes comptes, se ressemblent certainement."
Cette approche là est automatisable, et on peut s'en servir pour créer, algorithmiquement, des cartes. Ces cartes n'ont rien de géographique, elles sont topologiques, cela veut dire qu'elles reflètent les similarités d'abonnements entre utilisateurs. Elles forment naturellement des thématiques. Les utilisateurs qui ont des listes de lectures similaires se trouveront dans les mêmes zones de la carte.
Voici un exemple d'une telle carte : chaque point est un utilisateur de Twitter

Le résultat ("ok, et on en fait quoi de cette carte?")


Il ne reste alors plus qu'a identifier les thématiques de chaque zones. Cela peut se faire par 2 moyens complémentaires.
  • L'échantillonnage : en prenant des échantillons de chaque zone et en les analysant manuellement. Dans la mesure où ces zones sont normalement assez homogène, cette opération peut être bien plus rapide qu'on l'imagine.
    Voici un échantillonnage de profils pris dans une même zone :
     
     
      
    On voit sans peine que dans cette zone sont regroupés les "geek"...
  • Le filtrage par hashtag : certains hashtag (c'est à dire des mot-clés qui indiquent le thème d'une discussion) sont des indicateurs plus ou moins évidents des typologies des groupes qui les utilisent. On peut alors uniquement afficher des utilisateurs s'ils ont utilisés un hashtag donnés. Ainsi on peut identifier de manière très rapide les typologies de ces zones.
    Voici 3 exemples  de hashtag (typés adolescents) ainsi que les zones de la carte où ils se situent: 
    • "#NoControlDay" : il s'agit d'une chanson d'un groupe pour adolescent ("One direction")
    • "#getBeautyParis" : c'est un salon de beauté et de promotion de youtubeuses (jeunes filles qui font des vidéos de conseils beauté sur le site de vidéos Youtube).
    • "Projet X" : Il s'agit d'un film d'adolescents (une comédie sur une soirée qui dérape)
On constate que ces zones sont des zones légèrements différentes mais sont toutes dans la même région, cela nous permet d'identifier globalement une zone "ado".
On peut noter que la zone "Geek" (identifiée précédemment) reste vide car ils n'ont pas tweeté sur ces hashtags, ce qui est totalement cohérent.

Pour visualiser cela j'ai fait une gif animée qui superpose les 3 images précédentes :

Voici une vue globale de la carte (sans sélection de hashtag):

On y voit un peu toutes les populations de twitter ainsi que leur proportions relatives. Il est a noter que même si je n'ai pas fait de sélection de hashtag il s'agit quand même de profils de gens qui twittent sur les "trending topics" (voir la méthodologie de collecte des données). Cela explique la grande prévalence du groupe "ado", et "actu". Il y a deux groupes "politique" car il s'agit de bords politiques différents.

Conclusion

Cet outil de collecte de tweet et de cartographie permet donc d'analyser des hashtags et surtout leur utilisateurs! Le tout fonctionne en live, car le modèle utilisé (un réseau de neurones) est très rapide. Il permet donc de faire des actions automatisées dans un délais inférieur à 3 secondes après l'émission d'un tweet. On peut donc réagir à chaud, massivement/automatiquement, et de manière ciblée !
Je détaillerai cette approche et ses effets dans un article suivant...