Skip to content

fuwariko/russian_word_checker

Repository files navigation

Spellchecker

Запуск

Зпуск утилиты проверки орфографии - main.py

Запуск утилиты построения словаря по корпусу текста - DictionaryBuilder.py

Требования

Для работы программы необходим Python версии 3 и выше. Скачайте программу из репозитория.

Описание утилиты

Можно ввести текст через консоль или указать файл с текстом. Утилита выведет варианты коррекции для слов с ошибками.

  • Если слова написаны слитно, то предложит вариант разделения.
  • Утилита обрабатывает слова с дефисом, разделяя их на две части, к каждой части выводит список слов для коррекции.
  • Если слово содержит два дефиса или написано не на русском языке, то выводит сообщение об ошибке.
  • Можно добавить свое слово в словарь. (сначала при запуске выбрать способ написания слова с консоли, затем написать 'добавить слово' - будет предложено написать слово для добавления, затем в какой словарь нужно добавить)
  • Можно построить словарь по файлу с текстом.
  • Можно добавлять свои правила. (сначала при запуске выбрать способ написания слова с консоли, затем написать 'добавить правило' - будет предложено написать правило для добавления, затем в какой словарь нужно добавить)

text.txt - пример корпуса для построения словаря

test_file.txt - тестовый файл с текстом с ошибками

new_dictionary.txt - база для построения словаря по корпусу text.txt

dictionary.txt - словарь

rules.txt - база для добавления правил

Levenshtein_algorithm.py - алгоритм для поиска расстояния Левенштейна между подстроками, на основе его утилита выводит список предложенных слов для коррекции введенного слова.

ViterbiAlgorithm.py - алгоритм Витерби для сегментации текста. Метод принимает текст и разбивает его на отдельные слова с учетом вероятности появления каждого слова. На основе его программа предлагает возможное разделение слов без пробела, используя словарь dictionary.txt.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages