- Dipankar Sarkar: Un tecnólogo y emprendedor/
- Writings/
- Impulsando el Contenido Personalizado: El Nuevo Motor de Recomendación de Momspresso/
Impulsando el Contenido Personalizado: El Nuevo Motor de Recomendación de Momspresso
Tabla de contenido
En el mundo digital actual rico en contenido, entregar el contenido adecuado al usuario correcto en el momento oportuno es crucial. Basándonos en nuestro trabajo anterior en el pipeline de datos de Momspresso, ahora hemos implementado un potente motor de recomendación que personaliza el contenido para millones de usuarios de Momspresso. Veamos cómo construimos este sistema.
El Desafío #
Momspresso necesitaba un sistema de recomendación que pudiera:
- Procesar grandes volúmenes de datos de interacción de usuarios
- Generar recomendaciones de artículos personalizadas rápidamente
- Actualizar las recomendaciones en tiempo real a medida que los usuarios interactúan con el contenido
- Escalar para manejar millones de usuarios y artículos
Nuestra Solución: Un Motor de Recomendación Impulsado por Spark #
Diseñamos un sistema de recomendación de múltiples componentes que aprovecha el pipeline de datos que construimos anteriormente:
1. Scripts de Generación de Datos #
Utilizando el almacén de eventos de nuestro pipeline de datos, creamos scripts para generar el conjunto de entrenamiento para nuestro modelo de recomendación. Esto nos permite utilizar datos reales de interacción de usuarios para entrenar nuestro modelo.
2. Spark ML-lib para el Entrenamiento del Modelo #
Configuramos un sistema basado en Spark ML-lib para el entrenamiento del modelo. Actualmente estamos utilizando filtrado colaborativo, que se puede entrenar rápidamente con solo 3-4 días de datos. Esto nos permite actualizar nuestro modelo con frecuencia, asegurando que nuestras recomendaciones se mantengan relevantes.
3. Servicio Web de Recomendación #
Construimos un servicio web que sirve recomendaciones de artículos basadas en IDs de usuario. Para abordar la alta latencia de cargar el modelo en memoria, implementamos una estrategia de caché utilizando Redis. Esto asegura tiempos de respuesta rápidos para nuestras recomendaciones.
4. Servicio de Eliminación de Recomendaciones #
Para mantener las recomendaciones frescas, implementamos un servicio que elimina los artículos vistos de las recomendaciones de un usuario. Este servicio se conecta a Kafka y escucha eventos de visualización, actualizando las recomendaciones en tiempo real.
Características Clave de Nuestro Motor de Recomendación #
Personalización: Al utilizar filtrado colaborativo, podemos proporcionar recomendaciones adaptadas basadas en los comportamientos de usuarios similares.
Actualizaciones en Tiempo Real: Nuestro sistema actualiza las recomendaciones a medida que los usuarios interactúan con el contenido, asegurando la relevancia.
Escalabilidad: El uso de Spark y Redis permite que nuestro sistema maneje grandes volúmenes de datos y usuarios de manera eficiente.
Flexibilidad: Nuestro diseño modular nos permite cambiar fácilmente el algoritmo de recomendación o agregar nuevas características en el futuro.
Implementación y Resultados #
La integración del motor de recomendación con la plataforma de Momspresso fue sencilla. Hicimos un pequeño cambio de configuración en Nginx para utilizar nuestro nuevo servicio web de recomendación como la API para uno de los feeds en el sitio web de producción.
Los resultados iniciales han sido prometedores:
- Mayor Compromiso: Los usuarios están pasando más tiempo en la plataforma, leyendo más artículos por sesión.
- Mejor Descubrimiento: Los usuarios están encontrando y participando con una mayor variedad de contenido.
- Mayor Satisfacción del Usuario: Los comentarios iniciales sugieren que los usuarios encuentran valiosas las recomendaciones personalizadas.
Mirando hacia el Futuro #
A medida que continuamos refinando nuestro motor de recomendación, estamos entusiasmados con varias mejoras futuras:
- Enfoque Multi-modelo: Implementar diferentes modelos de recomendación para diferentes tipos de contenido o segmentos de usuarios.
- Filtrado Basado en Contenido: Incorporar características de los artículos para mejorar las recomendaciones, especialmente para contenido nuevo o de nicho.
- Marco de Pruebas A/B: Construir un sistema para probar fácilmente diferentes estrategias de recomendación.
Al mejorar continuamente nuestro motor de recomendación, estamos ayudando a Momspresso a ofrecer más valor a sus usuarios, manteniéndolos comprometidos y haciendo que vuelvan por más contenido personalizado.
¡Estén atentos a nuestra próxima publicación, donde discutiremos cómo estamos utilizando el pipeline de datos y el motor de recomendación para obtener insights accionables para la estrategia de contenido de Momspresso!