Skip to content
This repository has been archived by the owner on Oct 19, 2020. It is now read-only.
/ word2lemma Public archive

Эксперименты с лемматизацией

Notifications You must be signed in to change notification settings

Koziev/word2lemma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Лемматизатор для русского языка

Нейросетевой лемматизатор на базе архитектуры seq2seq

Используется sequence2sequence архитектура. Входное слово представляется цепочкой символов, которые упаковываются первой половиной рекуррентной нейросети в вектор фиксированной длины. Далее вторая половина нейросети на основе вектора слова строит цепочку символов леммы.

Обучение

Обучение по корпусу, состоящему из эталонных пар СЛОВО-ЛЕММА, реализовано в модуле Console/PyModels/CharSeq2Seq/src/word2lemma_train.py.

В ходе работы программа сохраняет параметры модели в папке data. Я выгрузил в репозиторий модель, предобученную на полном грамматическом словаре, поэтому можно сразу перейти ко второй программе в этом наборе.

Консольный лемматизатор

Тестовая часть лемматизатора реализована в модуле Console/PyModels/CharSeq2Seq/src/word2lemma_predict.py. Он загружает подготовленные первой программой данные и печатает леммы для вводимых с консоли слов. Для использования просто запустите скрипт в консоли и затем вводите слова по приглашению. Результат лемматизации будет печататься в консоли.

REST API лемматизатора

Простой REST API лемматизатора реализован с использованием пакетов flask и flask-restful. Я не могу рекомендовать данный способ для использования под нагрузкой без предварительного тестирования поведения нейросетевой части реализации, особенно с GPU backend. Тем не менее, в качестве стартовой точки это может быть полезно.

Дополнительная информация

[https://kelijah.livejournal.com/221921.html]