Pregunta

tengo una lista de nombres de aeropuertos y mis usuarios tienen la posibilidad de introducir un nombre del aeropuerto para seleccionarlo para el procesamiento del futher.

¿Cómo manejaría nombres mal escritos y presentar una lista de sugerencias?

¿Fue útil?

Solución

Levenshtein distancias para que coincida con un nombre correcto contra la entrada de un usuario determinado.

Otros consejos

http://norvig.com/spell-correct.html
hace algo como levenshtein pero, debido a que él no ir hasta el final, es más eficiente

Emplear de corrección ortográfica en el código. La lista de palabras debe contener sólo la ortografía correcta de los aeropuertos.

Esto no es una gran manera de hacer esto. Usted debe ir para un control automático que proporciona la opción completa o un menú desplegable como alguien sugirió.

Utiliza AJAX si su tecnología es compatible.

Sé que no es lo que has pedido, pero si se trata de una aplicación en la que conseguir el aeropuerto adecuado es importante (por ejemplo, la reserva de entradas), entonces es posible que desee tener una etapa de confirmación para asegurarse de que tiene la correcta. Se han dado casos de personas que reciben entradas para el mal Sydney , por ejemplo.

Puede ser mejor para que el usuario seleccione de la lista de nombres de aeropuerto en vez de dejar que se escriba en su propio. No se pueden cometer errores de esa manera.

A pesar de que no le ayudará de inmediato, se puede realizar un seguimiento de los errores tipográficos, y ver el nombre que finalmente entran cuando se introduce un nombre correcto. De esta manera se puede realizar un seguimiento de los errores tipográficos más comunes, y ofrecer las mejores opciones.

Adición a la sugerencia de Kevin, que podría ser un mejor de ambos mundos si se utiliza un cuadro de entrada con javascript autocompletar. tales como jquery autocomplete

editar: danés me golpeó: (

Puede haber una biblioteca de corrección ortográfica existente que puede utilizar. El código para hacer este tipo de cosas así no es trivial. Si desea escribir esto por sí mismo, es posible que desee ver en de diccionario trie.

Un método que puede funcionar es simplemente generar una enorme lista de palabras posibles de error y sus correcciones (aquí hay un aplicación en Python ), que se podía almacenar en caché para un mejor desempeño.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top