🎙 Что Такое Speech-To-Text?
Что Такое Speech-To-Text?
Есть несколько часто используемых аббревиатур:
- Speech-to-text (STT);
- Automated Speech Recognition (ASR);
STT / ASR в общем случае это некий набор алгоритмов (в большей степени машинного обучения), которые принимают на вход аудио-файл, а на выход выдают строки текста.
Самыми популярными и адекватными входными аудио-форматами для STT являются:
- int16 WAV / RAW с частотой дискретизации 16 kHz (16 000 раз в секунду);
- OPUS в контейнере OGG;
RAW файл отличается от WAV отсутствием заголовка. По сути RAW файл - это просто последовательность целых чисел в бинарной форме. Тут можно верно подметить, что в телефонии как правило используется 8kHz, а основные частоты человеческого голоса лежат сильно ниже 8kHz. Также обратите внимание, что наше АПИ принимает на вход RAW / WAV как в 16 kHz так и в 8 kHz.
OPUS является самым продвинутым из общедоступных и распространенных унивесальных lossy кодеков для звука (на практике WAV имеет битрейт имеет в районе 256 кбит/c, когда OPUS для речи может эффективно дать в районе 24-32 кбит/c).
Поддержка таких форматов как раз и реализована у нас в АПИ.
Вспомогательные алгоритмы
Пользователи часто об этом не задумываются, но часто рука об руку с STT идут алгоритмы:
- Разделения аудио на высказывания / поиск речи на аудио;
- Поиска текста в наборе аудио;
- Классификации спикеров по полу / примерному возрасту;
- Диаризации спикеров (разделение одной звуковой дорожки когда говорят два человека);
- Генерация речи;
Все эти технологии у нас тоже реализованы. Актуальность в современном мире теряет пожалуй только диаризация, т.к. запись в стерео вместо моно стоит ничтожно мало.
Практические критерии полезности системы STT
С практической стороны (как пользователя) вас скорее будут интересовать такие вещи в таком порядке:
- В первую очередь качество;
- Скорость работы системы, гибкость опций при деплое, например можно ли задеплоить такую систему on-premise в ваш ДЦ;
- Если у вас большой объем - масштабируемость системы по железу и эффективность работы;
- Денормализация выдаваемых строк, т.е. например превращаются ли числа в цифры, что происходит с аббревиатурами и устойчивыми выражениями в языке;
- Наличие алгоритмов простановки знаков препинания и заглавных букв;
Применимость системы STT
Если вы начинаете думать про пользу, которую вам может принести STT, почитайте статьи у нас на сайте про реальные достижимые метрики качества и учтите ряд моментов:
- Люди распознают речь все равно сильно лучше алгоритмов в общем случае. Как справляются люди в вашем случае?
- Есть ли у вас достаточный объем (тысячи, десятки тысяч часов в месяц) или какие-то нетривиальные для людей задачи, чтобы оправдать внедрение системы STT и изменение бизнес-процессов под нее?
- Допустим речь распознается со 95% точностью. Вы знаете как на основе этого принимать решения? Готовы ли менять бизнес-процессы если мы поможем вам с первым вопросом?