Levenshtein-Differenz
Beispiele
A$="Das ist ein nicht so langer Text"Das Beispiel zeigt, dass die beiden Texte sich kaum voneinander unterscheiden. Tatsächlich kann Text A in 7 Schritten in Text B umgewandelt werden.
B$="Das ist kein so langer Text"
A=LEVENSHTEIN(A$ ; B$)
DISP A
: 7
A$="Müke"Hier zeigt der Test, dass die beiden Wörter sich nur um ein Zeichen unterscheiden, es liegt eben ein Rechtschreibfehler vor.
B$="Mücke"
A=LEVENSHTEIN(A$ ; B$)
DISP A
: 1
w1$="reparieren"Offensichtlich ist Reperieren eine Tätigkeit, die sowohl mit Repapieren als auch Referieren verwandt ist; wahrscheinlich ist die Bedeutung des Wortes "reperieren" die Tätigkeit, wenn man jemandem anderes erklärt, dass etwas gar nicht defekt ist, statt es zu reparieren.
w2$="reperieren"
w3$="referieren"
a=LEVENSHTEIN(w1$;w2$)
b=LEVENSHTEIN(w2$;w3$)
c=LEVENSHTEIN(w1$;w3$)
DISP "Differenz zwischen " w1$ " und " w2$ ": " a "\n"
DISP "Differenz zwischen " w2$ " und " w3$ ": " b "\n"
DISP "Differenz zwischen " w1$ " und " w3$ ": " c "\n"
IF a==b AND a+b==c THEN
DISP "Das Wort " w2$ " ist ein Mittelding\n"
END IF
:Differenz zwischen reparieren und reperieren: 1
:Differenz zwischen reperieren und referieren: 1
:Differenz zwischen reparieren und referieren: 2
:Das Wort reperieren ist ein Mittelding
Referenz
LEVENSHTEIN( Zeichenkette1$ ; Zeichenkette2$)
Die Levenshtein-Distanz definiert einen Wert, mit der die Anzahl an Änderungen angegeben wird, mit der eine Zeichenkette in eine andere Zeichenkette überführt werden kann. Mit dieser Distanzberechnung können Zeichenketten unter Berücksichtigung von Rechtsschreibfehlern oder Vertauschungen verglichen werden. Eine Levenshtein-Distanz von 0 besagt, dass die Zeichenketten identisch sind. Insbesondere bei Vervendung von OCR-Programmen ist die Funktion hilfreich, um trotz Buchstabenverdrehungen die Gleichheit von Zeichenketten zu erkennen.


