Завдання
Наш клієнт – європейська компанія в галузі страхування, потребувала більш ефективного способу оцінки роботи свого кол-центру. Зокрема, компанія прагнула зменшити залежність від мануальної роботи аналітиків та впровадити автоматизацію за допомогою рішення на базі ШІ для транскрипції та діаризації дзвінків.
Виклик
До співпраці з WebbyLab, аналітики кол-центру клієнта змушені були вручну прослуховувати записи дзвінків, оцінювати розмови та надавати рекомендації щодо покращення. Такий підхід був повільним і вимагав значних ресурсів.
Крім того, компанія не мала внутрішньої експертизи з ШІ, необхідної для швидкого впровадження пілотного рішення. Наша команда взяла на себе завдання розробити та перевірити систему контролю якості кол-центру на основі ШІ, яка здатна:
- Перетворювати аудіо в текст із високою точністю, включно з підтримкою іспанських діалектів
- Виконувати діаризацію співрозмовників для розрізнення агентів і клієнтів
- Працювати на серверах клієнта для забезпечення конфіденційності даних
- Надавати серверне рішення з інтерфейсом для автоматичної інтеграції в процеси кол-центру
Серед основних труднощів були: обробка фонового шуму, перекриття голосів, змішані мови та необхідність ефективної обробки тривалих записів. Коротко кажучи, система мала забезпечувати точність на рівні людських аналітиків, але з можливістю обробляти набагато більші обсяги даних.
Рішення
Щоб впровадити систему ШІ для автоматизації аналізу дзвінків кол-центру, ми пройшли кілька етапів розробки:
Оцінка та вибір моделі розпізнавання мови
Ми розпочали з детального аналізу провідних моделей розпізнавання мови, орієнтуючись на такі критерії:
- Підтримка іспанських діалектів
- Висока точність транскрипції
- Можливість локального розгортання
- Підтримка діаризації співрозмовників
- Висока продуктивність і масштабованість
Серед розглянутих моделей були: OpenAI Whisper, Mozilla DeepSpeech та Facebook AI Wav2Vec 2.0.
Після тестування на реальних записах дзвінків найточнішою виявилася модель Whisper, з додатковою підтримкою WhisperX для розпізнавання мови. Її здатність коректно обробляти акценти, фоновий шум та навіть змішані мови з високою точністю зробила її оптимальним вибором.
Діаризація тексту
Щоб правильно розділити мову агента та клієнта, ми інтегрували WhisperX із діаризацією PyAnnote. Це дозволило:
- Сегментувати аудіофайли за допомогою детекції голосової активності (VAD)
- Транскрибувати кожен сегмент за допомогою Whisper із одночасною діаризацією мовців через PyAnnote
- Призначити speaker_id для кожного текстового сегмента
Розробка та оптимізація бекенду
Щоб інтегрувати систему у робочі процеси клієнта, ми створили бекенд-сервіс на базі Express.js з двома основними API-ендпоінтами:
-
POST /transcribe. Приймає аудіофайли, ставить їх у чергу для обробки через Redis і повертає request_id.
-
GET /status/{id}. Дозволяє клієнту відстежувати статус завдання та отримувати транскрипти після обробки.
Оброблені дані зберігаються у MySQL, аудіофайли зберігаються локально, але за потреби готові до міграції у хмарне сховище. Redis дозволив нам масштабувати систему горизонтально, обробляючи декілька аудіозавдань паралельно.
Результати
Прототип системи розпізнавання мови на основі ШІ для багатомовної транскрипції був протестований на понад 50 реальних записах кол-центру. Ключові результати включали:
- Якість транскрипції. ~92% точності (помилка слів ~8%), навіть за умов шуму, сильного акценту або змішаних мов
- Швидкість обробки. 1 хвилина аудіо обробляється за 45–80 секунд на CPU.
- Точність діаризації. ~87% (співрозмовники коректно визначені майже в 9 із 10 випадків), більшість помилок виникає під час одночасної мови або дуже коротких вставок
- Підтримка мов. Іспанські діалекти з автоматичним визначенням діалекту (точність близько 90%).
Вплив на бізнес також був значним:
- Час мануального прослуховування скоротився на 70–80%, що дозволило командам аналітиків зосередитися на складних випадках, а не на кожному дзвінку
- Обсяг проаналізованих дзвінків значно зріс, що забезпечило ширший погляд на задоволеність клієнтів
- Перегляд одного дзвінка тепер займає менше хвилини замість 5–10 хвилин як раніше
У процесі розробки ми використовували низку технологій:
Розпізнавання мови: Whisper, WhisperX
Діаризація / VAD: PyAnnote
Обробка аудіо (ML): Python
Бекенд API : Node.js, Express.js
ORM / доступ до БД: Sequelize.js
Система обробки задач: Redis
База даних: MySQL
Зберігання медіа: Amazon S3, MinIO
Фронтенд (панель управління): React, Zustand
Розгортання / Інфраструктура: AWS ECS на Fargate