Levenshtein-Differenz

Beispiele

A$="Das ist ein nicht so langer Text"
B$="Das ist kein so langer Text"
A=LEVENSHTEIN(A$ ; B$)
DISP A
: 7
Das Beispiel zeigt, dass die beiden Texte sich kaum voneinander unterscheiden. Tatsächlich kann Text A in 7 Schritten in Text B umgewandelt werden.
A$="Müke"
B$="Mücke"
A=LEVENSHTEIN(A$ ; B$)
DISP A
: 1
Hier zeigt der Test, dass die beiden Wörter sich nur um ein Zeichen unterscheiden, es liegt eben ein Rechtschreibfehler vor.
w1$="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
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.

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.

Siehe auch



Schatten