9. Les référentiels dans Tale of Data
Les référentiels permettent de réparer ou d’enrichir des jeux de données avec des algorithmes de matching sophistiqués.
9.1. Création d’un référentiel
La création d’un référentiel nécessite de créer un flow.
Le flow contenant un référentiel peut contenir tous les processeurs habituels pour préparer les données du référentiel, mais il ne peut contenir qu’un seul processeur de type référentiel qui est une cible particulière .
Un processeur de type référentiel permet de créer un référentiel réutilisable et partageable pour la réconciliation de données.
Exemple de flow créant un référentiel :
9.1.1. Configuration du référentiel
Le nom du référentiel doit être spécifié dans le configurateur du processeur.
La description est optionnelle, mais fortement conseillée car elle sera visible par les utilisateurs du référentiel.
Les référentiels ont trois niveaux de visibilité possibles :
Public.
Partagé avec mon organisation.
Privé.
9.1.2. Champs de recherche
Ce sont les champs qui permettront à l’utilisateur du référentiel de réconcilier ses données, il est donc important, lorsque l’on crée un référentiel, de bien choisir les champs de recherche.
Par exemple pour un référentiel de personnes, le nom est logiquement un champ de recherche.
Pour ajouter un champ de recherche, cliquer sur le bouton Ajouter une colonne de recherche dans le configurateur du nœud Référentiel :
La fenêtre de dialogue qui s’ouvre permet de configurer le champ de recherche :
Il est nécessaire de spécifier le champ de recherche (code_postal dans l’exemple ci-dessus) :
L’option Texte intégral permet de préciser si l’on souhaite effectuer des recherches qui acceptent un sous-ensemble de mots du champ.
L’option Flou permet de préciser si l’on souhaite une tolérance aux fautes de frappe.
L’option Phonétique permet de préciser si l’on veut effectuer une recherche sur des mots ayant une prononciation similaire, 3 options sont disponibles :
Français.
Anglais.
Aucune phonétique.
9.1.3. Groupes de recherche
Les groupes de recherche permettent à l’utilisateur d’un référentiel de chercher une correspondance entre un champ de son jeu de données et plusieurs champs du référentiel. Cela est, par exemple, utile si l’utilisateur a un jeu de données contenant un nom complet (= prénom + nom) et qu’il veut chercher des correspondances dans un référentiel qui, lui, stocke les prénoms et les noms de famille dans deux champs séparés.
La fenêtre de création d’un groupe de recherche permet de spécifier le nom du groupe, sa description et les champs qui le composent. Les options Flou et Phonétique sont également disponibles (cf. Champs de recherche pour l’explication de ces deux notions).
9.1.4. Listes de remplacement
Ces listes permettent de configurer les remplacements de mots que vous souhaitez utiliser pendant la réconciliation ou l’enrichissement de données.
Par exemple, vous pouvez indiquer que la présence du mot voiture dans votre jeu de données doit déclencher une recherche sur le mot véhicule dans le référentiel. Il vous suffit pour cela d’ajouter la ligne suivante dans la liste de remplacements :
« voiture;véhicule ».
Note
Les remplacements s’effectuent sur des mots entiers (donc isolés des autres mots). Le caractère “;” (point-virgule) est réservé à la séparation du texte à remplacer et du texte de remplacement.
Les remplacements sont insensibles à la casse (majuscule / minuscule).
Vous pouvez spécifier une expression régulière [3] pour les remplacements en commençant votre ligne par \x.
Exemple : \x(?i)(\d+)(?:B|BIS)\b;$1 bis transformera la requête de recherche 3b rue de la Gare en 3 bis rue de la Gare.
Prudence
Pour créer le référentiel, il est nécessaire d’exécuter le flow.
Les référentiels disponibles sont visibles depuis le Catalogue :
Avec les zones principales suivantes :
9.2. Utilisation des référentiels
Pour réconcilier des données, il faut utiliser la transformation Réconcilier / Enrichir avec des données référentielles disponible dans l’éditeur de préparation:
La transformation se configure avec un wizard, qui permet de choisir :
Le référentiel avec lequel on souhaite réconcilier son jeu de données.
Les correspondances entre les champs de mon jeu de données et les champs de recherche (ou les groupes de recherche) du référentiel.
Les champs du référentiel avec lesquels on souhaite enrichir son jeu de données (il est possible de choisir un sous-ensemble de champs et de réordonner les champs par glisser-déposer).