Разработка речевых технологий: распознавание речи ASR под ключ

Звонки и записи вручную разбирать долго: детали теряются, а решения принимаются вслепую. Мы разрабатываем распознавание речи ASR под ключ — от аудита записей до передачи готового решения.
Показано 30 из 134Все 1570 услуг
Azure Speech Services: интеграция STT и Custom Speech
Простой
от 1 дня до 3 дней
STT с шумоподавлением: WER < 10% даже при SNR 5 дБ
Средний
от 1 недели до 3 месяцев

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

Часто задаваемые вопросы

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

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1530
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1354
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1070
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1328
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    772
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1074

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

Распознавание речи ASR уверенно проходит на записи из тихой переговорной и рассыпается на живом трафике. Шумная телефонная линия режет полосу до узкополосного канала, поверх голоса ложатся эхо от громкой связи, щелчки гарнитуры и речь соседнего оператора. Модель, настроенная на чистых студиях, теряет окончания слов и путает близкие по звучанию термины — вместе с ними уходит и смысл реплики.

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

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

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

Что меняется после внедрения: скорость, точность, отказы

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

  • Задержка отклика. Текст появляется в потоке раньше, чем оператор открывает карточку обращения: ответ приходит по ходу разговора, а не через минуты после его окончания.
  • Доля ошибок распознавания. Словари терминов, имён и артикулов плюс постобработка снимают основную часть ошибок на доменной лексике, а не только на чистой студийной записи.
  • Разбор длинных диалогов. Многочасовые записи режутся на сегменты с разделением по голосам: проверяющий читает сжатую выжимку и переходит к нужной минуте, а не слушает всё подряд.
  • Разгрузка операторов. Ручное прослушивание заменяется выборочной проверкой — на разбор идут фрагменты с низкой уверенностью модели и спорные места.
  • Устойчивость к обрывам. Сегменты сохраняются по мере поступления, повторная обработка не создаёт дублей: потеря связи не стирает кусок записи и не сдвигает очередь.
  • Контроль качества. Доля ошибок и задержка отклика живут на отчётной панели и прогоняются на эталонном наборе записей при каждом обновлении модели.

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

Варианты развёртывания ASR: облако, свой сервер, гибрид

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

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

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

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

Этапы инженерной работы: от аудита до передачи

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

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

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

Артефакты: конфигурации, схемы, регламенты, документация

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

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

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

Кейс: убрали потери на длинных диалогах в службе поддержки

Что было

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

Что сделали

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

Что изменилось

Доля обращений, разобранных полностью, выросла с 8% до 100%. Пропущенные фрагменты на длинных диалогах сократились с 12% реплик до 2% — остаток приходится на шум и одновременную речь двух говорящих. Повторные обращения по тому же вопросу снизились на треть: оператор видит полную историю и не переспрашивает то, что клиент уже рассказал. Ручной разбор одного диалога занимал около двадцати минут, теперь проверка занимает две-три и только для пограничных случаев.

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

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

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

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

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

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

Технические сомнения: шум, акцент, терминология, диалект

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

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

Отраслевых терминов нет в словаре — как их распознать?

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

Что делать с плохой связью и потоком?

Телефонный канал срезает верхние частоты, а потеря пакетов даёт рваные фрагменты. На таком входе помогает обработка с перекрытием окон и повторным проходом по спорным участкам: настройка идёт под поток, а не под готовый файл.

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

Обсудим задачу и вернёмся с оценкой и планом

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

Со своей стороны:

  • 10–20 часов реальных записей — звонки, встречи, шум, перекрытие речи: качество распознавания считается по ним, а не по студийному образцу.
  • Сценарий использования: поиск по разговорам, контроль качества, подсказки оператору — от него зависит режим обработки.
  • Где ошибка критична: имена, термины, номера, суммы — и какой уровень шума считаем рабочим.
  • Точки встраивания: телефония, запись встреч, поток в реальном времени или разбор архива.
  • Ограничения по данным: где аудио хранится, можно ли выносить его за периметр, какие есть правила доступа.
  • Словарь домена: названия продуктов, должности и аббревиатуры, которые система обязана слышать верно.

Вернём в ответ:

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

Опишите задачу — вернёмся с оценкой и планом.