Автоматическое транскрибирование телефонных звонков

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

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

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

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

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

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

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

Что меняется после внедрения: эффекты в рабочих метриках

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

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

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

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

Транскрибация звонков: пакетный, потоковый, гибридный режим

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

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

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

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

Как мы внедряем: аудит, схема, настройка, проверка, передача

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

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

Комплект поставки: конфигурации, схемы и регламенты

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

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

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

Кейс контакт-центра: точность расшифровки до и после

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

Отдельная боль — числовые и терминологические сущности. Номера договоров, коды ошибок, названия тарифов модель выдавала случайным набором символов, и всё, где нужна точность, оператор вбивал в учётную систему руками. Контроль качества был выборочным: 10–12 записей на прослушивание в день, меньше 0,3% разговоров.

Что сделали

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

Что изменилось в цифрах

Доля ошибок в словах — 6–9% на чистом канале и 12–14% на шумных записях с мобильных. Ручная вычитка сократилась с каждого разговора до выборочной, примерно каждый двадцатый.

Ушёл целый класс ошибок: цифры, коды и названия сервисов больше не теряются, спорные начисления разбираются по цитате из звонка, а не по памяти оператора. Сплошной контроль качества вырос с 0,3% до 100% разговоров — без расширения штата отдела.

Что делать, если архив записей хранится в старом формате

Унаследованный архив телефонных записей почти никогда не однороден. Часть файлов сжата узкополосными телефонными кодеками (G.729, GSM, адаптивная многоскоростная), часть — уже перекодированные копии, часть — потоки без корректного заголовка с расширением .wav. Расширению и метаданным верить нельзя: формат определяется по сигнатуре и результату пробного декодирования.

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

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

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

Технические сомнения, которые снимаем до старта работ

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

Где размещается система и покидают ли записи наш контур?

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

Как система справляется с нашей лексикой — названиями продуктов, артикулами, именами?

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

Что считается успехом пилота и как вы это измеряете?

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

Что будет, если качество не устроит?

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

Что нужно от нас, чтобы стартовать, и сколько это займёт?

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

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

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

В ответ вы получаете документ, по которому можно принимать решение без дополнительных уточнений:

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

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

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

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

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