Downloads · 30 days
94
25% of all-time downloads
evilfreelancer/ruMorpheme-v0.2
ruMorpheme-v0.2 is a text classification model from evilfreelancer. Use it when you need a label for a piece of text. The card lists the license as mit.
Проект языковой модели для проведения морфемного анализа и сегментации слов русского языка.
Downloads · 30 days
94
25% of all-time downloads
All-time downloads
382
Public
Repo size
3.3 MB
Likes
0
Public
Click a slice to open those files.
.txt2.1 MB · 56%
From the Hugging Face model README
Проект языковой модели для проведения морфемного анализа и сегментации слов русского языка.
Обученная модель способна сегментировать слова, выделяя в них:
Исходные коды evilfreelancer/ruMorpheme на GitHub.
Вдохновлён кодовой базой проекта AlexeySorokin/NeuralMorphemeSegmentation, который реализован в рамках публикации "Deep Convolutional Networks for Supervised Morpheme Segmentation of Russian Language" за авторством Алексея Сорокина и Анастасии Кравцовой.
Пример работы модели:
В в:ROOT 98.59
воскресенье воскрес:ROOT/ень:SUFF/е:END 99.30 96.58 100.00
мы мы:ROOT 99.77
решили решил:ROOT/и:END 85.80 100.00
перезапланировать пере:PREF/за:PREF/план:ROOT/ир:SUFF/ова:SUFF/ть:SUFF 100.00 77.91 98.43 100.00 99.98 98.37
Или в формате JSONL:
{"word": "В", "morphemes": [{"text": "в", "type": "ROOT", "prob": "98.59"}]}
{"word": "воскресенье", "morphemes": [{"text": "воскрес", "type": "ROOT", "prob": "99.3"}, {"text": "ень", "type": "SUFF", "prob": "96.58"}, {"text": "е", "type": "END", "prob": "100.0"}]}
{"word": "мы", "morphemes": [{"text": "мы", "type": "ROOT", "prob": "99.77"}]}
{"word": "решили", "morphemes": [{"text": "решил", "type": "ROOT", "prob": "85.8"}, {"text": "и", "type": "END", "prob": "100.0"}]}
{"word": "перезапланировать", "morphemes": [{"text": "пере", "type": "PREF", "prob": "100.0"}, {"text": "за", "type": "PREF", "prob": "77.91"}, {"text": "план", "type": "ROOT", "prob": "98.43"}, {"text": "ир", "type": "SUFF", "prob": "100.0"}, {"text": "ова", "type": "SUFF", "prob": "99.98"}, {"text": "ть", "type": "SUFF", "prob": "98.37"}]}
Склонируем проект и подготовим окружение:
git clone https://github.com/EvilFreelancer/ruMorpheme.git
cd ruMorpheme
python3 -m venv venv
Активируем окружение:
source venv/bin/activate
python3 train.py config/ruMorpheme.json
По завершению тренировки будут созданы:
model/pytorch-model.bin - веса моделиmodel/vocab.json - словарь необходимый для работы предикшенаpython3 eval.py config/ruMorpheme.json
Отчёт валидации будет в models/evaluation_report.txt.
Запуск тестового предикшена из файла input_text.txt:
python predict.py input_text.txt --model-path=evilfreelancer/ruMorpheme-v0.1
Если не указывать --model-path то модель и конфигурация будут прочитаны из директории ./model.