Comment exploiter les données non structurées en data science

Lorsque l'on parle de data science, on imagine surtout les logiciels d'analyse et les bases de données, de grands tableurs contenant des millions de lignes... Mais ce serait oublier que la plupart des informations de départ sont non structurées, les rendant inexploitable en l'état, voire même inclassables avant un premier traitement. Dès lors, comment bâtir une stratégie data driven à partir de ces données non structurées ?
Qu'entend-on par données non structurées ?
Représentant la grande majorité des big data, les données brutes, dites non structurées, sont des data créées par les applications, réseaux sociaux et toute forme d'interaction avec un logiciel. Cela peut être un document, un fichier, des images, des posts, ou de simples statistiques de clics et de navigation. On les qualifie de non structurées car leur organisation ne relève d'aucune logique propre à en tirer des conclusions ou des analyses. Pour autant, elles constituent une source d'informations inépuisable pour les entreprises, pour peu que celles-ci parviennent à les traiter. En effet, l'absence de structure ou de classement rend difficile voire impossible toute analyse automatique en l'état. L'exploitation de ces données doit donc passer par une nécessaire structuration, via des technologies spécifiques comme le machine learning, l'intelligence artificielle ou l'analyse sémantique, selon le type de données brutes que l'on considère. Ce n'est qu'ensuite qu'elles pourront être valorisées, sécurisées, et servir à bâtir une stratégie entrepreneuriale dite "data driven".
Différences entre données non structurées et structurées
Par comparaison, les données structurées obéissent à un classement logique, et sont ordonnées en fonction d'un sens et d'un objectif. Le but étant qu'elles deviennent compréhensibles par des machines ou des humains chargés d'en tirer des conclusions et des prédictions. Elles sont donc triées, stockées dans des databases spécifiques, souvent appelées bases de données relationnelles, qui permettent de tisser des liens logiques entre elles.
Ainsi structurés, les outils informatiques à la main des analystes permettent d'y effectuer des recherches thématiques, d'y faire du tri, de filtrer certains paramètres et surtout de croiser de nombreuses informations. Choses impossibles à faire avant la structuration.
Par exemple, en structurant les données brutes d'un site web, il sera possible de recouper le nombre de clics avec la date et l'heure, pour en tirer des conclusions sur les préférences de fréquentation en fonction du moment de la journée.
Les données structurées sont donc plus simples à analyser, mais demandent des solutions de stockage différentes. En effet, les bases de données relationnelles diffèrent beaucoup des systèmes de fichiers NoSQL dont la simplicité et le volume permettent de contenir la quantité colossale de données brutes non structurées au sein d'environnements cloud ou de systèmes big data.
Pour bien comprendre la différence entre données structurées et non structurées, voici un exemple simple : des images stockées en vrac sur un serveur constituent des données non structurées. Il est impossible d'en trouver une en particulier, sauf à les examiner une par une jusqu'à trouver la bonne. Une fois structurées, ces images sont stockées avec des données attachées (format, couleur, date, sujet...) et il est alors facile de faire une recherche.
Techniques pour exploiter les données non structurées
L'exploitation des données brutes peut se faire via plusieurs techniques, comme le Web scraping, ou encore l'analyse de logs. Mais les plus populaires auprès des entreprises restent le text mining, le NLP et l'analyse d'images.
Text mining et NLP
Le minage de texte permet de déceler des tendances et des corrélations à partir de données non structurées. C'est le procédé le plus utilisé par les plateformes de commerce en ligne, par exemple, pour analyser le comportement d'achat des clients et ainsi adapter leur stratégie de vente. Comme les données ne sont pas structurées, il faut des outils spécifiques capables de traiter de grandes quantités de data en même temps selon des modèles statistiques et mathématiques. Ces outils effectuent la collecte de data, avant de les nettoyer et d'éliminer les redondances et les données inutiles, pour se concentrer sur une sélection de variables représentatives. Ce sont ensuite des algorithmes qui exploiteront les données telles quelles, soit via des arbres de décision ou des techniques de clustering, pour donner aux analystes une interprétation fiable.
Quant au NLP, qui signifie Natural Language Processing, il s'agit d'une méthode de traitement des données reposant sur l'interprétation du langage humain. Il n'est donc pas purement statistique et permet d'effectuer des analyses qui prennent en compte l'humeur, les sous-entendus, la psychologie... Au-delà de son côté pratique pour la correction grammaticale ou linguistique, le traitement NLP permet aux entreprises de proposer des assistants vocaux, mais encore d'analyser les tendances de ventes et d'effectuer des prédictions en analysant les discussions en ligne, les posts, les messages... Cette tâche fastidieuse pouvait jusque-là être déléguée à un analyste humain, qui devait effectuer une veille en ligne et passer des heures à lire des articles, publications et autres données "linguistiques".
Analyse des images
Enfin, les images constituent la troisième forme majeure de données importantes pour les entreprises, après les données statistiques brutes et les données de langage. Elles constituent une difficulté particulière car non structurées, elles ne représentent qu'une grille de pixels, chacun portant une caractéristique de couleur. De plus, contrairement au texte ou aux données statistiques, elles représentent un poids plus important pour le stockage, une image en haute résolution possédant plusieurs millions de pixels de couleur.
Au-delà donc du problème de stockage de ces images et des vidéos (qui ne sont que des suites d'images), le défi est de reconnaître le contenu uniquement avec des données d'agencements de pixels. On a donc recours à des intelligences artificielles très puissantes, entraînées à reconnaître ces agencements par comparaison avec des modèles. Petit à petit, les logiciels d'analyse "annotent" les images, en leur attribuant des tags, ce qui permet de passer d'un type de données non structurées à des images structurées. Par exemple, une photo de chat sera analysée par comparaison, et se verra attribuer des étiquettes : animal, chat, félin, gris... et bien d'autres en fonction de l'acuité logicielle, qui pourra inclure l'ambiance de l'image, son arrière-plan...
Cette technique d'analyse reste très onéreuse en termes de ressources.
Technologies utilisées pour gérer les données non structurées
La gestion des données non structurées nécessite donc le recours à plusieurs technologies puissantes pour pallier au manque d'informations de départ. Il faudra donc utiliser, complémentairement, une technologie de traitement massive et batch, et une technologie d'analyse et de recherche.
Apache Hadoop
Il s'agit d'une technologie Open Source qui permet de traiter une très grande quantité de données brutes non structurées et qui repose sur deux composantes : le HDFS pour le stockage et le MapReduce pour le traitement à proprement parler. Cette technologie est particulièrement appréciée des entreprises confrontées aux environnements big data, comme les plateformes en ligne, et leur permet de mettre en forme les données pour une utilisation et une analyse en aval.
Elasticsearch
Une fois stockées et traitées, les données peuvent être indexées par ce type de logiciel, qui s'appuie sur des modèles de documents JSON, associés à Kibana et Logstash. Il sera alors possible d'effectuer des recherches même lorsque l'on est confronté à de grandes masses de données, et de les visualiser.
Comment intégrer les données non structurées dans une stratégie data-driven
Il n'est pas facile de baser une stratégie data driven sur des données non structurées sans avoir recours à un traitement en amont. Mais il est toutefois possible d'intégrer ces données et d'en tirer parti pour améliorer les décisions stratégiques globales et nourrir des modèles prédictifs.
Il faudra donc commencer par lister les différentes sources de données que l'on souhaite utiliser : par exemple, les mails, les posts des réseaux sociaux, les médias, logs ou les contenus des sites web cibles.
L'utilisation de suites logicielles de structuration de données permettra de donner forme à ces informations et les rendra exploitables. La plupart des étapes du processus sont automatisées, depuis l'extraction des données textuelles jusqu'à la reconnaissance des images et vidéos, les retranscriptions de sources audio... Il faut cependant disposer d'une architecture adaptée, d'autant plus importante en fonction de la taille de l'entreprise et de la quantité de données qu'elle a à traiter pour bâtir sa stratégie data driven. Par exemple, en constituant des pipelines de data, en installant des serveurs dédiés, en recrutant des data engineers... Ce n'est qu'à ce prix que les données brutes pourront être valorisées sous forme de tableurs, d'index, de bases de données...
Elles seront ainsi la base de travail des logiciels d'analyse et des modèles décisionnels, qui élaboreront toutes sortes de rapports à la demande de l'entreprise : des tableaux de bord, des graphiques, des historiques, des analyses comportementales... On parlera désormais de données valorisées, car de simples données brutes inexploitables, elles sont désormais nécessaires à la croissance de l'entreprise. Elles seront utilisées pour adapter la stratégie commerciale en fonction des comportements des clients, des aléas économiques, des fluctuations logistiques... Les possibilités de croisement et d'analyse sont presque sans limite, si ce n'est celle de la puissance des logiciels dédiés et de la quantité (et qualité) des données non structurées que l'on collecte au départ.
Construire une stratégie data driven ne repose cependant pas uniquement sur des ordinateurs et des logiciels, mais aussi et surtout sur le recrutement de personnes compétentes en data science, qui sauront adapter les outils aux objectifs de l'entreprise et fournir aux décisionnaires des informations pertinentes issues de l'analyse des données.