Le rapprochement de données à l'aide des outils Talend

author
Talend Documentation Team
EnrichVersion
6.5
EnrichProdName
Talend Data Management Platform
Talend Data Services Platform
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
Talend MDM Platform
task
Qualité et préparation de données > Rapprochement de données
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement
Création et développement > Systèmes tiers > Composants Data Quality > Composants de rapprochement
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement
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 de données
Qualité et préparation de données > 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 flou
Gouvernance 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
Qualité et préparation de données > 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
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 continu
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
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 paires suspectes 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 sur les dictionnaires de synonymes disponibles, consultez la documentation sur Talend Help Center.

  • 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 sur les composants de validation d'adresses, consultez tQASBatchAddressRow, tLoqateAddressRow et tMelissaDataAddress.

  • 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 sur la standardisation des numéros de téléphone, consultez tStandardizePhoneNumber.

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

Le blocking par partitions

Le rapprochement de données des enregistrements est une tâche coûteuse en ressources car chaque enregistrement doit être comparé aux autres enregistrement du jeu de données. Afin d'améliorer l'efficacité de cette tâche, le technique du blocking est, la plupart du temps, une étape nécessaire.

Le blocking consiste à classer les enregistrements en partitions de taille similaire ayant un même attribut. L'objectif est de réduire les comparaisons aux enregistrements regroupés au sein de la même partition.

Afin de créer des partitions efficaces, vous devez trouver des attributs qui ne sont pas susceptibles de changer, comme le prénom ou le nom de famille d'une personne. En faisant cela, vous améliorez l'efficacité de l'étape de blocking et de la vitesse de calcul de cette tâche.

L'utilisation du tGenKey est recommandée afin de générer des clés de bloc et de visualiser la distribution des blocs. Pour plus d'information sur la génération des clés de bloc, consultez tGenKey.

Choix des métriques et définition des règles de rapprochement de données

Après avoir constitué des blocs de données de taille similaire, vous pouvez créer des règles de rapprochement de données et les tester avant les utiliser avec le tMatchGroup. Pour plus d'informations, consultez la documentation en ligne sur Talend Help Center.

Le tMatchGroup vous permet de créer des groupes d'enregistrements similaires dans toute source de données, y compris d'importants volumes de données, en utilisant une ou plusieurs règles de rapprochement de données. Un groupe est constitué d'un enregistrement maître et des enregistrements similaires à cet enregistrement maître. La méthode de rapprochement de données utilisée pour calculer les mesures de similarité entre des enregistrements similaires comprend les mesures suivantes :
  • Des algorithmes phonétiques comme Soundex ou Metaphone. Ils sont utilisés pour la rapprochement de noms.

  • La distance de Levensthein qui calcule le nombre minimum de modifications nécessaires pour transformer une chaîne de caractère en une autre.

  • La distance de Jaro qui rapproche les entrées traitées selon les différences orthographiques.

  • La distance de Jaro-Winkler qui est une variante de la distance de Jaro accordant plus d'importance au début de la chaîne de caractères.

Pour plus d'informations sur le tMatchGroup consultez tMatchGroup.

En général, différents schémas de partitions sont nécessaires. Cela nécessite l'utilisation de plusieurs tMatchGroup afin de rapprocher les données par rapport à différentes clés de bloc.

Pour un exemple de rapprochement de données via de multiples passes, consultez ../../../components/fr/c-scenario_2__matching_customer_data_through_multiple_passes-tmatchgroup_scenario-standard.html#hmassy-20140809-tmatchgroup-multiple_passes.

Le tRecordMatching joint les colonnes du flux principal comparées aux les colonnes de référence du flux utilisé comme lookup. Selon la stratégie de rapprochement de données choisie, le tRecordMatching génère en sortie les doublons, les suspects potentiels et les données rejetées. Lorsque vous définissez votre stratégie, les scores de rapprochement de données personnalisés sont cruciaux pour déterminer le niveau de correspondance des données en question. Pour plus d'informations sur le tRecordMatching, consultez tRecordMatching.

Deux aide-mémoire sont disponibles dans le Studio Talend afin de vous guider tout au long de la création de votre premier Job de rapprochement de données ou de dédoublonnage. Pour plus d'informations sur les aide-mémoire, consultez le guide utilisateur du Studio Talend.

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.

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 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 doublons exacts, les paires suspectes et un échantillon des paires suspectes sont écrits en sortie par le tMatchPairing.

    Pour des exemples de calculs de paires suspectes, consultez Scénario 1 : Calculer des paires suspectes et écrire un échantillon dans Talend Data Stewardship et Scénario 2 : Calcul de paires suspectes et d'un échantillon de paires suspectes à partir d'un jeu de données.

  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 sur l'ajout d'une campagne Grouping pour identifier les doublons dans un échantillon de données dans Talend Data Stewardship, consultez Ajout d'une campagne Grouping pour identifier les paires de doublons.

    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 des enregistrements liés.

    Vous pouvez utiliser une ou plusieurs classes, par exemple “match”, “potential match” et “different”.

    Pour plus d'informations sur les tâches de regroupement dansTalend Data Stewardship, consultez Gérer des tâches de regroupement pour décider des relations entre les paires d'enregistrements.

  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 Scénario 1 : Générer un modèle de rapprochement à partir d'une campagne Grouping et Scénario 2 : Générer un modèle de rapprochement.

    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.

  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 un exemple de prédiction de libellés sur des paires suspectes, consultez Scénario : Libeller des paires suspectes avec des libellés assignés.

Pour plus d'informations sur l'approche de l'apprentissage automatique, consultez Rapprochement sur Spark.

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 nettoyage et de dédoublonnage d'un jeu de données, consultez Scénario : Créer 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.

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 sur les campagnes de fusion dans Talend Data Stewardship, consultez Ajout d'une campagne de fusion pour dédoublonner les enregistrements.

  • 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 sont les enregistrements consolidés créés par les arbitres de données.

      Pour plus d'informations sur les tâches de fusion dans Talend Data Stewardship, consultez Gérer les tâches de fusion pour dédoublonner les enregistrements.

      Les enregistrements source peuvent provenir de la même source (dédoublonnage de base de données) ou de différentes sources (réconciliation de bases de données).

Comment rapprocher à nouveau des données à l'aide des 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 Scénario : Indexation d'un jeu de données de référence dans Elasticsearch.

  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 Scénario : Rapprochement continu à l'aide du tMatchIndexPredict.

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.