
Мы недавно писали на Хабр о нашей библиотеке silero-stress для простановки ударения в обычных словах и омографах. Теперь у нашего проекта silero-stress вышла версия v1.2, в которую вошло следующее:
Добавили акцентор для украинского языка на основе словаря в 3M слов;
Выложили в открытый доступ словари ударений ещё для 18 языков России и СНГ;
Если слова нет в словаре, ударение ставится алгоритмом (подробности в табличке под спойлером ниже);
Обновили пакет.
Для русского и украинского языков размеры словарей позволили обучить акценторы, которые работают со 100%-й точностью на исходном словаре, а так же имеют какую-то ненулевую генерализацию на неизвестные слова (ещё акцентор занимает примерно на два порядка меньше места, чем словарь).
Для остальных языков мы выложили в открытый доступ собранные нами словари и указали алгоритм простановки ударения в неизвестных словах.
Почти для всех языков получилось вручную разметить небольшого размера словари. В ходе разметки выяснилось, что для подавляющего большинства языков в первом приближении работает эвристика "ставить ударение на первый/последний слог", которой можно заменить полноценный акцентор, обученный на большом словаре.
Для остальных языков мы выложили в открытый доступ собранные нами словари и указали алгоритм простановки ударения в неизвестных словах.
Словари на все языки, кроме русского и украинского получились довольно небольшими. Чтобы не смущать пользователей, мы вынесли функционал расстановки ударений в малоресурных языках в отдельный модуль. Если будет запрос и помощь от комьюнити, то по мере развития проекта мы будем добавлять языки "на основу". С омографами меньше верится, что мы когда-либо до них добежим, но никогда не говори никогда.
Также было бы неплохо сделать акцентор для белорусского языка, но тут в идеале нужен словарь ударений на несколько миллионов слов.
Скрытый текст
Язык |
Словарь (шт. слов) |
Акцентор |
Словарь размечен вручную |
Алгоритм доразметки |
|---|---|---|---|---|
Русский |
~4 млн |
акцентор + классификатор омографов |
частично |
— |
Украинский |
~3 млн |
акцентор |
частично |
— |
Белорусский |
24 тыс. |
словарь |
да |
только словарь |
Якутский |
86 тыс. |
словарь + алгоритм |
частично |
последний слог |
Азер. (лат.) |
11 тыс. |
словарь + алгоритм |
да |
последний слог |
Азер. (кир.) |
11 тыс. |
словарь + алгоритм |
да |
последний слог |
Армянский |
8.5 тыс. |
словарь + алгоритм |
да |
последний слог |
Башкирский |
9.7 тыс. |
словарь + алгоритм |
да |
последний слог |
Грузинский |
12.5 тыс. |
алгоритм |
нет |
предпоследний слог |
Кабардинский |
5.5 тыс. |
словарь + алгоритм |
да |
последний слог |
Казахский |
6.8 тыс. |
словарь + алгоритм |
да |
последний слог |
Калмыцкий |
9 тыс. |
алгоритм |
нет |
последний слог |
Киргизский |
11.7 тыс. |
словарь + алгоритм |
да |
последний слог |
Мокшанский |
5.3 тыс. |
словарь + алгоритм |
да |
первый слог |
Таджикский |
9 тыс. |
словарь + алгоритм |
да |
последний слог |
Татарский |
11.5 тыс. |
словарь + алгоритм |
да |
последний слог |
Удмуртский |
13.5 тыс. |
алгоритм |
нет |
последний слог |
Узбекский (лат.) |
5 тыс. |
алгоритм |
нет |
последний слог |
Узбекский (кир.) |
5 тыс. |
алгоритм |
нет |
последний слог |
Хакасский |
12.3 тыс. |
словарь + алгоритм |
да |
последний слог |
Чувашский |
23 тыс. |
словарь + алгоритм |
да |
последний слог |
Эрзянский |
4 тыс. |
словарь + алгоритм |
да |
первый слог |
Ссылки:
Работа над проектом ведётся при поддержке Фонда содействия инновациям в рамках федерального проекта «Искусственный интеллект» национальной программы «Цифровая экономика Российской Федерации».
Комментарии (8)

kryvichh
22.11.2025 17:58Для белорусского языка, огромная лексико-грамматическая база (слова с лексическими значениями, со всеми словоформами и проставленными ударениями) выложена здесь, под Creative Commons Attribution/Share-Alike.

snakers4 Автор
22.11.2025 17:58Вот это царский подгон, спасибо! Неудивительно, что я не нашёл, т.к. гуглил-то я на русском. Одна беда - у нас лицензия MIT, у тут CC-BY-SA-4.0 license.

kryvichh
22.11.2025 17:58Насколько понимаю, только если вы решите выложить производный словарь, вам придётся использовать для него ту же CC-BY-SA-4.0. На обученную на словаре модель это ограничение не распространяется.

snakers4 Автор
22.11.2025 17:58Формально вы правы. Но это, конечно, такой как бы своеобразный хак для обхода лицензии.

AigizK
22.11.2025 17:58Надо будет послушать ваш TTS, а то пока не очень понятно, почему у некоторых слов ударения такие проставлены. Я пока для башкирского создавал все TTS без ударений, модель легко выучивает, так как переноса ударений в башкирском нет. Но есть случаи, типа вопросительные слова, где точно есть ударения и они попадают на предпоследний слог. Потом послушав ваш TTS, можем собрать новый список или алгоритм дать

snakers4 Автор
22.11.2025 17:58Ударения в башкирских словах расставлялись так:
По-умолчанию брался последний слог;
Дальше носитель языка помечал слова, где слог не последний и ставил ударение.
Что касается словарей языков РФ - они выложены с исходниками, то есть можно их улучшать, глядишь потом пригодятся кому-то. Если будет огромный словарь - можно сразу акцентор бахнуть.
Что касается синтеза, это отчасти медвежья услуга. Мы сделали синтез с ударениями и без на башкирском, и модель с ударением получилась несколько "своевольной" - она не всегда следует ручной простановке ударений.

AigizK
22.11.2025 17:58На основе твоих слов из словаря для башкирского создал проект расстановке ударений для башкирского языка: https://github.com/AigizK/bashkir-stress/tree/main
Лицензия как у тебя, так что используй. Для нахождения корня слов можно прикрутить Hunspell: https://github.com/AigizK/bashspell/tree/main/static/hunspell/28.01.2024 и доработать правила 1a, 1bПравила 3,4 исключают очень много слов из словаря.
DeXPeriX
Ура! Спасибо огромное. Обновляю EbookTalker