📊 Аналитика клиентских отзывов для Газпромбанка

Решение команды «Искры Интеллекта» для хакатона ЛЦТ 2025: автоматический анализ тысяч отзывов от парсинга до дашбордов

🎯 Проблема

Банки получают тысячи отзывов на агрегаторах (banki.ru, sravni.ru, Яндекс). Провести полноценный анализ вручную крайне затратно:

  • Субъективность: разные аналитики могут по-разному интерпретировать один отзыв
  • Запоздалая реакция: пока прочитаешь — проблема уже масштабировалась
  • Нет динамики: сложно отследить, растёт ли негатив по конкретной теме

Результат: упущенные проблемы, недовольные клиенты, потеря денег.

💡 Решение

Сервис, который автоматически превращает неструктурированные отзывы в понятные инсайты:

✅ Парсинг с агрегаторов ✅ Умная кластеризация ✅ Классификация LLM ✅ API: 250 отзывов / 3 мин ✅ Интерактивные дашборды

🔧 Как это работает

Шаг Что происходит Пример / Визуал
1. Парсинг Сбор отзывов с banki.ru, sravni.ru, Яндекс за период. Очистка, нормализация дат Собрано: 5000+ отзывов
2. Фрагментация LLM разбивает каждый отзыв на смысловые аспекты. Один отзыв → несколько тем "Приложение удобное, но кэшбэк маленький" → 2 фрагмента
3. Кластеризация K-Means, DBSCAN, BERTopic для поиска устойчивых групп.
LLM генерирует названия тем
Кластеры

Пример кластеризации

4. Классификация Адаптивный классификатор на базе LLM (Yandex Cloud API). Новые темы создаются автоматически Финальный список: 11 тем + "Прочее"
5. Тональность Для каждого фрагмента: положительно / нейтрально / отрицательно F1-score: 0.88 (weighted)
6. API FastAPI в Docker. POST /analyze обрабатывает до 250 отзывов Скорость: ~2.5 минуты на 250 отзывов
7. Дашборды Интерактивная визуализация с фильтрацией по дате, продукту, источнику См. раздел ниже ↓

📈 Метрики качества

Метрика Значение
F1-score (классификация, weighted) 0.88
Accuracy (тональность) 0.94
Скорость API 250 отзывов за ~2.5 минуты
💡 Почему weighted F1? Классы были неравномерны: по малочисленным категориям точность доходила до 1.0, по массовым — около 0.8. Weighted average учитывает размер каждого класса, поэтому даёт более честную картину.

📊 Интерактивные дашборды

1. Динамика тональностей во времени

Динамика

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

2. Матрица внимания

Матрица

Размер круга — количество отзывов. Положение — соотношение частоты упоминаний и уровня негатива

3. Тепловая карта аспектов

Тепловая карта

Вклад каждого аспекта в общую удовлетворённость. Показывает, о чём чаще всего говорят

🚀 Варианты улучшения

Направление Что добавить
Расширенная аналитика Поиск топ-трендов внутри категорий (например, "скрытые комиссии", "не работает UnionPay")
Определение трендов Автоматическое выявление растущих проблем (резкий рост жалоб за неделю)
Новые источники Подключение дополнительных агрегаторов, соцсетей, отзовиков
Автоматические алерты Уведомления менеджерам при превышении порога негатива по категории
Сравнение с конкурентами Парсинг отзывов о других банках, бенчмаркинг
Интеграция с CRM Автоматическое создание тикетов при выявлении критических проблем

🏆 Достижение

Хакатон Газпромбанка (ЛЦТ 2025)

🥉 Призовое место

Команда "Искры Интеллекта"

📰 Официальные результаты хакатона на mos.ru

🛠️ Технологии

Python FastAPI LLM BERTopic K-Means DBSCAN Docker PostgreSQL

🔗 Ссылки

@ Написать в Telegram

Хотите внедрить подобное решение? Напишите мне — обсудим адаптацию под ваш бизнес.