Найти тему
IT Start | Python

Проверка орфографии в Python

Введение

В статье напишем код небольшой программы для проверки орфографии при помощи языка программирования Python.

Установка библиотеки PySpellChecker

PySpellChecker – это библиотека Python, которая позволяет проверять орфографию на различных языках, включая русский. Она использует словарь слов Aspell для проверки правописания и поддерживает проверку орфографии.

Для установки библиотеки нужно перейти в терминал, или же командную строку, прописать pip install pyspellchecker, нажать Enter и ждать установки. После инсталляции модуля мы импортируем из него класс SpellChecker:

from spellchecker import SpellChecker

Проверка правописания слова

Инициализируем класс SpellChecker и укажем русский язык:

from spellchecker import SpellChecker

spell = SpellChecker(language='ru')

Дадим пользователю возможность ввести проверяемое слово:

from spellchecker import SpellChecker

spell = SpellChecker(language='ru')

word = input("Введите слово для проверки орфографии: ")

Зададим условие, в котором при помощи метода correction() проверим правильность написания слова. Если слово написано верно, то выведем соответствующее сообщение в консоль, если нет, то укажем на ошибку и выведем возможные варианты правильного написания слова:

from spellchecker import SpellChecker

spell = SpellChecker(language='ru')

word = input("Введите слово для проверки орфографии: ")

if spell.correction(word) == word:
print("Слово написано верно!")
else:
print("Ошибка в написании слова")
print("Возможные варианты:")
print(spell.candidates(word))

# Ввод: Приет

# Вывод:
# Ошибка в написании слова
# Возможные варианты:
# {'привет', 'примет', 'прием', 'приют', 'придет'}

Проверка предложения на орфографические ошибки

Создадим экземпляр класса SpellChecker, после чего в переменную text сохраним текст с орфографической ошибкой:

from spellchecker import SpellChecker

spell = SpellChecker(language='ru')
text = 'Эта фраза содержит орфографическую ошибку'

Далее при помощи метода unknown() извлечём слова, в которых предположительно находится ошибка и сохраним их в mistakes:

from spellchecker import SpellChecker

spell = SpellChecker(language='ru')
text = 'Эта фраза содержит орфографическую ошибку'

mistakes = spell.unknown(text.split())

Создадим цикл, в котором пройдёмся по предположительно неверно написанным словам. Внутри цикла выведем эти слова, и возможное правильное их написание:

from spellchecker import SpellChecker

spell = SpellChecker(language='ru')
text = 'Это предлжение содержт ошибку'

mistakes = spell.unknown(text.split())

for mistake in mistakes:
print(f'Ошибка: "{mistake}" \nПравильное написание: {spell.correction(mistake)}')

# Вывод:
# Ошибка: "предлжение"
# Правильное написание: предложение
# Ошибка: "содержт"
# Правильное написание: содержит

Заключение

В ходе статьи мы с Вами научились проверять текст на наличие орфографических ошибок. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Мой Telegram канал

Мой YouTube канал

Курс по созданию GUI на Python