Qu'est-ce que le rapprochement de données ?
Définition générale
- de chercher des doublons, des doublons potentiels et des enregistrements uniques dans une source de données ;
- d'analyser des données et de retourner des probabilités pondérées de correspondance ;
- de fusionner les entrées identiques ou similaires en une seule entrée ;
- et de réduire les disparités entres les différentes sources de données.
Rapprochement d'enregistrements
Le rapprochement consiste en une identification des enregistrements faisant référence à une même entité dans un jeu de données.
- le rapprochement des enregistrements déterministe, basé sur des identifiants qui entrent en correspondance,
- et le rapprochement des enregistrements probabiliste, basé sur la probabilité que deux identifiants correspondent.
Que faire avant le rapprochement ?
Profiling des données
Le profiling des données aide à évaluer le niveau de qualité des données selon des objectifs définis.
Les problèmes de qualité des données peuvent avoir différentes causes dont les systèmes hérités, les migrations de données, les modifications de bases de données, les incohérences en matières de communications humaines et bien d'autres anomalies potentielles. Indépendamment de leur source, les problèmes de qualité des données peuvent avoir un impact sur la capacité des entreprises à utiliser leurs données afin de prendre des décisions éclairées.
Si des données sont de faible qualité ou gérées dans des structures dont l'intégration ne permet pas de satisfaire les besoins de l'entreprise, les processus et la prise de décision en pâtissent.
En comparaison avec les techniques d'analyse manuelle, la technologie de profiling des données améliore la capacité de l'entreprise à relever le défi de la gestion de la qualité des données et à surmonter les difficultés rencontrées lors de migrations et d'intégration de données.
Standardisation des données
- Vous pouvez standardiser des données grâce à des index de synonymes. Les synonymes sont standardisés et convertis en mots "maîtres".
Pour plus d'informations concernant les dictionnaires des synonymes de données, consultez le Guide utilisateur de Talend Data Fabric Studio.
- Vous pouvez utiliser des composants de validation d'adresses afin de valider des données d'adresses par rapport aux outils de validation d'Experian QAS, Loqate et MelissaData. Les adresses renvoyées par ces outils sont cohérentes et les variations dans la représentation des adresses sont éliminées. Les adresses étant standardisées, le rapprochement est plus facile.
Pour plus d'informations concernant les composants tQASBatchAddressRow, tLoqateAddressRow et tMelissaDataAddress, consultez Standardisation d'adresses.
- Vous pouvez utiliser le tStandardizePhoneNumber pour standardiser un numéro de téléphone, selon les conventions de formatage du pays d'origine.
Pour plus d'informations concernant la standardisation des numéros de téléphone, consultez .
- Vous pouvez utiliser d'autres composants plus génériques afin de transformer vos données et obtenir des enregistrements plus standardisés, comme le tReplace, le tReplaceList, le tVerifyEmail, le tExtractRegexFields ou le tMap.
Comment rapprocher des données ?
L'approche classique du rapprochement de données
Technique des blocs par partition
Elle consiste en un tri des données en partitions de même tailles ayant le même attribut. L'objectif est de restreindre les comparaisons aux enregistrements groupés dans la même partition.
Pour créer des partitions efficaces, vous devez trouver des attributs qui ne risquent pas de changer, comme un prénom ou un nom. De ce fait, vous améliorez la fiabilité de la méthode des blocs et la vitesse d'exécution de la tâche.
Il est recommandé d'utiliser le composant tGenKey pour générer des clés de bloc et visualiser la distribution des blocs.
Pour plus d'informations sur la génération de clés de bloc, consultez .
Choisir les métriques et définir les règles de rapprochement
Après avoir bloqué les données dans un groupe de la même taille, vous pouvez créer des règles de rapprochement et les tester avant de les utiliser dans le composant tMatchGroup.
Pour plus d'informations concernant la création d'une analyse de rapprochement, consultez Guide utilisateur de Talend Data Fabric Studio.
Rapprochement des fonctions dans le composant tMatchGroup
Le tMatchGroup permet de créer des groupes d'enregistrements de données similaires dans n'importe quelle source de données, y compris avec des données volumineuses, à l'aide d'une ou plusieurs règles de rapprochement.
- Des algorithmes phonétiques tels que Soundex ou Metaphone, qui sont utilisés pour rapprocher les noms.
- La distance de Levensthein, qui calcule le nombre minimum de modifications requises pour transformer une chaîne de caractères en une autre.
- La distance de Jaro, qui rapproche les entrées traitées en fonction des variations orthographiques.
- La distance de Jaro-Winkler, qui est une variante de la distance de Jaro et qui accorde plus d'importance au début de la chaîne de caractères.
Pour plus d'informations concernant l'utilisation du composant tMatchGroup dans des Jobs Standard et Map/Reduce, consultez .
Algorithmes Simple VSR Matcher et T-Swoosh
- Le Simple VSR Matcher
- Le T-Swoosh
Pour plus d'informations concernant les analyses de rapprochement, consultez "Créer une règle de rapprochement" sur Talend Help Center.
Quand est-ce que les enregistrements se rapprochent ?
- Lorsque vous utilisez l'algortihme T-Swoosh, le score retourné pour chaque fonction de rapprochement doit être supérieur au seuil que vous avez défini.
- Le score global, score pondéré calculé d'après les différentes fonctions de rapprochement, doit être supérieur au seuil de rapprochement.
Multiples passes
En général, des schémas de partitionnement différents sont nécessaires. Cela requiert d'utiliser des composants tMatchGroup de façon séquentielle pour rapprocher les données avec différentes clés de bloc.
Pour un exemple de rapprochement de données via de multiples passes, consultez .
Utilisation du composant tRecordMatching
Le tRecordMatching effectue une jointure entre les colonnes comparées du flux principal et les colonnes de référence du flux Lookup. En fonction de la stratégie de rapprochement que vous avez définie, le tRecordMatching écrit en sortie les données de rapprochement, les éventuelles données de rapprochement et les données rejetées. Au moment de définir votre stratégie de rapprochement, les scores de rapprochement définis par l'utilisateur sont cruciaux pour déterminer le niveau de rapprochement des données qui vous intéressent.
Pour plus d'informations concernant le composant tRecordMatching, consultez .
L'approche de l'apprentissage automatique
L'approche de l'apprentissage automatique est utile lorsque vous souhaitez mettre en correspondance un important volume de données.
Le processus de rapprochement des données peut être automatisé en construisant un modèle permettant de prédire les correspondances.
Le processus de rapprochement de données
Les avantages de l'apprentissage automatique sur l'approche classique sont les suivants :
- Les différents mécanismes de blocking permettent une augmentation de la vitesse du calcul et une montée en charge. Dans le cadre de l'apprentissage automatique, le blocking est différent du partitionnement : un enregistrement peut appartenir à plusieurs blocs et la taille des blocs est clairement délimitée, ce n'est pas nécessairement le cas lors de l'utilisation du composant tGenKey.
- Les règles apprises et stockées par le modèle d'apprentissage automatique peuvent être plus complexes et moins arbitraires que les règles de rapprochement définies manuellement.
- La configuration des composants est plus simple. Le modèle de rapprochement apprend automatiquement les distances de correspondance et les seuils de similarité, entre autres.
- La première étape consiste en une pré-analyse du jeu de données à l'aide du tMatchPairing. Les enregistrements uniques, les enregistrements correspondant exactement, les paires suspectes et un échantillon des paires suspectes sont écrits en sortie par le tMatchPairing.
Pour des exemples de calcul permettant de calculer des paires suspectes et d'écrire un échantillon dans Talend Data Stewardship et pour plus d'informations concernant le calcul des paires suspectes et des échantillons suspects depuis les données source, consultez .
-
La deuxième étape consiste à libeller manuellement les paires suspectes en tant que "match" ou "no-match". Vous pouvez utiliser Talend Data Stewardship pour libeller les paires suspectes plus facilement.
Pour plus d'informations concernant l'ajout d'une campagne de regroupement pour identifier les doublons dans un échantillon de données dans Talend Data Stewardship, consultez .
Dans Talend Data Stewardship, les tâches de regroupement permettent aux arbitres de données de valider les relations entre des paires ou des groupes d'enregistrements. Le résultat d'une tâche de regroupement est la liste d'enregistrements associés les uns aux autres.
Vous pouvez utiliser une ou plusieurs classes, par exemple “match”, “potential match” et “different”.
Pour plus d'informations concernant la gestion des tâches de regroupement pour décider des relations entre les paires d'enregistrements dans Talend Data Stewardship, consultez Exemples d'utilisation de Talend Data Stewardship.
-
La troisième consiste à soumettre les paires suspectes que vous avez libellées au tMatchModel afin d'apprendre et de générer un modèle de classification.
Pour des exemples de générations de modèles de rapprochement, consultez .
- La quatrième étape consiste à libeller les paires suspectes dans des jeux de données volumineux automatiquement en utilisant, avec le tMatchPredict, le modèle calculé par le tMatchModel.
Pour voir un exemple de procédure pour libeller des paires suspectes avec des libellés assignés, consultez .
Qu'est-ce qu'un bon échantillon ?
L'échantillon doit être équilibré : le nombre d'enregistrements dans chaque classe - "match" et "no match" - doit être approximativement le même. Un échantillon déséquilibré aboutit à un modèle insatisfaisant.
L'échantillon doit être diversifié : plus les exemples sont diversifiés, plus les règles apprises par le modèles seront efficaces.
L'échantillon doit avoir la bonne taille : si vous disposez d'un important jeu de données constitué de millions d'enregistrements, quelques centaines ou milliers d'exemples peuvent suffire. Si votre jeu de données est constitué de moins de 10 000 enregistrements, la taille de l'échantillon doit se situer entre 1 et 10 % du jeu de données total.
Comment le tMatchModel génère-t-il un modèle ?
L'algorithme d'apprentissage automatique calcule différentes mesures, appelées attributs, afin d'obtenir le plus d'informations possibles sur les colonnes choisies.
Pour générer le modèle, le tMatchModel analyse les données en utilisant l'algorithme Random Forest. Une forêt aléatoire (random forest) est une collection d'arbres de décision utilisée pour résoudre un problème de classifications. Dans un arbre de décision, chaque nœud correspond à une question sur les attributs associés aux données d'entrée. Une forêt aléatoire génère plusieurs arbres de décision afin d'améliorer la précision de la classification et de générer un modèle.
Pour plus d'informations concernant le rapprochement de données dans Apache Spark, consultez .
Créer des enregistrements consolidés
Fusionner les enregistrements à l'aide du tRuleSurvivorship
Après avoir estimé les doublons et regroupé les paires suspectes, vous pouvez utiliser le tRuleSurvivorship créer un représentant unique de chaque groupe de doublons en choisissant les données les plus adaptées. Cette représentation est appelée "enregistrement consolidé".
Pour un exemple de création d'un jeu de données nettoyées à partir des paires suspectes libellées par le tMatchPredict et les enregistrements uniques calculés par le tMatchPairing, consultez Dédoublonnage.
Utiliser Talend Data Stewardship pour examiner manuellement et fusionner les enregistrements
Vous pouvez ajouter des campagnes de fusion dans Talend Data Stewardship pour examiner et modifier les règles, créer des représentants uniques et fusionner les données.
Pour plus d'informations concernant les campagnes de fusion dans Talend Data Stewardship, consultez Exemples d'utilisation de Talend Data Stewardship.
Dans Talend Data Stewardship, les arbitres de données sont des utilisateurs métier chargés de résoudre les tâches de fusion :- Classification des données en assignant des libellés choisis parmi une liste prédéfinie de choix d'arbitrage.
- Fusion d'enregistrements suspects en un seul enregistrement.
Tâches de fusion permettant aux arbitres de données de fusionner plusieurs suspects parmi les enregistrements source en un seul enregistrement (enregistrement consolidé). Le résultat d'une tâche de fusion est l'enregistrement maître produit par les arbitres de données.
Pour plus d'informations concernant les tâches de fusion dans Talend Data Stewardship, consultez Exemples d'utilisation de Talend Data Stewardship.
Les enregistrements source peuvent provenir d'une même source (dédoublonnage de base de données) ou de sources différentes (réconciliation de bases de données).
Comment utiliser la fonction de rapprochement continue à l'aide de composants d'apprentissage automatique ?
Effectuer un rapprochement continu
Si vous voulez rapprocher de nouveaux enregistrements et un jeu de données nettoyées, il n'est pas nécessaire de reprendre le processus de rapprochement depuis le début.
Vous pouvez réutiliser et indexer le jeu de données nettoyées et effectuer un rapprochement continu.Afin d'effectuer des tâches de rapprochement continu, vous devez avoir lancé Elasticsearch version 5.1.2+.
Le processus de rapprochement continu comprend les étapes suivantes :
- La première étape consiste à calculer les suffixes pour séparer les enregistrements nettoyés et dédoublonnés d'un jeu de données et à les indexer dans Elasticsearch à l'aide du tMatchIndex.
Pour un exemple d'indexation de données dans Elasticsearch à l'aide du tMatchIndex, consultez .
- La deuxième étape consiste à comparer les enregistrements indexés à de nouveaux enregistrements ayant le même schéma et à écrire en sortie les doublons et les enregistrements uniques à l'aide du tMatchIndexPredict. Ce composant utilise le modèle permettant d'apparier les données et le modèle de rapprochement générés par le tMatchPairing et le tMatchModel
Pour un exemple de rapprochement de nouveaux enregistrements avec des enregistrements d'un jeu de données de référence, consultez .
Vous pouvez ensuite nettoyer et dédoublonner les enregistrements n'ayant aucune correspondance à l'aide du tRuleSurvivorship et alimenter le jeu de données nettoyées indexé dans Elasticsearh à l'aide du tMatchIndex.