C’est dans le domaine de la gestion des métadonnées à proprement parler que la notion de Smart Data Catalog est le plus souvent associée à l’algorithmique, au machine learning et à l’intelligence artificielle.
Comment automatiser la gestion des métadonnées ?
La gestion de métadonnées est l’activité qui consiste à valoriser les attributs du métamodèle pour les actifs inventoriés. L’effort est typiquement proportionnel au nombre d’attributs du métamodèle, et au nombre d’actifs présents dans le catalogue.
Le rôle du Smart Data Catalog va donc consister à automatiser autant que possible cette activité, ou à défaut à assister des opérateurs humains (les Data Stewards) dans cette activité, pour la rendre à la fois plus productive et plus fiable.
Comme évoqué dans le précédent article, une couche de connectivité maline permet d’automatiser une partie des métadonnées, mais cette automatisation reste très largement cantonnée à un sous-ensemble restreint du métamodèle – principalement les métadonnées techniques. Un métamodèle complet, même modeste, comprend également plusieurs dizaines de métadonnées qui ne peuvent pas être extraites des registres des systèmes sources (pour la simple raison qu’elles n’y figurent pas).
Pour résoudre cette équation, plusieurs approches sont possibles :
L’identification des schémas (pattern recognition)
L’approche la plus directe consiste à chercher à identifier des schémas dans le catalogue (pattern recognition) afin de suggérer la valeur des métadonnées pour les nouveaux actifs.
Pour faire simple, un schéma (pattern) va être constitué de l’ensemble des métadonnées d’un actif, et de ses relations avec d’autres actifs ou d’autres entités du catalogue. La reconnaissance de schéma est typiquement réalisée à l’aide d’algorithmes de machine learning plus ou moins supervisés.
Une simple analyse structurelle n’est pas suffisante (deux jeux de données peuvent contenir des données strictement identiques, mais dans des structures différentes). S’appuyer sur l’identité des données n’est pas non plus efficace. Deux jeux de données peuvent contenir des informations identiques mais avec des valeurs différentes. Par exemple, la facturation client de 2020 dans l’un, celle de 2021 dans l’autre.
La difficulté pour mettre en œuvre cette approche est précisément de qualifier les actifs informationnels sous une forme numérique, afin d’alimenter les algorithmes et de sélectionner les schémas pertinents.
Pour résoudre cette difficulté, Zeenea s’appuie sur une technologie que nous appelons fingerprint. Le principe du fingerprint consiste à réduire un jeu de données (plus précisément un champ dans un jeu de données) à un vecteur numérique caractérisant cette donnée (on parle de « features »).
Nous remontons deux grandes familles de « features » depuis les données de nos clients pour construire le fingerprint :
- Un ensemble de « features » adaptés aux données numériques (majoritairement des indicateurs statistiques) ;
- Des données issues de modèles de « word embedding » (vectorisation de mots) pour les données textuelles.
Le fingerprint est au cœur de nos algorithmes intelligents.
Les autres approches embarquées dans le moteur de suggestions
La reconnaissance de schéma est certes une approche efficace pour suggérer les métadonnées d’un nouvel actif intégré dans le catalogue, mais elle repose sur un pré-requis important : il faut qu’il y ait des schémas à reconnaître. Autrement dit, elle ne fonctionne que si le catalogue est déjà constitué pour un grand nombre d’actifs, ce qui n’est bien sûr pas le cas lorsque l’on démarre le projet.
Hors c’est précisément dans ces phases initiales de construction du catalogue que la charge de gestion des métadonnées est la plus importante. Il est donc nécessaire d’intégrer d’autres approches susceptibles d’assister les Data Stewards dans ces phases de démarrage, quand le catalogue est plus ou moins vide…
Le moteur de suggestion de Zeenea, qui fournit les algorithmes intelligents d’assistance à la gestion de métadonnées, embarque donc d’autres approches (et nous l’enrichissons régulièrement). Voici certaines de ces approches :
- La détection de similarités structurelles
- La détection de similarités par fingerprint
- L’approximation des noms
Ce moteur de suggestions, qui analyse le contenu du catalogue pour déterminer les valeurs probables des métadonnées des actifs intégrés, est un domaine d’expérimentation perpétuelle. Nous y ajoutons régulièrement de nouvelles approches, parfois très simples, d’autres beaucoup plus sophistiquées. Dans notre architecture, c’est un service dédié dont les performances s’améliorent à mesure que le catalogue grossit et que nous enrichissons nos algorithmes.
Chez Zeenea, nous avons choisi d’utiliser le temps de cycle comme métrique principale de mesure de la productivité des Data Stewards (qui est l’objectif ultime de la gestion de métadonnées smart). Le temps de cycle (ou lead time) est une notion issue du lean management, et qui mesure, dans le contexte du data catalog, le temps écoulé entre le moment où un actif est inventorié et celui où toutes ses métadonnées ont été valorisées.