SelfTagger

Морфологический анализатор для русского языка на основе multi-head attention

Multi-head attention — это специальный метод кодирования текста, впервые представленный исследователями Google в статье «Attention is all you need», лежащий в основе большинства современных языковых моделей, включая модели семейства GPT и BERT. Совместно с коллегами из числа студентов мне стало весьма интересно, можно ли приспособить multi-head attention для решения прикладных задач компьютерной лингвистики, таких как определение частей речи, морфологическое тегирование и пр. Подразумевается использование multi-head attention напрямую, т. е. без подключения предобученных вариантов BERT, T5 и др.

Эта работа рассматривается нашим коллективом как одна из составных частей крупной задачи, которую мы называем задачей преобразование письменной речи в устную. ЫВ частности, морфологическое тегирование необходимо, например, для расстановки ударений в словах-омографах. Тем не менее мы стремимся расширить постановку задачи, включив в неё возможность морфологического тегирования для тех слов, которые не могут быть прочитаны в тексте полностью. Например, к ним относятся сокращения («ТГУ», «ИПМКН» и пр.) или записи денежных единиц или единиц измерения («1 тыс. руб.» или «2 кв. км.»). В качестве обучающего датасета применяется датасет Sintagrus, а источником вдохновения послужила библиотека RNNMorph Ильи Гусева. Название SelfTagger подразумевает совмещение фраз <> и <>. Исходный код проекта доступен по ссылке ниже: