Nel mondo digitale ricco di contenuti di oggi, fornire il contenuto giusto all’utente giusto al momento giusto è cruciale. Basandoci sul nostro precedente lavoro sulla pipeline di dati di Momspresso, abbiamo ora implementato un potente motore di raccomandazione che personalizza i contenuti per milioni di utenti di Momspresso. Vediamo come abbiamo costruito questo sistema.
La Sfida#
Momspresso aveva bisogno di un sistema di raccomandazione che potesse:
- Elaborare grandi volumi di dati di interazione degli utenti
- Generare rapidamente raccomandazioni di articoli personalizzate
- Aggiornare le raccomandazioni in tempo reale mentre gli utenti interagiscono con i contenuti
- Scalare per gestire milioni di utenti e articoli
La Nostra Soluzione: Un Motore di Raccomandazione Alimentato da Spark#
Abbiamo progettato un sistema di raccomandazione multi-componente che sfrutta la pipeline di dati che abbiamo costruito in precedenza:
1. Script di Generazione dei Dati#
Utilizzando l’archivio eventi dalla nostra pipeline di dati, abbiamo creato script per generare il set di addestramento per il nostro modello di raccomandazione. Questo ci permette di utilizzare dati reali di interazione degli utenti per addestrare il nostro modello.
2. Spark ML-lib per l’Addestramento del Modello#
Abbiamo configurato un sistema basato su Spark ML-lib per l’addestramento del modello. Attualmente stiamo utilizzando il filtraggio collaborativo, che può essere addestrato rapidamente con soli 3-4 giorni di dati. Questo ci permette di aggiornare frequentemente il nostro modello, assicurando che le nostre raccomandazioni rimangano rilevanti.
3. Servizio Web di Raccomandazione#
Abbiamo costruito un servizio web che fornisce raccomandazioni di articoli basate sugli ID degli utenti. Per affrontare l’elevata latenza del caricamento del modello in memoria, abbiamo implementato una strategia di caching utilizzando Redis. Questo garantisce tempi di risposta rapidi per le nostre raccomandazioni.
4. Servizio di Eliminazione delle Raccomandazioni#
Per mantenere fresche le raccomandazioni, abbiamo implementato un servizio che rimuove gli articoli visualizzati dalle raccomandazioni di un utente. Questo servizio si connette a Kafka e ascolta gli eventi di visualizzazione, aggiornando le raccomandazioni in tempo reale.
Caratteristiche Chiave del Nostro Motore di Raccomandazione#
Personalizzazione: Utilizzando il filtraggio collaborativo, possiamo fornire raccomandazioni su misura basate sui comportamenti di utenti simili.
Aggiornamenti in Tempo Reale: Il nostro sistema aggiorna le raccomandazioni mentre gli utenti interagiscono con i contenuti, garantendo la rilevanza.
Scalabilità: L’uso di Spark e Redis permette al nostro sistema di gestire efficientemente grandi volumi di dati e utenti.
Flessibilità: Il nostro design modulare ci permette di sostituire facilmente l’algoritmo di raccomandazione o aggiungere nuove funzionalità in futuro.
Implementazione e Risultati#
L’integrazione del motore di raccomandazione con la piattaforma di Momspresso è stata semplice. Abbiamo apportato una piccola modifica di configurazione in Nginx per utilizzare il nostro nuovo servizio web di raccomandazione come API per uno dei feed sul sito web di produzione.
I primi risultati sono stati promettenti:
- Aumento del Coinvolgimento: Gli utenti trascorrono più tempo sulla piattaforma, leggendo più articoli per sessione.
- Miglioramento della Scoperta: Gli utenti trovano e interagiscono con una più ampia varietà di contenuti.
- Maggiore Soddisfazione degli Utenti: I feedback iniziali suggeriscono che gli utenti trovano preziose le raccomandazioni personalizzate.
Guardando al Futuro#
Mentre continuiamo a perfezionare il nostro motore di raccomandazione, siamo entusiasti di diversi miglioramenti futuri:
- Approccio Multi-modello: Implementare diversi modelli di raccomandazione per diversi tipi di contenuti o segmenti di utenti.
- Filtraggio Basato sui Contenuti: Incorporare le caratteristiche degli articoli per migliorare le raccomandazioni, specialmente per contenuti nuovi o di nicchia.
- Framework di Test A/B: Costruire un sistema per testare facilmente diverse strategie di raccomandazione.
Migliorando continuamente il nostro motore di raccomandazione, stiamo aiutando Momspresso a fornire più valore ai loro utenti, mantenendoli coinvolti e facendoli tornare per contenuti più personalizzati.
Restate sintonizzati per il nostro prossimo post, dove discuteremo di come stiamo utilizzando la pipeline di dati e il motore di raccomandazione per ricavare informazioni utili per la strategia dei contenuti di Momspresso!