Телефонный канал — отдельный жанр звука
Модель, показывающая отличные цифры на подкастах и лекциях, приходит в контакт-центр и начинает ошибаться в каждом третьем слове. Причина не в модели, а в том, что телефонный звук устроен иначе.
- Полоса частот урезана вдвое против привычной: половина информации о согласных просто отсутствует.
- Кодек сжимает речь с потерями, добавляя характерные искажения.
- Клиент говорит из машины, с улицы, из цеха — фоновый шум идет непрерывно.
- Собеседники перебивают друг друга, а в записи это часто один смешанный канал.
- Речь спонтанная: обрывы, повторы, слова-паразиты, эмоции.
Минус 31% ошибки, полученные в проекте, — это в первую очередь результат адаптации к перечисленному; архитектура модели тут почти ни при чем.
Домен решает вторую половину
Второй источник ошибок — лексика. Названия тарифов, продуктов, услуг, внутренние сокращения, фамилии, номера договоров. Общая модель их не знает и подставляет похожие по звучанию обычные слова: результат выглядит связным текстом и не годится ни для поиска, ни для аналитики.
Мы собрали словарь домена и адаптировали модель под него, отдельно проработав числа и последовательности символов: номера, суммы и коды в контакт-центре встречаются постоянно и ошибаются чаще всего.
Что означает коэффициент 0,18
Показатель отношения времени обработки к длительности записи — самая честная метрика производительности в распознавании. 0,18 значит, что минута разговора обрабатывается примерно за одиннадцать секунд машинного времени.
Практический смысл: одна нода держит сорок одновременных разговоров в потоковом режиме и при этом успевает разбирать накопившийся архив в фоне. Планирование мощностей превращается в арифметику, а не в гадание: известны средняя длительность звонка, число операторов и пиковый час.
Потоковый режим против пакетного
Распознавание по завершении разговора проще и точнее: модель видит запись целиком. Потоковое сложнее — приходится выдавать текст по ходу речи, не зная, чем закончится фраза.
Мы держим оба режима. Потоковый работает, когда текст нужен во время разговора: подсказки оператору, контроль обязательных фраз, сигнал руководителю при обострении. Пакетный догоняет после звонка и дает более точную версию текста для аналитики и хранения. Расхождение между двумя версиями отслеживается — оно же служит индикатором качества потокового контура.
Разделение говорящих
Без разметки «кто говорит» текст разговора почти бесполезен: непонятно, кто задал вопрос, кто дал обещание, кто повысил тон. Когда каналы разделены технически, задача простая. Когда запись смешанная, приходится разделять по голосам, и на перебиваниях это самое слабое место всего контура.
Мы отдельно замеряли качество разделения на участках наложения речи и честно вынесли цифру в отчет: это то место, где система ошибается чаще всего, и заказчику нужно об этом знать до того, как он построит на этом отчетность.
Почему без облака
Записи разговоров — персональные данные, часто с платежной информацией и паспортными данными. Отправка их во внешний сервис требует отдельных оснований, согласий и договоров, а по части сюжетов невозможна вовсе.
Вторая причина финансовая: облачные сервисы распознавания тарифицируются по минутам. Контакт-центр производит тысячи часов записи в месяц, и на таком объеме собственный контур окупается быстрее срока пилота.
Что с этим текстом делают дальше
Расшифровка сама по себе никому не нужна. Ценность появляется на следующем шаге: поиск по всем разговорам, автоматическая проверка соблюдения скрипта, разбор причин обращений по темам, выявление повторных звонков по одной проблеме, контроль обещаний клиенту.
Мы советуем закладывать это в проект сразу. Внедрение распознавания без ответа на вопрос «кто и какое решение примет по этому тексту» заканчивается дорогим архивом, в который никто не заходит.
Где точность просядет
- Сильный шум и плохая связь: при обрывах и цифровых артефактах никакая модель не восстановит несказанное.
- Речь с сильным акцентом или диалектом требует отдельной адаптации.
- Эмоциональный разговор на повышенных тонах с наложением голосов — худший сценарий, и точность там ниже средней.
- Стопроцентной расшифровки не бывает. Правильный вопрос к подрядчику — какая ошибка на ваших записях, а не какая она на публичных наборах данных.
Направление целиком — речевые технологии; аналитика поверх расшифровок — автоматизация процессов; оценка бюджета — калькулятор.