Livre Blanc Big Data et Marketing - Chapitre III

9
B B i i g g D D a a t t a a : : f f i i n n o o u u r r e e n n o o u u v v e e a a u u d d u u m m a a r r k k e e t t i i n n g g

Transcript of Livre Blanc Big Data et Marketing - Chapitre III

Page 1: Livre Blanc Big Data et Marketing - Chapitre III

BBiigg DDaattaa :: ffiinn oouu rreennoouuvveeaauu dduu mmaarrkkeettiinngg

Page 2: Livre Blanc Big Data et Marketing - Chapitre III

Adetem / Aproged 15

III BIG DATA ET SENTIMENT ANALYSIS : QUELS USAGES POUR QUELLES PROBLEMATIQUES ?

BIG DATA ET SENTIMENT ANALYSIS 17 VEUT-ON UNE ANALYSE GLOBALE OU DETAILLEE DU MESSAGE ? 19 LE CHAMP DE L'ETUDE EST-IL MONO-SOURCE OU MULTI-

SOURCES ? 19 LE CHAMP DE L'ETUDE COUVRE T-IL DES ENTITES HOMOGENES

OU NON ? 21 VISE-T-ON UN SYSTEME ENTIEREMENT AUTOMATIQUE OU

SEULEMENT UNE ASSISTANCE ? 21 QUELLES TECHNOLOGIES POUR QUELS CAS D'USAGE ? 22 LES CAS FAVORABLES, ET CEUX QUI SONT PROBLEMATIQUES 22

Page 3: Livre Blanc Big Data et Marketing - Chapitre III

Adetem / Aproged 16

Big data et sentiment analysis

Bernard Normier, consultant en text-mining et sentiment analysis

Comme dans les systèmes d'information classiques, il y a deux sortes de big data, selon que les données sont structurées ou non. Les premières sont partout: toutes sortes de données numériques venant de capteurs de plus en plus nombreux et divers, ou de méta-données structurées associées des documents textuels, audio ou vidéo. Le traitement de ces données, s'il pose de sérieux problèmes techniques du fait de leur volume, à la fois en stock et en flux, et de leur hétérogénéité, ce pose cependant pas de problème conceptuel majeur au niveau de leur compréhension unitaire. Chaque donnée, prise individuellement, est claire et parfaitement compréhensible. C'est la possibilité d'une interprétation de la masse, de son évolution dans le temps, des tendances qu'on peut en dégager, qui constitue l'apport majeur des technologies du big data. Il en va autrement pour les données non structurées. La problématique est alors sensiblement plus délicate puisque se pose déjà la question de la compréhension de chaque donnée individuelle, avant même d'envisager une interprétation de la masse. L'interprétation de l'information textuelle, qu'elle le soit le soit "nativement" ou qu'elle résulte d'une transformation de parole en texte ("speech to text") est déjà un enjeu majeur. On ne parlera pas ici de l'interprétation de données non structurées complexes comme le repérage d'émotions dans des photos de visages, ou de la communication gestuelle dans une vidéo, ou encore de la prosodie dans un enregistrement audio, sujets sur lesquels des progrès technologiques constants sont réalisés et commencent à donner lieu à des applications opérationnelles. Restons donc sur l'interprétation des textes. Ils représentent la plus grande partie du "big data": tweets, blogs, réseaux sociaux, presse, etc... Leur recueil est devenu un métier en

Page 4: Livre Blanc Big Data et Marketing - Chapitre III

Adetem / Aproged 17

soi: une société comme GNIP, par exemple, annonce récolter 3 milliards de messages par jour... en constante augmentation. La difficulté est donc d'abord d'identifier, parmi cette masse considérable de messages dont la grande majorité n'a aucun intérêt, quels sont ceux qui peuvent être intéressants pour telle ou telle étude ou entreprise, et ensuite d'en interpréter le contenu pour en tirer des analyses utiles d'un point de vue marketing, notamment pour apprécier la satisfaction et les attentes des clients. La première tâche est à peu près résolue avec les systèmes de veille, qui sont capables de recueillir les messages émanant de tous types de sources à partir de formules booléennes de mots clés, puis de les organiser par différentes méthodes de filtrage et de catégorisation. La deuxième tâche, visant à "interpréter" le contenu pose un problème nouveau. Les techniques classiques du "big data" ne peuvent pas s'appliquer puisque des textes ne sont pas des "data". Il faut d'abord extraire des données depuis le texte, en utilisant des technologies venant d'un autre domaine, celui de l' IE pour "Information Extraction". On définit souvent la tâche de l'IE comme l'opération consistant à remplir une base de données structurées à partir de textes: identifier des "entités nommées" (en gros des noms propres), des thématiques, des relations entre elles. Ces informations extraites peuvent être factuelles (Le plat du jour est à 12 euros) ou subjectives (Le plat du jour est trop cher). L'exploitation de ces données subjectives constitue une aubaine pour le marketing, et pour toute une série d'activités qui ont intérêt à surveiller l'évolution des opinions. Sans doute n'est-il pas très utile de faire de complexes systèmes d'interprétation des textes pour récupérer des données factuelles que l'on pourrait trouver déjà formatées ailleurs. Mais pour tout ce qui du domaine des avis, recommandations, émotions, rumeurs, une analyse des textes peut apporter énormément d'informations utiles. C'est le domaine de l' "opinion mining" ou "sentiment analysis", deux termes anglophones quasiment synonymes dans ce contexte. Le sujet est polémique. Il est difficile de se faire une opinion sur ce que peut apporter, en pratique, le "sentiment analysis" quand on regarde les nombreux articles, commentaires, posts, qui donnent des avis tranchés qui vont de "çà marche très bien" à "çà ne sert à rien" , en passant par "faut voir, çà peut être utile si un expert humain révise les analyses"... , en laissant d'une manière générale le sentiment que cela ne fonctionne pas suffisamment bien pour être utilisable. Il faut faire la part des choses, et bien différencier les cas d'utilisation. Il en est où cela sera très utile, d'autres où cela sera inutilisable. Malheureusement ces différents cas ne sont généralement pas différenciés dans la plupart des plateformes, ce qui conduit souvent à des résultats plus que fantaisistes qui discréditent la technologie, renforçant l'idée que "çà ne marche pas". Quel est l'objectif d'un système de sentiment analysis ? Collecter, repérer, analyser des opinions. Donc quelle définition formelle pour une opinion ? L'approche la plus souvent retenue est celle de Bing Liu, donnée dans son livre "Sentiment Analysis and Opinion Mining" (Morgan and Claypool 2012), qui définit une opinion comme un quintuplet formé de:

Page 5: Livre Blanc Big Data et Marketing - Chapitre III

Adetem / Aproged 18

Une opinion est un quintuplet (ei, aij, sijkl, hk, tt) , dans lequel :

e représente une « entité » a représente un « aspect » s représente un « sentiment » sur un aspect de l’entité h représente l’auteur de l’opinion (« holder ») t représente le moment (« time ») où est exprimée l’opinion.

On utilise souvent d'autres mots en français pour désigner ces mêmes notions ("objet" pour "entité", "facette" ou "critère" pour "aspect" ), mais on peut garder ici la terminologie directement traduite de l'anglais. Par exemple, dans l’avis exprimé par Dupont le 9 octobre 2012 « l’ hôtel X est très décevant. Les chambres sont sombres et petites. Mais mes enfants ont trouvé que le petit déjeuner était bon », on identifie trois opinions distinctes :

e=hôtel X, a=0, s=négatif : décevant, h = Dupont, t = 9 oct 12 e=hôtel X, a=chambre, s=négatif : petit, h=toto77, t = 9 oct 12 e=hôtel X, a= petit déjeuner, s=positif : bon, h= enfants de toto, t = 9 oct 12

Cette définition a le mérite d’être simple, même si on pourrait bien sûr complexifier le modèle dans plusieurs directions, mais tenons nous en là pour le moment. Ce cadre permet de distinguer déjà plusieurs cas de figure et plusieurs types d’analyse.

Veut-on une analyse globale ou détaillée du message ?

En fait, beaucoup de systèmes simplifient grandement le problème, et proposent une analyse globale, en affectant une tonalité à l’ensemble du message, sans chercher à identifier les entités, et encore moins leurs aspects. Si le message ne parle que d’une seule entité, le résultat peut être acceptable. Mais si le message porte sur plusieurs entités, le résultat est généralement inexploitable. Par exemple, que veut dire le calcul d’une tonalité unique sur un message comme « J’ai été très mal reçu par mon agence à la banque X et j’ai décidé de les quitter pour Y » qui a de bonnes chances d’être analysé comme globalement négatif ? surtout si l’objet de l’étude est Y… Admettons que la phrase est particulièrement difficile à comprendre et prenons plutôt « « J’ai été très mal reçu par mon agence à la banque X et j’ai décidé de les quitter pour Y qui est bien plus agréable ». Avec une analyse grossière, sans repérer les entités, il est probable que les tonalités s’annulent et que la note globale soit « indéterminé » ou « neutre » selon les conventions du logiciel. C’est déjà mieux, au moins il n’y a pas de contresens total. Une analyse détaillée est donc préférable en théorie, mais on tombe alors sur d’autres problèmes. Par ailleurs, on notera au passage que la notion de note globale est difficile à calculer, y compris dans le cas d'analyse détaillée, parce que l'on ne connait pas, a priori, les pondérations que l'utilisateur donnerait à chaque aspect. On peut très bien trouver un message critiquant sévèrement un produit sur plusieurs aspects, mais lui attribuant finalement une note globale positive.

Page 6: Livre Blanc Big Data et Marketing - Chapitre III

Adetem / Aproged 19

Le champ de l'étude est-il mono-source ou multi-sources ?

Plus grand sera le nombre de sources et plus il sera difficile d’agréger des données de plus en plus hétérogènes, et dont la fiabilité sera de moins en moins évidente. La façon d’exprimer le facteur S (sentiment), par exemple, peut être très différente d'une source à l'autre: des notes numériques sur des échelles elles-mêmes variables, l'attribution d'un nombre d'étoiles, des smileys qui sont eux-mêmes très variables selon les librairies utilisées, des "likes", du texte libre, etc. Par ailleurs les différents aspects des entités observées pourront varier d’une source à l’autre, complexifiant encore les analyses, comme dans les deux exemples ci-dessous, venant de deux sites d’avis sur des hôtels. Un avis pris sur tripadvisor :

et un avis pris sur easyvoyage :

Alors, pourquoi se compliquer la vie en allant chercher dans plusieurs sources pour une même entité ? Il y a plusieurs réponses : la plupart du temps le nombre d’avis sur un site

Page 7: Livre Blanc Big Data et Marketing - Chapitre III

Adetem / Aproged 20

donné pour une entité particulière est relativement modeste, on veut donc élargir le corpus de messages en allant sur plusieurs sources. Et d’autre part, on a plus de chances d’avoir un échantillon plus représentatif de la population d'utilisateurs si l’on va sur plusieurs sources.

Le champ de l'étude couvre t-il des entités homogènes ou non ?

Si le corpus de messages est homogène, en ne couvrant qu’ un seul type d’entité, ou un nombre limité et connus de types d’entités, on peut définir les facteurs A (aspects) qui sont intéressants à suivre. Par exemple pour un hôtel on pourra suivre des critères comme ceux montrés dans l’exemple ci-dessus. Mais si l’on doit suivre plusieurs types d’entités, les choses se compliquent. Prenons l’exemple suivant, « je reviens de vacances. J’avais choisi une formule location de voiture + hôtel. Çà s’est bien passé dans l’ensemble. Pas eu de problème avec la voiture, même si le prix était élevé. Mais hôtel X très décevant. Le garage était trop exigu pour ma voiture. Les chambres étaient sombres et petites. Mais mes enfants ont trouvé que le petit déjeuner était bon » L’entité « location de voiture » pourrait être décrite par des aspects comme le prix, l’assurance, le kilométrage, etc. Certains aspects pourront être communs à plusieurs entités, comme le prix dans l’exemple ci-dessus, et il faut alors que l’analyseur soit capable de construire correctement les associations « entités / aspects ». Cet exemple reste simple, mais le traitement peut devenir très complexe si l’on se trouve dans un projet ouvert, avec des entités très diverses, voire même inconnues au départ de la veille, et qu’il devient impossible d’avoir un modèle des aspects attendus par entité. Il faut alors un analyseur suffisamment fin pour qu’il repère de lui-même les aspects pertinents dans le texte.

Vise-t-on un système entièrement automatique ou seulement une assistance ?

Ces deux situations sont évidemment complètement différentes. Si l’on veut une assistance, le système d’analyse faisant des propositions qui sont ensuite révisées par un analyste, son efficacité va bien sûr dépendre de son niveau de qualité d’analyse, mais aussi, et sans doute surtout, d’autres critères comme l’ergonomie de l’interface de révision et les capacités d’apprentissage, ou du moins de répercussion d’une révision à l’ensemble de messages similaires. Pour prendre un exemple simple, réviser la tonalité d’un tweet devrait réviser celle de ses retweets à l’identique. Si les conditions d’utilisation du système ne permettent pas de révision, et si l’on doit accepter et analyser des messages textuels, il faut alors être bien conscient du niveau de qualité obtenu, ne serait-ce que pour prendre des précautions adéquates vis a vis des utilisateurs. On se demande parfois, quand on regarde certains systèmes, si leurs auteurs ont vraiment fait ces évaluations.

Page 8: Livre Blanc Big Data et Marketing - Chapitre III

Adetem / Aproged 21

Quelles technologies pour quels cas d'usage ?

On sait que plusieurs types de technologies sont envisageables pour analyser les tonalités de ce type de message. La "technologie" (?) la plus simple, est "tout à la main": le logiciel se contente de donner la possibilité de marquer par un tag les messages dans les catégories positif, négatif, neutre et indéterminé. (Certains fournisseurs ne manquant pas d'aplomb indiquant même proposer un système de "sentiment analysis" avec ce type de solution...). La deuxième famille de solution est basée sur l'apprentissage. Très à la mode parce que facile à mettre en œuvre, cette méthode peut donner des résultats satisfaisants dans certains cas, quand le volume de données d'apprentissage est important. D'où l'intérêt de méthodes combinant apprentissage et "crowd sourcing" les utilisateurs construisant eux-mêmes le corpus d'apprentissage. Mais en tout état de cause, ces méthodes restent approximatives et ne peuvent pas rentrer dans le détail d'analyse que seules des méthodes basées sur des analyses linguistiques peuvent atteindre. L'inconvénient étant alors que l'adaptation au domaine peut être une tâche relativement lourde. Les cas favorables, et ceux qui sont problématiques

On le voit, la qualité du résultat d’un système de « sentiment analysis » va donc dépendre de plusieurs caractéristiques du projet. On en a cité quelques une ici, mais il en est bien d’autres. Si l' on veut surveiller un domaine vaste, généraliste, que l’on ne sait pas bien ce qu’on cherche, que l'on veut aller sur un grand nombre de sources hétérogènes, et qu'on n'a pas la possibilité de révision manuelle, alors les critiques de ceux qui ont des doutes risquent d’être justifiées. Mieux vaut sans doute attendre quelques années que la technologie progresse. Mais si le projet ne porte que sur quelques types d’entités bien identifiés, que l’on analyse quelques sources de messages relativement homogènes, comme par exemple des sites d’avis, ou des messages sur la hot-line d'une entreprise, et qu’on a un modèle des objets et des aspects que l’on veut analyser, alors il y a de bonnes chances qu’un système de « sentiment analysis » fonctionne correctement. Et c'est satisfaisant, parce que çà correspond à de nombreux cas d'usages d'entreprises qui veulent juste surveiller des sources bien identifiées sur très peu d'entités.

Page 9: Livre Blanc Big Data et Marketing - Chapitre III

Adetem / Aproged 68

www.adetem.org www.aproged.org