1) Accéder aux données des principaux réseaux sociaux

Il est possible d'exploiter les données des réseaux sociaux (Twitter, Facebook et Instagram) par des interfaces de programmation (APIs) mises à disposition des développeurs. Au delà des facilités techniques, les récentes réglementations sur la protection de la vie privée complexifient ce paysage.

  • Twitter donne accès à différentes versions de son API. Une première version, publique et gratuite, peut être utilisée selon deux modes : "search" et "stream". Le premier permet de chercher de façon non exhaustive des tweets publiés dans les sept derniers jours, dans la limite de 450 requêtes par fenêtre de quinze minutes. Quant au second, il permet de récupérer des tweets en temps réel. Il existe également une version premium qui permet d'accéder à tous les tweets depuis 2006 et une version entreprise qui propose en plus un support technique dédié. Avec la version gratuite, il est possible de faire des requêtes par compte ou hashtag à l'aide de jetons d'accès et de récupérer l'ensemble des informations du tweet : contenu, auteur, date, description, géolocalisation (si présente) et nombre de chaque type d'interaction.L'API Twitter est à date l'une des plus simples d'accès et fiables d'exploitation.
  • Facebook met à disposition son graphe des relations sociales qui référence utilisateurs et interactions. Les requêtes se font aussi à l'aide d'un jeton que l'on obtient une fois le compte Facebook certifié. Malgré plusieurs expériences réussies d'exploitation de donnés Facebook, nous avons fait face à des récents changement des conditions d'utilisation : renforcement du contrôle de l'identité du compte et suppression de fonctionnalités (recherche par thème). Cela implique que le seul moyen de collecter des données sur des pages concernant un sujet est de les cibler spécifiquement en ayant obtenu l'accord de Facebook pour cette application. Il est alors possible de récupérer l'intégralité des informations des pages publiques et de leurs posts, à l'exception des informations personnelles. Pour avoir accès à celles-ci, il est nécessaire d'obtenir l'autorisation directe de l'utilisateur concerné.
  • En ce qui concerne Instagram, l'API est quasiment inaccessible depuis quelques années. Le verrou est une politique de la part d'Instagram qui demande que l'application développée ait une utilité avérée pour les utilisateurs de la plateforme. Cependant, nous avons découvert l'existence d'une URL officielle qui permet d'accéder à un top 50 des posts associés à un tag (mot-clé). Nous n'avons cependant pas accès à l'identification des utilisateurs ou au nombre de followers.

On s'aperçoit que même s'il est possible de continuer à obtenir des données, les accès sont de plus en plus limités en accord avec les récents choix politiques (RGPD).

2) Filtrer et mettre à jour les données

Une fois l'accès aux données mis en place, il faut être en mesure de restreindre le périmètre au thème que l'on souhaite analyser et donc appliquer un filtre. C'est en réalité un travail conséquent si on veut s'assurer de la pertinence du contenu que l'on analyse. Cela implique de trouver un moyen, étant donné les contraintes des APIs, de filtrer efficacement les données à collecter.

Twitter et Instagram fonctionnent essentiellement par mots clés (hashtags) et utilisateurs. Il faudra donc anticiper un temps d'analyse des données afin de cerner les thématiques et populations d'intérêt. L'absence de possibilité de faire des requêtes par sujet sur Facebook contraint à faire des requêtes en ayant une connaissance a priori des pages d'intérêt. En comparaison à Twitter et Instagram, une vision biaisée des pages d'intérêt pourra alors être source d'analyses de tendances incomplètes.

Un des intérêts des réseaux sociaux est qu'il est possible de filtrer les données en fonction du nombre d'interactions sur un thème donné. Il est alors important d'avoir des interactions à jour. En effet, lors de l'enregistrement des posts à travers les APIs, nous les récupérons à un instant donné dans le temps, et donc avec le nombre de "likes", "shares" etc… qu'ils avaient au moment de la collecte. L'API Twitter dispose également d'un mode "stream", qui permet de récupérer les tweets en temps réel, mais cela nécessite de mettre à jour continuellement le nombre d'interactions. Un moyen de contourner ce problème lorsqu'on travaille en mode "search" est de ne récupérer seulement des posts ayant un certain nombre de jours d'ancienneté (en étudiant la durée de vie moyenne d'un post sur chaque réseau). Ainsi l'essentiel des interactions qui doivent avoir lieu au moment de la collecte auront déjà eu lieu.

3) Être conscient des populations analysées

Lorsqu'on exploite les données issues de réseaux sociaux, il faut toujours être conscient de la population que l'on considère (à moins de cibler spécifiquement la population des réseaux sociaux). Se baser sur les réseaux sociaux pour une analyse implique un biais assez fort, ce qu'il faut prendre en considération lorsqu'on utilise ce type de données pour une étude qui vise la population générale. Le public varie en fonction du réseau et des sujets étudiés : on retrouve généralement une population jeune, particulièrement sur Instagram et un peu moins sur Facebook et Twitter. Les plus de 55 ans représentant moins de 10 % (source) des utilisateurs, il peut être plus difficile d'obtenir une vision exhaustive de leurs comportements. Les réseaux sociaux, en dépit de leur richesse en quantité de données, ne sont donc pas systématiquement pertinents.

4) Analyser les données

Les données des réseaux sociaux sont de deux types essentiellement : textes et images. Il est rare que l'on puisse analyser directement les textes sans les avoir au préalable nettoyés car de façon générale, les utilisateurs font peu attention à la façon dont ils écrivent. Il est ainsi possible d'identifier des structures typiques (URL, marques, comptes, groupes nominaux, emojis, …) en exploitant des expressions régulières afin de les conserver ou de les exclures selon les besoins. Cependant, si des analyses grammaticales poussées sont à anticiper, il faudra alors conserver au maximum les structures des phrases dans le texte afin de pouvoir correctement identifier la fonction grammaticale de chaque mot. Une ponctuation qui délimite les phrases est donc importante dans ce cas. La phase de nettoyage du texte associé aux posts de réseaux sociaux représente donc généralement un travail important pour une analyse pertinente.

5) Assurer la viabilité de l'analyse

Construire une application qui prend pour source les données de réseaux sociaux implique une dépendance forte aux APIs mises à disposition. Si un jour Facebook, Instagram et Twitter décident de restreindre ou de fermer complètement l'accès, l'application ne pourra plus être mise à jour, ou du moins pas sans développements supplémentaires pour s'adapter aux changements. Par exemple, le changement de l'API Facebook qui ne laisse plus la possibilité de faire des recherches par sujet peut nécessiter de nouveaux développements pour remplacer la fonctionnalité obsolète et instaurer une collecte par page sur un sujet précis. Il est également possible que les réseaux sociaux utilisés ne soient plus la source privilégiée du contenu recherché dans le futur. Dans le cadre d'un application mise en production, il est donc essentiel d'assurer un travail de veille efficace afin de pouvoir anticiper au mieux ces changements.

Exploiter l'océan de données qui circule sur les opinions et usages de la population au sein des réseaux sociaux représente une vraie opportunité : c'est une source volumineuse de données gratuite et facilement accessible. Même si actuellement il faut veiller à la représentativité et à la viabilité d'applications basées sur les réseaux sociaux, ils représentent une source privilégiée pour des études de tendances. En effet, les 15-34 ans s'informant et échangeant principalement sur les réseaux sociaux, il est intéressant de continuer à exploiter leurs données qui représenteront de plus en plus les comportements et les opinions de la population générale.

Écrit par Charlotte, édité par Mikael.