Berechnung des Levenshtein-Verhältnisses in Python

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Berechnung des Levenshtein-Verhältnisses in Python

by Guest » 13 Jan 2025, 17:01

Ich habe die folgenden zwei Zeichenfolgen:

Code: Select all

a = 'bjork gudmundsdottir'
b = 'b. gudmundsson gunnar'
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:

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
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?

Top