$distance(x,y)


#1

MP3Tag-Hilfe für die neue Scriptfunktion $distance(x,y):
"berechnet die Editier-Distanz zwischen der Zeichenkette x und der Zeichenkette y und liefert das Ergebnis."

Irgendwie stehe ich bei "Editier-Distanz" auf dem Schlauch.
Könnte mal jemand erklärende Hinweise und praktische Beispiele geben, wofür diese neue Funktion gut zu gebrauchen ist?


#2

Das scheint die Unterschiede zwischen String x und y aufzuzeigen und zeigt als numerischen Wert die Anzahl von noch zu ändernden Zeichen (und damit Editier-Schritten).

Also: Handball-WM als string x und
Fussball-WM für string y
haben eine $distance von 4, dass "Hand" und "Fuss" nicht dasselbe sind.
Der Vergleich von "Handball-WM" und "Fussballweltmeisterschaft-WM" kommt auf 21.
Wenn man "Fussballweltmeisterschaft-WM" dann auch noch "FussBallweltmeisterschaft-WM" schreibt, wird es zu 22, da nun auch das B nicht mehr übereinstimmt.

Vielleicht ist das eine schöne Funktion, um Schreibweisenunterschiede zu finden.


#3

Aaaaa! Jetzt ist der Groschen gefallen. :wink:

Der praktische Nutzen erschließt sich mir noch nicht ganz.
Gut, wenn ich eine Spalte bilde mit dem Namen Distanz und als Wert eingebe "$distance(%albumartist%,%artist%)" bekomme ich ein Ergebnis, aber ja nur innerhalb dieses Files.
Vergleiche zwischen Files sind ja nicht möglich.
Bei Verwendung eines konstanten Strings sieht es natürlich schon anders aus:
$distance(%albumartist%, Beatles)
So ganz einleuchten will mir nicht, was ich davon habe, dass sich 2 Werte nur ein bisschen oder ganz viel voneinander unterscheiden.
Und da ich denke dass Florian nur etwas Neues einbaut, wenn tatsächlich daraus ein wesentlicher Vorteil entspringt, vermute ich, dass ich die Möglichkeiten dieser Funktion noch nicht völlig erfasst habe.


#4

Die Levenshtein-Distanz (Editierdistanz) zwischen zwei Zeichenketten ist die minimale Anzahl von Einfüge-, Lösch- und Ersetz-Operationen, um die erste Zeichenkette in die zweite umzuwandeln.

In der Praxis wird die Levenshtein-Distanz zur Bestimmung der Ähnlichkeit von Zeichenketten beispielsweise zur Rechtschreibprüfung oder bei der Duplikaterkennung angewandt.

In welchen Fällen und wie die neue Funktion $distance(string1,string2) in Mp3tag zum Einsatz kommen kann, das ist praktisch noch nicht so bekannt. Der einfachste Fall ist sicherlich das Herausfinden von Schreibfehlern.

Levenshtein Distanz: https://de.wikipedia.org/wiki/Levenshtein-Distanz
Levenshtein distance: https://en.wikipedia.org/wiki/Levenshtein_distance

DD.20170717.1116.CEST