W dzisiejszym bogatym w treści świecie cyfrowym, dostarczanie odpowiednich treści odpowiedniemu użytkownikowi w odpowiednim czasie jest kluczowe. Bazując na naszej wcześniejszej pracy nad potokiem danych Momspresso, zaimplementowaliśmy teraz potężny silnik rekomendacji, który personalizuje treści dla milionów użytkowników Momspresso. Przyjrzyjmy się, jak zbudowaliśmy ten system.
Wyzwanie#
Momspresso potrzebowało systemu rekomendacji, który mógłby:
- Przetwarzać duże ilości danych o interakcjach użytkowników
- Szybko generować spersonalizowane rekomendacje artykułów
- Aktualizować rekomendacje w czasie rzeczywistym, gdy użytkownicy wchodzą w interakcję z treściami
- Skalować się, aby obsłużyć miliony użytkowników i artykułów
Nasze Rozwiązanie: Silnik Rekomendacji Oparty na Spark#
Zaprojektowaliśmy wielokomponentowy system rekomendacji, który wykorzystuje potok danych, który wcześniej zbudowaliśmy:
1. Skrypty Generowania Danych#
Korzystając z magazynu zdarzeń z naszego potoku danych, stworzyliśmy skrypty do generowania zestawu treningowego dla naszego modelu rekomendacji. Pozwala to nam wykorzystać rzeczywiste dane o interakcjach użytkowników do trenowania naszego modelu.
2. Spark ML-lib do Trenowania Modelu#
Skonfigurowaliśmy system oparty na Spark ML-lib do trenowania modelu. Obecnie używamy filtrowania kolaboratywnego, które można szybko trenować, używając tylko 3-4 dni danych. Pozwala to nam często aktualizować nasz model, zapewniając aktualność naszych rekomendacji.
3. Usługa Internetowa Rekomendacji#
Zbudowaliśmy usługę internetową, która dostarcza rekomendacje artykułów na podstawie identyfikatorów użytkowników. Aby rozwiązać problem wysokiego opóźnienia ładowania modelu do pamięci, zaimplementowaliśmy strategię buforowania przy użyciu Redis. Zapewnia to szybki czas odpowiedzi dla naszych rekomendacji.
4. Usługa Usuwania Rekomendacji#
Aby utrzymać świeżość rekomendacji, zaimplementowaliśmy usługę, która usuwa przeglądane artykuły z rekomendacji użytkownika. Ta usługa łączy się z Kafka i nasłuchuje zdarzeń przeglądania, aktualizując rekomendacje w czasie rzeczywistym.
Kluczowe Cechy Naszego Silnika Rekomendacji#
Personalizacja: Dzięki wykorzystaniu filtrowania kolaboratywnego możemy dostarczać dostosowane rekomendacje na podstawie zachowań podobnych użytkowników.
Aktualizacje w Czasie Rzeczywistym: Nasz system aktualizuje rekomendacje w miarę interakcji użytkowników z treściami, zapewniając ich aktualność.
Skalowalność: Wykorzystanie Spark i Redis pozwala naszemu systemowi efektywnie obsługiwać duże ilości danych i użytkowników.
Elastyczność: Nasza modularna konstrukcja pozwala nam łatwo wymienić algorytm rekomendacji lub dodać nowe funkcje w przyszłości.
Wdrożenie i Wyniki#
Integracja silnika rekomendacji z platformą Momspresso była prosta. Dokonaliśmy niewielkiej zmiany konfiguracji w Nginx, aby używać naszej nowej usługi internetowej rekomendacji jako API dla jednego z kanałów na stronie produkcyjnej.
Wczesne wyniki są obiecujące:
- Zwiększone Zaangażowanie: Użytkownicy spędzają więcej czasu na platformie, czytając więcej artykułów na sesję.
- Ulepszone Odkrywanie: Użytkownicy znajdują i angażują się w szerszy zakres treści.
- Zwiększona Satysfakcja Użytkowników: Wstępne opinie sugerują, że użytkownicy uważają spersonalizowane rekomendacje za wartościowe.
Patrząc w Przyszłość#
Kontynuując doskonalenie naszego silnika rekomendacji, jesteśmy podekscytowani kilkoma przyszłymi ulepszeniami:
- Podejście Wielomodelowe: Wdrożenie różnych modeli rekomendacji dla różnych typów treści lub segmentów użytkowników.
- Filtrowanie Oparte na Treści: Włączenie cech artykułów w celu poprawy rekomendacji, szczególnie dla nowych lub niszowych treści.
- Framework Testów A/B: Budowa systemu do łatwego testowania różnych strategii rekomendacji.
Poprzez ciągłe ulepszanie naszego silnika rekomendacji, pomagamy Momspresso dostarczać więcej wartości swoim użytkownikom, utrzymując ich zaangażowanie i zachęcając do powrotu po więcej spersonalizowanych treści.
Bądźcie czujni na nasz następny post, w którym omówimy, jak wykorzystujemy potok danych i silnik rekomendacji do uzyskiwania praktycznych spostrzeżeń dla strategii treści Momspresso!