Для пообещанного я хотел бы найти n самые близкие орфографические ошибки. Я задавался вопросом, будет ли программа проверки правописания с открытым исходным кодом как aspell полезна в том контексте, если у Вас не будет других предложений.
Например: 'здоровье'
дал бы мне: ealth, halth, здоровье, healf...
Инструменты коррекции орфографии берут неправильно написанные слова и предлагают возможные правильно написанные альтернативы. Вы, похоже, хотите пойти в другом направлении.
Переход от правильно написанного слова к набору возможных неправильных написаний, вероятно, может быть осуществлен путем применения набора эвристик мутации к обычным словам. Эти эвристики могут делать следующее:
Перейти от правильно написанного слова к набору распространенных ошибок в написании очень сложно. Вероятно, единственным надежным способом сделать это был бы инструментарий пакета проверки орфографии, используемый большим сообществом пользователей, запись фактических исправлений орфографии, сделанных с помощью этого пакета, и агрегирование результатов. Это, вероятно (!), выходит за рамки вашего проекта.
Пересмотрев свой ответ, я думаю, что кое-что упустил.
Моя эвристика выше в основном для опечаток, а не для описок. Опечатка - это когда пользователь знает правильное написание, но набирает слово неправильно. Ошибка в написании - это когда человек не знает правильного написания слова и использует либо неверные знания, либо интуицию (т.е. догадку). Обычно догадки основаны на том, чтобы послушать, как звучит слово, а затем выбрать написание, которое (если оно правильное), скорее всего, будет произноситься именно так.
Таким образом, хорошая эвристика для предсказания неправильного написания должна быть основана на том, как слово звучит на самом деле, когда его произносят. Это требует фонетического словаря (чтобы перейти от реального слова к его произношению) и набора правил для создания правдоподобных написаний для фонетического слова. Это сложнее, чем простая эвристика для ошибок при наборе текста.