Стажировка
Разработка системы нейроанализа звонков с функциями поиска, оценки качества и визуализации метрик
ООО «ГиперФМ»
ЦЕЛЬ проекта
Результаты и текущие показатели
Создать прототип нейросетевого инструмента для анализа разговоров с клиентами с целью автоматизированного контроля качества работы операторов, супервайзеров и
отделов продаж.
Проект объединил лучшие практики из предыдущих решений и добавил новые направления:
  • контекстный семантический поиск
  • многоуровневую проверку качества
  • соответствие требованиям по защите персональных данных (ФЗ-152)
  • единый локальный интерфейс для Windows-среды
  • Собран и отлажен мультикомпонентный пайплайн: транскрибация, анонимизация, скрипты, эмоции, поиск, визуализация
  • Точность транскрибации (WhisperX large): в среднем ~85% WER по выборке из 30+ звонков
  • Реализована анонимизация с фильтрацией PII — проверена вручную, выявлены ограничения моделей
  • Запущена LLM-система оценки по скриптам (на базе GPT-4), результаты сопоставлены с чек-листами
  • Внедрён гибридный поиск (BM25 + E5), проведено ручное сравнение релевантности, реализована подсветка фрагментов
  • Анализ эмоций — проведено тестирование сегментного анализа, визуализация реализована в дашборде
  • Подготовлен Streamlit-интерфейс и UX/UI-макеты для финального слоя
  • Аудиозаписи звонков (с аннотированными и необработанными записями)
  • Чек-листы и стандарты обслуживания от заказчика
  • Скрипты взаимодействия с клиентами
  • Метки и структура по операторам/отделам (в имени файла)
1. Транскрибация звонков
  • Выбор оптимальной ASR-модели (WhisperX, Wav2Vec, T-One и др.)
  • Препроцессинг аудио (нормализация, разделение каналов, очистка шума)
  • Раздельная транскрибация реплик клиента и оператора
  • Поддержка батчевой обработки с сохранением выравнивания
2. Анонимизация персональных данных
  • Правило-ориентированная система (регулярные выражения, словари, маски)
  • LLM-модуль для сложных кейсов (разговорные формулировки, синонимы, вариативность)
  • Локальная обработка, без передачи данных наружу (ФЗ-152)
3. Проверка соблюдения скриптов
  • Контекстный анализ диалога
  • Соответствие чек-листу (до 10 блоков, с возможностью настройки)
  • Выделение ключевых фраз и ошибок, подсчёт итоговой оценки
  • Автоматическое обнуление при критичных нарушениях
4. Контекстный поиск
  • Запросы на естественном языке
  • Поиск по ключевым словам (BM25) + векторный поиск (E5-large / SBERT)
  • Гибридное ранжирование по 7 критериям
  • Вывод релевантных фрагментов с подсветкой и аудиопривязкой
5. Эмоциональный анализ
  • Использование моделей Aniemore: WavLM / WavLMBertFusion
  • Распознавание эмоций в 3-секундных окнах
  • Канальная сегментация (клиент/оператор)
  • Цветовая индикация уверенности
  • Агрегация по звонку и отделу
6. Метрики по отделам и панель руководства
  • Сводные оценки по скриптам, эмоциям, скорости реакции
  • Отчёты по дням/неделям, сравнение отделов
  • Выделение "проблемных зон"
  • Экспорт в таблицы, визуализация на Streamlit/Power BI
7. Интерфейс и API
  • Web-интерфейс (React + Tailwind)
  • Вкладки: звонки, поиск, скрипты, эмоции, метрики
  • Backend — FastAPI
  • Локальная оболочка для Windows/WSL
8. Развёртывание
  • Docker-контейнеры (адаптированы под Win)
  • Возможность сборки под venv + bat-скрипты
Исходные данные
Результаты и текущие показатели
Основные модули и этапы обработки
Участники
команды проекта
  • Николай кус
    Тимлид команды
    • Руководил командой разработчиков на всех этапах проекта.
    • Планировал задачи, контролировал их выполнение и соблюдение сроков. Обеспечивал эффективную коммуникацию внутри команды и с заказчиком
  • Елена Михно
    Помощник тимлида
    • Помогала в организационных вопросах по проекту
    • Инициировала и проводила дополнительные встречи стажеров, наставляла и обучала
    • менее опытных сотрудников
  • Андрей Малицкий
    Помощник тимлида
    • Участвовал в распределении задач и руководстве командой помощников тимлида, обеспечивая эффективное взаимодействие между тимлидом и участниками проекта
  • Василий Даутов
    • Провёл исследование по анонимизации диалогов по ФЗ 152: дообучение модели EmbeddingGemma 300M показало, что модель переучивается и закрывает лишние слова
    • Разработал SGR-анонимайзер на контурной модели qwen/qwen3-coder-30b. Эфективность 95% даже при сложных случаях (email/телефон словами)
    • Разработал модуль эмоциональной оценки (Aniemore) по 3-секундным интервалам, что дает LLM паттерны всплесков эмоций для анализа причин
    • Исследовал семантический поиск (EmbeddingGemma + LLM-предобработка): выявлено низкое качество признаков. ElasticSearch "из коробки" также показал низкую релевантность на сырых диалогах
    • Сравнил ASR Whisper и T-one. T-one — высокая производительность (CPU, real-time), но нет пунктуации. Whisper — точен, расставляет знаки, требует GPU. Выбор зависит от приоритета (скорость vs качество текста)
  • Петр Петров
    • Выполнил работы по контекстному семантическому поиску
    • Подготовил датасет диалогов для обучения и тестирования системы
  • Никита Горбунов 
    • Разработал код транскрибации аудио (mp3 в текст) с использованием Whisper, WhisperX и SpeechRecognition
    • Провел ручной сравнительный анализ результатов транскрибации с эталоном для выявления зон роста
    • Написал код для анонимизации и реализовал механизм поиска персональных данных в JSON-файлах
    • Провел дообучение (fine-tuning) нейросети для повышения качества обработки данных
  • Наталья Толмачёва 
    • Привела регламенты и чек-листы компании к единой цифровой структуре (10 пунктов, шкала 100–50–0, поддержка N/A)
    • Разработала сложные промпты для LLM, указывающие уверенность оценки и конкретные пропущенные элементы скрипта
    • Настроила полный пайплайн в Google Colab: валидация, пакетная обработка, генерация отчётов в Google Sheets/Power BI
    • Автоматизировала процесс проверки качества звонков, добавив контекстную настройку по тематикам
  • Евгений Дорошенко
    • Подготовил скрипты для транскрибации аудиозаписей
    • Разрабатывал интерфейс. Собрал все модули проекта в единый рабочий пайплайн
  • Анатолий Ходоров 
    • Разработал пайплайн поиска в Google Colab: гибридный поиск (BM25 + Embeddings) со Smart Hybrid Scoring
    • Реализовал 2-й этап фильтрации на основе Cross-encoder reranker
    • Внедрил «умного проверяющего» на LLM для обоснования результатов поиска
    • Реализовал функционал для слабых ресурсов (оффлоад весов, квантование) и провел бенчмарк множества русскоязычных моделей (Sbert, RuBERT, Saiga, YandexGPT и др.)
  • Владимир Стороженко 
    • Описал архитектуру проекта.
    • Написал скрипт расчета WER и сравнил транскрибаторы на эталонных диалогах
    • Создал код для транскрибации через GPU (T-One)
    • Написал код mcp-сервера для семантического поиска и предложил агента анонимизации
  • Евгений Бухарин
    • Реализовал улучшенную транскрибацию T-one: разделение каналов, снижение перехлеста речи, авто-пунктуация
    • Развернул тестовый сервер с доступом через Nginx/HTTPS
    • Запустил веб-интерфейс на Streamlit для демонстрации модулей
    • Провел сравнительный анализ моделей транскрибации с эталоном
  • Роман Михайлов
    • Реализовал сквозной конвейер: предобработка аудио, ASR (WhisperX/T-One), эмоции, нормализация, анонимизация PII, саммари и QA, БД, поиск
    • Разработал модули строгой анонимизации (адреса, телефоны, ФИО) и нормализации текста
    • Внедрил систему оценки качества (QA) с чек-листом, доказательствами и метриками речи (WPM, паузы)
    • Настроил надежный ETL импорт в PostgreSQL с групповой аналитикой по операторам
    • Создал умный поиск (RAG/FAISS + LLM) и управленческий дашборд на Streamlit

  • Евгений Шитов
    • Реализовал таблицу звонков с фильтрацией и пагинацией
    • Создал вкладки «Поиск» (с подсветкой результатов) и «Метрики» (визуализация Recharts)
    • Участвовал в проектировании API-контрактов и создании моков

  • Ольга Кириенко
    • Сравнивала модели транскрибации и написала скрипт автоматической оценки WER
    • Исследовала подходы к анонимизации и работала с контурными моделями
    • Разработала критерии оценки качества работы операторов в соответствии с требованиями заказчика
    • Участвовала в переговорах с заказчиком

  • Дмитрий Шамараев
    • Разработал backend-систему на FastAPI с модулями транскрибации, анонимизации и анализа метрик
    • Настроил развёртывание через Docker (CPU/GPU), написал скрипты запуска, добавил тесты и документацию
    • Улучшил модули по шумоподавлению, логированию и структуре проекта
    • Интегрировал LLM-анализ в пайплайн и расширил функциональность по чек-листам, скриптам, эмоциям и типам звонков
  • Сергей Недякин
    • Провёл сравнительный анализ инструментов анонимизации
    • Провёл серию тестов на эталонных транскрипциях, реализовал кастомные правила
    • Работал с моделью Gliner и участвовал в обучении кастомных NER-моделей
    • Подготовил документацию по тестам и улучшению качества диалогов
  • Андрей Попов
    • Разработал ансамблевую систему транскрибации (Whisper + T-one)
    • Проводил тестирование и адаптацию под Google Colab
  • Юрий Лихачев
    • Участвовал в аналитике соблюдения сценариев и анализе скриптов звонков
    • Проводил ручную и автоматизированную транскрибацию, готовил эталонные тексты
    • Изучал кодовую базу и участвовал в тестах по анонимизации и поиску
  • Галина Мусаева
    • Проводила исследование эмоционального анализа по аудио
    • Работала над интеграцией моделей QWEN и Aniemore в пайплайн анализа
  • Илья Курагин
    • Участвовал в проработке логики оценки эмоций, формировал требования к связке чек-листа и эмоционального анализа
  • Владимир Фролов
    • Помогал в организационных вопросах по проекту
    • Инициировал и проводил дополнительные встречи стажеров, наставлял и обучал менее опытных сотрудников