Краткие выводы
- Алгоритм распознавания речи угадывает наиболее вероятный текст для куска аудио. Никакого скрытого сценария внутри самой записи нет, достать его оттуда нельзя.
- Обучение на огромных многоязычных базах аудио сделало модели стабильнее. Но если язык есть в списке поддерживаемых, это еще не обещает хорошего качества.
- Метки спикеров, таймкоды, пунктуация и экспорт работают как отдельные модули вокруг ядра распознавания. Каждый из них ошибается по-своему.
- Микрофон и акустика комнаты обычно влияют на результат сильнее, чем выбор модели.
- Мы держим аудио, привязанный ко времени текст и ручную правку в одном месте, потому что ошибки вылезают как раз на их стыке.
1. На вход программе идет сигнал, а не предложения
Для программы аудиозапись выглядит как длинный ряд чисел, где каждое число отражает давление воздуха в конкретный миг. Прежде чем система предложит хоть одно слово, она режет звук на короткие окна и считает, как внутри каждого окна энергия распределена по частотам. Физику не обманешь. Два голоса одновременно, комнатное эхо, гул вентилятора в ноутбуке и артефакты сжатия приходят в одном общем сигнале.
Вот почему микрофон значит больше, чем принято думать при покупке софта. Микрофон у самого рта сохраняет согласные и крошечные паузы между словами. Телефон посреди переговорного стола собирает эхо и всех говорящих сразу. Никакая языковая модель не восстановит согласную, которую съела комната.
2. Энкодер строит карту речи
Энкодер переводит короткие отрезки звука в векторы. В них записано то, что поможет угадать текст: оттенки фонем, ритм и примерная граница между голосом, шумом и тишиной. Масштабное предобучение сильно изменило этот этап. В статье 2022 года описывалось обучение на 680 000 часов многоязычного аудио со слабой разметкой. Следующие работы расширили охват сначала за сотню, а потом и за тысячу языков за счет записей, которые вообще никто заранее не расшифровывал.123
Объем данных дает насмотренность, но не уравнивает языки. Модель, повидавшая больше микрофонов, акцентов и тем, спокойнее реагирует на вашу запись. Однако список языков не скажет, как система разберет звонок отдела продаж на иврите, интервью на палестинском арабском или фразу, начатую на одном языке и законченную на другом.
3. Декодирование выбирает между правдоподобными фразами
Алгоритм выбирает не по одному слову. Он оценивает целые последовательности: сверяет их со звуком и с тем, что узнал о построении предложений. Поэтому он предпочитает связную фразу набору похожих звуков и поэтому при неразборчивом звуке может выдать гладкое предложение, которого никто не произносил.
Заметнее всего это на именах, числах и при переходе с языка на язык. Исследователи, которые занимаются речью со смешением языков, раз за разом пишут об одной и той же нехватке: записей на каждом языке по отдельности полно, а примеров, где человек меняет язык прямо посреди фразы, почти нет. В иврите и арабском на это накладываются плавающая орфография и дефицит записей живой спонтанной речи. Новые научные датасеты пополняют базу, но до конца разрыв не закрывают.456
4. Готовая расшифровка собирается на конвейере
Модуль распознавания выдает слова и время. Разделение спикеров решает совсем другую задачу, определяя, кто и когда говорил. Выравнивание привязывает каждое слово к шкале времени. Пунктуация и абзацы приводят текст в читаемый вид. Дальше идут хранение, повторные попытки при сбоях, редактирование, поиск и экспорт. За каждый шаг отвечает отдельный компонент, и любой из них может сломаться сам по себе.
Бывает и так, что разные этапы спорят друг с другом. Слова распознались верно, а спикер указан не тот. Краткая сводка выглядит аккуратно, а фамилия в самом тексте переврана. Вместо того чтобы рисовать поверх текста проценты уверенности, мы даем исходник с таймкодами, чтобы человек сам все проверил и решил.
5. Что мы проверяем, прежде чем положиться на систему
Проверяйте сервис на самых тяжелых своих записях. Возьмите видеозвонок, где трое говорят поверх друг друга, лекцию с последнего ряда, голосовое из шумного коридора или файл, где сорок раз повторяется одна фамилия. Засекайте время, которое уйдет на подготовку исправленного файла, готового к отправке. Скорость появления первой расшифровки на экране считать смысла нет.
KolWrite держит плеер, текст, спикеров и таймкоды в одном рабочем окне и сохраняет эту разметку при выгрузке в документы и субтитры. Сама неточность распознавания речи никуда не девается. Зато спорные места легко найти и быстро поправить. Эту работу по-прежнему делает человек.
Частые вопросы
Транскрибация с помощью ИИ и распознавание речи означают одно и то же?
Распознавание речи только переводит звук в слова. Сервис транскрибации добавляет вокруг него определение языка, разделение спикеров, таймкоды, пунктуацию, редактор, поиск и экспорт. В ежедневной работе больше всего раздражают сбои в этой обвязке, а не в самом ядре.
Почему расшифровка с ошибками часто читается так гладко?
Декодер подбирает вероятную цепочку слов по контексту. Если звук глухой, подходящая по смыслу фраза перевешивает то, что реально сказали, и текст при этом выглядит складно. Имена, цифры и все, что пойдет в цитаты, обязательно сверяйте со звуком.
Если сервис поддерживает много языков, качество везде будет одинаковым?
Нет. Количество часов обучения, охват диалектов и качество тестирования сильно скачут от языка к языку. Список языков показывает, что модель умеет с ними работать, но ничего не говорит о точности на вашем языке.
Таймкоды ставит та же модель, которая распознает слова?
Не всегда. Временные метки, спикеров и знаки препинания часто расставляют отдельные этапы конвейера. Из-за этого в тексте порой оказываются правильные слова, но не на своем времени. Мы проверяем каждую из этих вещей отдельно.
Источники и дополнительная литература
- 1Radford et al., Robust Speech Recognition via Large-Scale Weak Supervision
- 2Pratap et al., Scaling Speech Technology to 1,000+ Languages
- 3Zhang et al., Google USM: Scaling Automatic Speech Recognition Beyond 100 Languages
- 4Chi & Bell, Improving Code-switched ASR with Linguistic Information
- 5Turetzky et al., HebDB: a Weakly Supervised Dataset for Hebrew Speech Processing
- 6Hamed et al., Dialectal Arabic-English Code-Switching Speech Recognition

