Partager via


Comment fonctionne la correspondance approximative dans Power Query

Les fonctionnalités de Power Query comme la fusion approximative, les valeurs groupées et le regroupement probable utilisent les mêmes mécanismes pour fonctionner en tant que correspondance approximative.

Cet article passe en revue de nombreux scénarios qui démontrent comment tirer parti des options de la correspondance floue, dans le but de rendre « flou » clair.

Ajuster le seuil de similarité

Le meilleur scénario pour appliquer l’algorithme de correspondance floue est lorsque toutes les chaînes de texte d’une colonne ne contiennent que les chaînes qui doivent être comparées et aucun composant supplémentaire. Par exemple, la comparaison de Apples à 4ppl3s permet d’obtenir des scores de similarité plus élevés que la comparaison de Apples à My favorite fruit, by far, is Apples. I simply love them!.

Parce que le mot Apples dans la deuxième chaîne n'est qu'une petite partie de la chaîne de texte entière, cette comparaison donne un score de similarité inférieur.

Ainsi, le jeu de données suivant consiste en réponses à une seule question d’un sondage qui ne comportait qu’une seule question : « Quel est votre fruit préféré ? »

Fruit
Blueberries (Myrtilles)
Blue berries are simply the best (Les myrtilles sont tout simplement les meilleures)
Strawberries (Fraises)
Strawberries (Fraises) = <3
Pommes
'sples ('smmes)
4ppl3s (5omm3s)
Bananes
fav fruit is bananas (mon fruit préféré est la banane)
Banas
My favorite fruit, by far, is Apples. (Mon fruit préféré est, de loin, la pomme.) I simply love them! (Je les adore !)

Le sondage a fourni une seule zone de texte pour entrer la valeur et n’avait pas de validation.

Votre tâche consiste maintenant à grouper les valeurs. Pour accomplir cette tâche, chargez la table de fruits précédente dans Power Query, sélectionnez la colonne, puis sélectionnez l’option Valeurs du cluster dans l'onglet Ajouter une colonne du ruban.

Capture d’écran avec l’option Valeurs de cluster dans l’onglet Ajouter une colonne du ruban, disponible après la sélection de la colonne Fruit de la table.

La boîte de dialogue Valeurs du cluster apparaît, où vous pouvez spécifier le nom de la nouvelle colonne. Nommez cette nouvelle colonne Cluster et sélectionnez OK.

Capture d’écran de la zone de dialogue Valeurs de cluster après la sélection de la colonne Fruit. Le nom de nouvelle colonne est défini sur Cluster.

Par défaut, Power Query utilise un seuil de similarité de 0,8 (ou 80 %). La valeur minimale de 0,00 entraîne la correspondance de toutes les valeurs avec n’importe quel niveau de similarité et la valeur maximale de 1,00 autorise uniquement les correspondances exactes. Une « correspondance exacte » approximative peut ignorer les différences telles que la casse, l’ordre des mots et la ponctuation. Le résultat de l’opération précédente génère le tableau suivant avec une nouvelle colonne Cluster.

Capture d’écran de la sortie par défaut avec une nouvelle colonne Cluster obtenue après l’opération Valeurs de cluster sur la colonne Fruit avec des valeurs par défaut.

Bien que le clustering est effectué, il ne vous donne pas les résultats attendus pour toutes les lignes. La ligne numéro deux (2) comporte toujours la valeur Blue berries are simply the best, mais elle devrait être groupée avec Blueberries. La même chose se produit avec les chaînes de texte Strawberries = <3, fav fruit is bananas et My favorite fruit, by far, is Apples. I simply love them!.

Pour identifier la cause de ce clustering, double-cliquez sur Valeurs regroupées dans le volet Étapes appliquées pour ramener la boîte de dialogue Valeurs de cluster. À l'intérieur de cette boîte de dialogue, développez Options de cluster flou. Activez l'option Afficher les scores de similarité, et puis sélectionnez OK.

Capture d’écran de la fenêtre Valeurs de cluster avec les options de cluster flou affichées et l’option Afficher les scores de similarité sélectionnée.

Activer l'option Afficher les scores de similarité crée une colonne dans votre table. Cette colonne affiche le score de similarité exacte entre le cluster défini et la valeur d’origine.

Capture d’écran de la table montrant une nouvelle colonne pour le score de similarité, nommée Fruit_Cluster_Similarity.

Après une inspection plus approfondie, Power Query n’a pas pu trouver d’autres valeurs dans le seuil de similarité pour les chaînes de texte Blue berries are simply the best,Strawberries = <3, fav fruit is bananas, et My favorite fruit, by far, is Apples. I simply love them!.

Retournez à la boîte de dialogue Valeurs du cluster une fois de plus en double-cliquant sur Valeurs regroupées dans le volet Étapes appliquées. Changez le seuil de similarité de 0,8 à 0,6, et sélectionnez OK.

Capture d’écran de la boîte de dialogue Valeurs de cluster avec les options de cluster flou affichées et le seuil de similarité défini sur 0,6.

Cette modification vous permet de vous rapprocher du résultat escompté, sauf pour la chaîne de texte My favorite fruit, by far, is Apples. I simply love them!. Lorsque vous avez modifié la valeur du seuil de similarité de 0,8 à 0,6, Power Query était maintenant en mesure d’utiliser les valeurs avec un score de similarité allant de 0.6 jusqu'à 1.

Capture d’écran de la table après la définition du seuil de similarité sur 0,6 avec de nouvelles valeurs affectées à la colonne Cluster.

Remarque

Power Query utilise toujours la valeur la plus proche du seuil pour définir les clusters. Le seuil définit la limite inférieure du score de similarité acceptable pour affecter la valeur à un cluster.

Vous pouvez réessayer en changeant le score de similarité de 0,6 à un nombre inférieur jusqu’à ce que vous obteniez les résultats que vous recherchez. Dans ce cas, modifiez le score de similarité à 0,5. Cette modification génère le résultat exact que vous attendez avec la chaîne de texte My favorite fruit, by far, is Apples. I simply love them! maintenant attribuée au cluster Apples.

Capture d’écran de la table avec toutes les valeurs correctes dans la colonne Cluster.

Remarque

Seule la fonctionnalité Valeurs de cluster dans Power Query Online fournit une nouvelle colonne avec le score de similarité actuellement.

Considérations spéciales pour la table de transformation

La table de transformation vous aide à mapper des valeurs de votre colonne à de nouvelles valeurs avant d’effectuer l’algorithme de correspondance approximative.

Voici quelques exemples d'utilisation de la table de transformation :

Important

Lorsque la table de transformation est utilisée, le score de similarité maximale pour les valeurs de la table de transformation est de 0,95. Cette pénalité délibérée de 0,05 est en place pour distinguer que la valeur d’origine de cette colonne n’est pas égale aux valeurs auxquelles elle a été comparée depuis une transformation.

Pour les scénarios où vous souhaitez d’abord mapper vos valeurs, et puis effectuer la correspondance floue sans la pénalité de 0,05, nous vous recommandons de remplacer les valeurs de votre colonne, puis d’effectuer la correspondance floue.