Коротко
Команда ASR ML компании MWS AI выпустила библиотеку RESON для детального анализа ошибок распознавания речи и бенчмарк русскоязычной телефонной речи RESON OSD. Инструменты дополняют WER разбором ошибок по записям и словам, сравнением моделей с проверкой статистической значимости и специализированными данными для шума, имён и чисел.
Контекст
Автор Александр Шевченко — техлид команды ASR ML направления ASR/TTS-платформы Audiogram в MWS AI. Команда разрабатывает и эксплуатирует ASR-модели; отправной проблемой стали ограничения разрозненных скриптов и общей метрики WER, которая не показывает конкретные причины ошибок, качество ключевых слов и достоверность небольших улучшений.
Главное
- WER полезен для общей оценки и лидербордов, но скрывает распределение качества: в примере при среднем WER 5% у 65% записей ошибок не было, а у 11% WER превышал 30%.
- Две модели с близким WER могут отличаться по типам ошибок: приведён пример, где доли вставок составляют 32% и 10%, а доля удалений у одной модели — 25%.
- Для доменных слов RESON считает recall, precision, F1, типы ошибок и варианты замен; это помогает выявлять проблемы, например с «оператором», брендами и англицизмами.
- MWA равновесно усредняет recall уникальных слов, в отличие от частотно-взвешенного WER; в примере X имеет WER 7,58% и MWA 86,96%, Y — WER 8,45% и MWA 89,23%, при доле вставок 12% и 32% соответственно.
- WIS — оценка от 0 до 100 с компонентами: частотность (25%), тяжесть ошибки через 100 − F1 (35%), критичность типа ошибки (25%) и разнообразие замен (15%).
- RESON включает Manifest, оркестратор RESON и неизменяемый артефакт RESONRun; поддерживаются CLI, Python API, собственные MetricProviderABC и три типа отчётов.
- RESON OSD содержит 12 114 записей: General и Numeric в версиях quietly и noisily; все аудио — телефонный канал 8 кГц, данные включают фоновую речь и шум.
- Для каждой записи предусмотрены text (произносительная форма) и e2e_text (письменная форма с цифрами и принятой латиницей); числовые последовательности в Numeric вымышлены.
- В авторских замерах GigaAM v3 rrnt показала WER 5,35% на General quietly, 18,09% на General noisily, 0,71% на Numeric quietly и 5,56% на Numeric noisily; среднее — 7,42%.
- Оба проекта опубликованы под лицензией MIT; код — в репозитории mts-ai/RESON, датасет — на Hugging Face MTSAIR/mws-reson-asr-osd.
Как сделано
RESON разделяет работу на три сущности. Manifest отвечает за чтение JSON/JSONL/CSV, профилирование, подготовку данных, нормализацию и словари замен; RESON запускает анализ и сравнение, используя сменные компоненты метрик (по умолчанию jiwer с WER и CER) и bootstrap; RESONRun сохраняет неизменяемый JSON со сводными и по-записными метриками, статистикой слов и конфигурацией. Инструмент доступен через CLI и Python API; отчёты бывают single_report, compare_report и leaderboard_report.
Кроме WER, CER и разложения на вставки, удаления и замены, система считает для слов recall, precision, F1 и частоты вариантов ошибок. MWA усредняет recall уникальных слов с равным весом, а WIS ранжирует слова для исправления по частотности, тяжести ошибки, типу ошибки и разнообразию замен. Для сравнения моделей применяется bootstrap с пересэмплированием записей и доверительным интервалом.
Бенчмарк RESON OSD опубликован на Hugging Face как MTSAIR/mws-reson-asr-osd. Он включает General и Numeric, каждый в срезах quietly и noisily; это тематически сопоставимые, но не попарные наборы. Для публичных замеров использовали произносительную разметку text и протокол нормализации: нижний регистр, ё→е, удаление пунктуации и токенов «ээ», «мм», «аа», схлопывание пробелов; числа не переводили между словами и цифрами.
Результаты
RESON объединяет анализ ASR в воспроизводимый процесс и формирует интерактивные HTML-отчёты, позволяющие находить проблемные записи и слова и сравнивать модели. RESON OSD содержит 12 114 записей общей длительностью около 37 часов 52 минут, записанных по телефонному каналу 8 кГц; доступны две формы эталона — произносительная text и письменная e2e_text. В замерах авторов лучший средний WER среди систем с результатами по всем четырём срезам показала GigaAM v3 rnnt — 7,42%; Vosk получил 11,07%, Parakeet TDT 0.6b v3 — 15,83%, Nemotron 3.5 ASR Streaming 0.6b — 25,52%. Шумные срезы у всех систем дали заметно худшие результаты. В отдельном примере сравнения снижение WER с 5,36% до 5,04% оказалось статистически значимым: CI95 [−0.54; −0.09], p = 0.0015.
Ограничения
MWA основан на recall и не штрафует вставки, поэтому его нельзя трактовать как полную оценку транскрипта. WIS — эвристическая метрика с весами, выбранными авторами на практике, а не научно подтверждённая универсальная формула. Срезы quietly и noisily не состоят из парных версий одних и тех же записей, поэтому разность между ними не изолирует причинный эффект шума. Приведённые рейтинги — локальные замеры конкретных моделей без дообучения, на выбранном протоколе нормализации; для некоторых моделей числовые результаты отсутствуют. Статья не приводит оценок стоимости и независимой проверки качества самого бенчмарка.
Что взять себе
- Не принимайте решение о релизе только по одному WER: изучайте ошибки по отдельным записям, их типы и метрики важных для продукта слов.
- Перед сравнением моделей зафиксируйте нормализацию и набор данных; используйте статистическую проверку, чтобы отличать устойчивое улучшение от вариации выборки.
- Подбирайте метрику под последствия ошибок: MWA помогает видеть качество редкой лексики, но отдельно проверяйте вставки, поскольку MWA их не штрафует.
- Используйте разные эталоны произношения и письменной нормализации, если продукту важно различать, например, сказанное «теле два» и запись «Теле2».
Читать оригинал, если…
Откройте оригинал, если нужны таблицы состава срезов, точные инструкции по загрузке датасета, примеры CLI/Python API или подробности реализации и настройки отчётов.