Recognition of 38 speech commands in russian. Based on Yandex Cup 2021 ML Challenge: ASR
Программа умеет распознавать 38 ключевых слов на русском языке , произнесенных в микрофон из списка:
дальше, вперед, назад, вверх, вниз, выше, ниже, домой, громче, тише, лайк, дизлайк, следующий, предыдущий, сначала, перемотай, выключи, стоп, хватит, замолчи, заткнись, останови, пауза, включи, смотреть, продолжи, играй, запусти, ноль, один, два, три, четыре, пять, шесть, семь, восемь, девять.
Используемая модель была подготовлена для соревнования Yandex Cup 2021 ML Challenge: ASR. Получило 3 место из 54 участников. с показателем точности 92.01. Алгоритм не использовал внешние данные для обучения и веса предобученных нейроных сеток.
Скачать модель по ссылке https://disk.yandex.ru/d/L053qF-0OPKlog
Пример запуска программы:
python speech_38_ru_commands.py --porog 1.2
где , число 1.2 - это порог уверенности в команде. Можно задавать в диапазоне 0.0 - 7.9999
К сожалению, организаторы соревнования, не предусмотрели отдельный класс - 'все другие звуки'. Нейронная сетка, в любом аудио находит одно из 38 слов. Поэтому , чтоб уменьшить количество ложных срабатываний, надо увеличивать значение - porog .
В папке Smal_model, решение на базе ResNet18 , для работы на конечном устройстве, с ограниченными вычислительными ресурсами. Размер она имеет в 2.5 раза меньше.