Сколько ошибается русское распознавание речи
2398 записей, 3,1 часа аудио, три открытых набора. Замер от 2026-08-25 12:44: методика, правила нормализации и скрипты открыты, цифры можно перепроверить.
Ни один крупный поставщик распознавания на русском не публикует ни точность по срезам речи, ни скорость обработки. Это единственная причина, по которой такая страница вообще нужна.
Скрипты замера, нормализатор и контрольные суммы · для тех, кто повторяет прогон целиком; движок подключается заменой адреса
Как сослаться: «Открытый замер точности распознавания русской речи, Речетекст, 2026-08-25 12:44. rechetext.ru/benchmark». Машиночитаемый агрегат — results-2026-08-25.json.
Подготовленная начитка
Человек читает подготовленный текст в тишине: аудиокниги, начитка, диктофонная запись без помех. Верхняя граница возможного — на живых записях так не бывает.
Russian LibriSpeech · CC BY 4.0
| Модель | Ошибок в словах | Ошибок в буквах | Знаки на месте 0–1, больше — лучше | Быстрее записи | Час записи за | Записей учтено |
|---|---|---|---|---|---|---|
| Модель A быстрее на любом материале | 6,71 % | 1,50 % | 0,75 | ×8,4 | около 7 мин | 400 |
| Модель Б сейчас по умолчанию на задачах | 6,91 % | 1,73 % | 0,73 | ×5,6 | около 11 мин | 400 |
«Ошибок в словах» и «ошибок в буквах» — доля того, что пришлось бы исправить, меньше лучше. «Знаки на месте» — от нуля до единицы, больше лучше; прочерк значит, что в эталонах этого набора знаков препинания нет и мерить их не на чем. «Записей учтено» — сколько файлов набора дошли до метрики: если часть прогон не завершил, цифры в строке посчитаны по учтённым, и это ровно тот случай, когда показатель выглядит лучше, чем был бы на полном наборе.
Живая спонтанная речь
Люди говорят как говорят: обрывы, оговорки, бытовой шум, разное расстояние до микрофона. Это то, с чем сервис имеет дело в работе.
Golos test · SberDevices
| Модель | Ошибок в словах | Ошибок в буквах | Знаки на месте 0–1, больше — лучше | Быстрее записи | Час записи за | Записей учтено |
|---|---|---|---|---|---|---|
| Модель A быстрее на любом материале | 8,76 % | 3,78 % | — | ×5,5 | около 11 мин | 399 |
| Модель Б сейчас по умолчанию на задачах | 7,62 % | 3,66 % | — | ×5,0 | около 12 мин | 399 |
«Ошибок в словах» и «ошибок в буквах» — доля того, что пришлось бы исправить, меньше лучше. «Знаки на месте» — от нуля до единицы, больше лучше; прочерк значит, что в эталонах этого набора знаков препинания нет и мерить их не на чем. «Записей учтено» — сколько файлов набора дошли до метрики: если часть прогон не завершил, цифры в строке посчитаны по учтённым, и это ровно тот случай, когда показатель выглядит лучше, чем был бы на полном наборе.
SOVA RuDevices · CC BY 4.0
| Модель | Ошибок в словах | Ошибок в буквах | Знаки на месте 0–1, больше — лучше | Быстрее записи | Час записи за | Записей учтено |
|---|---|---|---|---|---|---|
| Модель A быстрее на любом материале | 12,81 % | 4,89 % | — | ×6,6 | около 9 мин | 400 |
| Модель Б сейчас по умолчанию на задачах | 12,58 % | 5,30 % | — | ×4,9 | около 12 мин | 353 из 400, 47 не прошло |
«Ошибок в словах» и «ошибок в буквах» — доля того, что пришлось бы исправить, меньше лучше. «Знаки на месте» — от нуля до единицы, больше лучше; прочерк значит, что в эталонах этого набора знаков препинания нет и мерить их не на чем. «Записей учтено» — сколько файлов набора дошли до метрики: если часть прогон не завершил, цифры в строке посчитаны по учтённым, и это ровно тот случай, когда показатель выглядит лучше, чем был бы на полном наборе.
Что из этого следует
- Разброс по материалу больше, чем разброс между моделями. Между двумя нашими моделями разница не превышает полутора процентных пунктов, а между подготовленной начиткой и живой речью — в два раза. Значит выбирать сервис по одной цифре бессмысленно: спрашивать надо, на чём она получена.
- Быстрее — не значит точнее. Модель A обгоняет по скорости (час записи за 7–11 минут против 11–12) и чуть впереди на подготовленной начитке: 6,71 % против 6,91 %. Но на живой речи порядок обратный и разрыв заметнее — 7,62 % у модели Б против 8,76 %, больше процентного пункта. Поэтому по умолчанию работает модель Б: живая речь и есть тот материал, ради которого сервис нужен. С 18.09 все публичные цифры сайта сняты с неё же — раньше наружу шли цифры модели A, которая на задачах не включена.
- Ошибок в буквах в два-четыре раза меньше, чем в словах. Это значит, что промахи мелкие: чаще всего задето окончание или одна буква, а не смысл. Такой текст читается без сверки с записью, и правки в нём косметические.
Как это мерилось
- Один нормализатор на эталон и на все гипотезы. Нижний регистр, ё→е, снятие пунктуации, дефис в пробел, числа словами. Асимметрия здесь искажает результат сильнее любой другой ошибки, поэтому правила лежат в репозитории отдельным файлом с семьюдесятью одной проверкой.
- Записи с цифрами в эталоне исключены из основного счёта: «двадцать» и «20» — одно и то же слово, и разнобой записи чисел давал бы ошибки там, где их нет.
- Счётчик — библиотека jiwer, а не самописный. К самописному были бы вопросы, и справедливые.
- Скорость снята на боевой машине сервиса, 12 ядер, без видеокарты. Машина общая: рядом работают посторонние службы, и во время прогона её загрузка колебалась. Значит это скорость в реальных условиях работающего сервера, а не потолок железа.
- Набор из коротких записей — в среднем меньше пяти секунд. Постоянные издержки на запуск не размазываются по длительности, поэтому на длинной записи скорость выше: отдельный замер на записи 25 минут дал ×13 вместо табличных ×4,9–8,4.
Чего этот замер не показывает
- Телефонию 8 кГц. Открытого русского набора с пригодной лицензией не существует. Мерить на закрытом и публиковать цифру, которую нельзя перепроверить, было бы хуже, чем не публиковать.
- Точность разделения по голосам. Эталонной разметки по говорящим для русского в открытом доступе тоже нет. Это следующая работа: разметить свой набор и опубликовать вместе с методикой.
- Сравнение с другими сервисами. Требует прогнать чужие системы по этой же методике, а часть провайдеров запрещает такое использование в соглашении.
Вопросы
Почему две цифры, а не одна?
Потому что одна была бы обманом. На подготовленной начитке ошибок 6,91 %, на живой спонтанной речи — до 12,58 %. Это разница в два раза, и зависит она от материала сильнее, чем от системы. Любой сервис, который называет одно число без описания записей, на которых оно получено, сообщает не о качестве, а о выбранном наборе.
Что такое WER и почему 7 % — это хорошо?
WER — доля слов, которые пришлось бы исправить: замены, пропуски и лишние слова, делённые на число слов в эталоне. 7 % означает, что в среднем на страницу текста набирается около двадцати правок, и почти все они мелкие. Читаемость при этом сохраняется полностью: смысл понятен без сверки с записью.
Почему пунктуация меряется отдельно?
Иначе наши модели выглядели бы хуже, чем есть. Они сами расставляют знаки, а эталоны в открытых наборах в основном без пунктуации — и каждая правильно поставленная запятая шла бы в ошибки. Поэтому WER считается на текстах без знаков и без цифр, а пунктуация оценивается своей метрикой там, где эталон её содержит.
Замер сделан на видеокарте?
Нет, всё на обычном процессоре — видеокарты в сервисе нет вообще. Это осознанный выбор: на процессоре час записи разбирается за минуты, а стоимость обработки в разы ниже. На видеокарте те же модели работали бы кратно быстрее.
Можно ли повторить замер?
Смотря кем. Чтобы просто убедиться, что сервис вас устраивает, ничего повторять не нужно: загрузите свою запись на главной, бесплатно и без регистрации, и сверьте текст с записью — это надёжнее любых чужих цифр. Полный прогон по трём наборам повторяется целиком: наборы открытые, а скрипты, правила нормализации, тесты нормализатора и контрольные суммы файлов лежат в разделе «Материалы замера» ниже. Один нормализатор применяется и к эталону, и к каждой гипотезе — асимметрия здесь дороже любой другой ошибки методики. Движок подключается заменой адреса, привязки к нашей реализации в замере нет.
Почему нет сравнения с другими сервисами?
Потому что честное сравнение требует прогнать чужие системы по этой же методике, а часть облачных провайдеров запрещает такое использование в своих соглашениях. Сравнение появится, когда будет юридически чистым. До тех пор здесь только свои цифры — зато проверяемые.
Где распознавание речи точнее всего на русском?
Честный ответ: снаружи это неизвестно, потому что сравнивать нечего с чем. Ни один крупный поставщик не публикует точность по срезам речи — ни на подготовленной начитке, ни на живой спонтанной. Публикуются либо одно число без описания записей, либо ничего. Поэтому единственное, что можно сделать сегодня, — открыть свои цифры вместе с методикой: 6,91 % ошибок в словах на подготовленной начитке, 7,62 % на спонтанной речи Golos и 12,58 % на самом трудном наборе SOVA RuDevices. Всего 2398 записей, правила нормализации и скрипты открыты. Появятся такие же открытые замеры у других — сравнение станет возможным.
Проверить на своей записи: загрузите файл — первые три минуты без регистрации. Термины: что такое WER, что такое RTF, что такое диаризация, весь раздел. Цены — на отдельной странице. Редакциям, которым нужны эти цифры под материал, — пресс-кит.
Отдельно разобрано, чем эти цифры отличаются от Whisper на русском — включая замеры, где Whisper оказывается впереди.
Наборы данных: Russian LibriSpeech (CC BY 4.0), Golos (SberDevices), SOVA RuDevices (CC BY 4.0). Метрики считает jiwer. Пофайловые эталоны и гипотезы по наборам с условием ShareAlike не публикуются — только агрегаты и контрольные суммы.
Материалы замера
Всё, чем сделаны цифры выше — для тех, кто хочет проверить методику построчно или прогнать наборы у себя. Код под лицензией MIT, привязки к нашей реализации нет: движок распознавания меняется адресом в настройках прогона. Чтобы оценить сервис на своих записях, ничего из этого не нужно — об этом ниже.
- normalize.py — правила приведения текста к сравнимому виду; применяются и к эталону, и к гипотезе одним вызовом
- test_normalize.py — 71 проверка нормализатора, без сети и без моделей
- sources.py — реестр наборов: адреса, лицензии, отвергнутые наборы и причина
- fetch.py — скачивание тестовых частей и подсчёт sha256
- run.py — прогон записей через движок распознавания
- score.py — подсчёт WER, CER, F1 по знакам и RTF
- requirements.txt — зависимости; метрики считает jiwer, не самописный счётчик
- results/2026-08-25.json — агрегат результатов, машиночитаемый
- results/2026-08-25.md — тот же агрегат таблицей
- results/checksums-ruls.json — контрольные суммы: подготовленная начитка
- results/checksums-golos_test.json — контрольные суммы: спонтанная речь
- results/checksums-sova_rudevices.json — контрольные суммы: бытовые устройства
- README.md — методика текстом
Как проверить это на своей записи
Ставить ничего не нужно. Загрузите свою запись на главной — бесплатно и без регистрации — и сверьте расшифровку с тем, что слышно. Так проверяется то, что вам и важно: как сервис работает на ваших записях, с вашей акустикой и вашими терминами. Цифры выше — по трём открытым наборам; на своей записи результат будет лучше или хуже в зависимости от того, на какой из срезов она похожа: подготовленная начитка, живой разговор или диктофон в шуме.
А если расшифровка уже есть и рядом есть верный текст — посчитайте долю ошибок сами: калькулятор WER считает теми же правилами, что и цифры на этой странице, прямо в браузере и без отправки текста куда-либо.
Проверьте на своей записи
Цифры выше измерены на чужих наборах — ваша запись важнее: разберём первые три минуты бесплатно.
Загружайте запись любой длины — бесплатно расшифруем первые 3 минуты. Без регистрации.
Страница обновлена 12 октября 2026