Инструменты для исправления орфографии берут слова с ошибками и предлагают возможные правильно написанные альтернативы.Похоже, вы хотите пойти в другом направлении.
Переход от правильно написанного слова к набору возможных орфографических ошибок, вероятно, может быть выполнен путем применения эвристики мутаций к общим словам.Эта эвристика может выполнять такие действия, как:
- случайное добавление или удаление отдельных символов
- произвольное применение транспозиций пар символов
- смена символов на другие символы на основе раскладок клавиатуры
- применение обычных «точечных» орфографических ошибок;например, перенос «ie» в «ei», удвоение или удвоение «l» s.
Переход от правильно написанного слова к набору общих орфографических ошибок действительно труден.Вероятно, единственный надежный способ сделать это - установить пакет проверки орфографии, используемый большим сообществом пользователей, записать фактические исправления орфографии, сделанные с помощью средства проверки орфографии, и агрегировать результаты.Это, вероятно (!) Выходит за рамки вашего проекта.
При повторном рассмотрении моего ответа, я думаю, что я что-то упустил.
Мои эвристики выше в основном для опечатки, а не орфографических ошибок.Ошибка ввода - это когда пользователь знает правильное написание, но набрал слово неправильно.Неправильное написание - это то, где человек не знает правильное написание слова и использует либо неправильное знание, либо интуицию (то есть предположение).Типичные предположения основаны на прослушивании того, как звучит слово, а затем написание орфографии, которая (если она правильная), скорее всего, будет произнесена таким образом.
Так что хорошая эвристика для прогнозирования орфографических ошибок должна основываться наслово на самом деле звучит как когда оно произнесено.Это требует фонетического словаря (чтобы перейти от фактического слова к его произношению) и набора правил для создания правдоподобных написаний для фонетического слова.Это сложнее, чем простая эвристика для опечаток.