Pohon personalizovaného obsahu: Nový doporučovací systém Momspresso
V dnešním digitálním světě bohatém na obsah je klíčové doručit správný obsah správnému uživateli ve správný čas. Na základě naší dřívější práce na datovém potrubí Momspresso jsme nyní implementovali výkonný doporučovací systém, který personalizuje obsah pro miliony uživatelů Momspresso. Pojďme se podívat, jak jsme tento systém vytvořili.
Výzva #
Momspresso potřebovalo doporučovací systém, který by mohl:
- Zpracovávat velké objemy dat o interakcích uživatelů
- Rychle generovat personalizovaná doporučení článků
- Aktualizovat doporučení v reálném čase, jak uživatelé interagují s obsahem
- Škálovat se pro zvládnutí milionů uživatelů a článků
Naše řešení: Doporučovací systém poháněný Sparkem #
Navrhli jsme vícesložkový doporučovací systém, který využívá datové potrubí, které jsme dříve vytvořili:
1. Skripty pro generování dat #
Pomocí úložiště událostí z našeho datového potrubí jsme vytvořili skripty pro generování trénovací sady pro náš doporučovací model. To nám umožňuje použít skutečná data o interakcích uživatelů k trénování našeho modelu.
2. Spark ML-lib pro trénování modelu #
Nastavili jsme systém založený na Spark ML-lib pro trénování modelu. V současné době používáme kolaborativní filtrování, které lze rychle natrénovat s pouhými 3-4 dny dat. To nám umožňuje často aktualizovat náš model, zajišťujíc, že naše doporučení zůstávají relevantní.
3. Webová služba pro doporučení #
Vytvořili jsme webovou službu, která poskytuje doporučení článků na základě ID uživatelů. Abychom vyřešili vysokou latenci načítání modelu do paměti, implementovali jsme strategii ukládání do mezipaměti pomocí Redis. To zajišťuje rychlé doby odezvy pro naše doporučení.
4. Služba pro mazání doporučení #
Abychom udrželi doporučení aktuální, implementovali jsme službu, která odstraňuje zobrazené články z doporučení uživatele. Tato služba se připojuje ke Kafce a naslouchá událostem zobrazení, aktualizujíc doporučení v reálném čase.
Klíčové funkce našeho doporučovacího systému #
Personalizace: Použitím kolaborativního filtrování můžeme poskytovat přizpůsobená doporučení na základě chování podobných uživatelů.
Aktualizace v reálném čase: Náš systém aktualizuje doporučení, jak uživatelé interagují s obsahem, zajišťujíc relevanci.
Škálovatelnost: Použití Sparku a Redis umožňuje našemu systému efektivně zpracovávat velké objemy dat a uživatelů.
Flexibilita: Náš modulární design nám umožňuje snadno vyměnit doporučovací algoritmus nebo přidat nové funkce v budoucnu.
Implementace a výsledky #
Integrace doporučovacího systému s platformou Momspresso byla jednoduchá. Provedli jsme malou změnu konfigurace v Nginx, abychom použili naši novou webovou službu pro doporučení jako API pro jeden z kanálů na produkčním webu.
Počáteční výsledky jsou slibné:
- Zvýšená angažovanost: Uživatelé tráví na platformě více času a čtou více článků za relaci.
- Zlepšené objevování: Uživatelé nacházejí a zapojují se do širší škály obsahu.
- Zvýšená spokojenost uživatelů: Počáteční zpětná vazba naznačuje, že uživatelé považují personalizovaná doporučení za hodnotná.
Výhled do budoucna #
Jak pokračujeme ve zdokonalování našeho doporučovacího systému, těšíme se na několik budoucích vylepšení:
- Přístup s více modely: Implementace různých doporučovacích modelů pro různé typy obsahu nebo segmenty uživatelů.
- Filtrování založené na obsahu: Začlenění funkcí článků pro zlepšení doporučení, zejména pro nový nebo nišový obsah.
- Framework pro A/B testování: Vytvoření systému pro snadné testování různých doporučovacích strategií.
Neustálým zlepšováním našeho doporučovacího systému pomáháme Momspresso poskytovat větší hodnotu jejich uživatelům, udržovat je zapojené a vracet se pro více personalizovaného obsahu.
Zůstaňte naladěni na náš další příspěvek, kde budeme diskutovat o tom, jak používáme datové potrubí a doporučovací systém k odvození praktických poznatků pro obsahovou strategii Momspresso!