Dans le cadre du 4e Colloque GREC-O, Groupe de Recherche sur la Complexité « Les systèmes complexes face au tsunami exponentiel du numérique », Jean Rohmer, Directeur du Laboratoire De Vinci Technology Lab, revient sur la relation particulière entre l’informatique et les données.
Le 4e colloque GREC-O s’est tenu au Pôle Léonard de Vinci les 24 et 25 juin 2015, avec comme objectif de réfléchir à la façon dont les systèmes complexes sont et vont être impactés par la seconde vague du tsunami numérique.
Pour Jean Rohmer, « L’informatique n’est pas l’amie des données », dans le sens où les machines que sont les ordinateurs n’ont pas été conçus pour traiter des données.
A l’heure du Big Data, l’informatique manque de moyens pour représenter la complexité des données, mais l’informaticien a des circonstances atténuantes : les concepts logiciels ne suivent pas le rythme exponentiel du matériel.
Pour progresser, l’informatique a besoin non seulement d’indulgence, mais aussi de beaucoup de concours pragmatiques et scientifiques de toutes les parties prenantes du traitement de l’information, pour élaborer progressivement une véritable théorie de l’information.
L’ordinateur n’a pas été fait pour traiter les données
« Monsieur Martin est mort ce matin à 9h30 dans sa propriété de l’Orne ». Une donnée c’est une phrase, un énoncé, un prédicat. « Monsieur Martin » « propriété de l’Orne » « 9h30 » ne sont pas des données. L’étude, la science des données a commencé avec l’exégèse religieuse, puis la philologie.
Les ordinateurs n’ont pas du tout été faits pour traiter des énoncés : les ordinateurs ont été faits pour déplacer des nombres de taille fixe (aussi appelés « mots ») et effectuer de l’arithmétique dessus, via des tuyaux eux aussi de diamètre fixe, qu’on appelle « bus ».
Traiter des données, pour un informaticien, c’est un peu comme essayer de faire passer un plat de spaghetti à travers les trous d’une passoire.
Les langages de programmation n’ont pas été faits pour traiter les données
Les langages de programmation s’intéressent moins à la signification des mots qu’à l’ordonnancement des opérations élémentaires à effectuer.
Pour traiter les données, il va falloir construire des programmes qui vont effectuer sur les données des opérations plus sophistiquées que ne le sont les instructions des machines sur les mots.
Mille manières de construire ces programmes, mille sources de confusions, erreurs, incompatibilités… Comment représenter cet objet complexe qu’est une donnée avec ces objets simples que sont les mots ? Mille manières …
Echanger des données entre deux systèmes : cauchemar en cuisine. Des passoires et des spaghettis avec des sections et des trous carrés, ronds, ovales … .
Il existe pourtant un langage de programmation qui travaille directement sur les données : c’est le langage PROLOG, inventé en 1972 par le français Alain Colmerauer, qui est entièrement basé sur la notion de prédicat (ou phrase, ou énoncé), donc de donnée.
Mais les informaticiens ont préféré ne pas creuser cette piste.
Dans un ordinateur, les données sont abandonnées
L’architecture, les plans, les spécifications de ces couches logicielles sont la plupart du temps très mal décrites, très mal documentées, rarement à jour : comme si votre voiture avait été conçue de manière originale et unique par un mécano dont vous auriez perdu l’adresse, et bricolée ensuite par quelques autres tout aussi mal identifiés.
La meilleure preuve de ces difficultés est l’existence d’outils dits de « Master Data Management ».
La sémantique d’ensemble est en fait définie à posteriori:
- Par une suite de « mises au point »
- Par la perception qu’en ont les utilisateurs
- Et non par les intentions initiales
Un ordinateur possède rarement la description des données et des programmes qu’il héberge. Il n’est pas conscient de son activité. C’est une différence fondamentale entre les ordinateurs et notre cerveau. C’est la source de beaucoup de catastrophes informatiques, et un frein considérable pour les « Big Data ».
L’ordinateur a une mémoire, mais il n’a pas de mémoire. Il n’a pas de tête.
Données, langage naturel et document
Ce que l’ordinateur fait le mieux, c’est de procéder comme avant son apparition : gérer nos documents de bureau habituels. Il est un simple simulateur électronique du passé, simulateur de de machines à écrire, photocopieuses, dossiers, armoires, rétroprojecteurs.
Les données restent dans la tête des auteurs et des lecteurs de ces documents. L’ordinateur est une super machine à écrire, ranger, transmettre, mais il n’est pas une machine à lire. L’ordinateur ne pourrait pas comprendre le langage naturel car il ne serait pas assez structuré ?
C’est tout le contraire. Il ne le comprend pas parce qu’il est trop structuré, et que nous sommes incapables d’écrire des programmes qui en viendraient à bout
Le traitement automatique des données est donc pris entre le marteau et l’enclume :
- Ou bien des données structurées: –en fait trop simplement et arbitrairement structurées, donc asservies aux programmes
- Ou bien des données non structurées –en fait trop structurées
Il nous manque toujours une bonne théorie de l’information. Des pistes existent:
Descartes imagine une langue « établissant un ordre entre toutes les pensées qui peuvent entrer en l’esprit humain, de même qu’il y en a un naturellement établi entre les nombres ».
Leibniz renchérit : « cette langue serait merveilleuse […] car alors raisonner et calculer sera la même chose. »
Pyramide de l’information ou tarte à la crème ?
Donnée => Information => Connaissance => Sagesses. La donnée n’est pas un bon premier étage de pyramide : sous la donnée, il doit y avoir une perception, une captation, une mesure, un capteur, une chose mesurée.
On pourrait certes dire :
- L’information résulte de la considération de suffisamment de données
- La connaissance résulte de la considération de suffisamment de informations
- La sagesse résulte de la considération de suffisamment de connaissances
Mais …
- Il est 17h15
- Pierre est en retard
- Pierre est souvent en retard
- Paul vire Pierre
- Paul vire Pierre parce qu’il est souvent en retard
- Paul prendre des décisions justes
- Marcel embauche Paul
- Marcel embauche Paul parce qu’il prend des décisions justes
- Marcel est un bon manager
- Etc …
Où sont les données, informations, connaissances, sagesse ? Tous ces énoncés sont des données. Le traitement de l’information consiste à produire des données à partir de données, échangées entre différents acteurs. Le passage du modèle hiérarchique de la pyramide au modèle horizontal du réseau est nécessaire.
Construire le réseau social des données
Les énoncés des données doivent partager des éléments : entre Pierre X habite Marseille depuis 1987 et Marie Y travaille à la BNP car elle aime l’argent, il n’y a aucun lien. C’est un troisième énoncé qui en créera un : Pierre X est le frère de Marie Y.
Chaque donnée doit être articulée, décomposable en éléments appartenant à un vocabulaire partagé avec d’autres. Construire un réseau social entre les énoncés des données. Les entités, les éléments émergents des données, et non l’inverse.
La récursivité des données
Pour être utiles, il faut que les données puissent parler d’autres données : Paul dit que [Marie habite Marseille] parce que [Pierre aime la plongée]. Hélas, une cellule dans une table de base de données relationnelle ne sait pas faire référence à d’autres cellules situées dans d’autres tables ou d’autres bases.
Exemple : la cotation d’une information en Renseignement Militaire. Réfléchir, délibérer, décider, c’est passer son temps à tisser et démêler cet enchevêtrement de données. Comment espérer que l’informatique nous accompagne loin dans le traitement de l’information si elle ne possède pas la capacité élémentaire de représenter de tels plexus, plis et replis ?
En savoir plus :
Blog de Jean Rohmer : http://plexus-logos-calx.blogspot.fr/
Optiion de dernière année « Big Data » : https://www.esilv.fr/cursus/options-5e-annee/big-data/
De Vinci Technology Lab : https://www.esilv.fr/recherche/de-vinci-technology-lab/
This post was last modified on %s = human-readable time difference 5:58 pm