
Мы недавно писали на Хабр о нашей библиотеке 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 тыс. | словарь + алгоритм | да | первый слог |
Ссылки:
Работа над проектом ведётся при поддержке Фонда содействия инновациям в рамках федерального проекта «Искусственный интеллект» национальной программы «Цифровая экономика Российской Федерации».
