ForHosting KIT · Text & KI

Levenshtein-Editierdistanz für zwei Zeichenketten

Die Levenshtein-Editierdistanz gibt an, wie viele Änderungen einzelner Zeichen nötig sind, um eine Zeichenkette in eine andere zu überführen.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Geben Sie zwei Zeichenketten ein; der Rechner ermittelt die Mindestzahl der Einfügungen, Löschungen und Ersetzungen. Das ist hilfreich, wenn exakte Gleichheit zu streng ist, aber ein klares, reproduzierbares Maß benötigt wird. Der Vergleich ist deterministisch, beachtet Groß- und Kleinschreibung und arbeitet ohne Netzwerk oder Wahrscheinlichkeitswert direkt mit Unicode-Codepunkten.

Was die Distanz aussagt

Die Levenshtein-Distanz ist eine nicht negative ganze Zahl. Null bezeichnet identische Zeichenketten; eins bedeutet, dass eine Einfügung, Löschung oder Ersetzung genügt. Höhere Werte erfordern mehr Bearbeitungen. Der Algorithmus prüft alle gültigen Bearbeitungsfolgen und liefert das kleinste Ergebnis, statt den Text vorschnell von links nach rechts zu ändern. Das ist bei wiederholten Zeichen und verschobenen Abschnitten wichtig. Groß- und Kleinschreibung werden unterschieden. Der Wert ist eine absolute Anzahl, kein Prozentsatz. Eine Distanz von drei kann bei einem vierstelligen Code groß, bei einem Absatz jedoch gering sein. Bewerten Sie das Ergebnis daher zusammen mit den Zeichenkettenlängen und der Toleranz Ihrer Anwendung.

So funktioniert die Berechnung

Der Rechner nutzt dynamische Programmierung, um jeden Präfix der ersten Zeichenkette möglichst günstig in jeden Präfix der zweiten umzuwandeln. An jeder Position werden Einfügen, Löschen und Ersetzen berücksichtigt; übereinstimmende Zeichen verursachen keine Kosten. Die Implementierung speichert nur die vorige und die aktuelle Zeile. So bleibt das Ergebnis exakt, während der Speicherbedarf von der kürzeren Eingabe abhängt. Zeichen werden als Unicode-Codepunkte gelesen. Ein ergänzendes Zeichen, das JavaScript als Surrogatpaar darstellt, zählt somit als ein Element. Unicode-Normalisierung und Vereinheitlichung der Schreibweise erfolgen nicht. Normalisieren Sie die Texte vorab, wenn optisch gleiche Darstellungen als gleich gelten sollen.

Das Ergebnis im Arbeitsablauf nutzen

Übermitteln Sie die Werte in <code>first</code> und <code>second</code>. Beide Felder müssen Zeichenketten sein; eine leere Zeichenkette ist zulässig und ergibt die Anzahl der Unicode-Codepunkte der anderen. Die Antwort enthält die ganze Zahl <code>distance</code>. Vergleichen Sie etwa einen eingegebenen Namen mit einem bekannten Namen oder prüfen Sie, ob eine korrigierte Kennung nur eine Bearbeitung vom Original entfernt ist. Verwenden Sie keinen universellen Grenzwert: Kurze Codes, Namen und Sätze haben unterschiedliche Fehlerprofile. Legen Sie außerdem fest, ob Leerzeichen, Satzzeichen, Akzente und Schreibweise zählen sollen. Für interaktive Prüfungen steht die Browserausführung bereit; automatisierte API-Anfragen verwenden dieselbe deterministische Implementierung für $0.002 je Anfrage. Andere Datentypen werden ohne stillschweigende Umwandlung abgelehnt.

Wahrscheinliche Tippfehler erkennen

Messen Sie die Bearbeitungen zwischen einem eingegebenen Wort oder Namen und dem erwarteten Wert, bevor Sie einen fachlichen Grenzwert anwenden.

Datensatzkennungen vergleichen

Markieren Sie Kennungen zur Prüfung, wenn sie sich nur durch eine oder zwei Einfügungen, Löschungen oder Ersetzungen unterscheiden.

Textkorrekturen bewerten

Beziffern Sie die zeichenweise Änderung zwischen Original und Korrektur mit einer reproduzierbaren ganzen Zahl.

Welche Vorgänge zählen zur Distanz?

Jede Einfügung, Löschung oder Ersetzung eines Zeichens kostet eins. Zurückgegeben wird die kleinste Gesamtsumme.

Wird Groß- und Kleinschreibung unterschieden?

Ja. Vereinheitlichen Sie die Schreibweise vor dem Senden, wenn dieser Unterschied ignoriert werden soll.

Darf eine Zeichenkette leer sein?

Ja. Ihre Distanz entspricht dann der Anzahl der Unicode-Codepunkte in der anderen Zeichenkette.

Normalisiert der Rechner Unicode-Text?

Nein. Er vergleicht die gelieferten Codepunkte; normalisieren Sie kombinierte Formen bei Bedarf vorher.

Wird ein Ähnlichkeitsprozentsatz ausgegeben?

Nein. Ausgegeben wird die absolute Mindestzahl der Bearbeitungen, die Sie passend normalisieren können.

Was kostet eine API-Anfrage?

Jede API-Anfrage kostet $0.002. Für interaktive Zwecke ist die Ausführung auch im Browser möglich.

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/text/text-similarity-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/text/text-similarity-levenshtein \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first":"kitten","second":"sitting"}'
{
  "first": "kitten",
  "second": "sitting"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "text.text_similarity_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.

max_tokens20000
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.

Vollständige KIT-Dokumentation lesen →