![]() | ![]() | ![]() |
Spersonalizowane rekomendacje są szeroko stosowane w różnych przypadkach użycia na urządzeniach mobilnych, takich jak pobieranie treści multimedialnych, sugerowanie produktów zakupowych i rekomendacja następnej aplikacji. Jeśli jesteś zainteresowany dostarczaniem spersonalizowanych rekomendacji w swojej aplikacji przy jednoczesnym poszanowaniu prywatności użytkownika, zalecamy zapoznanie się z poniższym przykładem i zestawem narzędzi.
Zaczynaj
Udostępniamy przykładową aplikację TensorFlow Lite, która pokazuje, jak polecać odpowiednie elementy użytkownikom systemu Android.
Jeśli korzystasz z platformy innej niż Android lub znasz już interfejsy API TensorFlow Lite, możesz pobrać nasz początkowy model rekomendacji.
Udostępniamy również skrypt szkoleniowy w Github, aby trenować własny model w konfigurowalny sposób.
Zrozum architekturę modelu
Wykorzystujemy architekturę modelu z dwoma koderami, z koderem kontekstowym do kodowania sekwencyjnej historii użytkownika i koderem etykiet do kodowania przewidywanego kandydata na rekomendację. Podobieństwo między kodowaniem kontekstowym i etykietowym służy do reprezentowania prawdopodobieństwa, że przewidywany kandydat spełnia potrzeby użytkownika.
Ta baza kodu zapewnia trzy różne techniki sekwencyjnego kodowania historii użytkownika:
- Koder Bag-of-words (BOW): uśrednianie osadzonych działań użytkownika bez uwzględniania kolejności kontekstu.
- Enkoder splotowych sieci neuronowych (CNN): zastosowanie wielu warstw splotowych sieci neuronowych do generowania kodowania kontekstowego.
- Rekurencyjny koder sieci neuronowej (RNN): zastosowanie rekurencyjnej sieci neuronowej do kodowania sekwencji kontekstu.
Aby modelować aktywność każdego użytkownika, możemy użyć identyfikatora elementu aktywności (na podstawie identyfikatora) lub wielu funkcji elementu (na podstawie funkcji) lub kombinacji obu. Model oparty na funkcjach wykorzystujący wiele funkcji do wspólnego kodowania zachowań użytkowników. Dzięki tej bazie kodu można w konfigurowalny sposób tworzyć modele oparte na identyfikatorach lub funkcjach.
Po przeszkoleniu zostanie wyeksportowany model TensorFlow Lite, który może bezpośrednio dostarczyć najlepszych prognoz wśród kandydatów do rekomendacji.
Wykorzystaj swoje dane treningowe
Oprócz trenowanego modelu udostępniamy zestaw narzędzi typu open source w usłudze GitHub do trenowania modeli z własnymi danymi. Możesz skorzystać z tego samouczka, aby dowiedzieć się, jak korzystać z zestawu narzędzi i wdrażać przeszkolone modele we własnych aplikacjach mobilnych.
Postępuj zgodnie z tym samouczkiem , aby zastosować tę samą technikę, którą zastosowano tutaj, do trenowania modelu rekomendacji przy użyciu własnych zestawów danych.
Przykłady
Jako przykłady przeszkoliliśmy modele rekomendacji z podejściem opartym na identyfikatorach i funkcjach. Model oparty na identyfikatorach przyjmuje jako dane wejściowe tylko identyfikatory filmów, a model oparty na funkcjach przyjmuje jako dane wejściowe zarówno identyfikatory filmów, jak i identyfikatory gatunku filmu. Poniżej znajdują się przykłady wejść i wyjść.
Wejścia
Identyfikatory filmów kontekstowych:
- Król Lew (ID: 362)
- Toy Story (ID: 1)
- (i więcej)
Kontekstowe identyfikatory gatunku filmu:
- Animacja (ID: 15)
- Dziecięce (ID: 9)
- Musical (ID: 13)
- Animacja (ID: 15)
- Dziecięce (ID: 9)
- Komedia (ID: 2)
- (i więcej)
Wyjścia:
- Zalecane identyfikatory filmów:
- Toy Story 2 (ID: 3114)
- (i więcej)
Testy wydajności
Wyniki testów wydajności są generowane za pomocą opisanego tutaj narzędzia.
Nazwa modelu | Rozmiar modelu | Urządzenie | procesor |
---|---|---|---|
rekomendacja (identyfikator filmu jako dane wejściowe) | 0,52 Mb | Piksel 3 | 0,09ms* |
Piksel 4 | 0,05ms* | ||
rekomendacja (identyfikator filmu i gatunek filmu jako dane wejściowe) | 1,3 Mb | Piksel 3 | 0.13ms* |
Piksel 4 | 0,06ms* |
* 4 wątki użyte.
Wykorzystaj swoje dane treningowe
Oprócz trenowanego modelu udostępniamy zestaw narzędzi typu open source w usłudze GitHub do trenowania modeli z własnymi danymi. Możesz skorzystać z tego samouczka, aby dowiedzieć się, jak korzystać z zestawu narzędzi i wdrażać przeszkolone modele we własnych aplikacjach mobilnych.
Postępuj zgodnie z tym samouczkiem , aby zastosować tę samą technikę, którą zastosowano tutaj, do trenowania modelu rekomendacji przy użyciu własnych zestawów danych.
Wskazówki dotyczące dostosowywania modelu za pomocą danych
Wstępnie wytrenowany model zintegrowany z tą aplikacją demonstracyjną jest szkolony za pomocą zestawu danych MovieLens , możesz chcieć zmodyfikować konfigurację modelu w oparciu o własne dane, takie jak rozmiar słownictwa, wymary osadzania i długość kontekstu wejściowego. Oto kilka wskazówek:
Długość kontekstu wejściowego: najlepsza długość kontekstu wejściowego zależy od zestawów danych. Sugerujemy wybór długości kontekstu wejściowego na podstawie tego, jak bardzo zdarzenia etykiet są skorelowane z zainteresowaniami długoterminowymi w porównaniu z kontekstem krótkoterminowym.
Wybór typu enkodera: sugerujemy wybór typu enkodera na podstawie długości kontekstu wejściowego. Enkoder Bag-of-words działa dobrze dla krótkiej długości kontekstu wejściowego (np. <10), kodery CNN i RNN zapewniają większą zdolność podsumowania dla długiej długości kontekstu wejściowego.
Używanie podstawowych funkcji do reprezentowania elementów lub działań użytkownika może poprawić wydajność modelu, lepiej pomieścić nowe elementy, być może zmniejszyć skalowanie przestrzeni osadzania, a tym samym zmniejszyć zużycie pamięci i być bardziej przyjazne dla urządzenia.