Toute personne qui travaille avec des données comprend l’importance des modèles. Qu’il s’agisse d’une analyse globale de grands ensembles de données ou de l’analyse la plus détaillée possible, les modèles sont partout. Ils peuvent être universels – comme le motif d’un numéro de carte de crédit – ou propres à votre entreprise, par exemple le motif utilisé pour afficher les informations sur les produits sur votre site web.
Lorsque les données sont saisies, elles ne suivent pas toujours le bon modèle. Les entreprises doivent mettre en œuvre différentes méthodes pour faire correspondre, valider et transformer les modèles afin d’obtenir les données dans la forme et le format requis.
Dans ce blog, nous allons apprendre quelques concepts importants liés au filtrage et à la validation, tels que :
- Que signifie la correspondance des modèles ?
- En quoi la correspondance de motifs diffère-t-elle de la correspondance de chaînes de caractères ?
- Comment fonctionne le filtrage ?
- Quelles sont les raisons les plus courantes de faire correspondre et de valider les modèles ?
- Comment pouvez-vous transformer vos données pour obtenir le modèle dont vous avez besoin ?
Plongeons dans le vif du sujet.
Qu’est-ce que le filtrage ?
Un modèle est perçu comme quelque chose qui est à l’opposé du désordre ou du chaos. Il s’agit d’un modèle répétitif qui peut être identifié dans un grand ensemble de valeurs de données appartenant au même domaine. Par conséquent, la correspondance des motifs peut être définie comme suit :
Le processus de recherche d’une séquence ou d’un placement spécifique de caractères dans un ensemble donné de données.
La correspondance de motifs produit des résultats définitifs: la chaîne en entrée contient le motif (elle est valide) ou ne le contient pas (elle est invalide). Si la chaîne de caractères ne contient pas le motif requis, le processus de mise en correspondance est souvent étendu à la transformation du motif, où les sous-éléments de données sont extraits de la valeur d’entrée, puis reformatés pour construire le motif requis.
Correspondance de motifs et correspondance de chaînes de caractères
Avant d’aborder le fonctionnement des algorithmes de filtrage, il est important de comprendre leur relation avec les algorithmes de filtrage de chaînes de caractères. Ces deux concepts sont souvent traités comme une seule et même chose, mais ils sont très différents dans leur objectif et leur utilisation. Le tableau ci-dessous met en évidence certaines des principales différences :
Correspondance de motifs | Correspondance des chaînes de caractères | |
Comparaison | Il compare une chaîne de caractères avec un modèle standard qui représente des blocs ou des tokens de caractères. | Il compare deux chaînes de caractères caractère par caractère. |
Exemple | Comparaison de jane-doe@gmail.com avec [name]@[domain].[domain-extension]. | Comparaison entre Elizabeth et Alizabeth. |
Résultats | Calcule les résultats définitifs – soit le motif est trouvé, soit il est absent. | Calcule les correspondances exactes (faire correspondre la poussière avec la poussière) ou les correspondances floues (faire correspondre la poussière avec la rouille). |
Utilisations | Utilisé pour analyser et extraire des valeurs ou transformer des valeurs pour qu’elles suivent des modèles standard. | Utilisé pour corriger les fautes d’orthographe, détecter le plagiat et identifier les valeurs ayant une signification ou une composition de caractère similaire. |
Comment fonctionne le filtrage ?
En termes simples, les algorithmes de filtrage fonctionnent avec des expressions régulières (ou regex). Pour comprendre ce qu’est une expression régulière, pensez-y comme à un langage qui vous aide à définir un motif et à le partager avec quelqu’un – ou dans notre cas, un programme informatique.
Les expressions régulières indiquent aux programmes informatiques le modèle à rechercher dans les données à tester. Parfois, le programme est suffisamment intelligent pour sélectionner des modèles à partir d’un ensemble de valeurs de données et générer automatiquement une regex. Certains programmes ou outils disposent d’une bibliothèque d’expressions rationnelles intégrée qui contient des modèles couramment utilisés, tels que les numéros de carte de crédit, les numéros de téléphone américains, les formats de date, les adresses électroniques, etc.
Exemple de correspondance d’un modèle d’adresse électronique
Pour comprendre ce qu’est un algorithme de comparaison de motifs, prenons l’exemple de la validation du motif des adresses électroniques. La première étape consiste à définir l’expression rationnelle qui communique le modèle d’une adresse électronique valide. Un exemple de modèle d’adresse électronique valide peut ressembler à ceci :
[name]@[domain].[domain-extension]
Dans le langage regex, ce motif sera traduit par :
^[\w-.]+@([\w-]+.)+[\w-]{2,3}$
Où,
- ^ signifie le début d’une phrase et $ la fin.
- [\w-.] désigne un mot qui contient des caractères alphanumériques, un trait de soulignement, un trait d’union ou un point.
- +@ implique l’ajout d’un symbole @.
- ([\w-]+.) désigne un mot qui contient des caractères alphanumériques, un trait de soulignement ou un trait d’union, et qui se termine par un point.
- +[\w-]{2,3} signifie un mot qui contient des caractères alphanumériques ou un trait d’union, et ce mot ne peut avoir que deux caractères au minimum et trois au maximum.
Ci-dessous, vous pouvez voir un certain nombre d’adresses électroniques de test qui ont été soumises à ce modèle regex et les résultats obtenus.
Non. | Test | Résultat | Raison de l’échec |
1. | michael.scott@gmail.com | Valable | |
2. | pam.beesly_gmail.com | Invalide | Symbole @ manquant. |
3. | jim.halpert@gm.ail.com | Invalide | Le domaine a un point d’arrêt inattendu. |
4. | dwight.schrute@gmail.com4 | Invalide | L’extension du domaine comporte plus de 3 caractères (par exemple, com4). |
Il est évident que la définition manuelle des regex est fastidieuse et nécessite une certaine expertise. Vous pouvez également opter pour des outils de normalisation des données qui proposent des concepteurs visuels de regex (nous y reviendrons dans une section ultérieure).
Cas d’utilisation du filtrage
Maintenant que nous savons ce qu’est le filtrage et comment fonctionne l’algorithme, vous vous demandez peut-être à quoi il sert exactement. La correspondance des motifs est l’un des concepts les plus fondamentaux dans différents domaines, tels que la programmation informatique, la science et l’analyse des données, le traitement du langage naturel, etc.
Si nous parlons spécifiquement du filtrage et de la validation dans le domaine des données, voici quelques-unes de ses applications les plus courantes :
1. Validation des soumissions de formulaires
Comme la comparaison de modèles de données permet de distinguer les informations valides des informations non valides, elle est surtout utilisée pour valider les formulaires soumis sur des sites Web ou d’autres applications logicielles. L’expression rationnelle est appliquée aux champs du formulaire selon les besoins ; quelques exemples de validations sont donnés ci-dessous :
- Le nom d’une personne ne contient que des alphabets ou des symboles,
- L’adresse électronique suit le modèle correct,
- Le numéro de téléphone ne contient que des chiffres,
- Le numéro de la carte de crédit ne doit pas comporter plus de 16 chiffres, etc.
2. Effectuer des opérations de recherche et de remplacement
Le filtrage est également utile dans les applications qui disposent de fonctions de recherche et de remplacement d’informations textuelles. Certaines applications de base ne proposent que la correspondance caractère par caractère (ou correspondance de chaînes de caractères), tandis que d’autres offrent également la fonctionnalité de recherche et de remplacement regex, qui vous permet de rechercher des modèles dans les documents texte et pas seulement des correspondances exactes de chaînes de caractères.
3. Nettoyage et normalisation des ensembles de données
Vous pouvez essayer de valider les informations au moment de la saisie des données – comme les soumissions de formulaires, mais en raison des diverses limitations et restrictions rencontrées dans les systèmes, vos ensembles de données organisationnelles peuvent toujours se retrouver avec des représentations multiples des mêmes informations. C’est là qu’il devient impératif de nettoyer et de normaliser les ensembles de données avant de les utiliser pour les opérations de routine ou la BI.
4. Analyse syntaxique et extraction des valeurs
Étant donné que le filtrage par motif recherche une séquence spécifique de caractères dans une valeur donnée, ce processus est également utile pour faire correspondre et extraire des éléments de valeur qui se trouvent dans des formes d’information étendues. Par exemple, vous pouvez extraire les domaines d’une liste d’adresses électroniques professionnelles pour savoir dans quelle entreprise la personne travaille, ou vous pouvez extraire la ville et le pays de résidence des champs d’adresse qui contiennent 3-4 lignes d’informations.
Comment faire correspondre des modèles ?
Deux approches sont généralement adoptées par les entreprises lors de la comparaison et de la validation des modèles : l’une consiste à écrire des scripts de code internes et l’autre à utiliser des outils logiciels tiers. Discutons de la mise en œuvre de ces deux approches.
1. Correspondance de motifs à l’aide d’un code
Lorsqu’il s’agit de nettoyer et de normaliser des données, la solution par défaut pour de nombreuses organisations consiste à créer des applications internes personnalisées et des scripts de codage pour diverses opérations de normalisation, notamment le rapprochement et la transformation des modèles. Aussi intéressant que cela puisse paraître, cela peut être un véritable défi.
Why in-house data quality projects fail
Read this whitepaper to understand the consequences of ignoring poor data quality, gain insight on why in-house data quality solutions fail and at what costs.
DownloadJetons un coup d’œil à un extrait de code JavaScript qui valide les adresses électroniques.
fonction emailValidation(input) { var regex = /^\w+([.-]?\w+)@\w+([.-]?\w+)(.\w{2,3})+$/ ; if(input.value.match(regex)) { alert("Valid"); return true; } sinon { alert("Invalid"); return false; } } |
Notez que cet extrait de code ne fait que valider les adresses électroniques et ne les transforme pas en un modèle standardisé au cas où elles ne seraient pas valides. En outre, il ne valide que le champ de l’adresse électronique, de sorte que pour faire correspondre différents modèles, vous devez mettre en œuvre un code similaire pour chacun d’eux. Enfin, la regex qui valide les adresses électroniques est encore un peu plus facile à décoder. Si nous considérons les champs de données qui ont des motifs complexes, les regex peuvent s’étendre sur un certain nombre de lignes. Par exemple, l’extrait de code suivant recherche des correspondances de motifs pour les URL.
fonction URLValidation(input) { var regex = /[-a-zA-Z0-9@:%.+~#=] {1,256}.[a-zA-Z0-9()]{1,6}\b ([-a-zA-Z0-9()@:%+.~#?&//=]*) ?/gi ; if(input.value.match(regex)) { alert("Valid"); return true; } sinon { alert("Invalid"); return false; } } |
2. Correspondance de motifs à l’aide d’outils logiciels
Pour les raisons mentionnées ci-dessus, la maintenance des applications personnalisées peut être très gourmande en ressources. Il vous faut engager une équipe de développeurs internes qui sont constamment sollicités par les utilisateurs professionnels pour déboguer et mettre à jour les fonctionnalités du code.
C’est pourquoi de nombreux responsables et ingénieurs de données chevronnés penchent pour l’idée d’adopter des outils simples de création, de mise en correspondance et de transformation des modèles, qui peuvent être facilement utilisés par le personnel informatique et non informatique.
Ces apparieurs de motifs sont dotés de différentes caractéristiques. Les caractéristiques les plus courantes sont présentées ci-dessous.
1. Constructeurs de modèles visuels
Une fonction de création de modèles visuels offre une interface utilisateur graphique de type glisser-déposer qui peut être utilisée pour créer des modèles. Lorsqu’un utilisateur dépose des blocs de motifs ou des jetons dans l’espace de travail, une expression rationnelle équivalente est générée en arrière-plan. Cette fonctionnalité élimine le besoin d’expertise technique et encourage les utilisateurs naïfs à construire eux aussi des modèles.
Une capture d’écran du concepteur de modèles visuels dans DataMatch Enterprise est présentée ci-dessous :
2. Correspondance de motifs par type de données
Une autre caractéristique intéressante des outils de comparaison de motifs est la possibilité de profiler des colonnes entières en fonction de leurs types de données. Par exemple, vous pouvez profiler la colonne des numéros de téléphone par le type de données entières, et la fraction des valeurs qui contiennent d’autres symboles et caractères en plus des chiffres peut être signalée comme non valide. Cela peut être fait pour obtenir une évaluation rapide de l’effort de normalisation nécessaire pour corriger les modèles invalides.
Une capture d’écran des modèles de correspondance par type de données dans DataMatch Enterprise est présentée ci-dessous :
3. Correspondance de motifs à l’aide de la bibliothèque regex
De nombreux outils sont dotés de bibliothèques d’expressions rationnelles intégrées contenant des modèles couramment utilisés, tels que les numéros de carte de crédit, les numéros de téléphone américains, les formats de date, les adresses électroniques, etc. En outre, vous pouvez également créer des modèles personnalisés (spécialisés pour votre usage professionnel) et les enregistrer dans la bibliothèque pour les réutiliser.
Une capture d’écran de la bibliothèque regex dans DataMatch Enterprise est présentée ci-dessous :
4. Ensemble complet de nettoyage et de normalisation des données
L’un des principaux avantages de ces outils est qu’ils sont généralement fournis avec d’autres fonctions de nettoyage et de normalisation des données, qui sont essentielles pour transformer vos données en une forme et un format acceptables. En effet, une fois que vous disposez d’un rapport sur le filtrage qui indique les valeurs de données valides et celles qui ne le sont pas, l’étape suivante consiste à corriger les modèles.
C’est pourquoi l’adoption d’un système de bout en bout qui prend en charge les diverses disciplines de la gestion de la qualité des données – y compris le profilage, le nettoyage, la normalisation, la mise en correspondance et la fusion des données – peut constituer un énorme avantage.
Une capture d’écran des diverses fonctions de qualité des données offertes par DataMatch Enterprise est présentée ci-dessous :
Opter pour une solution sans code qui construit, fait correspondre et transforme les modèles.
Bien que nous nous soyons surtout concentrés sur la correspondance des motifs dans ce blog, l’art de la transformation des motifs est tout aussi intéressant – et pourtant difficile. C’est pourquoi de nombreuses entreprises souhaitent fournir à leurs équipes des outils de nettoyage et de normalisation des données en libre-service, conçus avec des fonctions de conception, de mise en correspondance et de transformation de modèles. L’adoption de tels outils peut aider votre équipe à exécuter des techniques complexes de nettoyage et de normalisation des données sur des millions d’enregistrements en quelques minutes.
DataMatch Enterprise est l’un de ces outils qui permet aux équipes chargées des données de rectifier les erreurs de modèle avec rapidité et précision, et de se concentrer sur des tâches plus importantes. Pour en savoir plus sur la façon dont DataMatch Enterprise peut vous aider, vous pouvez télécharger un essai gratuit aujourd’hui ou réserver une démonstration avec un expert.