Auf Englisch lesen

Freigeben über


Wie der Fuzzy-Abgleich in Power Query funktioniert

Power Query-Funktionen wie Fuzzy Merge, cluster values und Fuzzy grouping verwenden die gleichen Mechanismen wie Fuzzy Matching.

In diesem Artikel werden viele Szenarien vorgestellt, die zeigen, wie man die Möglichkeiten des Fuzzy-Matching nutzen kann, mit dem Ziel, „Fuzzy“ deutlich zu machen.

Anpassen der Ähnlichkeitsschwelle

Das beste Szenario für die Anwendung des Fuzzy-Match-Algorithmus ist, wenn alle Textstrings in einer Spalte nur die Strings enthalten, die verglichen werden müssen, und keine zusätzlichen Komponenten. Beispielsweise ergibt ein Vergleich von Apples mit 4ppl3s höhere Ähnlichkeitswerte als ein Vergleich von Apples mit My favorite fruit, by far, is Apples. I simply love them!.

Da das Wort Apples in der zweiten Zeichenfolge nur einen kleinen Teil der gesamten Textzeichenfolge ausmacht, führt dieser Vergleich zu einem niedrigeren Ähnlichkeitswert.

Der folgende Datensatz besteht beispielsweise aus Antworten einer Umfrage, die nur eine Frage enthielt: „Was ist Ihr Lieblingsobst?“

Obst
Blaubeeren
Blaubeeren sind einfach das Beste
Erdbeeren
Erdbeeren = <3
Äpfel
sples
4ppl3s
Bananen
lieblingsobst sind Bananen
Banas
Mein Lieblingsobst sind mit Abstand Äpfel. Ich liebe sie einfach!

Die Umfrage enthielt ein einziges Textfeld zur Eingabe des Wertes und keine Validierung.

Jetzt müssen Sie die Werte in Gruppen zusammenfassen. Laden Sie dazu die vorherige Fruchttabelle in Power Query, wählen Sie die Spalte aus, und wählen Sie dann die Option Clusterwerte auf der Registerkarte Spalte hinzufügen im Menüband.

Screenshot mit der Option „Clusterwerte“ auf der Registerkarte „Spalte hinzufügen“ in der Multifunktionsleiste ist verfügbar, nachdem Sie die Spalte „Obst“ in der Tabelle ausgewählt haben.

Das Dialogfeld Clusterwerte wird angezeigt, in dem Sie den Namen der neuen Spalte angeben können. Benennen Sie diese neue Spalte Cluster und wählen Sie OK.

Screenshot des Dialogfelds „Clusterwerte“ nach Auswahl der Spalte „Obst“. Das neue Feld „Spaltenname“ wurde auf „Cluster“ gesetzt.

Standardmäßig verwendet Power Query einen Ähnlichkeitsschwellenwert von 0,8 (oder 80 %). Der Mindestwert von 0,00 führt dazu, dass alle Werte mit einer beliebigen Ähnlichkeitsstufe einander zugeordnet werden, während der Maximalwert von 1,00 nur exakte Übereinstimmungen zulässt. Beachten Sie, dass Unterschiede in der Groß- und Kleinschreibung, Wortreihenfolge und Interpunktion bei ungenauen „exakten Übereinstimmungen“ ignoriert werden können. Das Ergebnis des vorherigen Vorgangs liefert die folgende Tabelle mit einer neuen Spalte Cluster.

Screenshot der Standardausgabe mit einer neuen Spalte „Cluster“ nach der Durchführung der Operation „Clusterwerte“ für die Spalte „Obst“ mit Standardwerten.

Das Clustering wurde zwar durchgeführt, aber es liefert nicht für alle Zeilen die erwarteten Ergebnisse. Zeile Nummer zwei (2) hat immer noch den Wert Blue berries are simply the best, sollte aber zu Blueberries geclustert werden, und etwas Ähnliches passiert mit den Textstrings Strawberries = <3, fav fruit is bananas und My favorite fruit, by far, is Apples. I simply love them!.

Um festzustellen, was die Ursache für die Clusterbildung ist, doppelklicken Sie auf Clusterwerte im Bereich Angewandte Schritte, um das Dialogfeld Clusterwerte aufzurufen. Erweitern Sie in diesem Dialogfeld Fuzzy-Cluster-Optionen. Aktivieren Sie die Option Ähnlichkeitswerte anzeigen, und wählen Sie dann OK.

Screenshot des Fensters „Clusterwerte“ mit den Fuzzycluster-Optionen und der Option „Ähnlichkeitswerte“.

Wenn Sie die Option Show similarity scores aktivieren, wird eine neue Spalte in Ihrer Tabelle erstellt. In dieser Spalte wird der genaue Ähnlichkeitswert zwischen dem definierten Cluster und dem Originalwert angezeigt.

Screenshot der Tabelle mit neuer Spalte „Ähnlichkeitswert“ mit dem Namen „Fruit_Cluster_Similarity“.

Bei näherer Betrachtung konnte Power Query keine anderen Werte im Ähnlichkeitsschwellenwert für die Textstrings Blue berries are simply the best,Strawberries = <3, fav fruit is bananasund My favorite fruit, by far, is Apples. I simply love them!finden.

Kehren Sie ein weiteres Mal zum Dialogfeld Clusterwerte zurück, indem Sie auf Clusterwerte im Bereich Angewandte Schritte doppelklicken. Ändern Sie den Ähnlichkeitsschwellenwert von 0.8 auf 0.6, und wählen Sie dann OK.

Screenshot des Dialogfelds „Clusterwerte“ mit den Fuzzycluster-Optionen, dem Ähnlichkeitsschwellenwert von 0,6 und der Option „Ähnlichkeitswerte“.

Diese Änderung bringt Sie näher an das gewünschte Ergebnis heran, mit Ausnahme der Textzeichenfolge My favorite fruit, by far, is Apples. I simply love them!. Als Sie den Wert Ähnlichkeitsschwelle von 0.8 auf 0.6 geändert haben, konnte Power Query nun die Werte mit einer Ähnlichkeitsbewertung verwenden, die von 0.6 bis zu 1 reicht.

Screenshot der Tabelle nach Festlegung des Ähnlichkeitsschwellenwertes auf 0,6 mit neuen Werten in der Spalte „Cluster“.

Hinweis

Power Query verwendet immer den Wert, der dem Schwellenwert am nächsten liegt, um die Cluster zu definieren. Der Schwellenwert definiert die Untergrenze der Ähnlichkeitsbewertung, die akzeptabel ist, um den Wert einem Cluster zuzuordnen.

Sie können es erneut versuchen, indem Sie die Ähnlichkeitsbewertung von 0,6 auf eine niedrigere Zahl ändern, bis Sie die gewünschten Ergebnisse erhalten. In diesem Fall ändern Sie den Ähnlichkeitswert in 0.5. Diese Änderung führt genau zu dem Ergebnis, das Sie erwarten, da die Textzeichenfolge My favorite fruit, by far, is Apples. I simply love them! nun dem Cluster Apples zugeordnet ist.

Screenshot der Tabelle mit allen korrekten Werten in der Spalte „Cluster“.

Hinweis

Derzeit bietet nur die Funktion Clusterwerte in Power Query Online eine neue Spalte mit dem Ähnlichkeitsscore.

Besondere Überlegungen zur Transformationstabelle

Die Transformationstabelle hilft Ihnen, Werte aus Ihrer Spalte auf neue Werte abzubilden, bevor Sie den Fuzzy-Matching-Algorithmus ausführen.

Einige Beispiele, wie die Transformationstabelle verwendet werden kann:

Wichtig

Bei Verwendung der Transformationstabelle beträgt der maximale Ähnlichkeitswert für die Werte aus der Transformationstabelle 0,95. Dieser absichtliche Abzug von 0,05 dient der Unterscheidung, dass der ursprüngliche Wert einer solchen Spalte nicht mit den Werten übereinstimmt, mit denen er verglichen wurde, da eine Transformation stattgefunden hat.

Für Szenarien, in denen Sie zuerst Ihre Werte zuordnen und dann den Fuzzy-Abgleich ohne den 0,05-Malus durchführen möchten, empfehlen wir, dass Sie die Werte aus Ihrer Spalte ersetzen und dann den Fuzzy-Abgleich durchführen.