Перейти к содержанию
  1. Мои сочинения/

Персонализированный контент: Новый рекомендательный движок Momspresso

В современном мире, богатом цифровым контентом, критически важно доставлять правильный контент нужному пользователю в нужное время. Основываясь на нашей предыдущей работе над конвейером данных Momspresso, мы теперь реализовали мощный рекомендательный движок, который персонализирует контент для миллионов пользователей Momspresso. Давайте рассмотрим, как мы создали эту систему.

Задача #

Momspresso нуждалась в рекомендательной системе, которая могла бы:

  1. Обрабатывать большие объемы данных о взаимодействии пользователей
  2. Быстро генерировать персонализированные рекомендации статей
  3. Обновлять рекомендации в реальном времени по мере взаимодействия пользователей с контентом
  4. Масштабироваться для обработки миллионов пользователей и статей

Наше решение: Рекомендательный движок на базе Spark #

Мы разработали многокомпонентную рекомендательную систему, использующую конвейер данных, который мы создали ранее:

1. Скрипты генерации данных #

Используя хранилище событий из нашего конвейера данных, мы создали скрипты для генерации обучающего набора для нашей рекомендательной модели. Это позволяет нам использовать реальные данные о взаимодействии пользователей для обучения нашей модели.

2. Spark ML-lib для обучения модели #

Мы настроили систему на базе Spark ML-lib для обучения модели. В настоящее время мы используем коллаборативную фильтрацию, которую можно быстро обучить всего за 3-4 дня данных. Это позволяет нам часто обновлять нашу модель, обеспечивая актуальность наших рекомендаций.

3. Веб-сервис рекомендаций #

Мы создали веб-сервис, который предоставляет рекомендации статей на основе идентификаторов пользователей. Чтобы решить проблему высокой задержки при загрузке модели в память, мы реализовали стратегию кэширования с использованием Redis. Это обеспечивает быстрое время отклика для наших рекомендаций.

4. Сервис удаления рекомендаций #

Чтобы поддерживать актуальность рекомендаций, мы реализовали сервис, который удаляет просмотренные статьи из рекомендаций пользователя. Этот сервис подключается к Kafka и прослушивает события просмотра, обновляя рекомендации в реальном времени.

Ключевые особенности нашего рекомендательного движка #

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

  2. Обновления в реальном времени: Наша система обновляет рекомендации по мере взаимодействия пользователей с контентом, обеспечивая актуальность.

  3. Масштабируемость: Использование Spark и Redis позволяет нашей системе эффективно обрабатывать большие объемы данных и пользователей.

  4. Гибкость: Наш модульный дизайн позволяет легко заменять алгоритм рекомендаций или добавлять новые функции в будущем.

Реализация и результаты #

Интеграция рекомендательного движка с платформой Momspresso была простой. Мы внесли небольшое изменение в конфигурацию Nginx, чтобы использовать наш новый веб-сервис рекомендаций в качестве API для одной из лент на производственном сайте.

Первые результаты были многообещающими:

  • Повышенная вовлеченность: Пользователи проводят больше времени на платформе, читая больше статей за сеанс.
  • Улучшенное обнаружение: Пользователи находят и взаимодействуют с более широким разнообразием контента.
  • Повышенная удовлетворенность пользователей: Первоначальные отзывы показывают, что пользователи находят персонализированные рекомендации ценными.

Взгляд в будущее #

По мере того как мы продолжаем совершенствовать наш рекомендательный движок, мы с нетерпением ожидаем нескольких будущих улучшений:

  1. Мультимодельный подход: Реализация различных рекомендательных моделей для разных типов контента или сегментов пользователей.
  2. Фильтрация на основе контента: Включение характеристик статей для улучшения рекомендаций, особенно для нового или нишевого контента.
  3. Фреймворк A/B-тестирования: Создание системы для легкого тестирования различных стратегий рекомендаций.

Постоянно улучшая наш рекомендательный движок, мы помогаем Momspresso предоставлять больше ценности своим пользователям, удерживая их вовлеченными и заставляя возвращаться за более персонализированным контентом.

Следите за нашим следующим постом, где мы обсудим, как мы используем конвейер данных и рекомендательный движок для получения полезных идей для контент-стратегии Momspresso!