Обнаружение слов с ошибками - PullRequest
8 голосов
/ 30 марта 2009

У меня есть список названий аэропортов, и мои пользователи имеют возможность ввести одно название аэропорта, чтобы выбрать его для дальнейшей обработки.

Как бы вы справились с ошибочными именами и представили список предложений?

Ответы [ 8 ]

7 голосов
/ 30 марта 2009

Посмотрите вверх Расстояния Левенштейна , чтобы сопоставить правильное имя с данным пользовательским вводом.

4 голосов
/ 31 марта 2009

http://norvig.com/spell-correct.html
делает что-то вроде Левенштейна, но, поскольку он не проходит весь путь, это более эффективно

1 голос
/ 31 марта 2009

Я знаю, что это не то, что вы просили, но если это приложение, в котором важно правильно подобрать аэропорт (например, при бронировании билетов), то вам может потребоваться этап подтверждения, чтобы убедиться, что вы выбрали правильный. Были случаи, когда люди получали билеты на неправильный Сидней , например.

1 голос
/ 30 марта 2009

Используйте проверку орфографии в вашем коде. Список слов должен содержать только правильное написание аэропортов.

Это не отличный способ сделать это. Вы должны либо выбрать элемент управления, который предоставляет опцию автозаполнения, либо раскрывающийся список, как кто-то другой предложил.

Используйте AJAX, если ваша технология поддерживает.

0 голосов
/ 31 марта 2009

Возможно, существует библиотека для проверки орфографии, которую вы можете использовать. Код для правильного выполнения подобных задач нетривиален. Если вы действительно хотите написать это самостоятельно, вы можете посмотреть словарь три .

Один из методов, который может сработать, - это просто создать огромный список возможных слов ошибок и их исправлений (вот реализация в Python ), которую можно кэшировать для большей производительности.

0 голосов
/ 30 марта 2009

В дополнение к предложению Кевина, возможно, будет лучшим из обоих миров, если вы используете поле ввода с автозаполнением javascript. например, jquery autocomplete

редактировать: Дани бил меня: (

0 голосов
/ 30 марта 2009

Хотя это не поможет сразу же, вы можете отслеживать опечатки и видеть, какое имя они, наконец, вводят при вводе правильного имени. Таким образом, вы можете отслеживать наиболее распространенные опечатки и предлагать лучшие варианты.

0 голосов
/ 30 марта 2009

Может быть, лучше позволить пользователю выбирать из списка названий аэропортов, а не вводить их самостоятельно. В этом случае нельзя допускать ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...