/StressModel

Neural model for prediction of stress position in Russian words

Primary LanguagePythonMIT LicenseMIT

Нейросетевая модель для предсказания положения ударения в руских словах

Модель предназначена для определения позиции ударения в русских словах. Из-за особенностей русского языка обычно в проектах, связанных с устной речью (ASR, TTS) используется комбинация из словаря ударения и такой модели для oov-слов. Словарь для слов, ударение в которых известно априори, также находится в репозитории https://huggingface.co/inkoziev/accentuator.

В текущей версии модель умеет предсказывать только позицию основного ударения.

Файлы модели и словари

Все необходимые файлы находятся в репозитории https://huggingface.co/inkoziev/accentuator и загружаются оттуда автоматически.

Использование

import stress_model

def render(word):
    px = accentuator.predict2(word)
    print(' | '.join(accentuator.render_stress(word, pos) for pos in px))


if __name__ == '__main__':
    accentuator = stress_model.AccentuatorWrapperWithDictionary()
    render('моя')
    render('насыпать')
    render('кошка')
    render('ничегошеньки')

Метод predict2 выдает список порядковых номеров гласных, на которые падает основное ударение. В случае слов, допускающих более одного варианта ударения, выводится список длиной 2, или в некоторых редких случаях 3 значения.