average Telegram

AudioAnaliz

От телефонной записи к структурированной аналитике

Система обработки телефонных разговоров: ASR, diarization, speaker identification и LLM-анализ. Распознаёт речь, определяет участников, проверяет содержание по заданным критериям и формирует отчёты с привязкой к исходному аудио.

Цель

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

Для этого потребовалось объединить несколько ML-задач: speech recognition, diarization, speaker identification и семантический анализ разговора.

Выбор ASR

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

После сравнительных прогонов основным ASR выбрал GigaAM v3 e2e RNN-T. Для выделения речи использую pyannote VAD, а word-level timestamps позволяют сопоставлять текст с исходной записью.

Stereo-записи обрабатываются по каналам. Для mono применяется диаризация, чтобы разделять реплики участников внутри одного аудиопотока.

Diarization не равна identification

Диаризация определяет, какие реплики принадлежат одному голосу в пределах звонка. Но для корпоративной аналитики часто нужно установить конкретного сотрудника.

Для этого я построил speaker identification pipeline на embeddings NeMo TitaNet, галерее эталонных голосов, k-NN и дополнительных оценках сходства.

Важное ограничение — качество enrollment data. Если в голосовой эталон попадут реплики клиента, эмбеддинги перестанут надёжно представлять нужного сотрудника. Поэтому для отбора образцов понадобился отдельный процесс проверки и подготовки чистых голосовых сегментов.

LLM-анализ и отчёты

После распознавания транскрипт передаётся LLM для анализа по конкретным критериям: договорённости, факт уведомления клиента, выполненные и пропущенные действия, подтверждающие реплики.

Результаты анализа привязываются к фрагментам транскрипта, которые можно проверить по записи.

Интерактивный HTML-отчёт объединяет участников, текст, временные отметки и выводы. Пользователь может перейти к нужной реплике и проверить основание для заключения.

Интеграция в бизнес-процессы

Отдельный сценарий использует звонки из Bitrix24. Через Airflow собираются записи и контекст CRM, после чего результаты ASR и LLM-анализа сопоставляются с клиентами, сотрудниками и данными 1С.

Например, можно проверять, сообщил ли менеджер клиенту необходимую информацию, и собирать сводную аналитику по обработанной выборке звонков.

Результат

Система объединяет VAD, ASR, diarization, speaker identification и LLM-based quality analysis в один pipeline.

Стек: Python, PyTorch, GigaAM v3, pyannote, NeMo TitaNet, k-NN, PLDA, LLM, FastAPI, Airflow, Bitrix24.

Демонстрация SONAR

На главной странице — фрагмент интервью А. Н. Иванова на MediaMetrics от 19 сентября 2017 года. Автор публикации: Alexey Arkhipov. Оригинальная запись · CC0 1.0. Использован отрывок 1:24.70–1:52.15, аудио сокращено и перекодировано.