Содержание
  1. Формула и три типа ошибок
  2. Ручной расчёт на двух русских парах
  3. Нормализация до сравнения
  4. Как читать чужой бенчмарк
  5. Смысловые ошибки и пределы метрики
  6. Пошаговый порядок замера
  7. Отрицательная контрольная проба
  8. Частые вопросы
Справочник

WER: что показывает доля ошибок распознавания речи

9 ноября 2026 · 13 минут чтения

WER: что показывает доля ошибок распознавания речи — это отношение суммы замен, пропусков и вставок к числу слов в эталонной расшифровке. Метрика отвечает на один вопрос: сколько правок нужно внести в машинный текст, чтобы он совпал с человеческим эталоном. Ниже — формула, ручной расчёт на двух русских парах и порядок проверки чужого значения.

Формула и три типа ошибок

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

Ошибки делятся на три категории. Insertion (I) — слова, которых в эталоне нет, но которые появились в гипотезе. Deletion (D) — слова из эталона, не попавшие в гипотезу. Substitution (S) — слова, заменённые другими. Формула собирает их в одну сумму:

WER = (S + D + I) / N

Документация Google Cloud в руководстве по измерению точности распознавания приводит те же три категории и добавляет важное свойство: при очень низкой точности, когда в гипотезу попадает много нового текста, WER может превысить 100%. Курс Hugging Face по метрикам ASR объясняет причину: знаменатель — это число слов в эталоне, поэтому верхнего предела у отношения нет. Пример из курса: если все десять предсказанных слов ошибочны, а эталон содержит два слова, WER равен 500%.

Единицы различаются по интерфейсам. Документация Microsoft отмечает, что в портале Foundry и Speech Studio частное умножается на 100 и показывается процентами, а результаты Speech CLI и REST API идут без умножения. Путаница между долей и процентами — первая причина, по которой два числа из разных отчётов кажутся несопоставимыми.

Таблица ниже собирает три категории и их источник.

Категория Что произошло Откуда берётся в счёте
Substitution (S) Слово эталона заменено другим Позиция есть в обеих строках
Deletion (D) Слово эталона отсутствует в гипотезе Позиция есть только в эталоне
Insertion (I) В гипотезе появилось лишнее слово Позиция есть только в гипотезе

Счёт идёт по минимальному выравниванию. Документация Speechmatics в разделе о бенчмаркинге называет это расстоянием Левенштейна: сравниваются эталон и гипотеза, находится минимальное число правок, которое приводит строки к совпадению. Для расчёта нужна минимальная сумма S+D+I.

Ручной расчёт на двух русских парах

Возьмём полностью заданные учебные строки. Все значения заданы для учебного примера; модель и реальные аудио не использовались. Нормализация упражнения — нижний регистр, без пунктуации, слова разделяются пробелами, буква ё сохраняется одинаково в обеих строках.

Пара A. Эталон: «мы отправим готовый отчёт завтра утром после проверки всех таблиц». Гипотеза: «мы отправили готовый отчёт завтра после проверки всех таблиц сегодня». В эталоне десять слов. Выравнивание даёт три правки: отправим заменено на отправили (S=1), слово утром пропало (D=1), после таблиц появилось лишнее сегодня (I=1). WER = (1+1+1)/10 = 0,30, то есть 30%.

Пара B. Эталон: «мы не подтвердили оплату». Гипотеза: «мы подтвердили оплату». В эталоне четыре слова. Здесь одно удаление: пропало не. WER = 1/4 = 25%. Смысл изменился критически, хотя счётчик показывает всего одну правку. Пропущенное отрицание нужно отдельно проверить по исходной записи.

Теперь агрегация. Для двух пар вместе E = 3 + 1 = 4, N = 10 + 4 = 14, корпусный WER = 4/14 ≈ 28,57%. Простое среднее двух значений — (30% + 25%)/2 = 27,5% — даёт другой ответ, и подписывать его как corpus WER нельзя. Курс Hugging Face описывает этот же порядок: при оценке на множестве предложений S, D, I и N суммируются по всем предложениям, и только потом считается отношение.

Крайний случай показывает, почему WER нельзя переворачивать. Эталон: «да». Гипотеза: «да мы уже всё окончательно решили». N = 1, I = 5, WER = 500%. Такое значение возможно. Вычитать его из 100 и называть вероятностью правильного смысла нельзя: у метрики нет верхней границы, и 100 − WER в этом примере даёт отрицательное число.

Ниже — полный исходник упражнения, который можно скопировать и пересчитать.

ТЕКСТ30 строк
Пара A
reference: мы отправим готовый отчёт завтра утром после проверки всех таблиц
hypothesis: мы отправили готовый отчёт завтра после проверки всех таблиц сегодня
N = 10
S = 1  (отправим -> отправили)
D = 1  (утром)
I = 1  (сегодня)
WER = (1 + 1 + 1) / 10 × 100% = 30%

Пара B
reference: мы не подтвердили оплату
hypothesis: мы подтвердили оплату
N = 4
S = 0
D = 1  (не)
I = 0
WER = 1 / 4 × 100% = 25%

Корпусная агрегация
E = 3 + 1 = 4
N = 10 + 4 = 14
corpus WER = 4 / 14 × 100% ≈ 28,57%

Простое среднее (для сравнения, не corpus WER)
(30% + 25%) / 2 = 27,5%

Крайний случай
reference: да
hypothesis: да мы уже всё окончательно решили
N = 1, I = 5, WER = 500%

Сверьте число правок с минимальной дистанцией редактирования.

Нормализация до сравнения

Строки сравниваются после приведения к общему виду. Документация Google Cloud указывает, что при вычислении WER машинная расшифровка сравнивается с эталоном, и текст обеих сторон нормализуется: пунктуация удаляется, регистр игнорируется. Документация Speechmatics называет нормализацию обязательным шагом до оценки и приводит ориентиры: привести к нижнему регистру, заменить символы и цифры словами, схлопнуть пробелы, раскрыть сокращения, стандартизировать написание, убрать пунктуацию.

Масштаб эффекта виден на примере из документации Speechmatics. Одна и та же пара строк без обработки даёт 9 ошибок и WER 41% на базе 22 слов. После нормализации остаётся 2 ошибки, а знаменатель становится 24 слова, и WER падает до 8%. В этом примере результат изменился после нормализации одной и той же пары строк.

Курс Hugging Face показывает обратную сторону. Если модель обучена на тексте с пунктуацией и регистром, она предсказывает форматированный текст, и такой вывод удобнее читать. Нормализация перед подсчётом снижает WER, потому что задача упрощается: модели больше не нужно угадывать регистр и расставлять знаки по звуку. Курс рекомендует обучать систему на форматированном тексте, а оценивать на нормализованном — так сохраняется и качество вывода, и сопоставимость чисел.

Практический вывод: сравнивать два значения WER можно только при одинаковых правилах нормализации. Если в одном отчёте числа записаны цифрами, а в другом словами, разница в процентах покажет разницу в подготовке данных.

Шаг нормализации До После
Нижний регистр «Привет, мир» «привет мир»
Цифры словами «42» «сорок два»
Схлопывание пробелов «привет мир» «привет мир»
Удаление пунктуации «да, он пошёл!» «да он пошёл»

Как читать чужой бенчмарк

Число WER из статьи или отчёта имеет смысл только вместе с условиями замера. Документация Speechmatics предупреждает: тестовый набор должен быть репрезентативным для вашего сценария, а открытые корпуса стоит использовать с осторожностью, потому что многие модели обучались на этих же данных и могут «помнить» их. Там же приведён пример: Librispeech и CallHome для одного движка расходятся до 10 процентных пунктов, поскольку первый состоит из качественной начитки аудиокниг, а второй — из разговорной записи низкого качества.

Документация Microsoft описывает четыре сценария и их типичные профили ошибок. Колл-центр: низкое качество звука, 8 кГц, возможны два говорящих в одном канале, узкая доменная лексика, разговорный стиль; качество распознавания среднее, ниже 30% WER, вставки редки, удаления и замены часты. Голосовой ассистент: высокое качество, 16 кГц, много имён и названий; качество высокое, может быть ниже 10% WER. Диктовка: высокое качество, разнообразная лексика; качество высокое, может быть ниже 10% WER, часты замены. Субтитры к видео: переменное качество, музыка и шум, разный стиль речи; качество зависит от типа видео и может быть ниже 50% WER, удаления часты.

Документация Microsoft также даёт ориентиры по распределению ошибок. Много удалений обычно связано со слабым сигналом — помогает запись ближе к источнику. Вставки указывают на шумную обстановку и переговоры на фоне. Замены часто возникают, когда в обучающих данных мало доменных терминов. Разбор по отдельным файлам показывает, какие ошибки присущи конкретной записи, и помогает точнее выбрать данные для дообучения.

Документация Speechmatics добавляет требования к размеру набора: для статистической значимости рекомендуется не менее 10 000 слов, то есть около часа непрерывной речи на каждый проверяемый язык. Там же отмечено, что характеристики говорящего влияют на результат: возраст, акцент и пол меняют точность, и по отраслевым наблюдениям речь женщин и пожилых людей распознаётся хуже, чем речь мужчин и молодых людей.

Соберите карточку условий перед тем, как сравнивать два числа.

Поле карточки Что фиксируем
Аудио Что записано, канал, частота, шум
Эталон Кто размечал, по каким правилам
Нормализация Числа, пунктуация, ё, сокращения
Язык и канал Язык, диалект, телефон или микрофон
Единицы Доля или проценты
Агрегация Сумма E/N или среднее по фразам
Отдельные проверки Имена, отрицания, метки говорящих

Если поля карточки неизвестны, два WER не считаются честным сравнением. Это относится и к собственным замерам: сохраняйте карточку вместе с числом, иначе через месяц вы не восстановите условия.

Смысловые ошибки и пределы метрики

WER взвешивает все правки одинаково. Документация Speechmatics прямо называет это ограничением: одни ошибки меняют смысл предложения, другие остаются опечаткой. Пара B из упражнения показывает крайний случай: одно удаление дало 25% и полностью перевернуло смысл фразы. Другая пара с тем же счётом могла бы дать ошибку в падеже, которая на смысл не влияет.

Документация Speechmatics перечисляет и другие ограничения. Эталонные расшифровки дороги в производстве: ручная транскрипция стоит около 100 долларов за час записи. Пунктуация, регистр и разметка говорящих в WER не измеряются, хотя важны для читаемости. Курс Hugging Face добавляет языковое ограничение: для языков без понятия слова, например для китайского и японского, WER теряет смысл, и там переходят к метрике на уровне символов.

Отдельно стоит связь с уверенностью модели. Документация Google Cloud указывает, что WER и confidence score независимы и обычно не коррелируют: уверенность основана на правдоподобии, а WER — на факте правильного распознавания. Слово может быть распознано верно при низкой уверенности, если оно редкое или запись шумная, и наоборот.

Документация Microsoft описывает расширение метрики. Token Error Rate считается по той же формуле, но на уровне токенов и учитывает формат вывода: пунктуацию, регистр и обратную текстовую нормализацию. Для TER тестовые данные должны содержать расшифровки с форматированием. В реальной задаче полезно смотреть оба числа: WER показывает лексическую точность, TER — качество итогового отображаемого текста.

Ориентиры качества из документации Microsoft: WER 5–10% считается хорошим и готовым к использованию, 20% приемлемо с оговоркой о дополнительном обучении, 30% и выше говорит о низком качестве и необходимости дообучения. Это ориентиры для конкретного продукта, и переносить их на другой домен без проверки не стоит.

Пошаговый порядок замера

Соберите тестовый набор. Документация Microsoft рекомендует от 30 минут до 5 часов репрезентативного аудио. Документация Google Cloud советует не менее 30 минут и до 3 часов, а также требует, чтобы запись шла на том же оборудовании, что и рабочий поток. Документация Speechmatics ориентируется на 10 000 слов. Выбирайте объём по задаче и фиксируйте его в карточке.

Получите эталон. Документация Google Cloud описывает это как одно- или двухпроходную ручную транскрипцию с целью получить 100% точный текст. Правила разметки должны совпадать с соглашениями целевой системы распознавания: пунктуация, числа и регистр приводятся к одному виду.

Получите гипотезу. Прогоните аудио через систему и сохраните машинный текст как есть, без ручных правок. Документация Google Cloud предлагает сначала исправить замеченные проблемы в тексте, а затем привязать эталон к аудио и посмотреть визуализацию расхождений.

Посчитайте метрику. Документация Microsoft описывает два пути: через портал, где оценка точности запускается автоматически на проверочном наборе, и через Speech CLI командой spx csr evaluation create с обязательным параметром --api-version v3.2. Результат забирается командой spx csr evaluation status, и в теле ответа приходят значения WER вместе со счётчиками замен, удалений и вставок. Документация Google Cloud предлагает привязать эталон к аудио в интерфейсе и увидеть WER вместе с визуализацией различий.

Разберите ошибки. Документация Microsoft отмечает, что страница результатов перечисляет все фразы набора и результаты распознавания рядом с эталоном, а типы ошибок можно включать и выключать. Прослушивание аудио и сравнение колонок показывает, какая модель подходит и где нужно дообучение.

Зафиксируйте карточку условий. Сохраните набор, правила нормализации, единицы и способ агрегации рядом с числом. Без этого повторный замер через месяц даст несопоставимый результат.

Отрицательная контрольная проба

Проверка нужна, чтобы поймать ошибку в собственном расчёте. Возьмите пару, где эталон и гипотеза совпадают полностью. Ожидаемый результат — ноль ошибок и WER 0%. Если получилось другое число, ищите причину в нормализации: лишние пробелы, разные формы записи чисел, несовпадающий регистр или разная запись ё дают ложные правки.

Вторая проба — наоборот, заведомо плохая гипотеза. Возьмите эталон «да» и гипотезу «да мы уже всё окончательно решили». Ожидаемый результат — 500%. Если формула вернула 100% или меньше, значит где-то ограничили результат сверху или перепутали знаменатель.

Третья проба проверяет агрегацию. Посчитайте корпусный WER для двух пар из упражнения и сравните с простым средним. Ожидаемые значения — 28,57% и 27,5%. Совпадение этих чисел означает, что вы усреднили готовые проценты там, где нужно было суммировать счётчики.

Если проба не сошлась, порядок исправления такой. Сначала пересчитайте N по эталону. Затем проверьте, что каждая правка отнесена ровно к одной категории и не посчитана дважды. После этого сверьте минимальность выравнивания: сумма S+D+I должна равняться минимальной дистанции редактирования. И только потом пересматривайте нормализацию — она влияет на все три предыдущих пункта.

Частые вопросы

Что такое word error rate простыми словами?

Это доля слов, которые система распознала неверно, от общего числа слов в эталонной расшифровке. Считаются три вида правок: замены, пропуски и лишние слова. Результат выражается долей или процентами в зависимости от интерфейса. Чем ниже значение, тем ближе машинный текст к человеческому эталону.

Как выглядит формула word error rate?

WER = (S + D + I) / N, где S — замены, D — пропуски, I — вставки, N — число слов в эталоне. Документация Microsoft и Google Cloud приводят эту же формулу. В интерфейсах значение умножается на 100, в ответах API приходит долей. Знаменатель всегда берётся из эталона.

Почему WER может быть больше 100%?

Знаменатель — это число слов в эталоне, а вставки в гипотезу не ограничены его длиной. Курс Hugging Face приводит пример: если все десять предсказанных слов ошибочны, а эталон содержит два слова, WER равен 500%. Вычитать такое значение из 100 и получать вероятность правильного смысла нельзя. У метрики нет верхней границы.

Чем WER отличается от CER и TER?

CER считает правки на уровне символов, поэтому мягче оценивает опечатки внутри слова. TER работает на уровне токенов и учитывает формат вывода: пунктуацию, регистр, обратную текстовую нормализацию. WER остаётся основной метрикой для языков с понятием слова. Для китайского и японского переходят к метрике на уровне символов.

Можно ли сравнивать два значения WER из разных отчётов?

Только при совпадении условий: одинаковый тестовый набор, правила нормализации, единицы и способ агрегации. Документация Speechmatics показывает, что Librispeech и CallHome для одного движка расходятся до 10 процентных пунктов. Соберите карточку условий по обоим числам. Если поля карточки неизвестны, сравнение не будет честным.

Читайте также

3 материала