Стажировка
Проект по улучшению интеллектуальной рекомендательной системы контента для стриминого портала Goodgame.ru
Компания: ООО «мидиан»
Суть проекта
Задача
Вводные данные
Создать систему, которая анализирует поведение пользователей и содержание стримов, чтобы предлагать каждому зрителю наиболее релевантные каналы и трансляции. Рекомендательная система поможет зрителям открывать новые интересные каналы и стримы, экономя время на поиск контента.

  1. Сбор и подготовка данных: агрегировать данные о пользователях, чат-сообщениях за последний месяц, взаимодействиях (просмотры, подписки) и метаданных стримов.
  2. Разработка моделей рекомендаций: реализовать и обучить несколько моделей – в том числе GMF (Generalized Matrix Factorization) и NCF (Neural Collaborative Filtering) – для прогнозирования предпочтений пользователей на основе их действий. Учесть оптимизацию гиперпараметров (Optuna) и подобрать лучшие функции активации для нейросетей.
  3. Контентный анализ через LLM: построить пайплайн рекомендаций на основе профилей пользователей и содержания стримов. С помощью моделей класса LLM (Large Language Model) автоматически тегировать стримы, определять их тематику и формировать «вектора предпочтений» пользователей по темам.
  4. Инфраструктура и интеграция: разработать клиент для API GoodGame и скрипты конвертации данных, настроить базу данных и кэширование для быстрого доступа к данным. Обеспечить генерацию рекомендаций в реальном времени и интеграцию системы с фронтендом платформы.
  5. Тестирование и качество: протестировать рекомендации на основе реальных действий пользователей и собрать метрики качества. Реализовать подход к оценке рекомендаций по аналогии с решениями Twitch и построить систему оценки кликабельности рекомендаций (CTR) для валидирования эффективности.
Результат представляет собой список каналов или текущих трансляций, отсортированный по релевантности к интересам пользователя. Помимо списка рекомендуемых стримов, система генерирует объяснительные метаданные – например, основные совпадающие теги или категории – чтобы обосновать, почему предложены те или иные каналы. В процессе тестирования также собираются показатели качества (точность модели, CTR рекомендаций), которые позволяют оценить эффективность алгоритмов.


Для обучения и работы системы были использованы разнообразные данные GoodGame: истории просмотров и подписок пользователей, логи чата за последние 30 дней, информация о стримах (игра, жанр, описание) и профили пользователей. Также учитывались агрегированные статистики по каналам и активности аудитории. Эти данные прошли предварительную обработку: очищены, закэшированы в базе данных и преобразованы в удобный формат для моделей (например, числовые идентификаторы, эмбеддинги признаков, тематические теги).
Основные задачи
выходные данные
Участники
команды проекта
В результате работы команды платформа получила инструмент, который в тестовом режиме уже демонстрирует повышение вовлечённости пользователей за счёт более точных и разнообразных рекомендаций. Этот успех закладывает основу для дальнейшего развития: интеграции системы в production, расширения источников данных и тонкой настройки алгоритмов под живой трафик GoodGame.
  • Кус николай
    Тимлид проекта
    • Организация работы команды
    • Координация архитектурных решений и планирования проекта
  • Михно Елена
    Помощник тимлида
    • Помощь в управлении проектом
    • Поддержка документирования и коммуникации внутри команды
  • Аганин александр
    руководитель экспертной группы (экспертиза проектной документации)
    • Анализ исходных данных по стримам и пользователям
    • Разработка признаков для моделей рекомендаций
    • Кластеризация пользователей на основе поведенческих паттернов
    • Генерация новых признаков ("признак привлекательности каналов")
    • Систематизация этапов подготовки данных
  • Старостина александра
    ведущий инженер-программист
    • Тематизация чатов и описаний каналов с использованием LLM (GPT-4)
    • Генерация тегов и категорий для каналов
    • Сравнение качества рекомендаций: чаты vs описания
    • Обработка и рефакторинг кода модели TFRS и эмбеддингов
    • Документирование и структурирование результатов тестирования
    • Оценка тематической релевантности рекомендаций
  • Трухан сергей
    инженер-программист
    • Разработка скриптов парсинга стримов и описаний
    • Сбор онлайн-данных через API и парсинг страниц
    • Создание базы данных и кэширование данных
    • Получение чатов по API
    • Конвертация данных в json/csv
    • Поддержка системы хранения и обработки данных
  • Гаврикова ирина
    Доцент МФТИ, преподаватель, научный сотрудник, куратор УИИ
    • Подготовка данных, полученных по API, для построения рекомендательной системы
    • Написание скриптов для составления профиля пользователей платформы Goodgame на основе его интересов с использованием LLM
    • Написание скриптов для анализа тематики стримов на основе инновационного подхода определения категории стрима и формирования тегов с использованием LLM
    • Разработка рекомендательной системы (написание полного пайплайна) на основе составленного с помощью LLM профиля пользователя с целью выдачи рекомендаций стримов, подходящих по тематике.
  • шурупов Евгений
    Go (Golang) бэкенд-разработчик
    • Реализация рекомендательной системы на основе «векторов предпочтений»
    • Внедрение моделей BagOfChannels и user2vec
    • Поддержка Docker-инфраструктуры
    • Оптимизация развертывания на сервере заказчика
    • Автоматизация прогноза рекомендаций по векторным профилям
  • лукашина евгения
    в декретном отпуске, ранее главный специалист (сбер)
    • Выполнено описание, разворачивание и тестирование моделей для рекомендаций NNHS и ModelLightFM
    • Анализ интересов тестовых пользователей
    • Анализ результатов тестирования моделей, оценка релевантности полученных рекомендаций
    • Создание модели рекомендаций, основанной на нейросетевом подходе с эмбеддингами пользователей и каналов. Модель анализирует взаимодействия пользователей, включая подписки, сообщения в чате и донаты, присваивая им разные веса
    • Тестирование собственной модели, оценка релевантности полученных рекомендаций
  • иванов виталий
    Руководитель отдела электронных торгов
    • Обработка и рефакторинг кода моделей GMF и NCF
    • Поддержка сценариев cold start
    • Использование длительности просмотра как признака
    • Оптимизация параметров моделей с использованием Optuna
  • аникеев михаил
    тимлид в IT-компании
    • Парсинг и агрегация сообщений из чатов
    • Сопоставление чатов с каналами и их анализ
    • Обработка и рефакторинг кода модели TFRS
    • Тестирование новых признаков (duration, вовлечённость)
    • Анализ вовлечённости пользователей по каналам
  • жидовинов никита
    инженер-программист
    • Анализ и исправление openapi spec API Goodgame для автоматической генерации клиента
    • Реализация экспериментальной модели рекомендаций, с подходом Twitch, адаптация её под специфику GoodGame
    • Разработка системы оценки качества рекомендаций, с фокусом на метрике CTR (Click-Through Rate)
  • тарасевич илья
    Техник-строитель
    • Обработка и рефакторинг кода модели FastAI
    • Проведение тестирования рекомендаций на реальных действиях пользователей
    • Анализ разреженности данных как причины снижения качества рекомендаций
    • Разработка метрик соответствия предсказаний и действий.