sStress

Мы ставим ударения!


Ударение играет большую роль в русском языке. В отличие от языков, в которых ударение фиксировано и четко закреплено за определенным слогом в слове, в русском языке ударение подвижно и может падать на любой по счету слог в слове. При изменении грамматических форм слова оно также может перемещаться на разные его слоги, ввиду чего предсказать его поведение бывает крайне затруднительно.



Акцентуатор, основанный на правилах

Одним из факторов, способных указать на поведение ударения в слове, является его морфемный состав. Каждая из морфем в словоформе несет в себе не только грамматические характеристики словоформы, но и информацию об ударении. Существует два масштабных труда, в которых с разных точек зрения рассматривается взаимосвязь ударения в русском языки с морфемным составом слова. Это книга А.А. Зализняка «От праславянской акцентуации к русской», а также «Русская грамматика», созданная академией наук СССР и институтом русского языка. В основу акцентуатора легли два этих труда: для всех морфем глаголов, имён существительных и прилагательных, перечисленных в этих книгах, были собраны и составлены правила постановки ударения. Информацию о правиле, на основе которого сделано то или иное решение о месте ударения, можно посмотреть в всплывающих подсказках при анализе текста на главной странице сайта.

При акцентуации используются следующие библиотеки:

  • для токенизации текста используется модуль nltk
  • для определения части речи и начальной формы слова используется модуль pymorphy2

Для поиска морфем применяется поиск соответствий конечного сегмента слова какому-либо правилу. При обнаружении нескольких вариантов постановки ударения применяется то правило, которое задействует самый длинный сегмент слова.

Нейронный акцентуатор

В основе этого акцентуатора лежит рекуррентная нейронная сеть lstm, обученная на акцентологическом подкорпусе Национального корпуса русского языка. Мы хотели сделать этот акцентуатор простым и быстрым и сознательно отказались от использования в нем сторонних теггеров и парсеров. Но наша сеть все-таки учитывает морфологическую информацию. В один момент времени сеть, работающая на уровне символов, смотрит на слово и его левый контекст и предсказывает позицию ударения. Левый символьный контекст позволяет с высокой точностью разрешать омонимию в тех случаях, когда омографы имеют различные грамматические показатели, например являются словоформами в разных падежах, так как в левый контекст часто попадают окончания зависимых прилагательных и предлоги, управляющие падежом именной группы.

Подробнее об устройстве нейронного акцентуатора (а также о других подходах к подготовке данных ) можно прочитать в нашей статье