Spring naar inhoud
  1. Writings/

Gepersonaliseerde inhoud aandrijven: Momspresso's nieuwe aanbevelingsengine

In de huidige inhoudsrijke digitale wereld is het cruciaal om de juiste inhoud op het juiste moment aan de juiste gebruiker te leveren. Voortbouwend op ons eerdere werk aan Momspresso’s datapipeline, hebben we nu een krachtige aanbevelingsengine geïmplementeerd die inhoud personaliseert voor miljoenen Momspresso-gebruikers. Laten we eens kijken hoe we dit systeem hebben gebouwd.

De uitdaging #

Momspresso had een aanbevelingssysteem nodig dat:

  1. Grote hoeveelheden gebruikersinteractiegegevens kon verwerken
  2. Snel gepersonaliseerde artikelaanbevelingen kon genereren
  3. Aanbevelingen in realtime kon updaten terwijl gebruikers met inhoud interacteren
  4. Kon schalen om miljoenen gebruikers en artikelen te verwerken

Onze oplossing: Een door Spark aangedreven aanbevelingsengine #

We hebben een aanbevelingssysteem met meerdere componenten ontworpen dat gebruikmaakt van de datapipeline die we eerder hebben gebouwd:

1. Scripts voor gegevensgeneratie #

Met behulp van de eventopslag uit onze datapipeline hebben we scripts gemaakt om de trainingsset voor ons aanbevelingsmodel te genereren. Hierdoor kunnen we echte gebruikersinteractiegegevens gebruiken om ons model te trainen.

2. Spark ML-lib voor modeltraining #

We hebben een op Spark ML-lib gebaseerd systeem opgezet voor modeltraining. We gebruiken momenteel collaboratieve filtering, die snel kan worden getraind met slechts 3-4 dagen aan gegevens. Hierdoor kunnen we ons model frequent updaten, zodat onze aanbevelingen relevant blijven.

3. Aanbevelingswebservice #

We hebben een webservice gebouwd die artikelaanbevelingen levert op basis van gebruikers-ID’s. Om de hoge latentie van het laden van het model in het geheugen aan te pakken, hebben we een cachingstrategie geïmplementeerd met behulp van Redis. Dit zorgt voor snelle responstijden voor onze aanbevelingen.

4. Service voor het verwijderen van aanbevelingen #

Om aanbevelingen actueel te houden, hebben we een service geïmplementeerd die bekeken artikelen uit de aanbevelingen van een gebruiker verwijdert. Deze service maakt verbinding met Kafka en luistert naar weergavegebeurtenissen, waarbij de aanbevelingen in realtime worden bijgewerkt.

Belangrijke kenmerken van onze aanbevelingsengine #

  1. Personalisatie: Door gebruik te maken van collaboratieve filtering kunnen we op maat gemaakte aanbevelingen doen op basis van het gedrag van vergelijkbare gebruikers.

  2. Realtime updates: Ons systeem werkt aanbevelingen bij terwijl gebruikers met inhoud interacteren, wat de relevantie waarborgt.

  3. Schaalbaarheid: Het gebruik van Spark en Redis stelt ons systeem in staat om grote hoeveelheden gegevens en gebruikers efficiënt te verwerken.

  4. Flexibiliteit: Ons modulaire ontwerp stelt ons in staat om het aanbevelingsalgoritme eenvoudig te vervangen of nieuwe functies toe te voegen in de toekomst.

Implementatie en resultaten #

Het integreren van de aanbevelingsengine met het platform van Momspresso was eenvoudig. We hebben een kleine configuratiewijziging in Nginx aangebracht om onze nieuwe aanbevelingswebservice te gebruiken als de API voor een van de feeds op de productiewebsite.

De eerste resultaten zijn veelbelovend:

  • Verhoogde betrokkenheid: Gebruikers brengen meer tijd door op het platform en lezen meer artikelen per sessie.
  • Verbeterde ontdekking: Gebruikers vinden en interacteren met een grotere verscheidenheid aan inhoud.
  • Verbeterde gebruikerstevredenheid: Eerste feedback suggereert dat gebruikers de gepersonaliseerde aanbevelingen waardevol vinden.

Vooruitblik #

Terwijl we onze aanbevelingsengine blijven verfijnen, zijn we enthousiast over verschillende toekomstige verbeteringen:

  1. Multi-model aanpak: Implementatie van verschillende aanbevelingsmodellen voor verschillende soorten inhoud of gebruikerssegmenten.
  2. Op inhoud gebaseerde filtering: Integratie van artikelkenmerken om aanbevelingen te verbeteren, vooral voor nieuwe of niche-inhoud.
  3. A/B-testframework: Een systeem bouwen om gemakkelijk verschillende aanbevelingsstrategieën te testen.

Door onze aanbevelingsengine voortdurend te verbeteren, helpen we Momspresso meer waarde te leveren aan hun gebruikers, waardoor ze betrokken blijven en terugkomen voor meer gepersonaliseerde inhoud.

Blijf op de hoogte voor ons volgende bericht, waarin we zullen bespreken hoe we de datapipeline en aanbevelingsengine gebruiken om bruikbare inzichten af te leiden voor Momspresso’s inhoudsstrategie!