Rapprochement de données à l'aide des outils Talend - 7.3

author
Talend Documentation Team
EnrichVersion
Cloud
7.3
EnrichProdName
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
task
Création et développement > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement continu
Création et développement > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement de données
Création et développement > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement flou
Création et développement > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement utilisant l'apprentissage automatique
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement continu
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement de données
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement flou
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement utilisant l'apprentissage automatique
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement continu
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement de données
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement flou
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement utilisant l'apprentissage automatique
EnrichPlatform
Studio Talend

Qu'est-ce que le rapprochement de données ?

Le rapprochement de données est le processus permettant de chercher des enregistrements qui représentent la même entité dans un jeu de données.

Définition générale

Le rapprochement de données vous permet :
  • 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.

Deux types de rapprochements d'enregistrements existent :
  • 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 est le processus permettant d'examiner des données disponibles dans différentes sources de données et de collecter des statistiques ainsi que des informations sur ces 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

La standardisation des données est une étape essentielle avant d'essayer de mettre des données en correspondance et ce, afin d'améliorer la précision du rapprochement.
Talend fournit différents moyens de standardiser 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

L'approche classique du rapprochement de données consiste à classer les données en partitions de taille similaire ayant un même attribut, choisir les métriques et définir les règles de rapprochement de données.

Technique des blocs par partition

Le rapprochement d'enregistrement est une tâche exigeante car chaque enregistrement doit être comparé aux autres enregistrements du jeu de données. Pour améliorer l'efficacité de cette tâche, la technique des blocs est souvent une étape nécessaire.

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.

Chaque groupe créé est composé d'un enregistrement maître et d'enregistrements similaires à cet enregistrement maître. Les fonctions de rapprochement utilisées pour calculer le degré de similarité entre les enregistrements similaires et l'enregistrement maître sont les suivants :
  • 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

Lorsque vous utilisez le composant tMatchGroup, vous pouvez choisir entre deux algorithmes :
  • 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 ?

Deux enregistrements se rapprochent lorsque les conditions suivantes sont remplies :
  • 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.
  1. 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 .

  2. 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.

  3. 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 .

  4. 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

Vous pouvez utiliser le tRuleSurvivorship ou Talend Data Stewardship pour créer un représentant unique de chaque entité.

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 :

  1. 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 .

  2. 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.