
Проект ruMorpheme — позволяет обучить модель для морфемного анализа русского языка. При желании код можно адаптировать и для других языков, но основное внимание уделено русскому.
ruMorpheme вдохновлён и является портом с TensorFlow (0.12) на PyTorch (2.4) проекта NeuralMorphemeSegmentation, реализованного в рамках публикации "Deep Convolutional Networks for Supervised Morpheme Segmentation of Russian Language" авторства Алексея Сорокина и Анастасии Кравцовой.
Обученная модель способна сегментировать слова, выделяя в них следующие морфемы:
Приставки (PREF)
Корни (ROOT)
Соединительные гласные (LINK)
Дефисы (HYPH)
Суффиксы (SUFF)
Постфиксы (POSTFIX)
Окончания (END)
Попробовать модель можно через Telegram-бот: @ruMorphemeBot, его можно добавить в группу и отправлять текст через упоминание @ruMorphemeBot
.
Ссылки:
Исходный код на GitHub
Веса модели на HuggingFace
Исходники бота на GitHub
Как пользоваться:
git clone https://github.com/EvilFreelancer/ruMorpheme.git
cd ruMorpheme
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Для выполнения инференса:
python predict.py input_text.txt --model-path=evilfreelancer/ruMorpheme-v0.1
Скрипт автоматически скачает веса модели и выполнит анализ.
Пример вывода:
{"word": "родословие", "morphemes": [{"text": "род", "type": "ROOT"}, {"text": "о", "type": "LINK"}, {"text": "слов", "type": "ROOT"}, {"text": "и", "type": "SUFF"}, {"text": "е", "type": "END"}]}
Спасибо за внимание!