Initier l’analyse de sentiment avec Hadoop

Entre les billets de blogs, les avis en ligne et les milliards de tweets qui sont publiés chaque semaine, les médias sociaux représentent une source infinie d’avis et d’information sur les produits, les services et les événements.

L’analyse de sentiment est une nouvelle méthode permettant de transformer les publications sur les réseaux sociaux en données exploitables pour analyser des tendances, sonder l’opinion des consommateurs ou orienter des campagnes de communication.

Le client se situe au cœur de la stratégie des entreprises. C’en est fini de la publicité de masse et des campagnes de marketing génériques. A présent, les meilleurs professionnels du marketing sont ceux qui parviennent à instaurer et maintenir une relation authentique avec les clients et qui les aident à atteindre leurs objectifs. Bien entendu, avant de placer le client au centre des opérations marketing, les marques doivent d’abord apprendre à le connaitre et cerner ses attentes. Aux marques de se procurer ces informations. Mais comment ?

Avec l’explosion des plateformes Web 2.0 comme les blogs, les forums de discussion, les réseaux peer-to-peer et les multiples types de réseaux sociaux, les consommateurs ont à disposition un vecteur d’une portée et d’une influence inédites pour partager leurs expériences et faire connaître leurs avis, positifs comme négatifs, sur les marques, quel que soit le produit ou le service concerné.

La diversité et la popularité croissantes de sources riches en opinions, comme les sites de publication d’avis de consommateurs et les blogs personnels, donnent lieu à de nouvelles opportunités mais aussi à des défis inédits, maintenant que chacun peut facilement s’informer via les nouvelles technologies et s’inspirer des avis des uns et des autres.

Une réalité qui se confirme au travers de l’acte d’achat : selon une étude IFOP, 80 % des consommateurs se renseignent en ligne avant de procéder à un achat et 85% affirment qu’un avis négatif sur des blogs, des forums ou des sites de consommateurs peut les dissuader d’acheter un produit.

C’est une pratique devenue « standard » des clients habitués aux services de TripAdvisor, AirBnB, Uber ou Amazon qui leur permettent d’en savoir plus sur un service, une marque ou un produit avant d’acheter.

Qu’ils commencent tout juste à s’informer sur un produit ou qu’ils s’apprêtent à l’acheter, les consommateurs recherchent volontiers des informations et des conseils sur Twitter. Une étude menée par Twitter et Millward Brown montre que près de la moitié (49%) des femmes utilisatrices de Twitter reconnaissent avoir déjà été influencées par des contenus publiés sur Twitter au moment d’acheter, ce qui éclaire sur l’utilité de la plateforme pour les marques.

L’intérêt soudain pour la recherche d’avis et l’analyse de sentiment, qui se fonde sur le traitement informatique des opinions, sentiments et de la subjectivité dans les textes, répond en partie à l’engouement pour les nouveaux systèmes qui considèrent les avis directement comme des objets de première classe.

Les avis, les émotions et les attitudes contenus dans des sources comme les réseaux sociaux, les blogs, les critiques de produits en ligne et les interactions avec le support client sont particulièrement utiles : ce sont des données non structurées que les entreprises peuvent « affiner » pour en extraire des informations utiles pour la gestion de leur image de marque, leur activité, etc.

Apache Hadoop propose une méthode fiable en quelques étapes d’analyse de sentiment, qui permet de comprendre le ressenti du public vis-à-vis de quelque chose et de suivre l’évolution des avis au fil du temps.
Voyons comment procéder avec une discussion sur Twitter.

1) Collecte des données

Apache Flume représente une des méthodes les plus simples pour collecter des données : c’est un service distribué, fiable et disponible, pour la collecte, l’agrégation et les transferts de gros volumes de données de streaming concernant un événement. Son architecture simple et flexible s’appuie sur des flux de données. Son fonctionnement robuste à tolérance de pannes inclut des mécanismes réglables de basculement et de reprise. Flume permet aux applications de collecter des données dès leur source et de les transférer vers un référentiel de stockage, comme le système de fichiers distribués Hadoop HDFS (Hadoop Distributed File System), pour être analysées ultérieurement. Twitter propose sa propre API de streaming dont Flume se sert pour récupérer les contenus et les adresser à HDFS.

Voici comment ça marche (ça peut sembler complexe mais ce n’est pas le cas) : un flux dans Flume débute par l’utilisateur de Twitter qui transmet une unité de données singulière à une Source (entité par laquelle les données transitent pour accéder à Flume) qui tourne au sein de l’Agent (une machine virtuelle Java qui exécute Flume). La Source qui reçoit l’événement le délivre à un ou plusieurs Canaux, qui sont des conduits entre la Source et le Collecteur (Sink). Un ou plusieurs Collecteurs (entités qui délivrent les données à destination) relatifs au même Agent vidangent ces Canaux.

2) Classification des données

Cette étape est la plus « stratégique » du processus. Vous devez identifier des termes propres à votre activité, pour élaborer une sorte de dictionnaire de données et attribuer aux mots et aux expressions une polarité (positive, neutre/négative) ou une note (entre 0 et 10, 5 étant neutre). Hadoop vous propose des catalogues personnalisables et des tables de dictionnaire pour vous faciliter l’opération.

Apache HCatalog, une couche de gestion de table qui expose les métadonnées Hive aux autres applications Hadoop, est particulièrement utile pour sa représentation relationnelle des données. Les tweets non structurés sont présentés sous forme de tableau pour faciliter les opérations.

3) Analyse de sentiment
Avec l’aide de Hadoop, mesurez la tonalité des tweets en fonction du nombre de mots positifs et du nombre de mots négatifs présents dans chaque tweet. Maintenant que les données sont dans HDFS, créez des tables dans Hive.

4) Adaptation continue du modèle au fil de l’utilisation
A ce stade, vous allez obtenir les premiers résultats et pourrez affiner vos réglages. N’oubliez pas que des outils analytiques qui se contentent d’identifier des mots à connotation positive ou négative peuvent produire des résultats trompeurs s’ils passent à côté d’informations contextuelles importantes. La tâche peut être compliquée par des fautes de frappe, des fautes d'orthographe intentionnelles, des émoticônes, des éléments de langage ; les ordinateurs ne comprennent pas non plus le sarcasme ni l’ironie. Si les tweets expriment le contraire de la vérité ou de ce que ressent réellement son auteur de façon délibérée ou humoristique, vous risquez de passer à côté du message. Ce n’est pas ce qu’il y a de plus simple mais vous devrez vous efforcer d’adapter votre modèle pour l’affiner.

5) Visualisation des résultats
Une fois prêt, exécutez des requêtes interactives dans Hive pour affiner les données et visualisez-les au moyen d’un outil de Business Intelligence (Excel peut faire l’affaire également).

Quel que soit votre secteur d’activité, cette démarche vous aidera probablement à prendre des décisions et à dérouler de nouvelles actions marketing. C’est un moyen parmi d’autres de collecter des données sociales et de les analyser via Hadoop ; faites vos propres expérimentations, comparez les possibilités et choisissez la solution la plus adaptée aux besoins de votre entreprise. Ou explorez de nouveaux business models…