Преминаване към основното съдържание
  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!