Ошибки транскрибации редко бросаются в глаза: текст выглядит гладким, расхождение находится только поиском по нужному слову. В расшифровке сорокаминутного совещания ищут фамилию подрядчика и не находят, хотя произнесли её дважды: оба раза модель услышала похожее слово.
Качество распознавания меряют через WER: замены, пропуски и вставки делят на число слов эталона, а тексты перед сравнением выравнивают по редакционному расстоянию Левенштейна, метрике 1965 года. В классической схеме подсчёта NIST регистр и пунктуацию снимают, запятые в метрику не попадают. На нашем бенчмарке из семи датасетов WER 7,10%, то есть WAcc 92,9%. В учётную страницу на 1800 знаков влезает 250–300 слов, значит около двадцати расхождений на страницу, причём метрика не различает потерянный союз и перевранную сумму договора: оба весят по единице.
Почему нейросеть ошибается в расшифровке
Звук приводят к 16 кГц, рабочей частоте современных моделей, режут на кадры по 25 миллисекунд с шагом 10 (сто кадров в секунду) и переводят в спектральные признаки. Акустическая часть считает вероятности звуков, декодер держит несколько гипотез и сверяет их с языковой статистикой, а модели семейства Whisper делают это окнами по 30 секунд. На чистом звуке решает акустика, на смазанном вес переходит к языковой модели, и вместо неразборчивого фрагмента встаёт привычное для языка слово. Вот почему нейросеть ошибается в расшифровке предсказуемо, а не случайно.
Ошибки липнут к редкому: частоты слов лежат по закону Ципфа, горстка служебных слов забирает большую долю корпуса, а фамилии и термины уходят в длинный хвост. Отдельного места в словаре под редкую фамилию нет, она разбирается на подслова по звучанию. Движка, который гарантированно не путает имена, нет ни у нас, ни у конкурентов, зато на длинных паузах декодер умеет дописывать то, чего в звуке не было.
Типичные ошибки транскрибации: омонимы, имена и числа
«Компания» и «кампания» звучат одинаково, а в протоколе эта разница обходится дорого. Оглушение звонких на конце слова сводит «код» и «кот» к одной звуковой цепочке, редукция безударных сближает «о» и «а»: в беглой речи «сома» и «сама» неотличимы.
Числа проверяются легче, арифметикой: у форматных номеров фиксированная длина, ИНН 10 знаков у организации и 12 у человека, ОГРН 13, расчётный счёт 20, БИК 9, почти в каждом есть контрольная цифра, а номер карты ловится алгоритмом Луна. С датами выручает единый формат, хоть ISO 8601 вида 2026-03-14. Латиница ломается иначе: «выкатим в Jira» приходит как «выкатим в жиру», а «ЭДО» разваливается на «э дэ о». Особняком пропавшее «не»: метрика штрафует его как одно слово из ста, а фраза меняет знак на противоположный.
| Тип ошибки | Как выглядит | Как найти | Чем лечится |
|---|---|---|---|
| Омофоны, оглушение | «кампания» вместо «компания» | поиск по обеим формам | вычитка по смыслу |
| Имена, латиница | «жира» вместо Jira | список написаний | автозамена по списку |
| Числа и номера | счёт из 19 цифр вместо 20 | длина, контрольная цифра | сверка с документом |
| Аббревиатуры | «э дэ о» вместо ЭДО | поиск букв с пробелами | единый формат замен |
| Пропавшее «не» | смысл реплики перевёрнут | реплики с решениями | только глазами |
Акценты, диалекты и речь неносителей
Модель училась на распределении произношений, и чем дальше говорящий от середины, тем чаще промах: диалектное фрикативное «г», сильная редукция, слитная скорая манера. Речь неносителя приносит свою систему замен, без противопоставления по твёрдости «мол» и «моль» перестают различаться. Сюда же эффект Ломбара (Этьен Ломбар, 1911): в шуме человек непроизвольно повышает голос и меняет артикуляцию, так что шумная переговорка портит и фон, и саму речь.
Отличить акцент от плохой записи помогает распределение ошибок. Если брак держится одного участника и пропадает у соседа за тем же микрофоном, дело в произношении; если брак ровно у всех, чинить надо канал записи. Расшифровка идёт на языке речи, перевода на другой язык у нас нет, а хуже всего распознаётся переключение языков внутри фразы: система берёт один язык на сегмент, и английский термин приезжает русскими буквами.
Шум, эхо и техника записи
Классическая телефония передаёт полосу примерно 300–3400 Гц при дискретизации 8 кГц, потолок по теореме отсчётов тут 4 кГц, а G.711 укладывает поток в 64 кбит/с. Основная энергия глухих щелевых «с», «ц», «ф» лежит выше 4 кГц и до модели не доходит: на звонках первыми плывут фамилии и окончания.
Поднять качество распознавания настройками движка тут нельзя, потерянного спектра в файле нет. На телефонной дорожке 8 кГц мы даём около 90%, так что вычитку имён на звонках закладывайте сразу. Выручает широкополосный кодек: G.722 работает на 16 кГц, Opus до 48 кГц. Дорожки из АТС разобраны на странице транскрибация звонков.
К ровному фону от кондиционера модель устойчива, он предсказуем. Реверберация бьёт сильнее: отражения размазывают согласные во времени. Меряют её временем затухания RT60 (формула Сэбина, конец XIX века), а стандарт ANSI/ASA S12.60 для учебных помещений держит предел 0,6 секунды при фоне не выше 35 дБА; в переговорке со стеклом выходит вдвое больше. Удвоение расстояния до микрофона отнимает около 6 дБ прямого звука, поэтому телефон посреди стола проигрывает телефону в 30 см от говорящего.
Если пишете сами, отдавайте исходный файл: mp3 доверяет запись перцептивному кодеку, подстроенному под слух, а не под модель, и тот срезает верх спектра. Час моно в 16 битах и 16 кГц занимает около 115 МБ. Принимаем файл или запись с микрофона, приёма по ссылке нет: видео из соцсети сначала скачивают, про диктофон есть страница диктофон в текст.
Скороговорка, перебивания и деление на спикеров
Спонтанная речь идёт примерно пять слогов в секунду, а на подъёме темпа слоги слипаются. Первыми страдают перечисления: список из шести пунктов, выданный за десять секунд, может приехать без одного пункта целиком. В радиообмене от этого страхуются регламентом: цифры читают по одной, буквы по алфавиту ИКАО, приём подтверждают повтором.
Перебивания ломают разметку. Качество диаризации меряют через DER: пропущенная речь, ложная речь, путаница спикеров, причём в оценках NIST границы сегментов традиционно прощают в пределах 250 миллисекунд. Запас не случайный: в работе Стиверс и соавторов (2009, десять языков) медианный зазор между репликами вышел около 200 миллисекунд, а при перебивании он уходит в минус.
Многие АТС пишут разговор в два канала, и тогда границы берутся из каналов, а не из догадки. Вокруг одного телефона дорожка выходит моно, разделить наложение нечем. Детали на странице транскрибация встреч и совещаний.
Как минимизировать ошибки распознавания речи
Ошибки распознавания речи дешевле гасить до нажатия на запись: из плохого сигнала ни одна модель не достанет того, чего в нём нет.
| Причина брака | От чего зависит | Что сделать до записи | Что остаётся после |
|---|---|---|---|
| Полоса 8 кГц | канал связи | писать до сжатия | вычитка имён и чисел |
| Реверберация, эхо | помещение | микрофон в 30–50 см | фрагмент часто потерян |
| Наложение реплик | схема записи | раздельные каналы | слушать по тайм-коду |
| Редкие имена | лексика модели | назвать по буквам | автозамена по списку |
| Омонимы | сам язык | не предотвращается | вычитка по смыслу |
| Клиппинг, обрыв | техника записи | запас 6 дБ, один файл | не чинится вовсе |
- Пусть участники представятся в первые секунды: так номер спикера сопоставляется с именем.
- Важные числа и фамилии проговаривайте дважды.
- Длинную встречу пишите одним файлом, разрез посередине фразы съедает слова на стыке.
Заведите список написаний: фамилии команды, названия продуктов, сокращения, имена клиентов. Тридцати строк обычно хватает на все встречи одной команды, а автозамена по такому списку заодно правит регистр, превращая «жиру» и «jira» в Jira. Пользовательского словаря на нашей стороне нет, замены живут в вашем редакторе, там же пригодится ffmpeg -i input.m4a -ac 1 -ar 16000 output.wav, если файл надо привести к моно и 16 кГц.
Что вычитывать за пять минут
Сплошная вычитка часовой расшифровки почти никогда не доводится до конца. Час разговора это порядка семи тысяч слов, около двадцати пяти учётных страниц: на средней скорости чтения 200–250 слов в минуту одно прочтение займёт полчаса, а с переслушиванием сомнительных мест втрое больше. Читайте выборочно и в фиксированном порядке.
- Все числа: суммы, сроки, номера версий и договоров, форматные номера проверяются по длине.
- Имена, фамилии, названия компаний и продуктов, особенно прозвучавшие один раз.
- Отрицания. «Согласовали» и «не согласовали» отличаются одним словом.
- Аббревиатуры и термины из вашего списка написаний.
- Реплики на стыке перебиваний, где спикер мог смениться.
Пяти минут на часовую запись хватает, если открыть текст с тайм-кодами и слушать только сомнительное. Метка в SRT идёт через запятую (00:01:23,400), в WebVTT через точку и с заголовком WEBVTT в первой строке.
Вычиткой чинится не всё: фразу, которую заглушил чайник, не восстановит ни одна модель, остаётся пометка «неразборчиво» с тайм-кодом и вопрос участнику встречи. Чтобы понять, чего ждать на ваших записях, возьмите худший файл, прогоните его через @VoicePalatineBot (бесплатно до 100 транскрибаций в день) и посчитайте правки на учётную страницу. Эта цифра скажет о качестве распознавания в ваших условиях больше любого бенчмарка.