Настройка кастомного словаря для STT: реализация и оптимизация

Распознавание речи ломается на отраслевых терминах, именах и аббревиатурах — сотрудники перепроверяют расшифровки вручную. Мы настраиваем кастомный словарь STT под ключ: собираем терминологию, задаём правила замен и передаём готовые регламенты. Ручная правка расшифровок сокращается в разы.
Часто задаваемые вопросы

Кастомный словарь STT: где ломается распознавание

Распознавание речи ошибается неравномерно: на бытовых фразах качество расшифровки держится высоким, а на узкоспециальной терминологии проседает предсказуемо. Модели вроде Whisper обучены на общей речи, поэтому при неоднозначности выбирают более частотный вариант — фамилия «Курило» превращается в «курила», аббревиатура читается по буквам, а артикул детали в накладной становится случайным набором цифр.

Системно ломаются три класса сущностей. Имена собственные и топонимы: фамилии сотрудников, названия филиалов, редкие привязки. Аббревиатуры — они звучат как слитное слово, которого нет в общем словаре. И составные термины: юридические формулировки, наименования по классификаторам, медицинские и технические названия, где ошибка возникает на стыке слов, и модель начинает «догадываться» по звучанию.

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

Решается это на уровне декодирования: кастомный словарь STT подсказывает системе ожидаемые слова и их произношение до разбора записи, а не после. Дальше разбираем, как это закрывается — откуда брать словарь, как описывать произношения и как измерять, что ошибки распознавания речи действительно ушли.

Эффект от подстройки: меньше ошибок на терминах и именах

Первый замер делаем до любых правок: расшифровываем 30–50 минут реальных записей и вручную помечаем расхождения. База считается на той же модели, что пойдёт в работу, — обычно это Whisper или её дообученная ветка, — иначе сравнение «до и после» ничего не доказывает. Считаем не общую точность, а долю ошибок именно на словах домена: терминах, аббревиатурах, названиях продуктов и фамилиях.

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

  • Доля ошибок на профильной лексике падает в 2–4 раза; отдельно проверяем термины, которые раньше распознавались неверно всегда.
  • Объём ручных правок после расшифровки сокращается в разы, на типовых записях внутри домена доходит до нуля.
  • Устойчивость к дикторам: термин верно распознаётся у 8–10 разных голосов, включая женские и низкие мужские, без подстройки под одного спикера.
  • Устойчивость к условиям: проверяем запись с телефона, гарнитуры, из переговорной — просадка не должна выходить за несколько процентов.
  • Ложные срабатывания: словарь не перетягивает похожие общеупотребительные слова — контролируем на наборе без домена.
  • Регрессия при обновлении модели: перезамер после каждого обновления, иначе точность тихо уходит назад.

Способы подстройки распознавания: сравнение подходов

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

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

Способ Когда подходит Ограничения
Словарь замен устойчивые аббревиатуры, названия, артикулы не спасает, если модель слышит слово иначе; ложные срабатывания на десятках правил
Фонетические подсказки редкие имена, топонимы, нестандартное произношение нужен разбор произношения, путаница на омофонах
Адаптация на корпусе записей много размеченных часов, стабильный домен нужны данные и разметка, риск переобучения, долгий цикл проверки
Постобработка расшифровки форматы, пунктуация, нормализация чисел и дат не восстанавливает то, что модель не расслышала
Подстройка языковой модели домена отраслевая лексика в целом нужен текстовый корпус, акустику не меняет

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

Этапы внедрения: от сбора терминов до передачи

Правка словаря без замеров превращается в перебор догадок: термин добавили, доля ошибок не изменилась. Поэтому идём обратным порядком — сначала считаем, где ломается распознавание, потом трогаем лексику.

Шаги и проверки

  1. Аудит ошибок распознавания. Размечаем расшифровки реальных каналов по типам: незнакомый термин, аббревиатура, латиница внутри фразы, омонимия. На выходе — таблица частот по классам.
  2. Сбор терминологии заказчика. Интервью с носителями домена, выгрузки из справочников. Для каждого термина — произношение, допустимые варианты, границы применимости.
  3. Тестовая выборка записей. Откладываем размеченный набор, не участвующий в настройке: разные дикторы, каналы, шум. Иначе подгонку под примеры не отличить от улучшения.
  4. Схема подстройки словаря. Решаем, куда вносить термин — словарь произношений, замена на выходе, языковая модель — и с каким весом.
  5. Настройка и проверка словаря. После каждой итерации прогоняем отложенные записи: смотрим общую долю ошибок и новые ложные срабатывания.
  6. Передача решения. Отдаём конфигурацию словаря, регламент правок, разметку и отчёты, обучаем команду добавлять термины без регрессий.

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

Артефакты внедрения: словари терминов, правила замен, регламенты

После внедрения у заказчика остаётся не «модель в чёрном ящике», а комплект артефактов, с которым можно работать без нас: правки вносятся своими силами, поведение системы воспроизводимо, а спорные распознавания разбираются по документу, а не по памяти разработчика.

  • Конфигурация словаря — подключаемый к движку распознавания файл: веса терминов, регистр, словоформы, допустимые варианты написания. Одна правка меняет выдачу по всему потоку записей.
  • Перечень терминов — согласованный с бизнесом список: продуктовые названия, обозначения внутренних систем, должности, латиница, которую диктуют вслух.
  • Правила замен и произношения — таблица «как слышится → как пишем», омофоны и устойчивые искажения конкретных дикторов; применяется поверх распознавания и не портит исходную стенограмму.
  • Контрольный набор записей — фрагменты аудио с эталонной расшифровкой, включая шумные дорожки и быструю речь. Прогон по нему показывает, что правка не сломала остальное.
  • Скрипты проверки и метрики — расчёт доли ошибок по терминам и отчёт до и после изменения словаря.
  • Документация — как добавить термин, какие поля обязательны, что делать при конфликте правил.
  • Регламент обновления — кто инициирует правку, кто подтверждает, когда изменение уходит в работу и как откатывается.

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

Кейс: как ушёл класс ошибок на узкоспециальных терминах

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

Сначала зафиксировали точку отсчёта: контрольный набор записей с ручной разметкой терминов. Доля ошибок на профильной лексике — 17–19%, редактор тратил около 40 минут на каждый час аудио, а готовый текст часа записи появлялся только к концу дня.

Словарь собирали не «на слух»: выгрузили частотные термины из корпуса, добавили произносительные варианты — латиницу и кириллицу, склонения, слитное и раздельное написание, аббревиатуры, которые диктуют по буквам. Отдельно настроили веса терминов, чтобы редкое, но важное название не вытеснялось частым общим словом, и добавили нормализацию после распознавания: единый глоссарий вместо трёх написаний одной марки.

После подстройки доля ошибок на профильной лексике упала до 3%, ручные правки сократились примерно вчетверо, час записи превращается в готовую расшифровку за 40 минут вместо четырёх часов. Проверяли и обратное — что на общем языке качество не просело: словарь расширяет модель, а не заменяет её принудительными подстановками.

Класс ошибок с искажёнными названиями оборудования и нормативов ушёл, редактор правит смысл, а не угадывает термины. Словарь живёт дальше: новые слова попадают в него из правок редактора, а регрессионный набор не даёт улучшениям на одной теме ломать остальные.

Чем подстройка распознавания отличается от дообучения модели?

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

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

Подход Когда подходит Ограничения
Кастомный словарь STT и веса Новые термины, аббревиатуры, имена — слово известно, произношение стандартное Не спасает, если слово звучит неразборчиво
Правила замен и нормализация Постобработка: единый формат чисел, дат, артикулов Работает поверх распознавания, звук не улучшает
Дообучение модели Акцент, шумный канал, устойчивый жаргон, много однотипной речи Нужен размеченный корпус, возможна деградация на прежних темах

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

Практическое правило: сначала закрываем задачу словарём и весами и только если доля ошибок на эталонной выборке не падает — переходим к дообучению. Решение остаётся управляемым, а владение им — предсказуемым.

Технические сомнения: объём работ, сроки, поддержка

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

Сколько реально работы в подстройке словаря?

Объём задаёт не размер словаря, а структура домена. При 200–300 однотипных терминов основное время уходит на произносительные варианты, а не на разметку, а аббревиатуры, латиница и составные названия добавляют работу с нормализацией текста.

Сколько ждать результат?

Начинаем с прогона на части архива: замер доли ошибок до и после, разбор терминов, которые всё ещё теряются. Дальше обрабатываем остальной корпус. Срок зависит от объёма и качества записей, а не от количества слов в словаре.

А если записи шумные?

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

Пересобирать всё при каждой правке терминологии и что с поддержкой?

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

Обсудим задачу: что прислать для оценки и плана работ

Чтобы вернуться с оценкой и планом работ, а не с уточняющими вопросами, нам достаточно одного набора исходных данных. Чем точнее описан домен, тем меньше итераций уйдёт на согласование схемы решения.

  • Аудио из реального канала. 30–60 минут записей по каждому источнику: телефония, микрофон, видеозвонок — с типичным шумом, несколькими дикторами и акцентами.
  • Эталонные расшифровки. 10–20 минут выверенных текстов с пометками спорных мест — по ним считаем базовую долю ошибок и видим, где словарь даст основной прирост.
  • Список терминов. Названия продуктов, аббревиатуры, должности, ФИО, топонимы — с вариантами произношения и тем, как они должны выглядеть в выдаче.
  • Правила нормализации. Регистр, пунктуация, числа, единицы измерения, латиница и кириллица в одном слове, оформление повторов и слов-заполнителей.
  • Схема потока. Откуда приходит аудио и в каком формате, где хранится, куда уходит текст, нужна ли разметка по говорящим.
  • Ограничения. Требования к задержке выдачи, где разрешено обрабатывать данные, допустимая доля ручной правки.
  • Примеры ошибок. 20–50 реальных фраз, которые распознаются неверно сейчас — этого хватает, чтобы оценить объём работы со словарём.

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

Направления AI-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1142