Udostępnij za pośrednictwem


Wyniki modułu poleceń Wide and Deep

W tym artykule opisano sposób używania składnika Score Wide and Deep Recommender w projektancie usługi Azure Machine Learning do tworzenia przewidywań na podstawie wytrenowanego modelu rekomendacji na podstawie uczenia głębokiego i szerokiego od firmy Google.

Narzędzie do rekomendowania szerokiego i głębokiego może wygenerować dwa różne rodzaje przewidywań:

Podczas tworzenia tego ostatniego rodzaju przewidywań można pracować w trybie produkcyjnym lub w trybie oceny.

  • Tryb produkcyjny uwzględnia wszystkich użytkowników lub elementy i jest zwykle używany w usłudze internetowej. Możesz tworzyć wyniki dla nowych użytkowników, a nie tylko użytkowników widzianych podczas trenowania.

  • Tryb oceny działa w ograniczonym zestawie użytkowników lub elementów, które można ocenić i jest zwykle używany podczas eksperymentowania.

Więcej szczegółów na temat szerokiego i głębokiego polecania oraz jego podstawowej teorii można znaleźć w odpowiednim dokumencie badawczym: Wide & Deep Learning for Recommender Systems.

How to configure Score Wide and Deep Recommender

Ten składnik obsługuje różne typy zaleceń, z których każdy ma różne wymagania. Kliknij link dla typu posiadanych danych i typu zalecenia, które chcesz utworzyć.

Przewidywanie ocen

Podczas przewidywania klasyfikacji model oblicza sposób, w jaki dany użytkownik będzie reagował na określony element, biorąc pod uwagę dane treningowe. W związku z tym dane wejściowe do oceniania muszą zapewniać zarówno użytkownika, jak i element do oceny.

  1. Dodaj wytrenowany model rekomendacji Szeroki i Głęboki do eksperymentu i połącz go z modelem rekomendacji wytrenowanego szerokiego i głębokiego. Należy utworzyć model przy użyciu narzędzia Train Wide and Deep Recommender.

  2. Rodzaj przewidywania rekomendatora: wybierz pozycję Przewidywanie klasyfikacji. Nie są wymagane żadne dalsze parametry.

  3. Dodaj dane, dla których chcesz przewidywać, i połącz je z zestawem danych w celu oceny.

    Aby przewidzieć klasyfikacje, wejściowy zestaw danych musi zawierać pary elementów użytkownika.

    Zestaw danych może zawierać opcjonalną trzecią kolumnę klasyfikacji dla pary elementów użytkownika w pierwszej i drugiej kolumnie, ale trzecia kolumna zostanie zignorowana podczas przewidywania.

  4. (Opcjonalnie). Jeśli masz zestaw danych funkcji użytkownika, połącz go z funkcjami użytkownika.

    Zestaw danych funkcji użytkownika powinien zawierać identyfikator użytkownika w pierwszej kolumnie. Pozostałe kolumny powinny zawierać wartości, które scharakteryzują użytkowników, takie jak płeć, preferencje, lokalizacja itp.

    Funkcje użytkowników, którzy oceniali elementy w zestawie danych szkoleniowych, są ignorowane przez narzędzie Score Wide and Deep Recommender, ponieważ zostały już poznane podczas trenowania. W związku z tym przefiltruj zestaw danych z wyprzedzeniem, aby uwzględnić tylko użytkowników zimnego startu lub użytkowników, którzy nie ocenili żadnych elementów.

    Ostrzeżenie

    Jeśli model został wytrenowany bez korzystania z funkcji użytkownika, nie można wprowadzać funkcji użytkownika podczas oceniania.

  5. Jeśli masz zestaw danych funkcji elementu, możesz połączyć go z funkcjami elementu.

    Zestaw danych funkcji elementu musi zawierać identyfikator elementu w pierwszej kolumnie. Pozostałe kolumny powinny zawierać wartości, które scharakteryzują elementy.

    Funkcje elementów ocenianych w zestawie danych trenowania są ignorowane przez narzędzie Do oceny szerokiej i głębokiej rekomendacji, ponieważ zostały już poznane podczas trenowania. W związku z tym ogranicz zestaw danych oceniania do elementów zimnych startów lub elementów, które nie zostały ocenione przez żadnych użytkowników.

    Ostrzeżenie

    Jeśli model został wytrenowany bez używania funkcji elementów, nie można wprowadzać funkcji elementów podczas oceniania.

  6. Uruchom eksperyment.

Wyniki prognoz klasyfikacji

Wyjściowy zestaw danych zawiera trzy kolumny, zawierające użytkownika, element i przewidywaną ocenę dla każdego wejściowego użytkownika i elementu.

Ponadto podczas oceniania są stosowane następujące zmiany:

  • W przypadku kolumny funkcji użytkownika liczbowego lub elementu brakujące wartości są automatycznie zastępowane średnią wartości zestawu treningowego, których nie brakuje. W przypadku funkcji kategorii brakujące wartości są zastępowane tą samą wartością kategorii inną niż jakiekolwiek możliwe wartości tej funkcji.
  • Żadne tłumaczenie nie jest stosowane do wartości funkcji, aby zachować rozrzedliwość.

Zalecane elementy

Aby polecić elementy dla użytkowników, należy podać listę użytkowników i elementów jako dane wejściowe. Na podstawie tych danych model wykorzystuje swoją wiedzę na temat istniejących elementów i użytkowników, aby wygenerować listę elementów z prawdopodobnym odwołaniem do każdego użytkownika. Można dostosować liczbę zwróconych zaleceń i ustawić próg liczby poprzednich zaleceń wymaganych w celu wygenerowania zalecenia.

  1. Dodaj przeszkolony model rekomendacji Szeroki i Głęboki do eksperymentu i połącz go z modelem rekomendacji wytrenowanego szerokiego i głębokiego. Należy utworzyć model przy użyciu narzędzia Train Wide and Deep Recommender.

  2. Aby polecić elementy dla danej listy użytkowników, ustaw typ przewidywania modułu rekomendacji na wartość Zalecenie dotyczące elementu.

  3. Wybór zalecanego elementu: określ, czy używasz składnika oceniania w środowisku produkcyjnym, czy do oceny modelu, wybierając jedną z następujących wartości:

    • W obszarze Elementy oceniane (na potrzeby oceny modelu): wybierz tę opcję, jeśli tworzysz lub testujesz model. Ta opcja umożliwia tryb oceny, a składnik udostępnia rekomendacje tylko z tych elementów w wejściowym zestawie danych, które zostały ocenione.
    • W obszarze Wszystkie elementy: wybierz tę opcję, jeśli konfigurujesz eksperyment do użycia w usłudze sieci Web lub środowisku produkcyjnym. Ta opcja umożliwia tryb produkcyjny, a składnik udostępnia rekomendacje ze wszystkich elementów widocznych podczas trenowania.
    • W obszarze Elementy nieocenionych (aby sugerować nowe elementy użytkownikom): wybierz tę opcję, jeśli chcesz, aby składnik składał zalecenia tylko z tych elementów w zestawie danych trenowania, które nie zostały ocenione.
  4. Dodaj zestaw danych, dla którego chcesz utworzyć przewidywania, i połącz go z zestawem danych w celu oceny.

    • Jeśli wybierzesz opcję Z wszystkich elementów, wejściowy zestaw danych powinien składać się z jednej i tylko jednej kolumny zawierającej identyfikatory użytkowników, dla których mają zostać wyświetlone zalecenia.

      Zestaw danych może zawierać dwie dodatkowe kolumny identyfikatorów elementów i klasyfikacji, ale te dwie kolumny są ignorowane.

    • Jeśli wybierzesz opcję Z elementów ocenianych (na potrzeby oceny modelu), wejściowy zestaw danych powinien składać się z par elementów użytkownika. Pierwsza kolumna powinna zawierać identyfikator użytkownika . Druga kolumna powinna zawierać odpowiednie identyfikatory elementów .

      Zestaw danych może zawierać trzecią kolumnę klasyfikacji elementów użytkownika, ale ta kolumna jest ignorowana.

    • W przypadku elementów bez oceny (aby sugerować nowe elementy użytkownikom) wejściowy zestaw danych powinien składać się z par elementów użytkownika. Pierwsza kolumna powinna zawierać identyfikator użytkownika. Druga kolumna powinna zawierać odpowiednie identyfikatory elementów.

      Zestaw danych może zawierać trzecią kolumnę klasyfikacji elementów użytkownika, ale ta kolumna jest ignorowana.

  5. (Opcjonalnie). Jeśli masz zestaw danych funkcji użytkownika, połącz go z funkcjami użytkownika.

    Pierwsza kolumna w zestawie danych funkcji użytkownika powinna zawierać identyfikator użytkownika. Pozostałe kolumny powinny zawierać wartości, które scharakteryzują użytkownika, takie jak płeć, preferencje, lokalizacja itp.

    Funkcje użytkowników, którzy oceniali elementy, są ignorowane przez narzędzie Do oceny szerokiej i głębokiej rekomendacji, ponieważ te funkcje zostały już poznane podczas trenowania. W związku z tym można filtrować zestaw danych z wyprzedzeniem, aby uwzględnić tylko użytkowników zimnego startu lub użytkowników, którzy nie ocenili żadnych elementów.

    Ostrzeżenie

    Jeśli model został wytrenowany bez korzystania z funkcji użytkownika, nie można używać funkcji stosowania podczas oceniania.

  6. (Opcjonalnie) Jeśli masz zestaw danych funkcji elementu, możesz połączyć go z funkcjami elementu.

    Pierwsza kolumna w zestawie danych funkcji elementu musi zawierać identyfikator elementu. Pozostałe kolumny powinny zawierać wartości, które scharakteryzują elementy.

    Funkcje elementów ocenianych są ignorowane przez narzędzie Do oceny szerokiej i głębokiej rekomendacji, ponieważ te funkcje zostały już poznane podczas trenowania. W związku z tym można ograniczyć zestaw danych oceniania do elementów typu cold-start lub elementów, które nie zostały ocenione przez żadnych użytkowników.

    Ostrzeżenie

    Jeśli model został wytrenowany bez używania funkcji elementów, nie używaj funkcji elementów podczas oceniania.

  7. Maksymalna liczba elementów, które mają być zalecane dla użytkownika: wpisz liczbę elementów, które mają być zwracane dla każdego użytkownika. Domyślnie zalecane jest 5 elementów.

  8. Minimalny rozmiar puli zaleceń na użytkownika: wpisz wartość, która wskazuje, ile wcześniejszych zaleceń jest wymaganych. Domyślnie ten parametr jest ustawiony na 2, co oznacza, że element musi być zalecany przez co najmniej dwóch innych użytkowników.

    Ta opcja powinna być używana tylko w przypadku oceniania w trybie oceny. Opcja jest niedostępna, jeśli wybierzesz opcję Od wszystkich elementów lub Z elementów nieselekcjonowanych (aby zasugerować nowe elementy użytkownikom).

  9. W obszarze From Unrated Items (aby zasugerować nowe elementy użytkownikom) użyj trzeciego portu wejściowego o nazwie Dane szkoleniowe, aby usunąć elementy, które zostały już ocenione z wyników przewidywania.

    Aby zastosować ten filtr, połącz oryginalny zestaw danych treningowych z portem wejściowym.

  10. Uruchom eksperyment.

Wyniki rekomendacji dotyczącej elementu

Wygenerowany zestaw danych zwrócony przez narzędzie Score Wide and Deep Recommender zawiera listę zalecanych elementów dla każdego użytkownika.

  • Pierwsza kolumna zawiera identyfikatory użytkowników.
  • Generowana jest liczba dodatkowych kolumn w zależności od wartości ustawionej dla pozycji Maksymalna liczba elementów, które mają być zalecane dla użytkownika. Każda kolumna zawiera zalecany element (według identyfikatora). Rekomendacje są uporządkowane według koligacji elementu użytkownika, z elementem o najwyższej koligacji umieszczonej w kolumnie, element 1.

Uwagi techniczne

Ta sekcja zawiera odpowiedzi na kilka typowych pytań dotyczących używania modułu rekomendacji Wide &Deep do tworzenia przewidywań.

Użytkownicy i zalecenia dotyczące zimnych startów

Zazwyczaj w celu utworzenia zaleceń składnik Score Wide and Deep Recommender wymaga tych samych danych wejściowych, które były używane podczas trenowania modelu, w tym identyfikatora użytkownika. Wynika to z faktu, że algorytm musi wiedzieć, czy podczas trenowania dowiedział się czegoś o tym użytkowniku.

Jednak dla nowych użytkowników może nie mieć identyfikatora użytkownika, tylko niektóre funkcje użytkownika, takie jak wiek, płeć i tak dalej.

Nadal można tworzyć rekomendacje dla użytkowników, którzy są nowi w systemie, obsługując je jako użytkowników zimnych startów. W przypadku takich użytkowników algorytm rekomendacji nie używa przeszłości historii ani poprzednich ocen, tylko funkcji użytkowników.

Na potrzeby przewidywania użytkownik zimnego startu jest definiowany jako użytkownik z identyfikatorem, który nie został użyty do trenowania. Aby upewnić się, że identyfikatory nie są zgodne z identyfikatorami używanymi w trenowaniu, możesz utworzyć nowe identyfikatory. Można na przykład wygenerować losowe identyfikatory w określonym zakresie lub przydzielić szereg identyfikatorów z wyprzedzeniem dla użytkowników zimnego startu.

Jeśli jednak nie masz żadnych danych do wspólnego filtrowania, takich jak wektor funkcji użytkownika, lepiej używać klasyfikacji lub regresji.

Użycie produkcyjnego szerokiego i głębokiego modułu polecającego

Jeśli poeksperymentujesz z modułem rekomendacji Szeroki i Głęboki, a następnie przenieś model do środowiska produkcyjnego, pamiętaj o tych kluczowych różnicach podczas korzystania z modułu polecającego w trybie oceny i w trybie produkcyjnym:

  • Ocena według definicji wymaga przewidywań, które można zweryfikować względem podstawowej prawdy w zestawie testowym. W związku z tym podczas oceniania modułu polecającego należy przewidzieć tylko elementy, które zostały ocenione w zestawie testowym. To musi ograniczać możliwe wartości, które są przewidywane.

    Jednak w przypadku operacjonalizacji modelu zazwyczaj zmienia się tryb przewidywania, aby tworzyć rekomendacje na podstawie wszystkich możliwych elementów, aby uzyskać najlepsze przewidywania. W przypadku wielu z tych przewidywań nie ma odpowiedniej prawdy, więc dokładność rekomendacji nie może być zweryfikowana w taki sam sposób, jak podczas eksperymentowania.

  • Jeśli nie podasz identyfikatora użytkownika w środowisku produkcyjnym i podaj tylko wektor funkcji, możesz uzyskać jako odpowiedź listę wszystkich zaleceń dla wszystkich możliwych użytkowników. Pamiętaj, aby podać identyfikator użytkownika.

    Aby ograniczyć liczbę zwracanych zaleceń, możesz również określić maksymalną liczbę zwracanych elementów na użytkownika.

Następne kroki

Zobacz zestaw składników dostępnych w usłudze Azure Machine Learning.