Hoe werkt fuzzy matching in Power Query?

Power Query functies zoals fuzzy samenvoegen, clusterwaardenen fuzzy groepering gebruiken dezelfde mechanismen om te werken als fuzzy matching.

In dit artikel worden veel scenario's beschreven die laten zien hoe u kunt profiteren van de opties die fuzzy matching heeft om 'fuzzy' duidelijk te maken.

De drempelwaarde voor overeenkomsten aanpassen

Het beste scenario voor het toepassen van het algoritme voor fuzzy overeenkomst is wanneer alle tekstreeksen in een kolom alleen de tekenreeksen bevatten die moeten worden vergeleken en niet extra onderdelen. Een vergelijking met levert Apples 4ppl3s bijvoorbeeld hogere vergelijkingsscores op dan wanneer wordt Apples vergeleken met My favorite fruit, by far, is Apples. I simply love them! .

Dit komt doordat het woord in de tweede tekenreeks slechts een klein deel van de volledige tekenreeks Apples is die een lagere overeenkomstscore oplevert.

Bekijk de volgende gegevensset die bestaat uit antwoorden van een enquête met slechts één vraag: 'Wat is uw favoriete fruit?'

Fruit
Bosbessen
Blauwe vruchten zijn gewoon de beste
Aardbeien
Aardbeien = <3
Appels
'sples'
4ppl3s
Bananen
fruit van fruit is bananen
Verboden
Mijn favoriete fruit is verreweg Apples. Ik vind ze gewoon geweldig!

De enquête heeft één tekstvak opgegeven voor het invoeren van de waarde en zonder validatie.

U hebt nu de taak om de waarden te clusteren. Daarvoor laadt u de vorige tabel met fruit in Power Query, selecteert u de kolom en selecteert u vervolgens de optie clusterwaarden in het menu Kolom toevoegen op het lint.

Het pictogram Clusterwaarden in het menu Kolom toevoegen in het lint is beschikbaar nadat u de kolom Fruit in de tabel heeft geselecteerd.

Het dialoogvenster Clusterwaarden wordt weergegeven waarin u de naam van de nieuwe kolom kunt opgeven. Noem deze nieuwe kolom Cluster en selecteer OK.

Het dialoogvenster Clusterwaarden na het selecteren van de kolom Fruit. Het nieuwe kolomnaamveld is ingesteld op Cluster.

Standaard gebruikt Power Query een vergelijkbaarheidsdrempel van 0,8 (of 80%) en levert het resultaat van de vorige bewerking de volgende tabel op met een nieuwe kolom Cluster:

Standaarduitvoer na het uitvoeren van de bewerking Clusterwaarden op de kolom Fruit met standaardwaarden.

Hoewel de clustering is uitgevoerd, krijgt u niet de verwachte resultaten voor alle rijen. Rij nummer twee (2) heeft nog steeds de waarde , maar moet worden geclusterd naar , en er gebeurt iets vergelijkbaars met de Blue berries are simply the best Blueberries Strawberries = <3 tekenreeksen , en fav fruit is bananas My favorite fruit, by far, is Apples. I simply love them! .

U wilt bepalen wat de oorzaak van deze clustering is. Hiervoor kunt u dubbelklikken op de stap Geclusterde waarden om het venster Clusterwaarden terug te halen. Vouw in dit venster de tekst uit waarin Fuzzy clusteropties worden gelezen en schakel de optie in die Overeenkomstenscores weergeven leest, zoals weergegeven in de onderstaande afbeelding, en klik op de knop OK:

Het venster Clusterwaarden met de fuzzy cluster weergegeven en de optie overeenkomstenscores weergeven geselecteerd.

Als u de optie Overeenkomstenscores tonen inschakelen, wordt er een nieuwe kolom in uw tabel gemaakt die precies de overeenkomstscore tussen het gedefinieerde cluster en de oorspronkelijke waarde toont.

Tabel met nieuwe kolom met vergelijkbaarheidsscore met de naam Fruit_Cluster_Similarity.

Bij nadere inspectie kunt u zien dat Power Query geen andere waarden kan vinden binnen de drempelwaarde voor overeenkomsten voor de tekenreeksen Blue berries are simply the best Strawberries = <3 , , en fav fruit is bananas My favorite fruit, by far, is Apples. I simply love them! .

U kunt nog één keer teruggaan naar het dialoogvenster Clusterwaarden door te dubbelklikken op de stap Geclusterde waarden en de drempelwaarde voor vergelijkbaarheid te wijzigen van 0,8 in 0,6, zoals wordt weergegeven in de onderstaande afbeelding:

Het dialoogvenster Clusterwaarden met de fuzzy cluster weergegeven, de drempelwaarde voor overeenkomsten ingesteld op 0,6 en de optie Voor overeenkomsten weergeven geselecteerd.

Door deze wijziging komt u dichter bij het resultaat dat u zoekt, met uitzondering van de tekenreeks My favorite fruit, by far, is Apples. I simply love them! . Dit komt doordat door het wijzigen van de drempelwaarde voor overeenkomst van 0,8 in 0,6 Power Query nu de waarden met een vergelijkbaarheidsscore kan gebruiken die beginnen van 0,6 tot en met 1.

Tabel na het definiëren van de drempelwaarde voor overeenkomsten op 0,6 met nieuwe waarden die zijn toegewezen in de kolom Cluster.

Notitie

Power Query gebruikt altijd de waarde die het dichtst bij de drempelwaarde ligt om de clusters te definiëren. De drempelwaarde definieert de lagere limiet voor de vergelijkbaarheidsscore die acceptabel is om de waarde toe te wijzen aan een cluster.

U kunt het opnieuw proberen door de overeenkomstscore te wijzigen van 0,6 in een lager getal totdat u de verwachte resultaten krijgt. In dit geval wijzigt u de overeenkomstscore in 0,5, wat het exacte resultaat oplevert dat u verwacht met de tekstreeks die nu is toegewezen aan het cluster, zoals wordt weergegeven in de volgende My favorite fruit, by far, is Apples. I simply love them! Apples afbeelding:

Tabel met de juiste waarden in de kolom Cluster, waarbij de tekenreeks 'Mijn favoriete fruit, verreweg apples' is. I simply love them!' is now assigned to the cluster 'Apples'.

Notitie

Momenteel biedt alleen de functie Clusterwaarden in Power Query Online een nieuwe kolom met de vergelijkbaarheidsscore.