As frases:
A rápida raposa marrom pula sobre o cachorro preguiçoso [A]
e
A raposa marrom uick pula sobre o cachorro preguiçoso [B]
pode ser comparado usando o algoritmo Levenshtein Distance para determinar a similaridade, calculando o número mínimo de adições, exclusões ou substituições de um único caracter necessário para transformar A em B.
Estou interessado em saber se existe uma representação intermediária ou possivelmente um esquema de codificação para a distância de Levenshtein. Não para uso entre duas frases, mas apenas uma codificação aplicada a uma única frase, de modo que o índice de caracteres não afete as comparações.
Em B, o 'q' está faltando em comparação com A. Uma comparação de string normal corresponderia 'The '
e falharia 'uick brown fox...'
apenas devido a um deslocamento de caractere único. A Distância Levenshtein poderia ser usada para compará-la com a frase original A para uma comparação mais perdoadora, mas no meu caso, não terei duas frases, apenas uma.
Então, estou procurando alguma maneira de codificar inequivocamente uma frase em pacotes de informações, pequenos átomos de verdade (estou pensando em um pacote por caractere?) Que mantêm uma ordem local e assim por diante, mas se alguns dos pacotes está errado, não afeta os caracteres posteriores.
Cada frase única deve mapear para uma e apenas uma única codificação / representação intermediária, Sets A'
e B'
. Calcular a distância de A e B de Levenshtein seria o mesmo que calcular a interseção de conjuntos A' = B'
.
Como alternativa - se esse problema não tiver uma solução (e isso com certeza for mapeado para uma área de pesquisa bastante comentada, eu não ficaria surpreso), algum argumento / prova convincente de sua insolabilidade.