#asr #repo
Потоковое распознавание речи
👄 Если вы занимаетесь распознаванием речи, то знаете, что есть проект NeMo от NVIDIA, в котором реализованы плюс-минус все SOTA архитектуры (Conformer-CTC, Conformer-Transducer, etc.). Какое-то время назад я занимался ASR и смотрел это решение, — есть скрипты для обучения, качество распознавания получается хорошее. Особенно, если обучить и добавить LM (обычно это kenlm) для рескоринга гипотез акустической модели.
Так вот, можно было без проблем обучить отличную оффлайн модель. Но если попробовать сделать на ней стриминг (распознавание в realtime), то ничего хорошего не выйдет, — сильно упадет качество (мы хотим быстрый отклик, режем контекст, модели становится плохо).
Есть ряд статей о том как делать такие модели, например вот эта от Microsoft. В ней предлагается изменить не архитектуру, а процесс тренировки, — при помощи масок подавать на обучение ограниченный заданным параметром контекст. Мы такой подход не реализовали, но если долго сидеть у реки, то можно увидеть как плывет pull request.
👉 Недавно PR с этим подходом въехал в основную ветку NeMo. Что там по качеству надо смотреть, но появились скрипты и примеры для обучения online ASR. Кто будет пробовать, напишите как оно.
GitHub | код / примеры
Потоковое распознавание речи
👄 Если вы занимаетесь распознаванием речи, то знаете, что есть проект NeMo от NVIDIA, в котором реализованы плюс-минус все SOTA архитектуры (Conformer-CTC, Conformer-Transducer, etc.). Какое-то время назад я занимался ASR и смотрел это решение, — есть скрипты для обучения, качество распознавания получается хорошее. Особенно, если обучить и добавить LM (обычно это kenlm) для рескоринга гипотез акустической модели.
Так вот, можно было без проблем обучить отличную оффлайн модель. Но если попробовать сделать на ней стриминг (распознавание в realtime), то ничего хорошего не выйдет, — сильно упадет качество (мы хотим быстрый отклик, режем контекст, модели становится плохо).
Есть ряд статей о том как делать такие модели, например вот эта от Microsoft. В ней предлагается изменить не архитектуру, а процесс тренировки, — при помощи масок подавать на обучение ограниченный заданным параметром контекст. Мы такой подход не реализовали, но если долго сидеть у реки, то можно увидеть как плывет pull request.
👉 Недавно PR с этим подходом въехал в основную ветку NeMo. Что там по качеству надо смотреть, но появились скрипты и примеры для обучения online ASR. Кто будет пробовать, напишите как оно.
GitHub | код / примеры