[Tutoriel] Récupérer, visualiser & exploiter ses données Twitter (par Pegasus Data Project)

L’excellent site Pegasus Data Project, vient de mettre un ligne un très bon tutoriel, pour exploiter son jeu de données personnel de twitter.

Les articles sont rédigés par  que j’ai réunit ici en un seul et unique article.

Vous pouvez également les consulter à la source

Le contenu est sous licence Creative Commons BY.

[hr]

Après avoir eu “gratuitement” à disposition d’abord quelques méga-octets il y a une vingtaine d’années, pour des pages internet ou des adresses emails, devenus aujourd’hui des dizaines de giga-octets, les utilisateurs d’Internet en sont venus à s’interroger sur l’utilisation de leurs données, et sur les moyens à disposition pour les récupérer.

Sans évoquer ici l’utilisation faite de données privées par des tiers, nous développons tout d’abord la problématique de la libération des données, puis présentons dans un second article le cas particulier de Twitter, de l’outil qu’ils mettent à disposition pour exploiter ses propres données, et des pistes pour aller plus loin.

twitterdataexport

L’intérêt d’être en possession de ses données, …et de pouvoir les parcourir

Aujourd’hui, la majeure partie de la correspondance de chacun existe sur des supports informatiques, en ligne comme sur son propre ordinateur. La conservation de l’accessibilité à ces données sur le long terme est un problème complexe, auquel les gens sont très peu préparés, et qui régulièrement fait des ravages parmi les utilisateurs, via des formats de documents qui ne sont plus reconnus, des disquettes démagnétisées, des disques devenus illisibles ou des « crashs » de disque dur.

Récemment, le stockage de données en ligne par des tiers (Google, Dropbox, Apple, etc.) a semblé répondre à cette préoccupation, mais en nous contraignant à devoir faire confiance à des entreprises dont le fond de commerce est au moins partiellement l’exploitation de ces données (« Si c’est gratuit, c’est que vous êtes le produit. »). Sans parler de la transparence très relative – voire absente – sur les conditions de stockage et d’utilisation de nos données.

À ce propos, le Front de Libération des Données donne d’excellentes recommandations lors de l’inscription à un service en ligne. Rapidement :

  1. Les données doivent être exportables dans un format ouvert.
  2. L’exportation ne doit rien coûter.
  3. L’exportation ne doit pas prendre longtemps.

[hr_invisible]

Enjeux

Pour l’utilisateur, l’intérêt de la récupération de ses données est de pouvoir prendre connaissance de l’information complète qu’a en sa possession le propriétaire du site à son propos. Il s’agit également de conserver une archive de ses écrits, images, et plus généralement pérégrinations sur Internet. Les tweets, emails, photos ou statuts Facebook fournissent un aperçu d’une époque de sa vie, et en sont parfois la seule trace. La récupération de ces archives est d’autant plus importante dans le cas où l’on décide de supprimer un compte ou des comptes de services en ligne.

Pour l’entreprise propriétaire du site, il est primordial d’avoir une politique d’ouverture des données pour convaincre de sa volonté de ne pas rendre prisonniers ses utilisateurs, mais au contraire de leur laisser une (relative) liberté de choix. Cette attitude faussement innocente a par exemple souvent avantagé Google par rapport à la concurrence, en misant sur le capital sympathie.

[hr_invisible]

Comment les obtenir ?

twitterdata

Des (dizaines ? centaines ? de) milliers d’entreprises sont concernées par la gestion de données privées, et prennent à différents degrés de sérieux la problématique de leur mise à disposition. Parmi les premières impliquées, Google a rapidement permis d’utiliser sa messagerie électronique en ligne Gmail dans d’autres logiciels de messagerie (via des protocoles POP ou IMAP), ce que Microsoft s’est très longtemps refusé à faire avec son service concurrent Hotmail. Puis, avec l’apparition de dizaines de nouveaux produits, Google a mis en ligne une interface permettant à ses clients de superviser le plus gros de leurs archives : Google Takeout.

Autre grand gourmand en terme de données personnelles, Facebook a développé en 2010 uneoption permettant à chacun de récupérer une partie de ses données, c’est-à-dire (à fin 2011, date de mon départ du site) :

  • le contenu de son wall (avec les commentaires de visiteurs),
  • photos et vidéos (très compressées, avec les commentaires),
  • la liste de ses amis,
  • la liste des événements auxquels on a pris part,
  • les messages privés.

Twitter, qui nous intéresse dans la deuxième partie de l’article, s’est retrouvé confronté à la même problématique, et l’a réglé à travers un projet réalisé dans le cadre d’une formation à l’interne. En effet, en limitant la possibilité d’exploration à 3200 de ses propres tweets, les utilisateurs n’ont longtemps plus eu accès aux tweets des années précédentes. Depuis décembre 2012, et sous certaines conditions, ça n’est plus le cas.

[hr_invisible]

Alors, comment on fait dans le cas de Twitter ?

Dans un premier temps réservé aux utilisateurs en langue anglaise, l’option de téléchargement de son archive personnelle est disponible en français depuis deux semaines au moment de la rédaction de cet article, et apparaît progressivement sur les comptes des utilisateurs.

2013-03-24-00-23-52

Dans les paramètres, sous l’onglet « Compte », descendre tout en bas de la page, et cliquer sur « Demander votre archive ». Un email arrive rapidement (une affaire de minutes), avec un lien vers l’archive :

2013-03-24-00-31-06

[hr_invisible]

Que reçoit-on de Twitter ? À quel format ?

Une fois dézippée, l’archive apparaît sous la forme d’un dossier, dans lequel deux éléments nous intéressent. En cliquant sur le fichier « index.html », votre navigateur va s’ouvrir et afficher tous vos tweets classés par mois et dans une interface dynamique et rapide. Il est possible de faire des recherches par mot-clé, de retrouver le tweet original en ligne, ou encore de connaître la date à laquelle le compte a été créé. Sur la droite de l’écran, on remarque une description très superficielle de la distribution des tweets durant l’utilisation du compte. Malheureusement, vous ne retrouverez dans cette archive ni vos favoris, ni vos messages privés.

mars2010

Le second élément intéressant est plus discret, il se cache dans les dossiers « data -> js -> tweets ». Là au fond, vous retrouvez vos tweets, ainsi que d’autres informations qui nous intéresserons dans la partie tutoriel …

[hr_invisible]

Visualisations et exploitation des données

Voir également l’article de Martin Grandjean pour Facebook (version anglaise / version française).

Après avoir récupéré vos données tirées de Twitter (cela peut demander un certain temps avant de les recevoir, la première fois), nous vous proposons maintenant de les mettre en valeur, soit de les exploiter et découvrir ainsi quelles sont vos habitudes d’utilisation. Ce post consiste en de nombreuses illustrations basées sur les données personnelles de l’auteur (@yrochat). Un script contient les commandes utilisées pour cet article vous permettant de produire ces analyses sur vos propres données avec l’aide du logiciel libre R.

Nous vous invitons à publier vos propres résultats sur votre blog, tumblr, etc., et à nous en informer via les commentaires de cet article. Nous sommes très curieux de découvrir si ceux-ci diffèrent de ce qui est publié ci-dessous, ou s’en approchent.

Les points qui suivent reprennent l’ordre dans lequel le code est structuré. Tous les résultats (et de nombreux autres) sont obtenus grâce à celui-ci. Nous accueillons très volontiers vos feedbacks et rapports de bugs.

[hr_invisible]

Description de l’échantillon

L’échantillon est composé de 17’744 tweets (état au 1er mars 2013, 0h15). Distribués sur une période de 1683 jours, cela fait en moyenne environ 10.5 tweets par jour.

Retweets

On y dénombre 4219 retweets « classiques », soit un peu moins d’un tweet sur quatre. Il est possible, grâce aux méta-données de chaque tweet (pour des raisons de mise en page, ce point est développé à la fin de l’article), d’extraire les noms des utilisateurs retweetés. On en tire le diagramme en bâtons suivant :

rt_people1

Mentions

13’953 tweets, soit 78 % du total, contiennent au moins une mention. Ce sont 1101 personnes mentionnées 16277 fois (NDA désolé). Dans le cas qui nous occupe ici, on découvre une relative régularité dans l’utilisation des mentions. L’axe des ordonnées suivant une graduation logarithmique, nous supputons ici que la distribution des mentions suit une loi exponentielle. (En très résumé, ça décroit très vite).

mentions_par_tweet

Le script contient des commandes permettant d’afficher, tout comme pour les retweets, une visualisation ordonnée des personnes mentionnées en fonction du nombre d’occurrences de celles-ci.

Hashtags

L’utilisation des hashtags est un peu plus diffuse que celle des mentions. 4438 hashtags différents ont été utilisés 8584 fois. On découvre cette fois un embryon de loi de puissance sur un échantillon dont le support est limité. (En très résumé, ça décroit un peu moins vite : l’auteur aurait plus tendance à abuser de hashtags que d’abuser de mentions.)

hashtags_par_tweet

La distribution de l’utilisation des hashtags montre un comportement intéressant. Après un nombre très élevé de hashtags à usage unique, la distribution suit une loi de puissance, avant de montrer un groupe de hashtags extrêmement populaires, à l’écart.

hashtags_dist

Au lieu d’un diagramme en bâtons, nous montrons cette fois un nuage de mots (wordcloud), qui permet d’obtenir un aperçu des hashtags utilisés en mettant en évidence les plus fréquents d’entre eux. Où « science » côtoie « lol » :

wordcloud

URLs

Contrairement aux cas précédents, on ne dénombre pas beaucoup d’utilisations d’URLs dans un même tweet. Après avoir remarqué que 3237 tweets, soit 18 % du total contiennent un lien, nous nous intéressons aux sites vers lesquels ces liens redirigent, toujours grâce au système de méta-données offertes par Twitter. Oh surprise, le propriétaire de ces données utilisent régulièrement des services de raccourcissement de tweets. Et poste des photos.

sites_web

Forme

Comme chacun le sait, Twitter repose sur des messages dont le nombre de caractères est limité à 140. Ceci provoque dans notre cas un comportement amusant quand à l’utilisation optimisée de ces caractères en pratique. Tout d’abord, nous montrons la distribution du nombre de ces caractères, où la quête des 140 caractères (tout à droite) semble omni-présente.

nchar_rel

En représentant, à partir du même jeu de données, le nombre de tweets correspondant à un total de caractères donné, on remarque un maximum local aux alentours de 70 caractères et un minimum local vers 110 caractères.

nchar

Il nous a été suggéré d’étudier les tweets issus de conversations, qui pourraient expliquer ce sursaut. Comme on peut le voir dans le graphe suivant, il s’agit d’une piste intéressante, mais qui nécessiterait une analyse plus aboutie pour permettre d’arriver éventuellement à une réponse.

nchar_conversation

Temporalité

Pour terminer cette série de visuels, nous nous intéressons aux dates et heures d’envois de tweets, d’une part en tentant de déceler des tendances sur le long terme (hypothèse 1. : l’auteur essaie depuis longtemps de tweeter moins), d’autre part en tentant de déceler des habitudes dans le déroulement de sa semaine (hypothèse 2. : l’auteur live-tweet beaucoup les mercredis soirs).

On peut répondre affirmativement à l’hypothèse 1 :

tweet_month_freq

tweet_week_freq

Pour répondre à l’hypothèse 2, nous proposons quelques heat maps, permettant de visualiser les habitudes d’utilisation en fonction des heures de la journée ainsi que des jours de la semaine.

Mais tout d’abord, un diagramme en bâtons pour une première description des données.

weekdays

Une heat map consiste à construire un tableau à deux dimensions (une table de contingence) dont chaque case contient un score, et à colorier les-dites cases en fonction de l’intensité de chaque entrée. Dans notre cas, on découvre une grande quantité de tweets le mercredi soir, qui n’est probablement pas due au hasard. Tout comme d’autres observations potentielles…

heatmap_allyears1

[hr_invisible]

Conclusion

Nous espérons vous avoir donné l’envie de générer de tels graphes mais basés sur votre propre parcours. Des analyses sur quelques milliers de tweets glanés par-ci par-là nous ont montré que de nombreux autres profils d’utilisation de Twitter existent, et nous serions très curieux d’en découvrir parmi nos lecteurs, c’est pourquoi nous avons présenté ces outils dans cet article.

Et dans un futur que nous espérons proche, nous tenterons quelques visualisations plus originales (analyse de contenus, analyse des correspondances, analyse du temps écoulé entre deux tweets (NDA. en 2012, mon record entre deux tweets est de 4 jours), réseaux « sociaux », etc.).

Remerciements

Pour leurs inputs (dans l’ordre chronologique) à Quentin Bonnard, Jacques Ferrez, @neogandalf & Martin Grandjean. Quelques lignes de code et idées sont tirées du site de Gaston Sanchez (voir les commentaires dans le script).

[hr_invisible]

Annexe : les méta-données d’un tweet

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.