Calculadora de distancia de Damerau-Levenshtein | Distancia de erratas con transposiciones
Introduce dos cadenas para obtener la distancia de Damerau-Levenshtein, la similitud (%) y el valor normalizado. A diferencia de Levenshtein clásico, el intercambio de dos caracteres adyacentes cuenta como una sola edición, y las cuatro operaciones se muestran por separado para ver dónde difieren las cadenas.
💡 Sobre esta herramienta
Escribir "recieve" en lugar de "receive", o "le" donde querías "el", suele ser solo dos letras vecinas en orden invertido. La distancia de Levenshtein clásica trata ese intercambio como dos ediciones (un borrado más una inserción, o dos sustituciones), lo que exagera cuánto se separan realmente las cadenas. En erratas de teclado y errores de OCR, esa distancia extra distorsiona tus umbrales de similitud.
La distancia de Damerau-Levenshtein corrige esto contando una transposición adyacente como una sola operación, así que refleja cómo cometen errores las personas. Esta calculadora devuelve la distancia y luego la descompone: cuántas inserciones, borrados, sustituciones y transposiciones la forman. Ese desglose te permite ajustar un umbral de búsqueda difusa, filtrar candidatos de un corrector ortográfico o validar una regla de deduplicación con tus propios datos en vez de adivinar.
🧐 Preguntas frecuentes
¿En qué se diferencia de la distancia de Levenshtein? En el conjunto de operaciones permitidas. Levenshtein cuenta inserciones, borrados y sustituciones. Damerau-Levenshtein añade la transposición de dos caracteres adyacentes como una operación. Convertir "ab" en "ba" es distancia 2 con Levenshtein y distancia 1 con Damerau-Levenshtein.
¿Qué significa la variante OSA? Esta herramienta usa la variante Optimal String Alignment: una distancia de Damerau-Levenshtein con la regla de que ninguna subcadena se edita más de una vez. Es más ligera de calcular y coincide con la distancia real en casi todos los casos, aunque en patrones poco frecuentes puede dar un valor algo mayor que el Damerau-Levenshtein sin restricción.
¿Cómo se calculan la similitud y el valor normalizado?
El valor normalizado es la distancia dividida entre la longitud de la cadena más larga, de 0 (idénticas) a 1 (completamente distintas). La similitud es su complemento, mostrada como (1 − normalizado) × 100 por ciento, para comparar con justicia cadenas de distinta longitud.
¿Admite Unicode, tildes y emojis? Sí. La comparación es por carácter, así que letras acentuadas y caracteres CJK cuentan como uno. Ten en cuenta que algunos emojis formados por pares sustitutos se cuentan como dos unidades.
¿Hay límite de entrada? Cada campo admite hasta 2000 caracteres. Como el algoritmo se ejecuta en tiempo proporcional al producto de las dos longitudes, comparar textos largos tarda bastante más que comparar palabras cortas.
📚 Apuntes sobre distancia de edición
La regla de transposición proviene de Frederick Damerau, que en 1964 observó que la gran mayoría de los errores ortográficos humanos son una sola inserción, borrado, sustitución o el intercambio de dos letras contiguas. Esa observación se convirtió en base de los correctores ortográficos y la búsqueda difusa, y hoy sigue impulsando las sugerencias de "quizás quisiste decir" y la autocorrección. En la práctica, rara vez se usa la distancia bruta sola: se combina con el valor normalizado por longitud o un umbral fijo, tratando una distancia de 1–2 como "casi idénticas" en nombres cortos y un valor normalizado por debajo de 0,1 en textos largos. Medir esos umbrales con tus propios datos en una herramienta como esta mantiene a raya las coincidencias falsas.