Создание приложения для эффективной проверки правописания с помощью Python

Всякий раз, когда я начинаю писать статьи или любые другие материалы, связанные с работой, моя основная цель — изложить свои идеи и собрать их в документ или лист бумаги. Во время этого процесса я часто сталкиваюсь с орфографическими или грамматическими ошибками.

Следовательно, создание собственного программного обеспечения для проверки орфографии — это фантастическая идея, особенно если вы сталкиваетесь с похожими проблемами и хотите оптимизировать свою работу, в то время как ваш приоритет сосредоточен на создании и развитии ваших идей.

Хотя несколько инструментов уже служат этой цели, преимущество создания собственного программного обеспечения заключается в том, что вы можете настроить проект для дополнительных улучшений. Несколько дополнений, таких как интерактивная среда (созданная с помощью Tkinter или других подобных библиотек), методы обработки естественного языка (например, автокоррекция) и многие другие дополнительные функции, могут быть рассмотрены для дальнейшего улучшения проекта.

Также важно отметить, что, хотя в проект можно внести несколько улучшений, созданному искусственному интеллекту сложно понять истинное семантическое значение предложений. Следовательно, юмористические высказывания, сарказм или общие фразы могут быть неправильно поняты созданным программным обеспечением. Мы рассмотрим решение этих проблем в следующих статьях.

Проект, с которым я бы посоветовал читателям ознакомиться перед тем, как приступить к этой статье, представляет собой руководство по созданию языкового фильтра с помощью Python по приведенной ниже ссылке. Мы можем скомпилировать работу в этой статье и предыдущей для дальнейшего обновления проекта, где некоторые неуместные сленговые слова могут подвергаться цензуре, указывая при этом на орфографические ошибки.



Разработка приложения для проверки орфографии:

В этом разделе статьи мы будем работать над созданием приложения, чтобы выделять варианты написания соответствующими цветами, чтобы обозначить, правильные они или неправильные (зеленым цветом выделяется правильное слово, а красным — возможная ошибка). Каждый подраздел этой статьи будет охватывать все основные компоненты проекта.

Нашей основной целью является разработка подходящего программного обеспечения для проверки орфографии для пользователя. Следовательно, мы не будем преобразовывать неправильные слова сразу в ближайшее предложенное слово, как в случае с проектом автозамены. Мы рассмотрим такую ​​задачу в следующей статье! А пока давайте начнем с приложения для проверки орфографии с Python.

Импорт основных библиотек:

Основными библиотеками, которые мы будем использовать для этой задачи, являются набор инструментов для обработки естественного языка (NLTK) и соответствующий корпус слов, содержащий список широко распространенных английских слов. Обратите внимание, что если разработчики хотят, они могут создать свой собственный словарь, содержащий все слова, которые они хотят добавить в свой словарь. Тем не менее, этот процесс может быть довольно утомительным, но стоит усилий для конкретной задачи.

Другими библиотеками, которые мы будем использовать в этом проекте, являются модули term color и регулярных выражений. Все упомянутые в этой статье библиотеки можно установить с помощью простой команды pip install. Библиотека регулярных выражений помогает нам предварительно обработать ненужное содержимое конкретного предложения, чтобы сосредоточиться только на введенных словах. С другой стороны, библиотека цветов терминов помогает отделить правильные и неправильные слова, назначая соответствующий цвет.

Ниже приведен список всех необходимых библиотек, которые необходимо импортировать, чтобы начать работу с проектом.

# Importing the essential libraries for the required natural language processing task
import nltk
from nltk.corpus import words
from termcolor import colored
import re

Предварительная обработка входного предложения:

В этом разделе проекта мы сосредоточимся на принятии входного предложения от пользователя для надлежащей проверки правописания предложения. С помощью команды замены регулярных выражений мы заменим знаки препинания и другие специальные символы пробелом. Мы делаем следующий шаг, чтобы предотвратить включение этих символов вместе со словами. Мы также можем преобразовать символы в нижний регистр и подготовиться к оценке предложения. Блок кода для выполнения следующих действий приведен ниже.

# Accepting the input sentence by the user
sentence = input("Type in your sentence: \n")

# Modifying the sentence for further processing
new_sentence = re.sub('[^A-Za-z0-9 ]+', '', sentence)
final_sentence = new_sentence.lower()
# print(final_sentence)

word_list = []
print("\n")
print("Evaluated Sentence: ")

Создание последовательного шаблона для проверки правописания данных:

В этом разделе мы разделим предложение и проверим написание каждого слова по отдельности. Мы можем использовать команду split для разделения каждого слова на основе пробелов. Обратите внимание, что, поскольку мы уже предварительно обработали предложение на предыдущих шагах, все знаки препинания и специальные символы удаляются соответствующим образом.

Следующий шаг — проверить, существует ли каждое слово в предложении в списке пакета слов nltk. Слово, не включающее соответствующее слово в пакет, будет напечатано красным цветом с использованием функций библиотеки цветов терминов, которые мы ранее импортировали. Все правильные слова будут интерпретированы зеленым цветом, и пользователю будет предоставлено предложение. Ниже приведен блок кода для вычисления следующего процесса.

# Creating the loop for checking the spelling
for word in final_sentence.split():
    # print(word)
    if word not in words.words():
        print(colored(word, "red"), end = " ")

    else:
        word_list.append(word)
        print(colored(word, "green"), end = " ")

print("\n")
print(f"Words in red may be typed incorrectly. Please check the spelling!")

Как только мы закончим кодирование программы, мы можем приступить к тестированию вывода через командную строку или локальный терминал в интерактивной среде разработки.

Проверка вывода:

После того, как мы закончили программировать наш проект, мы можем проверить результат, введя случайное предложение и поэкспериментировав с тем, как работает программа. Примерно в 30 строках кода мы можем заметить, что нам удалось обнаружить шаблон слов, которые могут быть написаны неправильно, пометив их красным цветом, в то время как все правильно написанные слова отмечены зеленым.

Программа помогает вывести ошибку в написании конкретного предложения или абзаца, но есть несколько улучшений, которые мы можем сделать, чтобы сделать этот проект еще лучше. В следующем разделе мы рассмотрим еще несколько дополнительных улучшений, которые любопытные разработчики могут изучить.

Дополнительные улучшения:

В этом разделе мы рассмотрим некоторые из многих улучшений, которые мы можем добавить для дальнейшего улучшения этого проекта. Вот несколько заслуживающих внимания дополнений, над которыми разработчики должны начать работать дальше:

  1. Добавление языкового фильтра, как обсуждалось в предыдущем разделе, для цензуры нецензурной лексики или любых других неприемлемых сленговых слов делает проект, который можно развернуть в эффективной среде.
  2. Использование глубокого обучения и обработки естественного языка для включения методов автозамены и прогнозирования следующего слова.
  3. Разработка пользовательского интерфейса для следующего проекта вместо работы с командным терминалом или компилятором IDE. Я предоставил список из семи лучших графических инструментов пользовательского интерфейса, доступных в Python для эффективной разработки ваших проектов, с некоторыми начальными кодами, которые вы можете проверить по ссылке ниже.


Заключение:

«Это чертовски плохой ум, который может придумать только один способ написания слова».
Эндрю Джексон

Печатание или письмо являются важными элементами образа жизни большинства людей. При наборе большого количества слов, предложений и абзацев нередко можно столкнуться с различными типами орфографических ошибок, начиная от более длинных и заканчивая посредственными и простейшими орфографическими ошибками. Несмотря на то, что существует несколько инструментов, которые точно определяют эти ошибки, чрезвычайно приятно создать собственное приложение для проверки орфографии, которое можно дополнительно модернизировать, чтобы оно стало наиболее подходящим устройством по вашему вкусу.

В этой статье мы узнали, как создать простое приложение для проверки орфографии с помощью Python, написав примерно 30 строк кода. Мы использовали библиотеку инструментов обработки естественного языка, чтобы упростить процесс накопления большинства разумных английских слов, доступных в обычном словаре. Мы использовали регулярные выражения для оптимизации данных и использовали библиотеку цветов термина, чтобы выделить правильные и неправильные слова соответственно.

Если вы хотите получать уведомления о моих статьях, как только они появляются, перейдите по следующей ссылке, чтобы подписаться на рекомендации по электронной почте. Если вы хотите поддержать других авторов и меня, подпишитесь на ссылку ниже.



Если у вас есть какие-либо вопросы, связанные с различными пунктами, изложенными в этой статье, не стесняйтесь, дайте мне знать в комментариях ниже. Я постараюсь вернуться к вам с ответом как можно скорее.

Ознакомьтесь с некоторыми другими моими статьями по теме, затронутой в этой статье, которые, возможно, вам также понравится читать!







Всем спасибо, что дочитали до конца. Надеюсь, всем вам понравилось читать статью. Желаю всем прекрасного дня!