Zum Inhalt springen
uencoder

Edit Distance

Die Editierdistanz ist die minimale Anzahl einzeichenlicher Editieroperationen (Einfügen, Löschen, Ersetzen), um eine Zeichenkette in eine andere umzuwandeln; die Levenshtein-Distanz ist ihre häufigste Form.

Zweck

Den Unterschiedsgrad zwischen Zeichenketten quantifizieren, für Fuzzy-Matching und Fehlerkorrektur.

Mechanismus

Allgemeiner Rahmen: die erlaubten Operationen und Kosten definieren, dann per dynamischer Programmierung die minimalen Gesamtkosten suchen. Levenshtein erlaubt Einfügen/Löschen/Ersetzen (je Kosten 1); Damerau-Levenshtein erlaubt zusätzlich die Transposition benachbarter Zeichen; Hamming erlaubt nur Ersetzen.

Anwendungsfälle

  • Rechtschreibkorrektur
  • DNA-Sequenzalignment
  • OCR-Fehlerkorrektur
  • Fuzzy-Deduplizierung

Beispiele

  • Eingabe
    cat → cut
    Output
    1 (substituting a→u)

    Levenshtein

Häufige Fehler

Confusing different edit-distance variants
Make the operation set and costs explicit

Verwandte Begriffe

Verwandte Tools

References