Berechnung des Levenshtein-Verhältnisses in Python
Posted: 13 Jan 2025, 17:01
Ich habe die folgenden zwei Zeichenfolgen:
Der Levenshtein-Abstand zwischen den beiden beträgt 12. Wenn ich die folgende Formel für den Levenshtein-Abstand verwende, erhalte ich eine Abweichung von 0,01 mit der Python-Levenshtein-Bibliothek:
Was ist für diesen Unterschied verantwortlich? Was mache ich bei meiner Berechnung falsch? Beachten Sie, dass ich diese ähnliche Frage überprüft habe und sie nicht ganz meine Frage beantwortet.
Wie funktioniert die Formel, die zur Berechnung des obigen Verhältnisses verwendet wird?
Code: Select all
a = 'bjork gudmundsdottir'
b = 'b. gudmundsson gunnar'
Code: Select all
>>> Ldist / max(len( a ), len( b ))
>>> float(12)/21
0.5714285714285714
# python-Levenshtein
Levenshtein.ratio(a,b)
0.5853658536585366
# difflib
>>> seq=difflib.SequenceMatcher(a=a,b=b)
>>> seq.ratio()
0.5853658536585366
Wie funktioniert die Formel, die zur Berechnung des obigen Verhältnisses verwendet wird?