Observé algunas publicaciones aquí en la coincidencia de cadenas, que me recordaron un viejo problema que me gustaría resolver. ¿Alguien tiene un buen algoritmo de tipo Levenshtein que tenga en cuenta los teclados Qwerty?¿Un buen algoritmo similar a Levenshtein pero ponderado para teclados Qwerty?
Quiero comparar dos cadenas y permitir los errores tipográficos. Levenshtein está bien, pero preferiría también aceptar errores ortográficos en función de la distancia física entre las teclas del teclado Qwerty. En otras palabras, el algoritmo debería preferir "yelephone" a "zelephone" ya que la tecla "y" se encuentra más cerca de la tecla "t" que de la tecla "z" en la mayoría de los teclados.
Cualquier ayuda sería genial ... esta característica no es central en mi proyecto, por lo que no quiero virar en un agujero de rata cuando debería estar haciendo algo más productivo.
El CPAN colaborador Kyle R. Burton ha implementado en realidad [esta función de distancia] (http://search.cpan.org/~krburton /String-KeyboardDistance-1.01/KeyboardDistance.pm) en Perl. Él usa una tabla para calcular el peso. Ver sus documentos para la tabla completa. –