Dela via


Anpassning av flera platser (förhandsversion)

Viktigt!

Från och med den 20 september 2023 kommer du inte att kunna skapa nya personaliseringsresurser. Personanpassningstjänsten dras tillbaka den 1 oktober 2026.

Med anpassning av flera platser (förhandsversion) kan du rikta innehåll i webblayouter, karuseller och listor där fler än en åtgärd (till exempel en produkt eller innehåll) visas för dina användare. Med Personanpassnings-API:er för flera platser kan du låta AI-modellerna i Personalizer lära dig vilka användarkontexter och produkter som driver vissa beteenden, överväger och lär dig av placeringen i användargränssnittet. Personanpassning kan till exempel lära sig att vissa produkter eller innehåll gör fler klick som sidofält eller sidfot än som en huvudmarkering på en sida.

I den här artikeln får du lära dig varför anpassning med flera platser förbättrar resultaten, hur du aktiverar det och när du ska använda det. Den här artikeln förutsätter att du är bekant med Personanpassnings-API:er som Rank och Rewardoch har en konceptuell förståelse för hur du använder det i ditt program. Om du inte är bekant med Personanpassning och hur det fungerar kan du läsa följande innan du fortsätter:

Viktigt!

Anpassning av flera platser finns i offentlig förhandsversion. Funktioner, metoder och processer ändras baserat på användarfeedback. Om du aktiverar förhandsversionen av flera platser inaktiveras andra personanpassningsfunktioner i loopen permanent. Anpassning med flera platser kan inte stängas av när den är aktiverad för en Personanpassningsloop. Läs det här dokumentet och tänk på effekten innan du konfigurerar en Personanpassningsloop för anpassning med flera platser.

När du ska använda anpassning av flera platser

När du visar produkter och/eller innehåll för användare kanske du vill visa fler än ett objekt för dina kunder. Till exempel:

  • Webbplatslayouter för startsidor: Många paneler och sidområden är dedikerade till att markera innehåll i rutor, banderoller och sidofält med olika former och storlekar. Anpassning med flera platser lär sig hur egenskaperna i den här layouten påverkar kundernas val och åtgärder.
  • Karuseller: Karuseller av dynamiskt föränderligt innehåll behöver en handfull objekt att cykla. Anpassning med flera platser kan lära sig hur sekvens och till och med visningstid påverkar klick och engagemang.
  • Relaterade produkter/innehåll och inbäddade referenser: Det är vanligt att engagera användare genom att bädda in eller koppla referenser till ytterligare innehåll och produkter i banderoller, sidostaplar, vinjetter och sidfotsrutor. Anpassning med flera platser kan hjälpa dig att allokera dina referenser där de mest sannolikt kommer att öka användningen.
  • Sökresultat eller listor: Om programmets sökfunktion, där du tillhandahåller resultat som listor eller paneler, kan du använda anpassning med flera platser för att välja vilka objekt som ska markeras högst upp med tanke på mer metadata än traditionella rankare.
  • Dynamiska kanaler och spellistor: Anpassning med flera platser kan hjälpa dig att fastställa en kort sekvens för en lista över videor eller låtar som ska spelas upp härnäst i en dynamisk kanal.

Med anpassning med flera platser kan du deklarera "facken" i användargränssnittet som åtgärder måste väljas för. Det låter dig också ge mer information om facken så att Personalizer kan använda för att förbättra produktplacering - till exempel är detta en stor låda eller en liten låda? Visas en bildtext eller bara en funktion? Är det i en sidfot eller ett sidofält?

Så här använder du anpassning av flera platser

  1. Aktivera anpassning med flera fack
  2. Skapa JSON-objekt för rankningsbegäran
  3. Anropa ranknings-API:et för att definiera platser och baslinjeåtgärder
  4. Anropa Rewards-API:erna

Aktivera anpassning av flera platser

Se Skillnader mellan anpassning med en plats och flera platser nedan för att förstå och avgöra om anpassning med flera platser är användbart för dig. Anpassning av flera platser är en förhandsversionsfunktion: Vi rekommenderar att du skapar en ny Personanpassningsloop om du vill testa ANPASSNINGS-API:er för flera platser, eftersom aktivering av den inte är reversibel och påverkar en Personanpassningsslinga som körs i produktion.

När du har bestämt dig för att konvertera en loop till anpassning med flera platser måste du följa dessa steg en gång för den här personanpassningsloopen:

Uppgradera Personalizer-instansen till Multi-Slot

Kommentar

Anpassning av flera platser (förhandsversion) påverkar andra funktioner i personanpassningstjänsten. Det går inte att ångra den här ändringen. Innan du aktiverar anpassning av flera platser kan du läsa Mer information om anpassning av flera platser (förhandsversion).)

  1. Inaktivera Automatisk optimering I Azure-portalen går du till Personalizer-resursen under Resurshanteringsidan Modell- och inlärningsinställningar och inaktiverar automatisk optimering och sparar.

Kommentar

Anpassning med flera platser fungerar inte om du inte inaktiverar automatisk optimering. Automatisk optimering för anpassning av flera platser kommer att stödjas i framtiden.

  1. Uppdatera Personanpassning till flera platser I Azure-portalen går du till Personalizer-resursen och går till Resurshantering och väljer Exportera utbildningsinställningarsidan Modell- och inlärningsinställningar. Argumentfältet i den nedladdade json-filen börjar med --cb_explore_adf. Ändra detta till --ccb_explore_adf och spara filen. CB (kontextuella banditer) och CCB (villkorliga kontextbaserade banditer) är de algoritmer som Personanpassning använder för personanpassning med en eller flera platser. ADF (åtgärdsberoende funktioner) innebär att åtgärderna uttrycks/identifieras med funktioner.

Learning settings before change

Learning settings after change

På samma flik i portalen bläddrar du under importinlärningsinställningar för att hitta din nyligen ändrade json-fil och ladda upp den. Detta uppdaterar din personanpassningsinstans så att den blir en "Multi Slot"-personanpassning och stöder nu ranknings- och belöningssamtal med flera platser.

Skapa JSON-objekt för en rankningsbegäran

Om du använder anpassning med flera platser krävs ett API som skiljer sig något från API:et för anpassning med en fack.

Du deklarerar de platser som är tillgängliga för att tilldela åtgärder till i varje rankningsanropsbegäran i fackobjektet:

  • Matris med platser: Du måste deklarera en matris med platser. Platser ordnas: positionen för varje fack i matrisen är viktig. Vi rekommenderar starkt att du beställer dina slotdefinitioner baserat på hur många belöningar/klick/konverteringar varje fack brukar få, från och med den som får mest. Du skulle till exempel placera en stor "hero"-ruta på startsidan för en webbplats som plats 1 i stället för en liten sidfot. Alla andra saker är lika, Personalizer tilldelar åtgärder med fler chanser att få belöningar tidigare i sekvensen.
  • Slot-ID: Du måste ge ett slotId till varje fack – en sträng som är unik för alla andra platser i det här Rank-anropet.
  • Fackfunktioner: Du bör ange ytterligare metadata som beskriver och ytterligare skiljer den från andra platser. Dessa kallas funktioner. När du fastställer fackfunktioner måste du följa samma riktlinjer som rekommenderas för funktionerna i kontext och åtgärder (se: Funktioner för kontext och åtgärder). Vanliga fackfunktioner hjälper dig att identifiera storlek, position eller visuella egenskaper för ett användargränssnittselement. Till exempel position: "top-left", size: "big", animated: "no"eller sidebar: "true" sequence: "1".
  • Baslinjeåtgärder: Du måste ange åtgärds-ID:t för varje fack. Det vill: ID:t för åtgärden som skulle visas i det facket om personanpassningen inte fanns. Detta krävs för att träna personanpassning i lärlingsläge och för att ha ett meningsfullt tal när du gör offlineutvärderingar.
  • Ha tillräckligt med åtgärder: Se till att du anropar Rank med fler åtgärder än platser, så att Personanpassning kan tilldela minst en åtgärd till varje fack. Personanpassning upprepar inte åtgärdsrekommendationer mellan platser: Rankningssvaret tilldelar varje åtgärd högst ett fack.

Det är OK om du lägger till eller tar bort platser över tid, lägger till och ändrar deras funktioner eller ombeställer matrisen: Personanpassning anpassar och fortsätter att träna baserat på den nya informationen.

Här är ett exempelobjekt slots med några exempelfunktioner. Majoriteten av slots objektet är stabilt (eftersom UIs tenderar att ändras långsamt), men det mesta ändras inte ofta: Men du måste se till att tilldela lämpliga baselineAction-ID:er till varje rankningsanrop.

"slots": [ 
    { 
      "id": "BigHighlight", 
      "features": [ 
            { 
              "size": "Large", 
              "position": "Left-Middle" 
            }
        ],
        "baselineAction": "BlackBoot_4656" 
    }, 

    { 
      "id": "Sidebar1", 
      "features": [ 
            { 
              "size": "Small", 
              "position": "Right-Top" 
            } 
        ],
        "baselineAction": "TrekkingShoe_1122"  
    }  
  ]

Använda svaret för ranknings-API:et

Ett rankningssvar med flera platser från begäran ovan kan se ut så här:

{ 
  "slots": [ 
        { 
          "id": "BigHighlight", 
          "rewardActionId": "WhiteSneaker_8181" 
        }, 
        { 
          "id": "SideBar1", 
          "rewardActionId": "BlackBoot_4656" 
        } 
    ], 
  "eventId": "123456D0-BFEE-4598-8196-C57383D38E10" 
} 

Ta rewardActionId för varje fack och använd det för att återge användargränssnittet på rätt sätt.

Anropa Reward-API:et

Personalizer lär sig att välja åtgärder som maximerar belöningen. Ditt program observerar användarbeteendet och beräknar en "belöningspoäng" för Personanpassning baserat på den observerade reaktionen. Om användaren till exempel klickade på åtgärden i "slotId": "SideBar1",skickar du ett "1" till Personanpassning för att ge positiv förstärkning för åtgärdsalternativen.

Belönings-API:et anger eventId för belöningen i URL:en:

https://{endpoint}/personalizer/v1.0/events/{eventId}/reward

Belöningen för händelsen ovan med ID: 123456D0-BFEE-4598-8196-C57383D38E10/reward skickas till https://{endpoint}/personalizer/v1.0/events/123456D0-BFEE-4598-8196-C57383D38E10/reward/reward:

{ 
  "reward": [ 
    { 
      "slotId": "BigHighlight", 
      "value": 0.2 
    }, 
    { 
      "slotId": "SideBar1", 
     "value": 1.0 
    }, 
  ] 
} 

Du behöver inte ange alla belöningspoäng i bara ett anrop av Reward-API:et. Du kan anropa Reward-API:et flera gånger, var och en med lämpligt eventId och slotId. Om ingen belöningspoäng tas emot för en plats i ett evenemang tilldelar Personalizer implicit denDefault Reward som konfigurerats för loopen (vanligtvis 0).

Skillnader mellan anpassning med en fack och flera platser

Det finns skillnader i hur du använder API:er för rankning och belöning med anpassning med en och flera platser:

Description Anpassning med en fack Anpassning av flera platser
Rangordna API-anropsbegärandeelement Du skickar ett kontextobjekt och en lista över åtgärder Du skickar Kontext, en lista över åtgärder och en ordnad lista över fack
Rangordningsbegäran som anger baslinje Personanpassningen vidtar den första åtgärden i åtgärdslistan som baslinjeåtgärd (objektet som ditt program skulle ha valt om personanpassningen inte fanns). Du måste ange originalplanens ActionID som skulle ha använts i varje fack.
Svar på ranknings-API-anrop Ditt program markerar åtgärden som anges i fältet rewardActionId Svaret innehåller ett annat rewardActionId för varje fack som angavs i begäran. Ditt program visar dessa rewardActionId-åtgärder i varje fack.
Api-anrop för belöning Du anropar reward-API:et med en belöningspoäng som du beräknar från hur användarna interagerade med rewardActionId för just detta eventId. Om användaren till exempel klickade på den skickar du en belöning på 1. Du anger belöningen för varje fack, med tanke på hur väl åtgärden med rewardActionId framkallade önskat användarbeteende. Detta kan skickas i ett eller flera Reward API-anrop med samma eventId.

Effekten av att aktivera flera fack för en Personanpassningsloop

Tänk dessutom på följande när du aktiverar flera platser:

Description Anpassning med en fack Anpassning av flera platser
Inaktiva händelser och aktivering När du anropar det aktiverade API:et aktiverar Personanpassning händelsen, förväntar sig en belöningspoäng eller tilldelar den konfigurerade standardbelöningen om belöningens väntetid överskrids. Personanpassning aktiverar och förväntar sig belöningar för alla platser som angavs i eventId
Lärlingsläge Api för personanpassningsrankning returnerar alltid baslinjeåtgärden och tränar interna modeller genom att imitera baslinjeåtgärden. Api för personanpassningsrankning returnerar baslinjeåtgärden för varje fack som anges i fältet baselineAction. Personanpassning tränar interna modeller på att imitera den första
Inlärningshastighet Lär dig bara av den markerade åtgärden Kan lära sig av interaktioner med valfri plats. Detta innebär vanligtvis fler användarbeteenden som kan ge belöningar, vilket skulle leda till snabbare inlärning för Personanpassning.
Offlineutvärderingar Jämför prestanda för Personanpassning mot baslinjeinställningar och optimerade inlärningsinställningar, baserat på vilken åtgärd som skulle ha valts. (Förhandsversionsbegränsning) Utvärderar endast prestanda för den första platsen i matrisen. För mer exakta utvärderingar rekommenderar vi att du ser till att platsen med de flesta belöningar är den första i matrisen.
Automatisk optimering (förhandsversion) Din Personanpassningsloop kan regelbundet utföra offlineutvärderingar i bakgrunden och optimera Inlärning Inställningar utan administrativa åtgärder (Förhandsversionsbegränsning) Automatisk optimering inaktiveras för personanpassningsslingor som har API:er för flera platser aktiverade.

Nästa steg