Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Recommendation

Spersonalizowane rekomendacje są szeroko stosowane w różnych przypadkach użycia na urządzeniach mobilnych, takich jak pobieranie treści multimedialnych, sugestie dotyczące zakupów 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.

Przykład Androida

Jeśli korzystasz z platformy innej niż Android lub znasz już interfejsy API TensorFlow Lite, możesz pobrać nasz model rekomendacji dla początkujących.

Pobierz model startowy

Udostępniamy również skrypt szkoleniowy w serwisie Github do trenowania własnego modelu.

Kod szkolenia

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 etykietą służy do reprezentowania prawdopodobieństwa, że ​​przewidywany kandydat spełni potrzeby użytkownika.

Ta baza kodu zawiera trzy różne techniki sekwencyjnego kodowania historii użytkownika:

  • Koder worka słów (BOW): uśrednianie osadzania działań użytkownika bez uwzględniania kolejności kontekstu.
  • Konwolucyjny koder sieci neuronowej (CNN): zastosowanie wielu warstw konwolucyjnych sieci neuronowych do generowania kodowania kontekstowego.
  • Rekurencyjny koder sieci neuronowej (RNN): zastosowanie rekurencyjnej sieci neuronowej do kodowania sekwencji kontekstu.

Przykłady

Identyfikatory wejść:

  • Macierz (ID: 260)
  • Szeregowiec Ryan (ID: 2028)
  • (i więcej)

Identyfikatory wyjść:

  • Gwiezdne wojny: Część VI - Powrót Jedi (ID: 1210)
  • (i więcej)

Testy wydajności

Numery testów wydajności są generowane za pomocą opisanego tutaj narzędzia.

Nazwa modelu Rozmiar modelu Urządzenie procesor
rekomendacje 0,52 Mb Pixel 3 0,09 ms *
Pixel 4 0,05 ms *

* 4 używane nici.

Użyj danych treningowych

Oprócz wytrenowanego modelu udostępniamy zestaw narzędzi o otwartym kodzie źródłowym 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ć wytrenowane modele we własnych aplikacjach mobilnych.

Postępuj zgodnie z tym samouczkiem, aby zastosować tę samą technikę, co w przypadku 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 na podstawie własnych danych, takich jak rozmiar vocab, osadzanie dims 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 na etykiecie są skorelowane z długoterminowymi zainteresowaniami w porównaniu z kontekstem krótkoterminowym.

  • Wybór typu enkodera: sugerujemy wybór typu enkodera na podstawie długości kontekstu wejściowego. Koder typu bag-of-words działa dobrze w przypadku krótkich kontekstów wejściowych (np. <10), kodery CNN i RNN zapewniają większą zdolność podsumowania dla długich kontekstów wejściowych.