Здесь представлены скомпилированные в C версии, не требующие установки Python. Все зависимости (включая словари) уже внутри.
| Платформа | Особенности | Скачать |
|---|---|---|
| Windows x64 | один .exe файл |
Скачать |
| Linux x64 (glibc) | Ubuntu 18.04+, Debian, CentOS, и т.п. | Скачать |
| Linux x64 (musl) | для Alpine и Docker-контейнеров | Скачать |
MorphGen — это инструмент для автоматической генерации всех грамматических форм слов на основе заданных пар «исходное слово → целевое слово».
Если вам нужно заменить в тексте «рыцарь» на «паладин» так, чтобы во всех падежах и числах («рыцарю» -> «паладину», «рыцарей» -> «паладинов») замена произошла корректно — этот инструмент автоматизирует процесс создания словаря замен.
- Автозамены: Быстрое создание карт соответствий для замены слов в ответах ботов и т.п.
- Генерация контента: Для шаблонизаторов, где исходные данные меняются, а грамматика должна оставаться корректной.
- Локализация и моддинг: Когда нужно заменить термины в игре или приложении, сохраняя правильные падежные окончания.
- Полная парадигма: Генерирует все формы слова (падежи, числа, рода, одушевленность).
- Умное сопоставление: Инструмент анализирует исходное слово и подбирает наиболее подходящую форму целевого слова, учитывая часть речи и грамматические признаки.
- Собственный движок склонения (fallback): Если целевого слова нет в словаре
pymorphy3, программа использует встроенную логику эвристического склонения (поддерживает большинство типов существительных, включая беглые гласные и разносклоняемые слова на -мя). - Обработка регистров: Умное сохранение регистра (например, «город» -> «Санкт-Петербург» корректно обработает заглавные буквы).
- Разрешение коллизий: Если разные формы исходного слова пишутся одинаково, система использует систему приоритетов, чтобы выбрать наиболее важную форму для словаря замен.
Вы подаете на вход список лемм (начальных форм). Программа:
- Анализирует исходное слово (часть речи, одушевленность, род).
- Находит все возможные формы исходного слова (склонения/спряжения).
- Принудительно генерирует соответствующие формы для целевого слова, используя встроенные алгоритмы склонения существительных и базу
pymorphy3. - Сохраняет результат в удобном для программиста формате JSON (плоская карта замен) и YAML (подробные данные).
- Умное склонение существительных: Использует встроенные схемы для 9 типов основ (мужской, женский, средний род, мягкие основы, основы на -ия/-ие и т.д.).
- Поддержка всех частей речи: Благодаря
pymorphy3, инструмент обрабатывает прилагательные (включая краткие формы и степени сравнения), глаголы, причастия и деепричастия. - Сохранение регистра: Если исходное слово в тексте было «Рыцарь» (TitleCase) или «РЫЦАРЬ» (UPPERCASE), сгенерированная замена подстроится под этот регистр.
- Обработка орфографии: Автоматически применяет правила (например, «ы» после г, к, х, ж, ч, ш, щ меняется на «и»).
- Создайте файл
rules.yaml(или используйте стандартное название):- source: гурманство target: гортанобесие - source: жаба target: ропуха
- Запустите исполняемый файл:
./morph_gen rules.yaml
- На выходе вы получите:
replacements.json— готовый словарь для программной замены{"жабы": "ропухи", "жабой": "ропухой", ...}.rules_output.yaml— подробный отчет о генерации для проверки.
Проект оптимизирован для компиляции в самодостаточные бинарники, которые не требуют наличия Python на целевой машине.
Запустите PowerShell скрипт:
./windows_build.ps1Для максимальной совместимости (сборка под старые версии glibc и под musl/Alpine) используется Docker:
./build_in_docker.sh