Словарь

Что такое CTC в распознавании речи

Марк Весёлый · основатель «Потока» · ~4 мин
Что такое CTC в распознавании речи

CTC (Connectionist Temporal Classification) — метод обучения моделей распознавания речи, который связывает звуковую последовательность с текстом без точной разметки по времени: модели не нужно знать заранее, какой звук соответствует какому моменту записи. Это один из способов обучения так называемых end-to-end моделей распознавания речи.

CTC — это не то, что видит пользователь голосового ввода, а то, как модель распознавания речи учится сопоставлять звук и текст во время обучения. Разберём, что это значит и где это по-настоящему важно.

Что такое CTC (Connectionist Temporal Classification)

CTC расшифровывается как Connectionist Temporal Classification. По определению это функция потерь и способ представления выходных данных, которые используют при обучении нейросетей на задачах разметки последовательностей, где вход и выход не выровнены во времени.

Применительно к распознаванию речи это значит вот что: аудиозапись — это последовательность звуковых кадров, а текст — последовательность букв или токенов, и заранее неизвестно, какой именно звуковой кадр соответствует какой букве. CTC решает эту задачу во время обучения модели распознавания речи (ASR), а не во время самого распознавания готовой записи: модели не нужна разметка «эта буква — вот в этой миллисекунде записи».

CTC — один из способов обучения так называемых end-to-end моделей распознавания речи, то есть моделей, которые превращают звук сразу в текст одним блоком, без отдельных этапов вроде акустической и языковой модели по отдельности. Для той же задачи рядом с CTC используют и другие функции потерь, так что это не единственный вариант, а один из них.

ТерминЧто значитПример
CTC (Connectionist Temporal Classification)метод обучения ASR-моделей, который связывает звуковую последовательность с текстом без точной разметки по времениCTC — один из способов обучения end-to-end моделей распознавания
Бюджет задержки (latency budget)допустимое время отклика системы, заложенное при проектировании сервисажёсткий бюджет задержки заставляет ограничивать пропускную способность сервиса, чтобы уложиться в заданное время ответа
Порог VADуровень чувствительности детектора голосовой активности, определяющий, что считать началом и концом речислишком низкий порог VAD может принимать тихий шум за начало фразы
RTF (Real-Time Factor)отношение времени обработки к длительности самой записи — показатель скорости работы ASR-системыRTF меньше 1 означает, что система распознаёт быстрее, чем длится сама речь
Три шага диктовки в «Потоке»: зажал Ctrl + Space, сказал фразу вслух, текст появился в активном поле
Диктовка в «Потоке»: горячая клавиша, речь, готовый текст в том окне, где стоит курсор.

Пример из диктовки

Разработчик, который обучает модель распознавания речи, встречается с CTC на этапе тренировки: перед ним аудиозаписи и тексты к ним, но без разметки по времени — без пометок, в какую секунду записи произнесено каждое слово. Размечать такое вручную для каждой записи долго и дорого, поэтому именно для таких данных и применяют CTC: он позволяет обучить модель на паре «аудио — текст» напрямую, без выравнивания по времени.

Готовый результат этого обучения — уже сама модель распознавания, которая переводит новую запись в текст. К моменту, когда человек надиктовывает фразу в готовом приложении, CTC как метод обучения к этому конкретному сеансу распознавания уже отношения не имеет: модель к этому моменту обучена заранее, и метод обучения на итоговый текст напрямую не влияет.

Как это касается Потока, а где нет

CTC — способ обучения модели, а не то, что происходит во время самой диктовки: к моменту, когда пользователь надиктовывает текст, модель уже обучена. Поток — облачный сервис: распознавание идёт на серверах в России, без интернета он не работает. Какой метод обучения использован для его модели, «Поток» не публикует — для человека, который диктует текст, это и не имеет значения: важны язык распознавания и то, куда уходит запись, а не устройство обучения модели изнутри. Другие термины распознавания речи собраны в словаре.

Разбор темы в три шага: Что такое CTC (Connectionist Temporal Classification) → Пример из диктовки → Как это касается Потока
О чём страница по шагам: Что такое CTC (Connectionist Temporal Classification) → Пример из диктовки → Как это касается Потока.

Частые вопросы

CTC — это то же самое, что модель распознавания речи?

Нет. CTC — метод обучения модели, функция потерь для задач без выравнивания по времени между звуком и текстом. Сама модель распознавания речи — это уже готовый результат такого обучения, а не сам метод.

CTC — единственный способ обучить модель распознавания речи?

Нет. CTC — один из способов обучения end-to-end моделей распознавания речи; для той же задачи используют и другие подходы.

Проверить за вечер

Установите «Поток», продиктуйте то, что обычно печатаете, и сравните. 14 дней полного доступа, карта не нужна. «Поток» — облачный сервис: распознавание идёт на серверах в России, без интернета он не работает.

Скачать «Поток»

В подписку «Потока» входит и Telegram-бот @potok_now_bot: перешлите ему голосовое или длинную запись встречи — он вернёт текст. Без подписки в боте 60 минут в месяц бесплатно.

Встроенная диктовка и «Поток»

По справке Microsoft и Apple.
СредствоГде работаетРусский языкГде распознаётся речь
Голосовой ввод Windows (Win+H)Windows 10 и 11только в Windows 11облако Microsoft, без интернета не работает
Диктовка macOSmacOSестьна устройстве или на серверах Apple
ПотокWindows, macOS, Linuxосновной языкоблако, серверы в России, без интернета не работает

Первоисточники: en.wikipedia.org · support.microsoft.com

Марк Весёлый — основатель «Потока». Пишет о голосовом вводе на русском: как диктовать в рабочих программах, что мешает и чем это чинится.
© Поток · Липатников Владимир Олегович · ИНН 502915859701 · Оферта Сравнения · Вопросы и ответы · О проекте Бесплатный голосовой ввод · Голосовой ввод для нейросетей · Данные и 152-ФЗ · Голосовой ввод на Mac · Тарифы бота · 14 дней Pro за отзыв