Я только что закончил осуществление проверки орфографии и использовал комбинацию из следующих действий в получении списка «предложил» слова
- фонетический хеширования из «орфографической ошибки» слова для поиска хэша идентичного словаря хэширование реальных слов (для Java-проверки Apache Commons Codec для подходящей библиотеки). Фонетический хэш вашего файла словаря можно предварительно вычислить.
- Редактирование расстояния между входом и потенциалами (это достаточно дорого, поэтому сначала нужно свернуть список с чем-то вроде фонетического хеша, предполагая большую нагрузку на объем - в моем случае - проверку орфографии на сервере)
- Известный список распространенных орфографических ошибок, например получать и получать.
- Упорядоченный список наиболее употребительных слов на английском языке
По существу я взвешиваются каждый потенциальный слово в первую очередь на основе редактирования расстояния и общностью. например если вероятность слово является процент, то
weight = edit-distance * 100/probability
(нижние веса лучше)
Но я также переопределить какой-либо результат с известными общими опечатками (т.е. они всегда плывут к началу предложенного результата).
Там могут быть лучшие способы, но это сработало довольно хорошо.
Возможно, вы также можете игнорировать слова, инициалы и т. Д. ВСЕ, а значит, выбрать, что игнорировать - это тоже о чем подумать.
Спасибо. Ваши предложения были очень полезными. – sul4bh
Рад, что они сделали. Удачи. –