ТИЗЕР: сеточная лемматизация на питоне на предобученной модели

Oct 18, 2016 13:47


Работа char-rnn модели лемматизатора в консольной программке для введенных слов “кошшки”, “барбудаемся”, “покрасавистее” и “красавистый”:




Обучение нейросетевой модели лемматизатора занимает достаточно большое время и много вычислительных ресурсов. На десктопе с GTX 980, 32 Гб оперативной памятии 4-х ядерным процессором обучение русского лемматизатора длится несколько часов. В ходе обучения используются датасеты объемом в сотни мегабайтов. Результат обучения - несколько файлов общим размером меньше 0.5 Мб. Чтобы использовать предобученную модель, достаточно несколькими строками загрузить эти файлы, при этом потребляемые моделью ресурсы столь же крошечны:

MODEL_FOLDER = '/home/eek/polygon/word2lemma/CASE2/'

CHAR_RNN_WEIGHTS_FILENAME = 'char_rnn.ALL.model'

CHAR_RNN_ARCH_FILENAME    = 'char_rnn.arch'



model = model_from_json(open(MODEL_FOLDER+CHAR_RNN_ARCH_FILENAME).read())

model.load_weights( MODEL_FOLDER+CHAR_RNN_WEIGHTS_FILENAME )

Архитектура сети и веса связей загружаются из файлов и не требуют никакой ручной настройки.

Простейшая программка позволяет ввести слово с консоли, векторизовать его, прогнать через модель и декодировать результат в символьное представление. Скриншот с примером работы этого скрипта приведен выше. Питоновский код, использующий Keras, можно взять по ссылке:http://www.solarix.ru/for_developers/download/polygon/word2lemma/lemmatize.py

Файлы модели, которые нужны для запуска скрипта:

http://www.solarix.ru/for_developers/download/polygon/word2lemma/char_rnn.arch

http://www.solarix.ru/for_developers/download/polygon/word2lemma/char_rnn.ALL.model

http://www.solarix.ru/for_developers/download/polygon/word2lemma/ctable.dat

http://www.solarix.ru/for_developers/download/polygon/word2lemma/dataset.config

Подробное описание архитектуры и реализации модели будет дано в следующих главах.

нейросети, лемматизатор, sequence2sequence, neuronet, keras, character language model, nlp, char-rnn, исходники, python, machine learning

Previous post Next post
Up