Как выполнить распознавание речи по настраиваемым ключевым словам?
Я хотел бы реализовать функцию мобильного приложения, которая позволяет пользователю " регистрировать " до двадцати " произвольных ключевых слов ", а затем, принимая поток аудиозахвата устройства, иметь возможность распознавать любые такие ключевые слова, когда они произносятся аналогичным образом указанным пользователем с точность и низкая задержка.
" Регистрация " предполагает, что пользователь произнесет ключевое слово несколько раз (в идеале менее десяти раз), чтобы приложение могло разработать какую-то модель того, что такое ключевое слово, а затем использовать эту модель для выполнения задачи распознавания звука в реальном времени.
" Произвольное ключевое слово " есть что - то пользователь может произнести с продолжительностью от 0,4 до 2,0 секунд. Это не обязательно должно быть настоящее слово на каком-либо реальном языке. Регистрация нового ключевого слова не должна отрицательно влиять на способность приложения распознавать любые ранее зарегистрированные ключевые слова, за исключением того, что ключевые слова имеют похожее звучание.
Это очень специфический и ограниченный вариант использования распознавания речи, поэтому в литературе было сложно найти четкое решение, но концептуально он похож на определение ключевых слов в зависимости от говорящего (KWS). Я не могу сказать, подходит ли эта задача больше для чего-то детерминированного, например, динамического искажения времени, или для чего-то вероятностного, например, скрытых марковских моделей. Мне не нужно комплексное решение, просто уверенное предложение правильных инструментов для работы. Я предполагаю, что ограниченное количество предоставленных пользователем справочных аудио для каждого ключевого слова исключает решения, требующие больших объемов обучающих данных.