Personalizacja z wieloma miejscami (wersja zapoznawcza)
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.
Personalizacja z wieloma miejscami (wersja zapoznawcza) umożliwia określanie zawartości docelowej w układach sieci Web, karuzelach i listach, w których użytkownicy wyświetlają więcej niż jedną akcję (np. produkt lub zawartość). Korzystając z interfejsów API z wieloma miejscami personalizacji, możesz mieć modele sztucznej inteligencji w usłudze Personalizacja, aby dowiedzieć się, jakie konteksty użytkowników i produkty napędzają pewne zachowania, biorąc pod uwagę i ucząc się od umieszczania w interfejsie użytkownika. Na przykład usługa Personalizacja może dowiedzieć się, że niektóre produkty lub zawartość mają więcej kliknięć jako pasek boczny lub stopkę niż jako główne wyróżnienie na stronie.
W tym artykule dowiesz się, dlaczego personalizacja z wieloma miejscami poprawia wyniki, jak ją włączyć i kiedy z niej korzystać. W tym artykule założono, że znasz interfejsy API usługi Personalizacja, takie jak Rank
i Reward
, i rozumiesz, jak używasz go w aplikacji. Jeśli nie znasz usługi Personalizacja i jej działania, przed kontynuowaniem zapoznaj się z następującymi tematami:
Ważne
Personalizacja z wieloma miejscami jest dostępna w publicznej wersji zapoznawczej. Funkcje, podejścia i procesy zmienią się na podstawie opinii użytkowników. Włączenie wersji zapoznawczej z wieloma miejscami spowoduje trwałe wyłączenie innych funkcji personalizacji w pętli. Personalizacja z wieloma miejscami nie może być wyłączona po włączeniu jej dla pętli personalizacji. Przeczytaj ten dokument i rozważ wpływ przed skonfigurowaniem pętli personalizacji w wielu miejscach.
Kiedy należy używać personalizacji z wieloma miejscami
Za każdym razem, gdy wyświetlasz użytkownikom produkty i/lub zawartość, możesz pokazać klientom więcej niż jeden element. Na przykład:
- Układy witryn sieci Web dla stron głównej: wiele kafelków i obszarów stron jest przeznaczonych do wyróżniania zawartości w polach, transparentach i paskach bocznych różnych kształtów i rozmiarów. Personalizacja z wieloma miejscami dowiesz się, jak cechy tego układu wpływają na wybory i akcje klientów.
- Karuzele: Karuzele dynamicznego zmieniania zawartości wymagają kilku elementów do cyklu. Personalizacja z wieloma miejscami może dowiedzieć się, jak sekwencja, a nawet czas trwania wyświetlania wpływa na kliknięcia i zaangażowanie.
- Powiązane produkty/zawartość i osadzone odwołania: często angażowanie użytkowników przez osadzanie lub przeplatanie odwołań do dodatkowej zawartości i produktów na banerach, paskach bocznych, winietach i stopkach. Personalizacja z wieloma miejscami może pomóc przydzielić odwołania, w których najprawdopodobniej będą one bardziej używane.
- Wyniki wyszukiwania lub listy: jeśli funkcja wyszukiwania aplikacji, w której podajesz wyniki jako listy lub kafelki, możesz użyć personalizacji z wieloma miejscami, aby wybrać elementy do wyróżnienia u góry, biorąc pod uwagę więcej metadanych niż tradycyjne klasyfikatory.
- Dynamiczne kanały i listy odtwarzania: Personalizacja z wieloma miejscami może pomóc w określeniu krótkiej sekwencji listy filmów wideo lub piosenek do odtwarzania dalej w kanale dynamicznym.
Personalizacja z wieloma miejscami umożliwia zadeklarowanie "miejsc" w interfejsie użytkownika, dla którego należy wybrać akcje. Pozwala również podać więcej informacji o miejscach, dzięki czemu personalizacja może służyć do poprawy umieszczania produktów — na przykład czy jest to duże pudełko, czy małe pudełko? Czy wyświetla podpis, czy tylko funkcję? Czy znajduje się w stopce, czy na pasku bocznym?
Jak używać personalizacji z wieloma miejscami
- Włączanie personalizacji z wieloma miejscami
- Tworzenie obiektu JSON dla żądania rangi
- Wywoływanie akcji definiowanych miejsc i punktów odniesienia interfejsu API rangi
- Wywoływanie interfejsów API programu Rewards
Włączanie personalizacji z wieloma miejscami
Zobacz Różnice między personalizacją z jednym i wieloma miejscami poniżej, aby zrozumieć i zdecydować, czy personalizacja z wieloma miejscami jest dla Ciebie przydatna. Personalizacja z wieloma miejscami to funkcja w wersji zapoznawczej: zachęcamy do utworzenia nowej pętli Personalizacja, jeśli chcesz przetestować interfejsy API personalizacji z wieloma miejscami, ponieważ włączenie go nie jest odwracalne i będzie miało wpływ na pętlę personalizacji uruchomioną w środowisku produkcyjnym.
Po podjęciu decyzji o przekonwertowaniu pętli na personalizację z wieloma miejscami należy wykonać następujące kroki raz dla tej pętli personalizacji:
Uaktualnianie wystąpienia usługi Personalizacja do wielu miejsc
Uwaga
Personalizacja z wieloma miejscami (wersja zapoznawcza) ma wpływ na inne funkcje usługi Personalizacja. Tej zmiany nie można cofnąć. Przed włączeniem personalizacji z wieloma miejscami zobacz Personalizacja z wieloma miejscami (wersja zapoznawcza).
- Wyłącz automatyczną optymalizację w witrynie Azure Portal w zasobie Personalizacja w obszarze Zarządzanie zasobami na stronie Ustawienia modelu i uczenia, wyłącz i zapisz optymalizację automatyczną.
Uwaga
Personalizacja z wieloma miejscami nie będzie działać, chyba że wyłączysz optymalizację automatyczną. Automatyczna optymalizacja personalizacji w wielu miejscach będzie obsługiwana w przyszłości.
- Zaktualizuj usługę Personalizacja do wielu miejsc w witrynie Azure Portal w zasobie Personalizacja w obszarze Zarządzanie zasobami na stronie Ustawienia modelu i uczenia wybierz pozycję Eksportuj ustawienia uczenia. Pole argumentów w pobranym pliku json rozpocznie się od --cb_explore_adf. Zmień to na --ccb_explore_adf i zapisz plik. CB (kontekstowe bandyci) i CCB (warunkowe kontekstowe bandyci) to algorytmy, których usługa Personalizacja używa odpowiednio do personalizacji z jednym miejscem i z wieloma miejscami. Funkcja ADF (funkcje zależne od akcji) oznacza, że akcje są wyrażane /identyfikowane z funkcjami.
Na tej samej karcie w portalu w obszarze Importowanie ustawień uczenia przejdź do znalezienia ostatnio zmodyfikowanego pliku json i przekazania go. Spowoduje to zaktualizowanie wystąpienia usługi Personalizacja tak, aby było usługą personalizacji "Multi Slot" i będzie teraz obsługiwać połączenia rangi i nagrody w wielu miejscach.
Tworzenie obiektu JSON dla żądania rangi
Korzystanie z personalizacji z wieloma miejscami wymaga interfejsu API, który różni się nieco od interfejsu API personalizacji pojedynczego miejsca.
Miejsca dostępne do przypisania akcji w każdym żądaniu wywołania Ranga są deklarowane w obiekcie slotów:
- Tablica miejsc: należy zadeklarować tablicę miejsc. Miejsca są uporządkowane: położenie każdego miejsca w tablicy ma znaczenie. Zdecydowanie zalecamy zamawianie definicji miejsca na podstawie liczby nagród/kliknięć/konwersji, które mają tendencję do uzyskania, począwszy od tego, który dostaje najwięcej. Na przykład umieścisz duże pole "hero" strony głównej dla witryny internetowej jako miejsce 1, a nie małą stopkę. Wszystkie inne rzeczy są równe, Personalizacja przypisze akcje z większą szansą na uzyskanie nagród wcześniej w sekwencji.
- Identyfikator miejsca: musisz podać identyfikator slotId do każdego miejsca — ciąg unikatowy dla wszystkich innych miejsc w tym wywołaniu rangi.
- Funkcje miejsca: należy podać dodatkowe metadane, które opisują i dodatkowo odróżniają je od innych miejsc. Są to nazywane funkcjami. Podczas określania funkcji miejsca należy postępować zgodnie z tymi samymi wytycznymi zalecanymi dla funkcji kontekstu i akcji (zobacz: Funkcje kontekstu i akcji). Typowe funkcje gniazda ułatwiają identyfikowanie rozmiarów, pozycji lub cech wizualnych elementu interfejsu użytkownika. Na przykład
position: "top-left"
,size: "big"
,animated: "no"
sidebar: "true"
lubsequence: "1"
. - Akcje punktu odniesienia: musisz określić identyfikator akcji punktu odniesienia dla każdego miejsca. Oznacza to, że identyfikator akcji, który będzie wyświetlany w tym miejscu, jeśli usługa Personalizacja nie istnieje. Jest to wymagane do wytrenowania usługi Personalizacja w trybie ucznia i uzyskania znaczącej liczby podczas oceny offline.
- Masz wystarczającą liczbę akcji: upewnij się, że wywołasz funkcję Ranga z większą ilością akcji niż miejscami, aby usługa Personalizacja mogła przypisać co najmniej jedną akcję do każdego miejsca. Personalizacja nie będzie powtarzać zaleceń dotyczących akcji w miejscach: Odpowiedź rangi przypisze każdą akcję co najwyżej do jednego miejsca.
Jest to ok, jeśli dodasz lub usuniesz gniazda w czasie, dodasz i zmienisz ich funkcje lub zmienisz kolejność tablicy: Personalizacja dostosuje i będzie trenować na podstawie nowych informacji.
Oto przykładowy slots
obiekt z przykładowymi funkcjami. Podczas gdy większość slots
obiektu będzie stabilna (ponieważ interfejsy użytkownika mają tendencję do powolnej zmiany), większość z nich często się nie zmienia: ale musisz pamiętać, aby przypisać odpowiednie identyfikatory punktu odniesieniaAction do każdego wywołania rangi.
"slots": [
{
"id": "BigHighlight",
"features": [
{
"size": "Large",
"position": "Left-Middle"
}
],
"baselineAction": "BlackBoot_4656"
},
{
"id": "Sidebar1",
"features": [
{
"size": "Small",
"position": "Right-Top"
}
],
"baselineAction": "TrekkingShoe_1122"
}
]
Korzystanie z odpowiedzi interfejsu API rangi
Odpowiedź rangi z wielu miejsc z powyższego żądania może wyglądać następująco:
{
"slots": [
{
"id": "BigHighlight",
"rewardActionId": "WhiteSneaker_8181"
},
{
"id": "SideBar1",
"rewardActionId": "BlackBoot_4656"
}
],
"eventId": "123456D0-BFEE-4598-8196-C57383D38E10"
}
Weź identyfikator rewardActionId dla każdego miejsca i użyj go do odpowiedniego renderowania interfejsu użytkownika.
Wywoływanie interfejsu API programu Reward
Personalizacja uczy się, jak wybierać akcje, które zmaksymalizują uzyskaną nagrodę. Aplikacja będzie obserwować zachowanie użytkownika i obliczać "wynik nagrody" dla usługi Personalizacja w oparciu o obserwowaną reakcję. Jeśli na przykład użytkownik kliknął akcję w elemecie "slotId": "SideBar1",
, wyślesz element "1" do usługi Personalizacja, aby zapewnić pozytywne wzmocnienie wyborów akcji.
Interfejs API nagrody określa identyfikator eventId nagrody w adresie URL:
https://{endpoint}/personalizer/v1.0/events/{eventId}/reward
Na przykład nagroda za powyższe wydarzenie o identyfikatorze: 123456D0-BFEE-4598-8196-C57383D38E10/nagroda zostanie wysłana do :https://{endpoint}/personalizer/v1.0/events/123456D0-BFEE-4598-8196-C57383D38E10/reward/reward
{
"reward": [
{
"slotId": "BigHighlight",
"value": 0.2
},
{
"slotId": "SideBar1",
"value": 1.0
},
]
}
Nie musisz podawać wszystkich wyników nagród tylko w jednym wywołaniu interfejsu API nagrody. Interfejs API programu Reward można wywołać wiele razy, z których każdy ma odpowiednie identyfikatory eventId i slotId. Jeśli nie otrzymasz żadnego wyniku nagrody dla miejsca w zdarzeniu, usługa Personalizacja niejawnie przypisze nagrodęDefault skonfigurowaną dla pętli (zazwyczaj 0).
Różnice między personalizacją z jednym i wieloma miejscami
Istnieją różnice w sposobie używania interfejsów API rangi i nagrody z personalizacją pojedynczego i wielodystkowego:
opis | Personalizacja z jednym miejscem | Personalizacja z wieloma miejscami |
---|---|---|
Ranga elementów żądania wywołania interfejsu API | Wysyłasz obiekt Context i listę akcji | Wysyłasz kontekst, listę akcji i uporządkowaną listę miejsc |
Żądanie rangi określające punkt odniesienia | Usługa Personalizacja podejmie pierwszą akcję na liście akcji jako akcję bazową (element, który aplikacja wybrała, jeśli usługa Personalizacja nie istnieje). | Należy określić identyfikator ActionID punktu odniesienia, który zostałby użyty w każdym miejscu. |
Ranga odpowiedzi wywołania interfejsu API | Aplikacja wyróżnia akcję wskazaną w polu rewardActionId | Odpowiedź zawiera inną wartość rewardActionId dla każdego miejsca określonego w żądaniu. Aplikacja wyświetli te akcje rewardActionId w każdym miejscu. |
Wywołanie interfejsu API programu Reward | Wywołasz interfejs API nagrody z wynikiem nagrody, który obliczasz na podstawie sposobu interakcji użytkowników z identyfikatorem rewardActionId dla tego konkretnego identyfikatora zdarzenia. Jeśli na przykład użytkownik kliknął go, otrzymasz nagrodę 1. | Należy określić nagrodę dla każdego miejsca, biorąc pod uwagę, jak dobrze akcja za pomocą identyfikatora rewardActionId wywołała żądane zachowanie użytkownika. Można to wysłać w jednym lub wielu wywołaniach interfejsu API programu Reward o tym samym identyfikatorze eventId. |
Wpływ włączania wielu miejsc dla pętli personalizacji
Ponadto po włączeniu wielu miejsc należy wziąć pod uwagę następujące kwestie:
opis | Personalizacja z jednym miejscem | Personalizacja z wieloma miejscami |
---|---|---|
Nieaktywne zdarzenia i aktywacja | Podczas wywoływania interfejsu API aktywowania usługa Personalizacja aktywuje zdarzenie, spodziewając się wyniku nagrody lub przypisując skonfigurowaną nagrodę domyślną w przypadku przekroczenia czasu oczekiwania na nagrodę. | Personalizator aktywuje i oczekuje nagród dla wszystkich miejsc określonych w identyfikatorze eventId |
Tryb ucznia | Interfejs API rangi usługi Personalizacja zawsze zwraca akcję punktu odniesienia i trenuje modele wewnętrzne, imitując akcję punktu odniesienia. | Interfejs API rangi usługi Personalizacja zwraca akcję punktu odniesienia dla każdego miejsca określonego w polu baselineAction. Personalizator wytrenuje wewnętrzne modele przy imitacji pierwszego |
Szybkość nauki | Uczy się tylko z jednej wyróżnionej akcji | Może uczyć się na podstawie interakcji z dowolnym miejscem. Zazwyczaj oznacza to więcej zachowań użytkowników, które mogą przynieść nagrody, co spowodowałoby szybsze uczenie się usługi Personalizacja. |
Oceny offline | Porównuje wydajność usługi Personalizacja z ustawieniami punktu odniesienia i zoptymalizowanymi ustawieniami uczenia na podstawie wybranej akcji. | (Ograniczenie wersji zapoznawczej) Ocenia tylko wydajność pierwszego miejsca w tablicy. Aby uzyskać dokładniejsze oceny, zalecamy upewnienie się, że miejsce z większością nagród jest pierwszym miejscem w tablicy. |
Optymalizacja automatyczna (wersja zapoznawcza) | Pętla personalizacji może okresowo wykonywać oceny w trybie offline w tle i optymalizować ustawienia uczenia bez interwencji administracyjnej | (Ograniczenie wersji zapoznawczej) Optymalizacja automatyczna jest wyłączona dla pętli personalizacji, które mają włączone interfejsy API z wieloma miejscami. |