Hoppa till huvudinnehåll
  1. Mina skrifter/

Driva personaliserat innehåll: Momspressos nya rekommendationsmotor

I dagens innehållsrika digitala värld är det avgörande att leverera rätt innehåll till rätt användare vid rätt tidpunkt. Baserat på vårt tidigare arbete med Momspressos dataflöde har vi nu implementerat en kraftfull rekommendationsmotor som personaliserar innehåll för miljontals Momspresso-användare. Låt oss dyka in i hur vi byggde detta system.

Utmaningen #

Momspresso behövde ett rekommendationssystem som kunde:

  1. Bearbeta stora volymer av användarinteraktionsdata
  2. Generera personaliserade artikelrekommendationer snabbt
  3. Uppdatera rekommendationer i realtid när användare interagerar med innehåll
  4. Skala för att hantera miljontals användare och artiklar

Vår lösning: En Spark-driven rekommendationsmotor #

Vi designade ett rekommendationssystem med flera komponenter som utnyttjar dataflödet vi byggde tidigare:

1. Datagenererings-skript #

Med hjälp av händelselagret från vårt dataflöde skapade vi skript för att generera träningsuppsättningen för vår rekommendationsmodell. Detta gör att vi kan använda verklig användarinteraktionsdata för att träna vår modell.

2. Spark ML-lib för modellträning #

Vi satte upp ett Spark ML-lib-baserat system för modellträning. Vi använder för närvarande kollaborativ filtrering, som kan tränas snabbt med bara 3-4 dagars data. Detta gör att vi kan uppdatera vår modell ofta, vilket säkerställer att våra rekommendationer förblir relevanta.

3. Rekommendations-webbtjänst #

Vi byggde en webbtjänst som levererar artikelrekommendationer baserat på användar-ID:n. För att hantera den höga latensen vid inläsning av modellen i minnet implementerade vi en cachningsstrategi med Redis. Detta säkerställer snabba svarstider för våra rekommendationer.

4. Ta bort rekommendationstjänst #

För att hålla rekommendationerna färska implementerade vi en tjänst som tar bort visade artiklar från en användares rekommendationer. Denna tjänst ansluter till Kafka och lyssnar efter visningshändelser, vilket uppdaterar rekommendationerna i realtid.

Nyckelfunktioner i vår rekommendationsmotor #

  1. Personalisering: Genom att använda kollaborativ filtrering kan vi ge skräddarsydda rekommendationer baserat på liknande användares beteenden.

  2. Realtidsuppdateringar: Vårt system uppdaterar rekommendationer när användare interagerar med innehåll, vilket säkerställer relevans.

  3. Skalbarhet: Användningen av Spark och Redis gör att vårt system effektivt kan hantera stora volymer av data och användare.

  4. Flexibilitet: Vår modulära design gör att vi enkelt kan byta ut rekommendationsalgoritmen eller lägga till nya funktioner i framtiden.

Implementering och resultat #

Att integrera rekommendationsmotorn med Momspressos plattform var okomplicerat. Vi gjorde en liten konfigurationsändring i Nginx för att använda vår nya rekommendations-webbtjänst som API för ett av flödena på produktionswebbplatsen.

Tidiga resultat har varit lovande:

  • Ökat engagemang: Användare spenderar mer tid på plattformen och läser fler artiklar per session.
  • Förbättrad upptäckt: Användare hittar och engagerar sig i en större variation av innehåll.
  • Förbättrad användarbelåtenhet: Initial feedback tyder på att användare finner de personaliserade rekommendationerna värdefulla.

Framtidsutsikter #

När vi fortsätter att förfina vår rekommendationsmotor ser vi fram emot flera framtida förbättringar:

  1. Multimodell-approach: Implementera olika rekommendationsmodeller för olika typer av innehåll eller användarsegment.
  2. Innehållsbaserad filtrering: Inkorporera artikelegenskaper för att förbättra rekommendationer, särskilt för nytt eller nischat innehåll.
  3. A/B-testningsramverk: Bygga ett system för att enkelt testa olika rekommendationsstrategier.

Genom att kontinuerligt förbättra vår rekommendationsmotor hjälper vi Momspresso att leverera mer värde till sina användare, hålla dem engagerade och få dem att återkomma för mer personaliserat innehåll.

Håll utkik efter vårt nästa inlägg, där vi kommer att diskutera hur vi använder dataflödet och rekommendationsmotorn för att härleda användbara insikter för Momspressos innehållsstrategi!