Перейти к основному контенту

WER: как измеряют точность распознавания речи

Что такое WER, как считают замены, пропуски и вставки и почему проценты точности разных сервисов нельзя сравнивать без методики. Пример расчёта.

WER: как измеряют точность распознавания речи

WER (Word Error Rate, доля ошибок в словах) показывает, сколько ошибок допустило распознавание речи по сравнению с эталонным текстом. Замены, пропуски и вставки слов складывают и делят на число слов в эталоне. Чем ниже WER на одних и тех же записях при одной методике, тем меньше ошибок.

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

Как считают WER?

Формула: WER = (S + D + I) / N. Чтобы получить проценты, результат умножают на 100.

  • S (substitutions), замены: вместо произнесённого слова в расшифровке стоит другое.
  • D (deletions), пропуски: слова из эталона нет в расшифровке.
  • I (insertions), вставки: в расшифровке появилось слово, которого нет в эталоне.
  • N: число слов в эталоне.

Перед подсчётом тексты выравнивают: ищут сопоставление с наименьшим числом операций. Иначе одно пропущенное слово в начале сдвинуло бы все остальные, и каждое из них засчиталось бы ошибкой.

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

Как выглядит расчёт на примере?

Эталон: «Мы отправим готовый отчёт завтра утром». Расшифровка: «Мы отправим отчёт сегодня утром коллегам». В эталоне 6 слов.

ЭталонРасшифровкаРезультат сопоставления
Мы отправимМы отправимСовпадение
готовыйслова нетПропуск
отчётотчётСовпадение
завтрасегодняЗамена
утромутромСовпадение
слова нетколлегамВставка

Одна замена, один пропуск и одна вставка: (1 + 1 + 1) / 6 = 0,5, то есть WER 50%. Пример учебный: он показывает формулу и ничего не говорит о качестве конкретного сервиса.

В формуле все ошибки весят одинаково, хотя последствия у них разные. Замена «завтра» на «сегодня» меняет срок, пропуск «готовый» влияет на смысл меньше. Поэтому, кроме числа, читайте сами ошибки.

Почему подготовка текста меняет результат?

Перед подсчётом договоритесь, что считать совпадением. Обычно тексты приводят к одному регистру и убирают пунктуацию. Числа приводят к одной записи: без такого правила «15» и «пятнадцать» засчитаются как замена. Отдельно решают, как быть с «е» и «ё», сокращениями, дефисами и словами-паразитами.

Если эталон очищен от запинок, а расшифровка дословная, часть «ошибок» окажется разницей в подготовке текста. Эталон и проверяемый текст должны соответствовать одной задаче.

Запишите правила до сравнения и примените их ко всем вариантам одинаково. Если поменять нормализацию для одного результата, числа перестанут описывать одну и ту же проверку.

Почему проценты разных сервисов нельзя сравнивать напрямую?

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

Даже у одной модели число зависит от версии и набора данных. В статье OpenAI о модели Whisper для русского языка на наборе Common Voice 9 приведён WER 8,2% у версии large и 7,1% у large-v2. На другом наборе записей те же модели покажут другие значения.

Если выбираете сервис, дайте всем вариантам один и тот же файл и сравните результаты с одним эталоном. Остальные критерии выбора собраны в материале о том, как выбрать сервис транскрибации.

Проверьте точность на своей записи

или

Что WER не показывает?

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

CER (Character Error Rate) считает ошибки по символам. Ошибка в одном окончании или букве имени для CER остаётся мелкой, а WER засчитывает всё слово. Значения CER и WER нельзя сравнивать напрямую.

DER (Diarization Error Rate) оценивает разметку говорящих. Текст может совпасть с эталоном, но реплика окажется приписана другому участнику. Как разметка спикеров выглядит в работе, показано на странице разделения по спикерам.

Слова фразы, которую модель придумала на паузе, попадут в WER как вставки, но процент не покажет, где она появилась и как меняет смысл. О таком поведении моделей читайте в статье о Whisper на русском.

Как проверить точность на своей записи?

  1. Возьмите запись, похожую на ваши задачи: разговор, лекцию или звонок.
  2. Подготовьте эталон по звуку. Заранее решите, как отмечать неразборчивые места и учитывать запинки.
  3. Получите расшифровки и сохраните их до любых правок: правка человеком меняет предмет сравнения.
  4. Примените одинаковые правила нормализации к эталону и ко всем результатам.
  5. Посчитайте замены, пропуски и вставки. Для автоматического подсчёта есть библиотека jiwer для Python.
  6. Отдельно проверьте имена, числа, пунктуацию, пропущенные фрагменты и подписи участников.

Если считаете по нескольким фрагментам, сложите ошибки и слова эталонов, затем разделите одно на другое. Среднее из процентов отдельных фрагментов без учёта их длины даст другое число.

В «Войси» до запуска можно уточнить параметры «Язык записи» (оставить «Авто» или выбрать язык), «Сколько говорящих» и «Тематика записи». Тематики: «Универсальный режим», «Телефонный разговор», «Онлайн-встреча», «Диктофон», «Студийная запись», «Выпуск новостей».

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

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

Что означает WER?

Word Error Rate, доля ошибок в словах: сумма замен, пропусков и вставок, делённая на число слов в эталоне. Для процентов результат умножают на 100.

Может ли WER быть больше 100%?

Да. Вставки тоже считаются ошибками, поэтому вместе с заменами и пропусками их может оказаться больше, чем слов в эталоне.

Какой WER считать хорошим?

Единой границы нет: она зависит от задачи и цены ошибки. Сравнивайте варианты на одних и тех же записях с одним эталоном и нормализацией, затем отдельно проверяйте имена, числа, сроки и спикеров.

Как проверить «Войси» на своей записи?

В веб-кабинете первый файл бесплатно. Расшифруйте запись, сохраните результат до правок и сравните его со своим эталоном по шагам из этой статьи.

Проверьте точность на своей записи

или

Сравните расшифровку с эталоном

Загрузите свою запись и проверьте слова, имена и числа. Первый файл — за наш счёт.