Почему транскрибация звонков ломается на реальных записях
Открытые модели вроде Whisper на чистой студийной записи выдают почти дословный текст и создают ложное ощущение, что задача решена. На потоке из телефонии та же расшифровка разговоров превращается в кашу: обрывки фраз, чужие имена, реплики, приписанные не тому участнику.
Первая причина — качество записи. Узкополосный телефонный канал, эхо, потери пакетов и повторное сжатие срезают верхние частоты, по которым как раз и различаются согласные. Шумоподавление на стороне АТС добивает тихую речь — и модель достраивает слово по смыслу, а не по звуку.
Вторая — наложение голосов и смена говорящего. Клиент и оператор перебивают друг друга, разделение реплик по говорящим не успевает переключиться и склеивает две фразы в одну. На коротких «угу», «да-да», цифрах и адресах ошибки распознавания накапливаются быстрее всего.
Третья — отраслевой сленг. Названия тарифов, артикулы, аббревиатуры и номера договоров модель пишет по фонетике, а не по справочнику. Без словаря предметной области и постобработки такой текст нельзя грузить в учётную систему — его придётся вычитывать вручную.
Четвёртая — сам архив. Если запись сведена в моно или сделана диктофоном у телефона, потерянное не восстановит никакая модель. Поэтому мы начинаем с аудита записей: писались ли каналы по сторонам разговора, что происходит при сжатии, в каких местах речь пропадает совсем. Дальше — как это закрывается на каждом уровне.
Что меняется после внедрения: эффекты в рабочих метриках
Первая метрика, которая сдвигается, — доля разговоров, которые оператор больше не слушает вручную. Речь превращается в текст на лету, и типовой запрос закрывается по расшифровке: оператор читает нужный фрагмент, а не прокручивает запись целиком. Записи, до которых раньше не доходили руки, перестают быть мёртвым грузом.
Разбор накопленного архива перестаёт быть отдельным проектом. Поиск идёт по репликам — по номеру заказа, названию услуги, формулировке жалобы, — и выборка за нужный период собирается за минуты вместо дней прослушивания. Индекс строится по всем линиям сразу, поэтому инцидент разбирается по фактическим словам клиента, а не по пересказу.
Полнота карточки обращения растёт за счёт извлечения сущностей из расшифровки: адрес, идентификатор заказа, обещанный срок, причина отказа. Поля заполняются автоматически и остаются проверяемыми — каждое значение привязано к фрагменту разговора. Доля обращений с пустыми обязательными полями падает в разы, а спорный случай разбирается по цитате, а не по памяти.
Контроль качества меняет форму: проверяющий работает не с тем, что успел прослушать, а со срезом по всем линиям. Находятся системные вещи — скрипты, которые операторы обходят, и темы, по которым клиенты возвращаются повторно. Покрытие проверками измеряется долей разговоров, а не количеством прослушанных часов, поэтому выборочность перестаёт скрывать проблемы.
Транскрибация звонков: пакетный, потоковый, гибридный режим
Режим обработки выбирают не по объёму архива, а по тому, что нужно в момент разговора: отдавать текст оператору сразу или разбирать запись после. Пакетная обработка выгружает записи из телефонии по расписанию и расшифровывает пачкой, потоковая передаёт звук на распознавание по ходу разговора, гибридный режим включает обе ветки на разных линиях.
Разница видна в задержке выдачи. Потоковая расшифровка отдаёт реплики через считанные секунды после их окончания — это нужно там, где подсказка оператору или контроль скрипта работают в реальном времени. Пакетный режим отвечает за запись целиком: он переживает ночные пики, обрывы связи и повторно обрабатывает сбойные файлы, но результат приходит с задержкой в минуты и часы.
| Режим | Когда подходит | Ограничения |
|---|---|---|
| Пакетная обработка | Архив, отчётность, разбор качества за смену | Текст недоступен во время звонка, задержка выдачи — от минут |
| Потоковая расшифровка | Подсказки оператору, контроль скрипта, тревожные сценарии | Нужен стабильный канал и резерв: при обрыве участок разговора теряется |
| Гибридный режим | Контакт-центр, где часть линий работает в реальном времени | Сложнее в сопровождении: две ветки обработки и сквозная сверка результатов |
Выбор упирается в две величины: сколько разговоров идёт одновременно и через сколько после звонка текст должен оказаться в CRM. Результаты обеих веток сводим в одно хранилище с разметкой каналов, спикеров и времени реплик — на открытых моделях распознавания вроде Whisper аудио и текст остаются на вашей стороне. Если часть линий требует реального времени, а часть — только отчётности, гибридный режим снимает необходимость держать две системы.
Как мы внедряем: аудит, схема, настройка, проверка, передача
Транскрибация начинается не с выбора модели, а с разбора того, что уже записано. На реальном массиве звонков видно долю перекрытий речи, шум контакт-центра, диалекты, сленг и качество канала — эти данные и задают схему обработки. Ниже последовательность шагов от первого прослушивания до передачи в эксплуатацию.
- Аудит записей. Берём выборку по разным линиям, операторам и типам обращений, считаем долю речи, перекрытия и неразборчивые фрагменты. Результат — отчёт с оценкой достижимой точности и списком проблемных групп.
- Схема обработки. Решаем, где стоит распознавание: потоком во время разговора или после его завершения. Фиксируем разделение говорящих, формат выдачи с отметками времени, сроки хранения и связь текста с записью в учётной системе.
- Настройка словарей. Дополняем базовый лексикон названиями продуктов, должностей, сокращениями и типичными ошибками из аудита. Для двуязычных линий настраиваем переключение языка внутри фразы, версии словарей сохраняем для отката.
- Подключение к источнику. Забираем записи из системы, настраиваем очередь и повторы при сбоях, разграничиваем доступ: текст звонка доступен только тому, у кого есть право на саму запись.
- Приёмка качества. Прогоняем выборку, не участвовавшую в настройке, и сверяем с ручной расшифровкой по доле верных слов и ключевых сущностей — номеров, адресов, сумм. Порог согласуем заранее и фиксируем в протоколе.
- Передача в эксплуатацию. Отдаём регламенты, схему, словари, инструкции для поддержки и панель с качеством по дням; первую неделю сопровождаем и разбираем отклонения.
Комплект поставки: конфигурации, схемы и регламенты
Комплект поставки — это не папка с файлами, а рабочая система, которую ваша команда ведёт сама после сдачи. Конфигурации правятся без нас, схемы объясняют, где что течёт, регламенты определяют поведение при сбое. Каждый артефакт отдаём в формате, который вы поддерживаете своими силами, — без закрытых редакторов и заметок «понятно только автору».
- Конфигурация системы — параметры подключения к телефонии, очередь обработки, пороги уверенности распознавания, сроки хранения записей и расшифровок. Значения вынесены отдельно от кода: изменить правило можно без пересборки и релиза.
- Схема потоков данных — путь звонка от записи до готовой расшифровки: где лежит аудио, на каком шаге включается распознавание, какие проверки проходят текст, куда уходит результат.
- Словарь терминов — названия продуктов, отделов, должностей, аббревиатуры и имена, которые без словаря слышатся неверно. Пополняется на ходу, без переобучения.
- Документация на систему — состав сервисов, точки интеграции с системой учёта клиентов и хранилищем, форматы выгрузки, переменные окружения, порядок обновления.
- Регламент эксплуатации — что делать при недоступности телефонии или сервиса распознавания, как перезапускать очередь, как проверять задержку обработки и полноту выгрузки, кому сообщать о сбое.
- Методика контроля качества — эталонная выборка звонков, порядок замера доли ошибок, правила пересмотра словарей и критерии, при которых распознавание считается деградировавшим.
Комплект принимаем вместе: ваши инженеры поднимают систему на тестовом контуре по нашей документации. Если шаг не описан или описан так, что требует звонка автору, — это наша недоработка, и мы её закрываем.
Кейс контакт-центра: точность расшифровки до и после
Контент-центр входящей поддержки — около четырёх тысяч звонков в сутки, шестьдесят операторов на линии. Расшифровка шла ночной пакетной обработкой на общей модели: доля ошибок в словах держалась на 28–34%, поэтому запись годилась только на то, чтобы «понять, о чём вообще был разговор».
Отдельная боль — числовые и терминологические сущности. Номера договоров, коды ошибок, названия тарифов модель выдавала случайным набором символов, и всё, где нужна точность, оператор вбивал в учётную систему руками. Контроль качества был выборочным: 10–12 записей на прослушивание в день, меньше 0,3% разговоров.
Что сделали
Собрали отдельный контур распознавания: потоковая расшифровка на Whisper с дообучением на архиве записей самого контакт-центра, словарь сущностей под продукт — тарифы, коды, имена — и нормализация номеров и дат до подачи в модель. Добавили разделение по говорящим: реплики привязаны к конкретному участнику, а не слиты в один поток.
Что изменилось в цифрах
Доля ошибок в словах — 6–9% на чистом канале и 12–14% на шумных записях с мобильных. Ручная вычитка сократилась с каждого разговора до выборочной, примерно каждый двадцатый.
Ушёл целый класс ошибок: цифры, коды и названия сервисов больше не теряются, спорные начисления разбираются по цитате из звонка, а не по памяти оператора. Сплошной контроль качества вырос с 0,3% до 100% разговоров — без расширения штата отдела.
Что делать, если архив записей хранится в старом формате
Унаследованный архив телефонных записей почти никогда не однороден. Часть файлов сжата узкополосными телефонными кодеками (G.729, GSM, адаптивная многоскоростная), часть — уже перекодированные копии, часть — потоки без корректного заголовка с расширением .wav. Расширению и метаданным верить нельзя: формат определяется по сигнатуре и результату пробного декодирования.
Ключевое правило при перекодировании — допустить ровно одну потерю за всю историю записи. Сжатый поток декодируется один раз в мастер без потерь, и вся повторная обработка идёт уже от мастера. Если запускать транскрибацию звонков от исходника и сохранять промежуточные результаты в сжатый формат, артефакты копятся: шум предсказания, «звон», съеденные согласные — модель начинает путать близкие по звучанию слова.
Повышение частоты дискретизации не возвращает информацию, которой в узкополосной записи нет. Полезнее подать её в модель, обученную на телефонном канале, чем раздувать до широкополосной: точность та же, объём и время обработки выше. Отдельно чинятся дефекты тракта — перегрузка по уровню, работа автоматической регулировки усиления, обрывы, — иначе они дают ложные срабатывания на репликах.
Миграция архива строится как идемпотентный процесс. Сначала паспортизация: по каждому файлу фиксируются кодек, длительность, число каналов, целостность. Затем контрольные точки по записям — прерванный на середине проход не заставляет начинать заново и не создаёт дублей. Оригиналы сохраняются до сверки с журналом коммутатора и системами учёта: так выявляются разговоры, ошибочно привязанные к другому абоненту.
Технические сомнения, которые снимаем до старта работ
Перед стартом техническая сторона заказчика обычно проверяет не саму идею расшифровки, а её стык с инфраструктурой: где физически лежат записи, что уходит за периметр, как система ведёт себя на их лексике и что будет, если качество окажется ниже ожидаемого. Ниже — ответы на то, что чаще всего всплывает на этапе согласования.
Где размещается система и покидают ли записи наш контур?
Разворачиваем в контуре заказчика на его мощностях либо в выделенном контуре в выбранном регионе — аудио не отправляется во внешние сервисы распознавания. Доступ к записям и текстам разграничен по ролям, обращения к хранилищу попадают в журнал, а фрагменты вроде номеров карт и паспортных данных вырезаются до сохранения расшифровки.
Как система справляется с нашей лексикой — названиями продуктов, артикулами, именами?
Базовое распознавание работает с первого дня, но доменную лексику подтягиваем отдельно: собираем словарь терминов и аббревиатур, добавляем его в модель и проверяем на размеченной выборке реальных звонков. Обычно достаточно двух-трёх итераций, чтобы артикулы и названия перестали распознаваться по слогам.
Что считается успехом пилота и как вы это измеряете?
Считаем долю ошибок в словах и в ключевых сущностях — номерах заказов, суммах, датах — на отложенной выборке, которую не использовали при настройке. Плюс отдельно смотрим, сколько звонков нужно доразмечать вручную: если их доля падает в разы относительно ручной расшифровки, задача решена.
Что будет, если качество не устроит?
Запускаем в теневом режиме: система расшифровывает поток параллельно с текущим процессом, результаты сверяются, но ничего не заменяют. Переключение делаем долями трафика — от одного канала к остальным, с возможностью вернуть ручную обработку в любой момент.
Что нужно от нас, чтобы стартовать, и сколько это займёт?
Нужны доступ к записям звонков за прошлый период, понимание, как они хранятся, и один контакт со стороны телефонии. На этих данных настраиваем словарь и метрики, дальше — теневой прогон и постепенное включение. Обсудим вашу задачу — вернёмся с оценкой и планом по этапам.
Обсудим задачу и вернёмся с оценкой и планом
Чтобы вернуться с оценкой проекта и планом внедрения, не нужен объёмный бриф — достаточно одного разбора с вашим инженером или руководителем направления. Нас интересует, где сейчас лежат записи звонков, как устроена телефония и куда должен попадать готовый текст: в учётную систему, хранилище или отдельный интерфейс для контроля качества. Этого хватает, чтобы увидеть узкие места до начала работ.
В ответ вы получаете документ, по которому можно принимать решение без дополнительных уточнений:
- схему потока: от записи в телефонии до текста в вашей системе, с местами хранения аудио и расшифровок;
- требования к качеству: целевая доля верно распознанных слов, точность разделения по говорящим, словарь терминов, названий и имён;
- план внедрения по этапам: пилот на одном отделе, замер качества на реальных звонках, расширение на остальные линии;
- перечень данных и доступов с вашей стороны и ответственного, кто принимает результат этапа;
- политику работы с персональными данными: где хранится аудио и текст, сроки хранения, удаление по запросу;
- оценку проекта: трудозатраты по этапам и состав поддержки после запуска;
- критерии приёмки — что именно считаем работающим решением.
Следующий шаг — опишите задачу: сколько линий и звонков в месяц, какая телефония, что делаете с расшифровками сейчас. Вернёмся с оценкой и планом внедрения.







