Применение нейронных сетей для автоматического определения словесных ударений
Аннотация
Решена задача автоматического определения словесных ударений. Выделены классы слов с одним и двумя непереходящими ударениями, с переходящими ударениями и без ударений. Ударение определяется в тех словах, где оно не является переходящим. Слова группируются по числу слогов. Каждая группа делится на классы слов с одинаковыми номерами ударных слогов. Таким образом, задача определения ударений, выполняемая нейронными сетями, сводится к классификации слов.
Набор данных (обучающие и проверочные множества) формируется по грамматическому словарю русского языка А.А. Зализняка, содержащему словоформы с расставленными ударениями. Модель слова — список слогов. В наборе данных слоги заменяются числовыми кодами, для получения которых составляются словари слогов. Числовой код слога — его номер в словаре слогов.
Поиск ударений проходит в два этапа. Прежде всего выясняется, обладает ли слово непереходящими ударениями, и затем, в случае положительного результата, оно передается определяющей ударения нейронной сети. Все проектируемые в работе нейронные сети содержат слой Embedding, переводящий скалярные представления слогов слова в векторные. На входе сеть принимает вектор с числовыми кодами слогов слова, а на выходе выдает номер класса, который, в случае одного непереходящего ударения, совпадает с номером ударного слога, а в случае двух непереходящих ударений указывает на номера двух ударных слогов. Вероятность правильного определения одного непереходящего ударения оценивается как 0,9474, а двух — как 0,9759.
Литература
2. Грамматический словарь Зализняка А.А. [Электрон. ресурс] www.gufo.me/dict/zaliznyak (дата обращения 01.06.2020).
3. Программа расстановки ударений [Электрон. ресурс] www.morpher.ru/accentizer/ (дата обращения 01.06.2020).
4. Хомицевич О.Г. и др. Автоматическое определение места ударения в незнакомых словах в системе синтеза речи // Материалы XXXVI Междунар. филолог. конф. СПб., 2008. C. 175—183.
5. Цирульник Л.И., Покладок Д.А. Грамматический словарь и правила определения словесного ударения для синтеза речи по тексту на мобильных устройствах // Информатика. 2012. № 2. С. 61—68.
6. Бабайцева В.В. Русский язык. Теория. 5 — 11 классы. М.: Дрофа, 1998.
7. Розенталь Д.Э., Голуб И.Б., Теленкова М.А. Современный русский язык. М.: Рольф, Айрим-пресс, 1997.
8. Морфологический словарь русского языка в виде SQL скрипта [Электрон. ресурс] www.shra.ru/2017/03/morfologicheskijj-slovar-russkogo-yazyka-v-vide-sql-skripta (дата обращения 01.06.2020).
9. Бартеньев О.В. Подготовка данных для автоматического определения русских словесных ударений [Электрон. ресурс] www.100byte.ru/stdntswrks/accents/accents.html (дата обращения 01.06.2020).
10. Word Embeddings [Электрон. ресурс] www.tensorflow.org/tutorials/text/word_embeddings?hl.ru (дата обращения 01.06.2020).
11. Keras: the Python Deep Learning Library [Электрон. ресурс] www.keras.io/ (дата обращения 01.06.2020).
12. Zhu S., Chollet F. Working with RNNs [Электрон. ресурс] www.keras.io/guides/working_with_rnns/ (дата обращения 01.06.2020).
13. Бенгфорт Б., Билбро Р., Охеда Т. Прикладной анализ текстовых данных на Python. СПб.: Питер, 2019.
14. Ляшевская О.Н., Шаров С.А. Частотный словарь современного русского языка (на материалах Национального корпуса русского языка). М.: Азбуковник, 2009.
15. Национальный корпус русского языка [Электрон. ресурс] www.ruscorpora.ru/new/ (дата обращения 01.06.2020).
---
Для цитирования: Бартеньев О.В. Применение нейронных сетей для автоматического определения словесных ударений // Вестник МЭИ. 2021. № 2. С. 98—107. DOI: 10.24160/1993-6982-2021-2-98-107.