Las frases:
El rápido zorro marrón salta sobre el perro perezoso [A]
y
El zorro marrón de Uick salta sobre el perro perezoso [B]
se puede comparar usando el algoritmo de distancia de Levenshtein para determinar la similitud calculando el número mínimo de adiciones, eliminaciones o reemplazos de un solo carácter necesarios para transformar A en B.
Estoy interesado en saber si hay una representación intermedia, o posiblemente un esquema de codificación para la distancia de Levenshtein. No debe usarse entre dos frases, sino solo una codificación aplicada a una sola frase, de modo que el índice de caracteres no afecte las comparaciones.
En B, falta la 'q' en comparación con A. Una comparación de cadena normal coincidiría 'The '
y luego fallaría 'uick brown fox...'
simplemente debido a un desplazamiento de un solo carácter. La distancia de Levenshtein podría usarse para compararla con la frase original A para una comparación más indulgente, pero en mi caso, no tendré dos frases, solo una.
Entonces, estoy buscando alguna forma de codificar inequívocamente una oración en paquetes de información, pequeños átomos de verdad (¿estoy pensando en un paquete por carácter?) Que mantengan un orden local y así sucesivamente, pero si algunos de los paquetes están mal, no afecta a los personajes posteriores.
Cada frase única debe correlacionarse con una y solo una codificación única / representación intermedia, Conjuntos A'
y B'
. Calcular la distancia de Levenshtein de A y B sería lo mismo que calcular la intersección de conjuntos A' = B'
.
Alternativamente, si este problema no tiene una solución (y esto seguramente se correlaciona con un área de investigación bien pisada, no me sorprendería), algún argumento / prueba convincente de su insolubilidad.