Skip to main content

Простая библиотека на основе расстояния Левенштейна для исправления опечаток

Project description

text-corrector

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

Особенности

  • Гибкая замена словаря: Возможность легкого подключения специализированных частотных словарей для адаптации под конкретные предметные области (медицина, юриспруденция, IT, сленг и т.д.).
  • Встроенные базы знаний: По умолчанию внутри пакета уже зашиты базовые частотные словари для русского и английского языков, которые автоматически объединяются при работе.
  • Ранний выход в алгоритме Левенштейна: Оптимизированный подсчет расстояния — функция не считает матрицу до конца, если длина слов отличается больше, чем на заданный порог.
  • Частотный анализ: Если под критерии подходят несколько слов-кандидатов, библиотека выберет наиболее популярное слово на основе переданного или встроенного словаря.
  • Сохранение регистра: Автоматически сохраняет заглавную букву у исправленного слова, если оригинал начинался с большой буквы.

Установка

Вы можете установить библиотеку через команду pip install text-corrector

Быстрый старт

Вариант 1. Использование встроенных словарей

Вы можете запустить исправление текста сразу — библиотека сама подгрузит встроенные словари русского и английского языков:

from text_corrector import correct_text

bad_text = "Hrllo Wprldd"
# Аргумент dictionary можно не передавать, он подгрузится автоматически
clean_text, _ = correct_text(bad_text, max_dist=2)

print(clean_text)
# Выведет исправленный текст на основе встроенной базы (Hello World)

Вариант 2. Гибкая адаптация под предметную область (Кастомный словарь)

Если вам нужно настроить алгоритм под конкретную тематику, просто передайте свой специализированный словарь в формате {"слово": частота_встречаемости} вторым аргументом:

from text_corrector import correct_text

# Подготовим словарь медицинских терминов для конкретной предметной области
medical_dictionary = {
    "аппендицит": 1.0,
    "антибиотик": 0.95,
    "аспирин": 0.8
}

bad_text = "врач диагностировал апендицыт"

# Передаем кастомный словарь — алгоритм мгновенно переключается на вашу терминологию
clean_text, debug_info = correct_text(bad_text, dictionary=medical_dictionary, max_dist=2)

print(clean_text)
# Выведет: "врач диагностировал аппендицит"

Дополнительные функции

Вы также можете использовать отдельные компоненты библиотеки независимо:

from text_corrector import tokenize, get_candidates

# Разбить текст на чистые слова (без знаков препинания)
words = tokenize("Привет, мир! Как дела?")
print(words)  # ['Привет', 'мир', 'Как', 'дела']

# Получить список всех возможных замен из словаря с их весами
candidates = get_candidates("привед", {"привет": 1.0, "привлек": 0.5}, max_dist=2)
print(candidates)  # [('привет', 1, 1.0)] -> (слово, расстояние, частота)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

text_corrector-0.1.3.tar.gz (313.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

text_corrector-0.1.3-py3-none-any.whl (316.7 kB view details)

Uploaded Python 3

File details

Details for the file text_corrector-0.1.3.tar.gz.

File metadata

  • Download URL: text_corrector-0.1.3.tar.gz
  • Upload date:
  • Size: 313.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for text_corrector-0.1.3.tar.gz
Algorithm Hash digest
SHA256 6eb96c3c005bfecc762cc95d9c6c6fec7cce714bf7795c8d61531bb79082bbc2
MD5 72e90cc085a4014e855d1dde659779e8
BLAKE2b-256 5d93a5bd36f83127f4371d46ffa4160af562433f79e6230b8c3b47fe71973826

See more details on using hashes here.

File details

Details for the file text_corrector-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: text_corrector-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 316.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for text_corrector-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f44ac9eed1678ea7a711ace7a102dd037fabe97100775d59f1e4fbf756e54623
MD5 7f31e487a1cc0a240cc273efbd7e763d
BLAKE2b-256 b222feea890885e96567032c8bd84e8e84c6fac1714ad3cdf81734d6c1db944d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page