tSynonymSearch - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Avertissement

Ce composant est disponible dans la Palette du Studio Talend si vous avez souscrit à l'un des produits Talend Platform.

Propriétés du tSynonymSearch

Famille du composant

Data Quality

 

Fonction

Le composant tSynonymSearch lit des données d'entrée et recherche toutes leurs entrées de référence dans un index de synonymes donné. Si ce composant trouve des entrées correspondantes dans l'index de synonymes, il les écrit avec les données d'entrée correspondantes et les détails de mise en correspondance.

Pour plus d'informations concernant la création d'un index de synonymes et la définition d'entrées de références, consultez tSynonymOutput.

Pour plus d'informations concernant l'accès et la gestion des mots et des entrées de référence (documents) d'un synonyme existant, à l'aide de l'éditeur d'index des synonymes, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations concernant les index de synonymes disponibles, consultez l'annexe concernant les dictionnaires des synonymes de données dans le Guide utilisateur du Studio Talend.

Note

Le calcul de similarité des synonymes est amélioré en version 5.1 du Studio Talend. Si vos index ont été créés avec une version 5.0 ou antérieure et si vous devez les gérer à l'aide de cette méthode de calcul améliorée, vous devez mettre à jour ces index en exécutant le fichier IndexMigrator.jar téléchargeable à l'adresse : http://talendforge.org/svn/top/trunk/org.talend.dataquality.standardization.migration/dist/IndexMigrator.jar. La commande à utiliser pour exécuter ce fichier jar est

java -jar IndexMigrator.jar <inputPath> <outputPath(optional)> 

(où inputPath est le chemin d'entrée des jars à migrer et outputPath(optional) est l'emplacement de sortie facultatif des jars migrés).

Objectif

Le tSynonymSearch recherche dans un index de synonymes les entrées de référence qui correspondent aux données d'entrée.

Basic settings

Schema et Edit schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant. Le schéma est soit local (built-in) soit distant dans le Repository.

Les colonnes sont fournies par défaut dans le schéma de ce composant afin de présenter les détails de mise en correspondance entre les données d'entrée et les données de référence.

Pour plus d'informations concernant les colonnes par défaut du schéma, consultez Colonnes par défaut du schéma.

 

 

Built-in : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisable dans divers projets et Job designs. Voir également le Guide utilisateur du Studio Talend.

 

Limit of each group

Saisissez le nombre maximum d'entrées de référence correspondant à chaque groupe de données d'entrée à afficher. Chaque ligne des données d'entrée est reconnue par ce composant comme étant un groupe.

Si le nombre d'entrées dépasse la limite indiquée, ce composant affiche celles qui ont le score le plus élevé. Pour plus d'informations concernant les scores utilisés sur les entrées mises en correspondance, consultez Colonnes par défaut du schéma.

 

Columns to search

Complétez ce tableau pour renseigner les paramètres utilisés pour mettre en correspondance les données d'entrée et les entrées de référence dans un index donné.

Les colonnes à renseigner sont :

- Input column : sélectionnez la(es) colonne(s) souhaitées dans le schéma des données d'entrée.

- Reference output column : sélectionnez la(es) colonne(s) dans le schéma des données de sortie pour présenter les entrées de référence correspondantes trouvées dans l'index des synonymes.

- Index path : saisissez entre guillemets le chemin d'accès de l'index que vous souhaitez récupérer.

- Search mode : sélectionnez le mode de recherche à utiliser pour mettre en correspondance les chaînes de caractères d'entrée par rapport aux chaînes de caractères de l'index. Pour plus d'informations concernant les modes de recherche disponibles, consultez Modes de recherche pour les règles d'Index.

- Score threshold (disponible pour tous les modes) : configurez une valeur numérique, supérieure à 0.0, avec laquelle vous souhaitez filtrer les résultats. Configurez le seuil à 0.0 pour désactiver le filtre.

La valeur du score est retournée par le moteur Lucene et est supérieure à 0. Plus le score est élevé, plus la similarité de la correspondance est élevée. Utilisez le seuil afin de supprimer des résultats en sortie les correspondances dont le score est faible. Il n'y a pas de méthode simple pour déterminer la bonne valeur du seuil. Cela dépend des données d'entrée et des données indexées.

- Max edits (basé sur l'algorithme de Levenshtein et disponible pour les modes Match all fuzzy et Match any fuzzy) : sélectionnez une distance de modification, 1 ou 2, dans la liste. Tout terme au sein de la distance de modification depuis les données d'entrée est mis en correspondance. Avec une distance maximale de modification de 2, par exemple, vous pouvez effectuer 2 insertions, suppressions ou substitutions.

Les performances de la mise en correspondance floue sont nettement améliorées avec l'option Max edits for fuzzy match.

Note

Les Jobs migrés dans le Studio depuis d'anciennes versions s'exécutent correctement, mais les résultats peuvent être légèrement différents, car l'option Max edits for fuzzy match est utilisée à la place de l'option Minimum similarity for fuzzy match.

- Word distance (disponible pour le Match partial) : définissez le nombre maximal de mots autorisés dans une séquence de mots pouvant être trouvée dans l'index. La valeur par défaut est 1.

- Limit : saisissez le nombre maximum d'entrées de référence à mettre en correspondance avec chaque enregistrement de la colonne d'entrée correspondante que vous avez sélectionnée.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les métadonnées de process du Job, aussi bien au niveau du Job qu'au niveau de chaque composant.

Connections

Liens de sortie (de ce composant à un autre) :

Row : Main; Reject

Trigger : Run if; On Component Ok; On Component Error.

Liens d'entrée (d'un autre composant à celui-ci) :

Row : Main; Reject

Pour plus d'informations concernant les connexions, consultez le Guide utilisateur du Studio Talend.

Global Variables

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant requiert des données d'entrée provenant du composant précédent.

Colonnes par défaut du schéma

Cette section présente de façon détaillée les colonnes par défaut du schéma présentes dans le composant tSynonymSearch.

Colonnes

Description

GID

Identifiant du groupe. Ces identifiants sont créés automatiquement au lancement pour indexer les groupes de données d'entrée reconnus par ce composant.

GRP_SIZE

Nombre d'entrées de référence qui correspondent dans chaque groupe des données d'entrée. Cette taille est limitée par le nombre défini dans le champ Limit of each group et présente toujours les entrées qui ont le score le plus élevé.

SCORE

Score de Lucene utilisé pour mesurer le degré de correspondance entre les colonnes d'entrée sélectionnées et leurs entrées de référence. Le score de Lucene est une valeur numérique qui part de 0 et qui n'est pas délimitée. Les bonnes correspondances ont généralement un score supérieur à 1. Cependant, il n'y a pas de règle définie pour déterminer ce qu'est une bonne ou une mauvaise correspondance.

SCORES

Scores de Lucene utilisés pour mesurer le degré de correspondance entre chaque colonne d'entrée que vous avez sélectionnée et ses entrées de référence.

NB_MATCHED _FIELDS

Nombre de colonnes d'entrée que vous avez sélectionnés pour l'opération de mise en correspondance.

Outre les informations de mise en correspondance présentées dans les colonnes du schéma par défaut, vous devez définir plus de colonnes afin d'écrire les données d'entrée et leurs entrées de référence en sortie.

Scénario 1 : Rechercher dans un index donné les entrées de référence qui correspondent

Ce scénario décrit un Job à trois composants permettant de lire des données relatives à des prénoms, de parcourir un index de synonymes donné pour trouver les entrées de référence qui correspondent aux données d'entrée et d'écrire les résultats.

Créez un index de synonymes de prénoms pour ce Job en suivant les procédures décrites dans Scénario 2 : Créer un index des synonymes de noms de personnes en utilisant un tMap.

Ce Job requiert l'utilisation de trois composants :

  • tFixedFlowInput : ce composant génère les données d'entrée que vous mettrez en correspondance avec les entrées de référence dans l'index de synonymes.

  • tSynonymSearch : ce composant recherche dans l'index de synonymes les entrées de référence qui correspondent.

  • tLogRow (found) : ce composant liste les résultats de cette recherche de correspondance.

Construire le Job

  1. A partir de la Palette, déposez les composants suivants dans l'espace de modélisation graphique : un tFixedFlowInput, un tSynonymSearch et un tLogRow.

    Vous pouvez modifier le nom affiché de chaque composant, comme pour le composant tLogRow, renommé found dans ce scénario. Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

  2. Cliquez-droit sur le composant tFixedFlowInput pour ouvrir le menu contextuel et sélectionnez Row > Main.

  3. Déposez le lien sur le composant tSynonymSearch pour créer une connexion entre ces deux composants.

  4. Procédez de la même manière pour connecter le tSynonymOutput au tLogRow (found).

Configurer les composants

  1. Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Component.

  2. A côté du champ Schema, cliquez sur le bouton Edit schema pour ouvrir la boîte de dialogue [Schema]. Ajoutez une colonne et nommez-la FIRSTNAME. Cliquez sur OK pour valider les modifications et fermer la boîte de dialogue.

  3. Dans la zone Mode, sélectionnez l'option Use Inline Content (delimited file) et saisissez les noms suivants dans le champ Content :

    Kristof
    Chris
    Tony
    Anton
  4. Double-cliquez sur le tSynonymSearch pour ouvrir sa vue Component.

  5. Cliquez sur Sync columns pour ajouter les colonnes du schéma du composant précédent aux colonnes du schéma par défaut du tSynonymSearch. Dans la boîte de dialogue qui s'ouvre, cliquez sur Yes pour propager les modifications au composant suivant.

  6. Cliquez sur le bouton [...] à côté d'Edit schema pour ouvrir l'éditeur de schéma et ajoutez une colonne au schéma de sortie, matched_fname.

    Cette colonne va contenir les entrées de référence en correspondance dans le flux de sortie.

    Cliquez sur OK pour valider les paramètres et acceptez la propagation lorsque cela vous est proposé.

  7. Dans le champ Limit of each group, saisissez 5 pour remplacer la valeur par défaut.

  8. Sous le tableau Column to search, cliquez sur le bouton [+] pour ajouter une ligne et définissez les paramètres comme suit :

    • Dans la colonne Input column, sélectionnez FIRSTNAME dans la liste des colonnes d'entrée.

    • Dans la colonne Reference output column, sélectionnez matched_fname dans la liste des colonnes de sortie.

    • Dans la colonne Index path, saisissez entre guillemets doubles le chemin d'accès à l'index de synonymes à utiliser.

    • Dans la colonne Search mode, sélectionnez Match all fuzzy. Cela va mettre en correspondance chaque mot de la chaîne de caractères d'entrée par rapport au mot similaire de la chaîne de caractères de l'index.

    • Dans la colonne Score threshold, saisissez 0.9 pour filtrer les résultats et lister uniquement les termes ayant une haute similarité.

    • Dans la colonne Max edits, sélectionnez 1 comme distance de modification autorisée à utiliser.

      Avec une distance maximale de modification de 1, vous pouvez effectuer une insertion, suppression ou substitution. Tout terme à l'intérieur de cette distance depuis les données d'entrée est mis en correspondance.

    • Laissez la colonne Word distance telle qu'elle est pour le mode Match partial.

    • Dans la colonne Limit, laissez la valeur par défaut, 5.

  9. Dans la vue Basic settings du tLogRow, sélectionnez l'option Table pour un meilleur affichage des résultats d'exécution du Job.

Exécuter le Job

  • Appuyez sur F6 pour exécuter ce Job.

Le résultat de l'exécution se présente comme suit dans la console de la vue Run.

A partir de ce résultat, vous pouvez voir que chaque prénom de la chaîne de caractères d'entrée correspond à un mot similaire de la chaîne de caractères de l'index. Par exemple, l'entrée Chris du flux d'entrée est une correspondance floue pour 5 mots dans l'index de synonymes donné. Cet enregistrement est reconnu comme groupe 2 dont la taille est de 3, ce qui signifie que trois correspondances de référence sont trouvées pour ce groupe.

Les colonnes SCORE et SCORES présentent les même valeurs dans la mesure où seule une colonne d'entrée est utilisée dans ce scénario.

Si vous souhaitez extraire uniquement les entrées correspondant exactement à une chaîne de caractères de l'index, sélectionnez Match exact dans la colonne Search mode de l'onglet Basic settings du composant tSynonymSearch.

Scénario 2 : Rechercher dans un index donné les entrées de référence qui correspondent à deux colonnes d'entrée

Pour ce scénario, utilisez le Job précédent en incluant de légères modifications afin de chercher des données d'entrée provenant de deux colonnes dans deux index de synonymes.

Outre l'index utilisé précédemment, un autre index est utilisé. Il contient les noms de famille, par exemple CorreiaCorriaToumToomtoomWalkerWaker.

Pour reproduire ce scénario, ouvrez le Job créé dans le scénario précédent et procédez comme suit.

Configurer les composants

  1. Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Component.

  2. Cliquez sur le bouton [...] à côté d'Edit schema pour ouvrir l'éditeur de schéma. Ajoutez une seconde colonne, LASTNAME après la colonne FIRSTNAME que vous avez définie lors du scénario précédent.

    Cliquez sur OK pour valider les modifications et fermer la boîte de dialogue.

  3. Dans le champ Content de la zone Mode, ajoutez plus de données liées aux prénoms et noms de famille afin que les données d'entrée se présentent comme suit :

    Kristof;Toum
    Chris;Toom
    Tony;Walker
    Anton;Correia
    Jim;Correia
    Jim;Walker
  4. Double-cliquez sur le tSynonymSearch pour ouvrir la vue Component.

  5. Cliquez sur Sync columns pour synchroniser les colonnes de ce composant avec celles du composant précédent et cliquez sur Yes pour propager les modifications au composant suivant lorsque cela vous est proposé.

  6. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir la boîte de dialogue [Schema] et ajoutez deux colonnes au schéma de sortie, matched_fname et matched_lname. Ces colonnes vont contenir les entrées de référence en correspondance dans le flux de sortie.

    Cliquez sur OK pour valider les paramètres et acceptez la propagation lorsqu'elle vous est proposée.

  7. Dans le champ Limit of each group, saisissez 10. pour remplacer la limite définie dans le scénario précédent

  8. Sous le tableau Columns to search, cliquez sur le bouton [+] pour ajouter une deuxième ligne et configurez les paramètres comme suit :

    • Dans la colonne Input column, sélectionnez LASTNAME dans la liste déroulante.

    • Dans la colonne Reference output column, sélectionnez matched_lname dans la liste déroulante.

    • Dans la colonne Index path, saisissez entre guillemets le chemin d'accès à l'index de synonymes qui contient les entrées des noms de famille.

    • Dans la colonne Search mode, sélectionnez Match exact pour les deux colonnes d'entrée. Cela permet de mettre en correspondance le mot d'entrée par rapport au mot exact dans l'index.

    • Dans la colonne Score threshold, saisissez 0.9 pour filtrer les résultats et lister uniquement les termes ayant une haute similarité.

    • Laissez les colonnes Min similarity et Word distance telles qu'elles sont pour les modes Fuzzy et Match partial.

    • Dans la colonne Limit de cette ligne, laissez la valeur par défaut, 5.

Exécuter le Job

  • Appuyez sur F6 pour exécuter ce Job.

Le résultat de l'exécution se présente comme suit dans la console de la vue Run.

A partir de ce résultat, en analysant la donnée d'entrée Chris Toom par exemple, vous pouvez voir que :

  • cet enregistrement est reconnu comme le groupe 2 ayant une taille de 3, ce qui signifie que 3 paires de correspondances exactes sont trouvées dans les deux index de synonymes en utilisation. Les correspondances exactes pour les prénoms sont Christian, Christiaan et Christoffel. La correspondance exacte pour le nom de famille est toom trois fois.

  • les colonnes SCORES contiennent deux sous-colonnes.

    Ces sous-colonnes présentent les scores de mise en correspondance par rapport aux colonnes de référence, respectivement matched_fname et matched_lname. Chaque figure listée dans la colonne SCORE est égale à la somme des deux figures de la même ligne dans les sous-colonnes de la colonne SCORES.