Ошибки транскрибации: почему ИИ путает слова

Перетащите аудио или видео или нажмите, чтобы выбратьMP3 · WAV · M4A · OGG · MP4 · до 30 минут
Пример результата – так выглядит готовая расшифровка
00:47РусскийСпикеры: 2
00:00Спикер 1

Давай коротко по срокам. Мы успеваем к пятнице или переносим на следующую неделю?

00:07Спикер 2

К пятнице успеваем, если макеты придут завтра. Если позже, то реалистичнее вторник, и это я ещё не закладываю правки после ревью.

00:18Спикер 1

Понял. Тогда я тереблю дизайн сегодня, а ты пока начинаешь с той части, которая от макетов не зависит.

00:25Спикер 2

Договорились. И ещё момент: на прошлой неделе мы забыли записать решение по интеграции, потом полчаса вспоминали. Давай в этот раз зафиксируем сразу.

AI-саммари

Фрагмент рабочего созвона: обсуждают сроки по задаче и договариваются, кто отвечает за следующий шаг.

Ошибки транскрибации в тексте не видно. Я их ищу поиском. Так выглядела моя первая рабочая задача. Расшифровка сорокаминутного совещания, ищу фамилию подрядчика и не нахожу. Она там дважды, оба раза неправильно.

Дальше вопрос про цифру. Качество распознавания меряют через WER, долю расхождений на сто слов. У нас 7,10% (WAcc 92,9%) на бенчмарке из семи датасетов, у ElevenLabs 6,88%, у AssemblyAI 7,03%, у Whisper-large-v3 7,44%. Разброс меньше процента. Сколько это в правках? Семь процентов на страницу в 300 слов дают около двадцати расхождений.

Метрика считает все слова одинаковыми. Я нет.

Почему нейросеть ошибается в расшифровке

Я такие модели обучал и тестировал, скажу буднично. Слова появляются в самом конце. Звук режется на кадры, по кадрам считаются вероятности звуков, декодирование собирает правдоподобную цепочку с оглядкой на язык. Пока акустика чистая, командует первый механизм. Смазался звук, вступает второй и ставит привычное. Вот почему нейросеть ошибается в расшифровке предсказуемо.

Ошибки липнут к редкому. К фамилиям, к названиям компаний, к числам и аббревиатурам, то есть к словам, ради которых вы расшифровку открыли. Рядовая речь распознаётся лучше средней цифры, ваш глоссарий хуже.

Мне заказывали движок, который «не путает фамилии». Три месяца работы, и такого движка нет ни у нас, ни у соседей.

Типичные ошибки транскрибации: омонимы, имена и числа

«Компания» и «кампания». Разница на слух нулевая, разница в смысле годовая. Одна такая буква стоила мне вечера над сорока страницами. Русский щедр на омонимы, плюс оглушение, из-за которого «код» и «кот» становятся соседями.

Модель берёт частотный вариант и чаще угадывает. Чаще. В двухминутной диктовке вы поймаете промах глазом. А в часовой встрече?

Дороже всего обходятся имена собственные и числа. Следом латиница, «выкатим в Jira» приезжает как «выкатим в жиру». Числа и даты приходят то словами, то цифрами, аббревиатуры разваливаются на буквы. Особняком пропавшее «не». Метрика штрафует его как одно слово из ста, фраза меняет знак. Вот где типичные ошибки транскрибации ловятся чаще всего.

Тип ошибкиКак выглядитЧем лечится
Омонимы, созвучия«кампания» вместо «компания»вычитка по смыслу
Имена, латиница«жира» вместо Jiraсписок написаний
Числа, даты, номера«двадцать пятого» без месяцасверка с документом
Аббревиатуры«ЭДО» как «э дэ о»единый формат
Служебные словапропавшее «не»чтение реплики целиком
Границы репликответ не тому спикерураздельные дорожки

Акценты, диалекты и речь неносителей

Модель училась на распределении произношений. Чем дальше говорящий от середины, тем чаще промах. Диалектные черты вроде южного «г», сильная редукция безударных. Речь неносителя добавляет свою систему замен.

Полгода я разбирал жалобы «ваша модель ненавидит нашего Мурата». А как отличить акцент от плохой записи? Ошибки держатся одного участника и пропадают у соседа с тем же микрофоном, значит чинить надо не микрофон.

Языков у нас около сотни, включая русский и языки СНГ. Расшифровка идёт на языке речи. Половина планёрки прошла на казахском, там вы и получите казахский текст. Перевода на другой язык мы не делаем. Хуже всего идёт переключение языков внутри фразы, эти места проверяйте руками.

Шум, эхо и техника записи

Звук решает больше, чем движок. Телефонный канал 8 кГц сжат кодеком, часть спектра до модели не доходит. Поэтому на телефонной дорожке мы даём около 90%. На чистой записи 92,9%. Хотите поднять качество распознавания на звонках? Начинайте с записи. Для дорожек из АТС есть страница про транскрибация звонков, вычитку имён закладывайте обязательно.

А если запись шумная? К ровному фону от кондиционера модель устойчива. Но реверберация от голых стен размазывает согласные и бьёт сильнее гудения. Переговорку со стеклянными стенами я узнавал по первым трём секундам записи. Телефон экраном вверх собирает эхо со всей комнаты. Пишете на диктофон? Сохраняйте исходник. Мы принимаем mp3, wav, m4a, ogg и aac, лишняя перекодировка добавляет артефактов. Отдельно про диктофон в текст.

Скороговорка, перебивания и деление на спикеров

На скорости слоги слипаются, модели достаётся меньше акустических опор. Список из шести пунктов за десять секунд теряет пункт целиком. Я такой пункт потерял и теперь диктую важное число дважды. «Сто двадцать тысяч, повторяю, сто двадцать тысяч». Звучит по-военному, зато работает.

Перебивания ломают разметку. Диаризация делит запись на спикеров, на спокойном диалоге мы справляемся. А когда двое говорят одновременно? Границы реплик плывут. Все сидят вокруг одного телефона, значит у вас моно-дорожка, а раздельные есть не везде. Тайм-коды выручают, вы возвращаетесь к нужной секунде и не отматываете час. Детали на странице транскрибация встреч и совещаний.

Как минимизировать ошибки распознавания речи

Ошибки распознавания речи дешевле гасить до нажатия на запись. Дальше вы чините последствия, сигнал не изменится. Готовы потратить две минуты до встречи?

  • Микрофон ближе к говорящему, чем к центру стола.
  • Просите участников представиться, и спикеры получат имена вместо номеров.
  • Важные числа и фамилии проговаривайте дважды, второй раз медленнее.
  • Длинную встречу пишите одним файлом, разрез посередине фразы съедает слова.

Заведите список написаний, он повторяется от файла к файлу. Фамилии команды, названия продуктов, сокращения, имена клиентов. Свой глоссарий я держу в табличке на 50 строк, и это неудобно (на нашей стороне его нет). Автозамена занимает минуту. Формат берите под задачу, txt для чтения и verbose_json или srt с тайм-кодами.

Повторный прогон дешёвый.

Мы обрабатываем файл за 1–2% длительности, тридцать минут готовы за 25 секунд. Сорок минут по тарифу от 0,29 ₽/мин обойдутся вам примерно в 12 ₽. Волнуетесь за чувствительные записи? Данные лежат в четырёх ЦОД Tier III в России, в контуре 152-ФЗ, передача идёт по TLS, на записях клиентов мы модели не обучаем.

Что вычитывать за пять минут

Сплошную вычитку часовой расшифровки я бросал на двадцатой минуте раз пять. Она съедает больше времени, чем даёт. Что смотреть первым?

  • Все числа. Суммы, сроки, номера версий и договоров.
  • Имена, фамилии, названия компаний и продуктов.
  • Отрицания. «Согласовали» и «не согласовали» отличаются одним словом.
  • Аббревиатуры и термины из вашего списка.
  • Реплики на стыке перебиваний, где спикер мог смениться.

Пять минут на часовую запись хватит, если открыть текст с тайм-кодами и переслушивать сомнительное. Всё ли чинится вычиткой? Нет. Неразборчивое место останется неразборчивым и для человека. Фразу, которую заглушил чайник, не восстановит никакая модель.

Хотите понять, чего ждать на ваших записях? Возьмите худший файл, шумную переговорку или плохой звонок. Отправьте его в наш Telegram-бот @VoicePalatineBot, до 100 транскрибаций в день там бесплатно, посчитайте правки на страницу. Эта цифра скажет о качестве распознавания в ваших условиях больше бенчмарка.