Accéder au contenu principal

L'algorithme T-Swoosh

L'algorithme T-Swoosh est basé sur la même idée que l'algorithme Simple VSR Matcher mais il crée un enregistrement maître au lieu de considérer les enregistrements existants comme des enregistrements maître.

L'ordre des enregistrements d'entrée n'impacte pas le processus de rapprochement.

Pour créer des enregistrements maître, vous pouvez concevoir des règles de consolidation afin de décider de l'attribut qui sera consolidé.

Il existe deux types de règles de consolidation :

  • Les règles liées aux clés de rapprochement : chaque attribut utilisé en tant que clé de rapprochement peut avoir une règle de consolidation spécifique.
  • Les règles par défaut : elles sont appliquées aux attributs ayant le même type (Boolean, String, Date, Number).

Si une colonne est une clé de rapprochement, la règle liée aux clés de rapprochement, spécifique à cette colonne, est appliquée.

Si la colonne n'est pas une clé de rapprochement, la règle de consolidation par défaut pour ce type de données est appliquée. Si la règle de consolidation par défaut n'est pas définie pour ce type de données, la fonction de consolidation Most common est utilisée.

Chaque fois que deux enregistrements sont fusionnés pour créer un enregistrement maître, ce nouvel enregistrement maître est ajouté à la file d'attente des enregistrements à examiner. Les deux enregistrements fusionnés sont supprimés de la table de contrôle.

Par exemple, prenez le jeu d'enregistrements suivant en entrée :

id fullName
1 John Doe
2 Donna Lewis
3 John B. Doe
4 Johnnie B. Doe

La règle de consolidation utilise la fonction Concatenate avec "," comme paramètre pour séparer les valeurs.

Au début du processus, la file d'attente contient tous les enregistrements en entrée et la table de contrôle est vide. Afin de traiter les enregistrements en entrée, l'algorithme itère jusqu'à ce que la file d'attente soit vide :

  1. L'algorithme prend l'enregistrement 1 et le compare à un jeu de données vide. Puisque l'enregistrement 1 ne correspond à aucun enregistrement, il est ajouté aux enregistrements maître. La file d'attente contient maintenant l'enregistrement 2, l'enregistrement 3 et l'enregistrement 4. La table de contrôle contient l'enregistrement 1.
  2. L'algorithme prend l'enregistrement 2 et le compare à l'enregistrement 1. Puisque l'enregistrement 2 ne correspond à aucun enregistrement, il est ajouté aux enregistrements maître. La file d'attente contient maintenant l'enregistrement 3 et l'enregistrement 4. La table de contrôle contient l'enregistrement 1 et l'enregistrement 2.
  3. L'algorithme prend l'enregistrement 3 et le compare à l'enregistrement 1. L'enregistrement 3 correspond à l'enregistrement 1. Par conséquent, l'enregistrement 1 et l'enregistrement 3 sont fusionnés pour créer un enregistrement maître, appelé enregistrement 1,3. La file d'attente contient maintenant l'enregistrement 4 et l'enregistrement 1,3. La table de contrôle contient l'enregistrement 2.
  4. L'algorithme prend l'enregistrement 4 et le compare à l'enregistrement 2. Puisqu'il n'y a pas de correspondance, l'enregistrement 4 est ajouté aux enregistrements maître. La file d'attente contient maintenant l'enregistrement 1,3. La table de contrôle contient l'enregistrement 2 et l'enregistrement 4.
  5. L'algorithme prend l'enregistrement 1,3, puis le compare à l'enregistrement 2 et à l'enregistrement 4. L'enregistrement 1,3 correspond à l'enregistrement 4. Par conséquent, l'enregistrement 1,3 et l'enregistrement 4 sont fusionnés pour créer un enregistrement maître appelé enregistrement 1,3,4. L'enregistrement 4 est supprimé de la table de contrôle. Puisque l'enregistrement 1,3 était le résultat d'une fusion, il est supprimé de cette table. La file d'attente contient maintenant l'enregistrement 1,3,4. La table de contrôle contient l'enregistrement 2.
  6. L'algorithme prend l'enregistrement 1,3,4 et le compare à l'enregistrement 2. Puisqu'il n'y a pas de correspondance, l'enregistrement 1,3,4 est ajouté aux enregistrements maître. La file d'attente est désormais vide. La table de contrôle contient l'enregistrement 1,3,4 et l'enregistrement 2.

La sortie ressemblera à la table suivante :

id fullName GRP_ID GRP_SIZE MASTER SCORE GRP_QUALITY
1,3,4 John Doe, John B. Doe, Johnnie B. Doe 0 3 true 1.0 0.449
1 John Doe 0 0 false 0.72 0
3 John B. Doe 0 0 false 0.72 0
4 Johnnie B. Doe 0 0 false 0.78 0
2 Donna Lewis 1 1 true 1.0 1.0

Comme vous pouvez le constater, la valeur de la colonne GRP_QUALITY peut être inférieure à la valeur du paramètre Match Threshold. Cela est possible car un groupe est créé à partir de paires d'enregistrements avec un score de rapprochement supérieur ou égal à la valeur de Match Threshold, mais les enregistrements ne sont pas tous comparés les uns aux autres, tandis que GRP_QUALITY prend en compte toutes les paires d'enregsitrements dans le groupe.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !