Udostępnij za pośrednictwem


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

  1. Włączanie personalizacji z wieloma miejscami
  2. Tworzenie obiektu JSON dla żądania rangi
  3. Wywoływanie akcji definiowanych miejsc i punktów odniesienia interfejsu API rangi
  4. 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).

  1. 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.

  1. 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.

Ustawienia uczenia przed zmianą

Ustawienia uczenia po zmianie

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" lub sequence: "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.

Następne kroki