Wyniki nagród wskazują na sukces personalizacji
Ważne
Od 20 września 2023 r. nie będzie można tworzyć nowych zasobów usługi Personalizacja. Usługa Personalizacja jest wycofywana 1 października 2026 r.
Wynik nagrody wskazuje, jak dobrze wybór personalizacji, RewardActionID, spowodował dla użytkownika. Wartość wyniku nagrody jest określana przez logikę biznesową na podstawie obserwacji zachowania użytkownika.
Personalizator trenuje swoje modele uczenia maszynowego, oceniając nagrody.
Dowiedz się , jak skonfigurować domyślny wynik nagrody w witrynie Azure Portal dla zasobu usługi Personalizacja.
Wysyłanie wyniku nagrody do usługi Personalizacja przy użyciu interfejsu API programu Reward
Nagrody są wysyłane do usługi Personalizacja za pomocą interfejsu API nagrody. Zazwyczaj nagroda jest liczbą z zakresu od 0 do 1. Ujemna nagroda, z wartością -1, jest możliwa w niektórych scenariuszach i powinna być używana tylko w przypadku doświadczenia w uczeniu się wzmacniania (RL). Personalizacja trenuje model, aby osiągnąć najwyższą możliwą sumę nagród w czasie.
Nagrody są wysyłane po wystąpieniu zachowania użytkownika, co może być kilka dni później. Maksymalny czas, przez jaki usługa Personalizacja będzie czekać, aż wydarzenie nie zostanie uznane za nieopłaczone lub zostanie skonfigurowana domyślna nagroda z czasem oczekiwania na nagrodę w witrynie Azure Portal.
Jeśli wynik nagrody za wydarzenie nie został odebrany w czasie oczekiwania na nagrodę, zostanie zastosowana nagroda domyślna. Zazwyczaj domyślna nagroda jest skonfigurowana jako zero.
Zachowania i dane, które należy wziąć pod uwagę w przypadku nagród
Rozważ następujące sygnały i zachowania w kontekście wyniku nagrody:
- Bezpośrednie wprowadzanie danych przez użytkownika w przypadku sugestii dotyczących opcji ("Czy masz na myśli X?").
- Długość sesji.
- Czas między sesjami.
- Analiza tonacji interakcji użytkownika.
- Pytania bezpośrednie i mini ankiety, w których bot prosi użytkownika o opinię na temat przydatności, dokładności.
- Odpowiedź na alerty lub opóźnienie odpowiedzi na alerty.
Tworzenie wyników nagród
Wynik nagrody musi zostać obliczony w logice biznesowej. Wynik może być reprezentowany jako:
- Pojedyncza liczba wysłana raz
- Wynik wysłany natychmiast (na przykład 0,8) i dodatkowy wynik wysłany później (zazwyczaj 0,2).
Nagrody domyślne
Jeśli żadna nagroda nie zostanie odebrana w ramach czasu oczekiwania na nagrodę, czas trwania wywołania rangi, personalizator niejawnie stosuje nagrodę domyślną do tego zdarzenia rangi.
Budowanie nagród z wieloma czynnikami
W celu efektywnej personalizacji można utworzyć wynik nagrody na podstawie wielu czynników.
Można na przykład zastosować te reguły do personalizowania listy zawartości wideo:
Zachowanie użytkownika | Wartość wyniku częściowego |
---|---|
Użytkownik kliknął górny element. | +0,5 nagroda |
Użytkownik otworzył rzeczywistą zawartość tego elementu. | +0,3 nagroda |
Użytkownik obserwował 5 minut zawartości lub 30%, w zależności od tego, co jest dłuższe. | +0,2 nagroda |
Następnie możesz wysłać łączną nagrodę do interfejsu API.
Wielokrotne wywoływanie interfejsu API programu Reward
Możesz również wywołać interfejs API nagrody przy użyciu tego samego identyfikatora zdarzenia, wysyłając różne wyniki nagród. Gdy usługa Personalizacja otrzymuje te nagrody, określa ostateczną nagrodę za to wydarzenie, agregując je zgodnie z konfiguracją usługi Personalizacja.
Wartości agregacji:
- Najpierw: pobiera pierwszy wynik nagrody otrzymany za wydarzenie i odrzuca resztę.
- Suma: pobiera wszystkie wyniki nagród zebrane dla identyfikatora eventId i dodaje je razem.
Wszystkie nagrody za wydarzenie, które są odbierane po czasie oczekiwania na nagrodę, są odrzucane i nie mają wpływu na trenowanie modeli.
Dodając wyniki nagród, ostateczna nagroda może znajdować się poza oczekiwanym zakresem wyników. Nie spowoduje to niepowodzenia usługi.
Najlepsze rozwiązania dotyczące obliczania wyniku nagrody
Rozważ prawdziwe wskaźniki udanej personalizacji: łatwo jest myśleć pod względem kliknięć, ale dobra nagroda opiera się na tym, co mają osiągnąć użytkownicy, zamiast tego, co ludzie mają robić. Na przykład nagradzanie kliknięć może prowadzić do wybrania zawartości podatnej na kliknięcie.
Użyj wyniku nagrody, aby dowiedzieć się, jak dobra personalizacja działała: Personalizowanie sugestii filmu będzie miejmy nadzieję spowodować, że użytkownik ogląda film i daje mu wysoką ocenę. Ponieważ ocena filmu prawdopodobnie zależy od wielu rzeczy (jakość aktorstwa, nastrój użytkownika), nie jest to dobry sygnał nagrody za to, jak dobrze działa personalizacja . Użytkownik oglądający pierwsze kilka minut filmu może jednak być lepszym sygnałem skuteczności personalizacji i wysłanie nagrody 1 po 5 minutach będzie lepszym sygnałem.
Nagrody mają zastosowanie tylko do rewardActionID: Personalizator stosuje nagrody, aby zrozumieć skuteczność akcji określonej w RewardActionID. Jeśli zdecydujesz się wyświetlić inne akcje, a użytkownik wybierze je, nagroda powinna wynosić zero.
Rozważ niezamierzone konsekwencje: utwórz funkcje nagrody, które prowadzą do odpowiedzialnych wyników z etyki i odpowiedzialnego używania.
Korzystanie z programu Incremental Rewards: dodawanie częściowych nagród dla mniejszych zachowań użytkowników pomaga personalizatorowi osiągnąć lepsze nagrody. Ta nagroda przyrostowa pozwala algorytmowi wiedzieć, że zbliża się do angażowania użytkownika w ostateczne żądane zachowanie.
- Jeśli wyświetlasz listę filmów, jeśli użytkownik umieści wskaźnik myszy na pierwszym na chwilę, aby wyświetlić więcej informacji, możesz określić, że wystąpiło pewne zaangażowanie użytkowników. Zachowanie może być liczone z wynikiem nagrody 0,1.
- Jeśli użytkownik otworzył stronę, a następnie zakończył działanie, wynik nagrody może mieć wartość 0,2.
Czas oczekiwania na nagrody
Personalizator skoreluje informacje o wywołaniu rangi z nagrodami wysłanymi w wywołaniach programu Reward w celu wytrenowania modelu, które mogą pojawić się w różnych porach. Personalizator czeka na wynik nagrody przez zdefiniowany ograniczony czas, rozpoczynając od momentu wystąpienia odpowiedniego wywołania rangi. Odbywa się to nawet wtedy, gdy wywołanie rangi zostało wykonane przy użyciu aktywacji odroczonej](concept-active-inactive-events.md).
Jeśli czas oczekiwania na nagrodę wygaśnie i nie ma żadnych informacji o nagrodzie, do tego wydarzenia zostanie zastosowana domyślna nagroda. Możesz wybrać czas oczekiwania na nagrodę 10 minut, 4 godziny, 12 godzin lub 24 godziny. Jeśli twój scenariusz wymaga dłuższych czasów oczekiwania na nagrody (np. w przypadku marketingowych kampanii e-mail), oferujemy prywatną wersję zapoznawczą dłuższych czasów oczekiwania. Otwórz bilet pomocy technicznej w witrynie Azure Portal, aby skontaktować się z zespołem i sprawdzić, czy kwalifikujesz się i możesz go zaoferować.
Najlepsze rozwiązania dotyczące czasu oczekiwania na nagrody
Postępuj zgodnie z tymi zaleceniami, aby uzyskać lepsze wyniki.
Ustaw czas oczekiwania na nagrody tak krótki, jak to możliwe, pozostawiając wystarczająco dużo czasu, aby uzyskać opinie użytkowników.
Nie wybieraj czasu trwania krótszego niż czas potrzebny do uzyskania opinii. Jeśli na przykład niektóre nagrody pojawią się po obejrzeniu przez użytkownika 1 minuty filmu wideo, długość eksperymentu powinna być co najmniej dwukrotna.