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 означает, что система распознаёт быстрее, чем длится сама речь |
Пример из диктовки
Разработчик, который обучает модель распознавания речи, встречается с CTC на этапе тренировки: перед ним аудиозаписи и тексты к ним, но без разметки по времени — без пометок, в какую секунду записи произнесено каждое слово. Размечать такое вручную для каждой записи долго и дорого, поэтому именно для таких данных и применяют CTC: он позволяет обучить модель на паре «аудио — текст» напрямую, без выравнивания по времени.
Готовый результат этого обучения — уже сама модель распознавания, которая переводит новую запись в текст. К моменту, когда человек надиктовывает фразу в готовом приложении, CTC как метод обучения к этому конкретному сеансу распознавания уже отношения не имеет: модель к этому моменту обучена заранее, и метод обучения на итоговый текст напрямую не влияет.
Как это касается Потока, а где нет
CTC — способ обучения модели, а не то, что происходит во время самой диктовки: к моменту, когда пользователь надиктовывает текст, модель уже обучена. Поток — облачный сервис: распознавание идёт на серверах в России, без интернета он не работает. Какой метод обучения использован для его модели, «Поток» не публикует — для человека, который диктует текст, это и не имеет значения: важны язык распознавания и то, куда уходит запись, а не устройство обучения модели изнутри. Другие термины распознавания речи собраны в словаре.
Частые вопросы
Нет. CTC — метод обучения модели, функция потерь для задач без выравнивания по времени между звуком и текстом. Сама модель распознавания речи — это уже готовый результат такого обучения, а не сам метод.
Нет. CTC — один из способов обучения end-to-end моделей распознавания речи; для той же задачи используют и другие подходы.
Проверить за вечер
Установите «Поток», продиктуйте то, что обычно печатаете, и сравните. 14 дней полного доступа, карта не нужна. «Поток» — облачный сервис: распознавание идёт на серверах в России, без интернета он не работает.
Скачать «Поток»В подписку «Потока» входит и Telegram-бот @potok_now_bot: перешлите ему голосовое или длинную запись встречи — он вернёт текст. Без подписки в боте 60 минут в месяц бесплатно.
Встроенная диктовка и «Поток»
| Средство | Где работает | Русский язык | Где распознаётся речь |
|---|---|---|---|
| Голосовой ввод Windows (Win+H) | Windows 10 и 11 | только в Windows 11 | облако Microsoft, без интернета не работает |
| Диктовка macOS | macOS | есть | на устройстве или на серверах Apple |
| Поток | Windows, macOS, Linux | основной язык | облако, серверы в России, без интернета не работает |
Первоисточники: en.wikipedia.org · support.microsoft.com