E Джеймс дает отличный ответ о том, как определить, является ли слово действительным. Вероятно, от проверки орфографии зависит, как они определяют возможные орфографические ошибки.
Одним из таких методов, который я бы использовал, является Levenshteinn String Similarity , который определяет, сколько букв должно быть добавлено, удалено или заменено в слове, чтобы составить другое слово.
Если вы говорите, пишется: Страна как Контри. Сходство строк Левенштейна будет равно 1, так как вам нужно добавить только 1 букву, чтобы преобразовать страну в страну.
После этого вы можете просмотреть все возможные правильные варианты написания слов (только 171 000 английских слов и 3000 из них составляют 95% текста). Определите те, у кого наименьшее значение сходства строк Левенштейна, а затем верните первые X слов, которые наиболее похожи на слово с ошибкой.
Существует отличный пакет python под названием Fuzzy Wuzzy , который эффективно реализует это и генерирует% сходство между двумя словами или предложениями на основе этой формулы.