ForHosting KIT · Text & KI

Damerau–Levenshtein-Distanz

form und from liegen 1 Änderung auseinander, weil das Vertauschen zweier benachbarter Buchstaben als ein Schritt zählt, kitten und sitting dagegen 3. Dazu erhalten Sie eine Ähnlichkeit von 0 bis 1, nützlich gegen Tippfehler und Beinahe-Dubletten. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Text a
kitten
Text b
sitting
Erhalten Sie
Entfernung
3
Len a
6
Len b
7
Maximale Länge
7

Die Damerau–Levenshtein-Distanz ist eine klassische Edit-Metrik, die zählt, wie viele Einzelzeichen-Operationen eine Zeichenkette in eine andere überführen, wenn Einfügen, Löschen, Ersetzen und die Vertauschung zweier benachbarter Zeichen erlaubt sind. Gerade diese vierte Operation trennt sie von der einfachen Levenshtein-Distanz und macht sie besonders nützlich bei realen Tippfehlern: Menschen vertauschen oft zwei benachbarte Tasten (form versus from, teh versus the), und das soll einen Schritt kosten, nicht zwei Ersetzungen. Diese Fähigkeit implementiert die Optimal-String-Alignment-Form der Distanz mit einer reinen dynamischen Programmierungstabelle, sodass jedes Eingabepaar auf jeder Runtime dieselbe Ganzzahl liefert. Sie senden zwei Texte und optional ein Groß-/Kleinschreibungs-Flag; Sie erhalten die Distanz, beide Längen, eine normalisierte Ähnlichkeit zwischen null und eins sowie das boolesche Feld identical.

Was Damerau–Levenshtein misst und wie es sich von reinem Levenshtein unterscheidet

Edit-Distanz fragt, wie viele Einheitsänderungen nötig sind, um eine Quellzeichenkette als Zielzeichenkette umzuschreiben. Klassisches Levenshtein erlaubt drei Einheitsoperationen: ein Zeichen einfügen, ein Zeichen löschen oder ein Zeichen durch ein anderes ersetzen. Jede kostet eins.

Dameraus Erweiterung fügt eine vierte Operation hinzu: zwei benachbarte Zeichen für einen einzigen Einheitspreis tauschen. Diese Erweiterung entspricht dem tatsächlichen Tippverhalten auf einer Tastatur. Zum Beispiel unterscheiden sich die Ketten ab und ba unter Damerau–Levenshtein um eine benachbarte Transposition und unter reinem Levenshtein um zwei Ersetzungen.

Kitten versus sitting kostet weiterhin drei (wie im Lehrbuchbeispiel zu Levenshtein), weil der günstigste Pfad Ersetzungen und eine Einfügung nutzt, nicht einen einzigen Tausch. Dieser Endpunkt verwendet die Optimal-String-Alignment-Rekurrenz (OSA): eine dynamische Programmiermatrix, in der Zelle (i, j) das Minimum aus Löschen, Einfügen, Ersetzen-oder-Treffer und—wenn die letzten beiden Zeichen jedes Präfixes ein gekreuztes Paar bilden—Transposition aus Zelle (i−2, j−2) ist.

OSA ist die Form, die die meisten Bibliotheken für Tippfehlerkorrektur als Damerau–Levenshtein bezeichnen; sie verbietet zwei überlappende Transpositionen auf derselben Teilkette und hält die Metrik einfach sowie O(n·m) in Zeit und Speicher. Leere Zeichenketten sind gültig: die Distanz von der leeren Kette zu einer beliebigen Kette ist deren Länge, und die Distanz zwischen zwei leeren Ketten ist null. Identische Ketten ergeben stets Distanz null und Ähnlichkeit eins, auch nach optionaler Klein-/Großschreibung-Normalisierung.

Wo diese Distanz ihren Nutzen zeigt

Produktsuche und Bestands-Tools nutzen Edit-Distanz mit Transpositionen, um Fast-Treffer bei SKUs und Markennamen zu ranken, bevor langsamere semantische Modelle greifen. CRM- und Deduplizierungs-Pipelines markieren Kandidatenzeilen, wenn die Distanz höchstens eins oder zwei ist und die Ähnlichkeit über einer festen Schwelle liegt, und fangen so vertauschte Buchstaben ein, die reine Gleichheit oder selbst reines Levenshtein unterschätzen würden. Rechtschreib-Demos und Unterrichtsübungen brauchen ein deterministisches Orakel, das form versus from als Distanz eins wertet und eine transparente Festgebühr statt Token-Kosten berechnet.

Ungültige Eingabe wird nicht berechnet. Kombinieren Sie die ganzzahlige Distanz mit Ihrer eigenen Schwellenpolitik—akzeptieren Sie Distanz null nur für exakte Schlüssel, Distanz eins für aggressive Tippfehlerkorrektur, Ähnlichkeit über 0.8 für weiche Merge-Hinweise—und Sie erhalten einen kleinen, auditierbaren Baustein für Fuzzy-Matching, ohne eine vollständige Suchmaschine oder einen eigenen NLP-Stack aufzubauen.

Tippfehler-tolerantes Produkt- und SKU-Matching

Ranken Sie Katalogkandidaten, wenn die Käufer- oder Lieferantenzeichenkette einen Tausch oder eine Bearbeitung vom echten SKU entfernt ist, ohne ein Embedding-Modell aufzurufen.

CRM- und Datensatz-Deduplizierung

Markieren Sie nahezu doppelte Namen und Adressen, bei denen benachbarte Buchstabentäusche häufig sind, mit fester Distanz- oder Ähnlichkeitsschwelle.

Hausaufgaben und Algorithmus-Demos

Zeigen Sie Studierenden das OSA-Dynamikprogramm an kitten/sitting und ab/ba, damit Transpositionskosten neben reinem Levenshtein sichtbar werden.

Was ist die Damerau–Levenshtein-Distanz?

Sie ist die Mindestzahl an Einfügungen, Löschungen, Ersetzungen und benachbarten Zeichentranspositionen, die nötig sind, um eine Zeichenkette in eine andere zu überführen.

Worin unterscheidet sie sich von gewöhnlicher Levenshtein-Distanz?

Reines Levenshtein hat keine Transpositionsoperation, daher kosten vertauschte Nachbarn zwei Ersetzungen. Damerau–Levenshtein (OSA) zählt einen benachbarten Tausch als eine Bearbeitung und trifft reale Tastatur-Tippfehler besser.

Sind leere Zeichenketten erlaubt?

Ja. Die Distanz von leer zu nicht leer entspricht der Länge dieser Kette; zwei leere haben Distanz null und Ähnlichkeit eins.

Was bedeutet der Ähnlichkeitswert?

Er ist 1 minus die Distanz geteilt durch die Länge des längeren Textes. Kitten und sitting liegen 3 Änderungen auseinander, das längere Wort hat 7 Buchstaben, also beträgt die Ähnlichkeit etwa 0,571428571429. Identische Texte ergeben 1.

Unterscheidet das Werkzeug Groß- und Kleinschreibung?

Ja, standardmäßig liegen Kitten und kitten eine Änderung auseinander. Schalten Sie die Unterscheidung aus, werden beide Texte vorher kleingeschrieben, und Unterschiede in der Großschreibung zählen nicht mehr.

Welche Grenze eignet sich für Tippfehler?

Eine gängige Regel lautet: Distanz 0 nur für exakte Schlüssel, Distanz 1 für eine großzügige Tippfehlerkorrektur und eine Ähnlichkeit über 0,8 als Hinweis auf mögliche Dubletten. Die endgültige Grenze legen Sie selbst fest.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/str/damerau-levenshtein

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/str/damerau-levenshtein \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text_a":"kitten","text_b":"sitting"}'
{
  "text_a": "kitten",
  "text_b": "sitting"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.damerau_levenshtein",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Der kostenlose Browser-Pfad und der vorausbezahlte API-Pfad teilen dasselbe Modul, sodass Hausaufgabenprüfungen, Fuzzy-Schwellen und Produktionspipelines nie darüber streiten, ob zwei Bezeichner nah genug zum Zusammenführen sind.

Eingabevertrag, Antwortfelder und Validierungsregeln

Jede Zeichenkette ist auf fünftausend Zeichen begrenzt, damit die quadratische Tabelle auf dem kostenlosen Edge-Pfad begrenzt bleibt. Eine kurze formula-Zeichenkette dokumentiert die OSA-Rekurrenz zur Anzeige neben der Antwort. Fehlgeschlagene Validierung wird nicht abgerechnet. Halten Sie Eingaben interaktiv kurz, pinnen Sie die ganzzahlige Distanz und die gerundete Ähnlichkeit in Tests, und Sie erhalten reproduzierbare Fuzzy-Scores ohne Sprachmodell und ohne externes Wörterbuch. Senden Sie einen JSON-Body mit zwei Pflicht-Stringfeldern: text_a (Aliasse a, string1, s1, left, first, source) und text_b (Aliasse b, string2, s2, right, second, target). Beide dürfen leer sein; fehlende oder nicht-string Werte scheitern mit invalid_input und dem Feldnamen. Optional case_sensitive ist standardmäßig true, damit Kitten und kitten differieren können; setzen Sie es auf false, um beide Seiten vor dem Füllen der Tabelle kleinzuschreiben. Bei Erfolg spiegelt der Body text_a, text_b und case_sensitive wider; meldet distance als nichtnegative Ganzzahl; meldet len_a, len_b und max_len der normalisierten Ketten; meldet similarity als (max_len − distance) / max_len auf zwölf Dezimalstellen gerundet (oder eins, wenn beide Längen null sind); und setzt identical genau dann auf true, wenn distance null ist. Beispiel: text_a kitten und text_b sitting ergeben distance drei, Längen sechs und sieben, max_len sieben, similarity etwa 0.571 und identical false. Beispiel: text_a ab und text_b ba ergeben distance eins wegen des benachbarten Tauschs.

Wo eine Damerau–Levenshtein-API ihren Nutzen zeigt

Weil die Implementierung reines Parse-Tier-A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Token und ohne ausgehendes Netz.

Ist der Vergleich groß-/kleinschreibungsempfindlich?

Standardmäßig ja (case_sensitive true). Setzen Sie case_sensitive auf false, um beide Ketten vor der Distanzberechnung kleinzuschreiben, damit Kitten und kitten übereinstimmen.

Was kostet der Damerau–Levenshtein-Rechner?

Das Browser-Tool ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht abgerechnet.

Vollständige KIT-Dokumentation lesen →