Beloningsscores geven aan dat personalisatie is geslaagd
De beloningsscore geeft aan hoe goed de persoonlijke keuze, RewardActionID,heeft geleid tot de gebruiker. De waarde van de beloningsscore wordt bepaald door uw bedrijfslogica, op basis van waarnemingen van gebruikersgedrag.
Personalizer traint de machine learning modellen door de beloningen te evalueren.
Meer informatie over het configureren van de standaardbeloningsscore in de Azure Portal voor uw Personalizer-resource.
Reward API gebruiken om een beloningsscore te verzenden naar Personalizer
Beloningen worden naar Personalizer verzonden met de Reward API. Normaal gesproken is een beloning een getal van 0 tot 1. Een negatieve beloning, met de waarde -1, is mogelijk in bepaalde scenario's en moet alleen worden gebruikt als u ervaring hebt met RL (reinforcement learning). Personalizer traint het model om de hoogst mogelijke som van beloningen in de tijd te bereiken.
Beloningen worden verzonden nadat het gedrag van de gebruiker is gebeurd, wat dagen later kan zijn. De maximale hoeveelheid tijd die Personalizer wacht totdat een gebeurtenis als een beloning wordt beschouwd of er een standaardbeloning is geconfigureerd met de reward-wachttijd in de Azure Portal.
Als de beloningsscore voor een gebeurtenis niet is ontvangen binnen de reward-wachttijd, wordt de standaardbeloning toegepast. Normaal gesproken is de standaardbeloning geconfigureerd als nul.
Gedrag en gegevens om te overwegen voor beloningen
Houd rekening met deze signalen en gedragingen voor de context van de beloningsscore:
- Directe gebruikersinvoer voor suggesties wanneer er opties bij betrokken zijn ('Bedoel u X?').
- Sessielengte.
- Tijd tussen sessies.
- Sentimentanalyse van de interacties van de gebruiker.
- Directe vragen en mini-enquêtes waarbij de bot de gebruiker om feedback vraagt over het nut en de nauwkeurigheid.
- Reactie op waarschuwingen of vertraging bij het reageren op waarschuwingen.
Beloningsscores samenstellen
Een Beloningsscore moet worden berekend in uw bedrijfslogica. De score kan worden weergegeven als:
- Eén getal dat eenmaal is verzonden
- Een score die onmiddellijk wordt verzonden (bijvoorbeeld 0,8) en een extra score die later wordt verzonden (meestal 0,2).
Standaardbeloningen
Als er geen beloning wordt ontvangen binnen de reward-wachttijd, wordt de duur sinds de Rank-aanroep impliciet door Personalizer toegepast op die Rank-gebeurtenis.
Beloningen met meerdere factoren opbouwen
Voor een effectieve personalisatie kunt u de beloningsscore opbouwen op basis van meerdere factoren.
U kunt bijvoorbeeld deze regels toepassen voor het personaliseren van een lijst met video-inhoud:
| Gebruikersgedrag | Gedeeltelijke scorewaarde |
|---|---|
| De gebruiker heeft op het bovenste item geklikt. | +0,5 beloning |
| De gebruiker heeft de werkelijke inhoud van dat item geopend. | +0,3 beloning |
| De gebruiker heeft 5 minuten van de inhoud bekeken of 30%, wat langer is. | +0.2 reward |
Vervolgens kunt u de totale beloning naar de API verzenden.
De Reward-API meerdere keren aanroepen
U kunt de Reward-API ook aanroepen met dezelfde gebeurtenis-id en verschillende beloningsscores verzenden. Wanneer Personalizer deze beloningen krijgt, wordt de uiteindelijke beloning voor die gebeurtenis bepaald door ze samen tevoegen zoals opgegeven in de Personalizer-configuratie.
Aggregatiewaarden:
- Eerste: neemt de eerste beloningsscore die is ontvangen voor de gebeurtenis en de rest wordt verwijderd.
- Som: neemt alle beloningsscores die zijn verzameld voor de eventId en voegt deze samen.
Alle beloningen voor een gebeurtenis, die worden ontvangen na de reward-wachttijd, worden verwijderd en hebben geen invloed op de training van modellen.
Als u beloningsscores bij elkaar optellen, is uw uiteindelijke beloning mogelijk buiten het verwachte scorebereik. Hierdoor mislukt de service niet.
Best practices voor het berekenen van de beloningsscore
Echte indicatoren van geslaagde personalisatie overwegen: het is eenvoudig om te denken in termen van klikken, maar een goede beloning is gebaseerd op wat u wilt dat uw gebruikers bereiken in plaats van wat u wilt dat mensen doen. Het belonen van klikken kan bijvoorbeeld leiden tot het selecteren van inhoud die gevoelig is voor clickbait.
Gebruik een beloningsscore voor hoe goed de personalisatie heeft gewerkt: Het personaliseren van een filmsuggestie zou er hopelijk toe leiden dat de gebruiker de film bekijkt en een hoge waardering krijgt. Aangezien de filmclassificatie waarschijnlijk afhankelijk is van veel dingen (de kwaliteit van het acteerwerk, de gebuik van de gebruiker), is het geen goed beloningssignaal voor hoe goed de personalisatie heeft gewerkt. De gebruiker die de eerste paar minuten van de film bekijkt, is echter mogelijk een beter signaal van de effectiviteit van personalisatie en het verzenden van een beloning van 1 na 5 minuten is een beter signaal.
Beloningen zijn alleen van toepassing op RewardActionID: Personalizer past de beloningen toe om inzicht te krijgen in de werking van de actie die is opgegeven in RewardActionID. Als u ervoor kiest om andere acties weer te geven en de gebruiker er op klikt, moet de beloning nul zijn.
Denk na over onbedoelde gevolgen: Maak beloningsfuncties die leiden tot verantwoorde resultaten met ethiek en verantwoord gebruik.
Incrementele beloningen gebruiken: Het toevoegen van gedeeltelijke beloningen voor kleinere gebruikersgedrag helpt Personalizer bij het bereiken van betere beloningen. Met deze incrementele beloning kan het algoritme weten dat het steeds dichter bij het uiteindelijke gewenste gedrag komt.
- Als u een lijst met films we weergeven en de gebruiker de eerste een tijdje aanwijzen om meer informatie te zien, kunt u bepalen dat er een bepaalde gebruikersbetrokkenheid heeft plaatsgevonden. Het gedrag kan worden geteld met een beloningsscore van 0,1.
- Als de gebruiker de pagina heeft geopend en vervolgens is afgesloten, kan de beloningsscore 0,2 zijn.
Wachttijd voor beloning
Personalizer correleert de informatie van een Rank-aanroep met de beloningen die worden verzonden in Reward-aanroepen om het model te trainen. Deze kunnen op verschillende tijdstippen komen. Personalizer wacht een beperkte tijd, te beginnen wanneer de Rank-aanroep heeft plaatsgevonden, zelfs als de Rank-aanroep is gedaan als een inactieve gebeurtenis en later wordt geactiveerd.
Als de reward-wachttijd is verlopen en er geen beloningsinformatie is, wordt er een standaardbeloning toegepast op die gebeurtenis voor training. De maximale wachttijd is 2 dagen. Als uw scenario langere reward-wachttijden vereist (bijvoorbeeld voor marketing-e-mailcampagnes), bieden we een persoonlijke preview van langere wachttijden. Open een ondersteuningsticket in de Azure Portal contact op te nemen met het team en kijk of u in aanmerking komt en of het aan u kan worden aangeboden.
Best practices voor reward wait time
Volg deze aanbevelingen voor betere resultaten.
Maak de Reward Wait Time zo kort mogelijk, terwijl u voldoende tijd over hebt om feedback van gebruikers te krijgen.
Kies geen tijdsduur die korter is dan de tijd die nodig is om feedback te krijgen. Als sommige beloningen bijvoorbeeld binnen komen nadat een gebruiker 1 minuut van een video heeft bekeken, moet de experimentlengte minstens twee keer zo lang zijn.