Waar en hoe personalizer te gebruiken
Belangrijk
Vanaf 20 september 2023 kunt u geen nieuwe Personalizer-resources maken. De Personalizer-service wordt op 1 oktober 2026 buiten gebruik gesteld.
Gebruik Personalizer in elke situatie waarin uw toepassing de juiste actie (inhoud) moet selecteren om weer te geven, om de ervaring beter te maken, betere bedrijfsresultaten te bereiken of de productiviteit te verbeteren.
Personalizer gebruikt versterkingsleer om te selecteren welke actie (inhoud) de gebruiker weergeeft. De selectie kan drastisch variëren, afhankelijk van de hoeveelheid, kwaliteit en distributie van gegevens die naar de service worden verzonden.
Voorbeelden van use cases voor Personalizer
- Verduidelijking van intenties en ondubbelzinnigheid: help uw gebruikers een betere ervaring te hebben wanneer hun intentie niet duidelijk is door een optie te bieden die is aangepast.
- Standaardsuggesties voor menu's en opties: laat de bot het meest waarschijnlijke item op een persoonlijke manier voorstellen als eerste stap, in plaats van een onpersoonlijk menu of een lijst met alternatieven te presenteren.
- Boteigenschappen en toon: voor bots die de toon, uitgebreidheid en schrijfstijl kunnen variëren, kunt u overwegen om deze eigenschappen te variëren.
- Inhoud van meldingen en waarschuwingen: bepaal welke tekst moet worden gebruikt voor waarschuwingen om gebruikers meer te betrekken.
- Tijdsinstellingen voor meldingen en waarschuwingen: u hebt gepersonaliseerde kennis van wanneer u meldingen naar gebruikers verzendt om hen meer te betrekken.
Verwachtingen die nodig zijn voor het gebruik van Personalizer
U kunt Personalizer toepassen in situaties waarin u voldoet of de volgende richtlijnen kunt implementeren.
Richtlijn | Uitleg |
---|---|
Bedrijfsdoel | U hebt een bedrijfs- of bruikbaarheidsdoel voor uw toepassing. |
Inhoud | U hebt een plaats in uw toepassing waar u een contextuele beslissing neemt over wat gebruikers kunnen laten zien dat doel wordt verbeterd. |
Hoeveelheid inhoud | U hebt minder dan 50 acties om per aanroep te rangschikken. |
Geaggregeerde gegevens | De beste keuze kan en moet worden geleerd van collectief gebruikersgedrag en de totale beloningsscore. |
Ethisch gebruik | Het gebruik van machine learning voor persoonlijke instellingen volgt richtlijnen en keuzes die u hebt gekozen voor verantwoordelijk gebruik . |
Beste enkele optie | De contextuele beslissing kan worden uitgedrukt als classificatie van de beste optie (actie) van een beperkt aantal keuzes. |
Scored resultaat | Hoe goed de geclassificeerde keuze voor uw toepassing werkt, kan worden bepaald door een bepaald aspect van gebruikersgedrag te meten en deze uit te drukken in een beloningsscore. |
Relevante timing | De beloningsscore brengt niet te veel verwarrende of externe factoren met zich mee. De duur van het experiment is laag genoeg om de beloningsscore te berekenen terwijl deze nog steeds relevant is. |
Voldoende contextfuncties | U kunt de context voor de rang uitdrukken als een lijst met ten minste 5 functies waarvan u denkt dat u de juiste keuze kunt maken en die geen gebruikersspecifieke identificeerbare informatie bevat. |
Voldoende actiefuncties | U hebt informatie over elke inhoudskeuze, actie, als een lijst met ten minste 5 functies die u denkt te helpen Personalizer de juiste keuze te maken. |
Dagelijkse gegevens | Er zijn genoeg gebeurtenissen om op de hoogte te blijven van optimale personalisatie als het probleem in de loop van de tijd afdrijdt (zoals voorkeuren in nieuws of mode). Personalizer zal zich aanpassen aan continue verandering in de echte wereld, maar resultaten zijn niet optimaal als er onvoldoende gebeurtenissen en gegevens zijn om van te leren om nieuwe patronen te ontdekken en vast te stellen. U moet een use case kiezen die vaak genoeg gebeurt. Overweeg om gebruiksvoorbeelden te zoeken die minstens 500 keer per dag plaatsvinden. |
Historische gegevens | Uw toepassing kan gegevens lang genoeg bewaren om een geschiedenis van ten minste 100.000 interacties te verzamelen. Hierdoor kan Personalizer voldoende gegevens verzamelen om offline evaluaties en beleidsoptimalisatie uit te voeren. |
Gebruik personalizer niet, waarbij het persoonlijke gedrag niet iets is dat voor alle gebruikers kan worden gedetecteerd. Het gebruik van Personalizer om bijvoorbeeld een eerste pizzabestelling uit een lijst met 20 mogelijke menu-items voor te stellen, is handig, maar die contactpersoon die moet worden gebeld vanuit de contactenlijst van de gebruiker wanneer u hulp nodig hebt bij kinderopvang (zoals 'Oma') is niet iets dat in uw gebruikersbestand kan worden aangepast.
Personalizer gebruiken in een webtoepassing
Het toevoegen van een leerlus aan een webtoepassing omvat:
- Bepaal welke ervaring u moet aanpassen, welke acties en functies u hebt, welke contextfuncties u moet gebruiken en welke beloning u instelt.
- Voeg een verwijzing toe naar de Personalization SDK in uw toepassing.
- Roep de Rank-API aan wanneer u klaar bent om te personaliseren.
- Sla de eventId op. U verzendt later een beloning met de Reward-API.
- Bel Activeren voor de gebeurtenis zodra u zeker weet dat de gebruiker uw persoonlijke pagina heeft gezien.
- Wacht tot de gebruiker een gerangschikte inhoud heeft geselecteerd.
- Roep reward-API aan om op te geven hoe goed de uitvoer van de Rank-API heeft gedaan.
Personalizer gebruiken met een chatbot
In dit voorbeeld ziet u hoe u Persoonlijke instellingen kunt gebruiken om een standaardsuggesties te maken in plaats van de gebruiker elke keer een reeks menu's of keuzes te sturen.
- Haal de code voor dit voorbeeld op.
- Stel uw botoplossing in. Zorg ervoor dat u uw LUIS-toepassing publiceert.
- Rank- en Reward-API-aanroepen voor bot beheren.
- Voeg code toe om de verwerking van LUIS-intenties te beheren. Als de None wordt geretourneerd als de hoogste intentie of de score van de hoogste intentie lager is dan de drempelwaarde voor bedrijfslogica, stuurt u de lijst met intenties naar Personalizer om de intenties te rangschikken.
- Toon de intentielijst aan de gebruiker als selecteerbare koppelingen met de eerste intentie als de hoogste rangschikking van het Rank API-antwoord.
- Leg de selectie van de gebruiker vast en verzend deze in de Reward-API-aanroep.
Aanbevolen botpatronen
- Maak Personalizer Rank API-aanroepen telkens wanneer er een ondubbelzinnigheid nodig is, in tegenstelling tot het opslaan van resultaten voor elke gebruiker. Het resultaat van ondubbelzinnige intentie kan na verloop van tijd veranderen voor één persoon en de Rank-API kan afwijkingen verkennen, zal het algemene leren versnellen.
- Kies een interactie die gebruikelijk is voor veel gebruikers, zodat u voldoende gegevens hebt om te personaliseren. Inleidende vragen kunnen bijvoorbeeld beter passen dan kleinere verduidelijkingen diep in de gespreksgrafiek waar slechts een paar gebruikers toegang toe kunnen krijgen.
- Gebruik Rank API-aanroepen om gesprekken met 'first suggestion is right' in te schakelen, waarbij de gebruiker wordt gevraagd 'Wilt u X? of 'Bedoelde u X?' en de gebruiker kan gewoon bevestigen; in tegenstelling tot het geven van opties aan de gebruiker waar ze uit een menu moeten kiezen. Bijvoorbeeld: Gebruiker:"Ik wil een koffie bestellen" Bot:"Wilt u een dubbele espresso?". Op deze manier is het beloningssignaal ook sterk omdat het rechtstreeks betrekking heeft op de ene suggestie.
Personalizer gebruiken met een aanbevelingsoplossing
Veel bedrijven gebruiken aanbevelingsengines, marketing- en campagnehulpprogramma's, segmentatie van doelgroepen en clustering, gezamenlijke filtering en andere middelen om producten van een grote catalogus aan klanten aan te bevelen.
De GitHub-opslagplaats van Microsoft Recommenders biedt voorbeelden en aanbevolen procedures voor het bouwen van aanbevelingssystemen, die worden geleverd als Jupyter-notebooks. Het biedt werkvoorbeelden voor het voorbereiden van gegevens, het bouwen van modellen, het evalueren, afstemmen en operationeel maken van de aanbevelingsengines, voor veel algemene benaderingen, waaronder xDeepFM, SAR, ALS, RBM, DKN.
Personalizer kan werken met een aanbevelingsengine wanneer deze aanwezig is.
- Aanbevelingsengines nemen grote hoeveelheden items (bijvoorbeeld 500.000) en adviseren een subset (zoals de top 20) van honderden of duizenden opties.
- Personalizer neemt een klein aantal acties met veel informatie over hen en rangschikt ze in realtime voor een bepaalde rijke context, terwijl de meeste aanbevelingsengines slechts enkele kenmerken over gebruikers, producten en hun interacties gebruiken.
- Personalizer is ontworpen om gebruikersvoorkeuren voortdurend autonoom te verkennen, wat betere resultaten oplevert wanneer inhoud snel verandert, zoals nieuws, livegebeurtenissen, live community-inhoud, inhoud met dagelijkse updates of seizoensinhoud.
Een veelvoorkomend gebruik is het uitvoeren van de uitvoer van een aanbevelingsengine (bijvoorbeeld de top 20-producten voor een bepaalde klant) en dat gebruiken als invoeracties voor Personalizer.
Inhoudsbeveiligingen toevoegen aan uw toepassing
Als uw toepassing grote afwijkingen in inhoud toestaat die aan gebruikers worden getoond en sommige van deze inhoud mogelijk onveilig of ongepast zijn voor sommige gebruikers, moet u ervoor zorgen dat de juiste beveiligingsmaatregelen worden uitgevoerd om te voorkomen dat uw gebruikers onaanvaardbare inhoud zien. Het beste patroon voor het implementeren van beveiligingen is: * Haal de lijst met acties op om te rangschikken. * Filter de waarden die niet geschikt zijn voor het publiek. * Rangschik deze levensvatbare acties alleen. * De hoogste gerangschikte actie weergeven voor de gebruiker.
In sommige architecturen kan de bovenstaande volgorde moeilijk te implementeren zijn. In dat geval is er een alternatieve benadering voor het implementeren van waarborgen na rangschikking, maar er moet een bepaling worden gemaakt, zodat acties die buiten de beveiliging vallen, niet worden gebruikt om het Personalizer-model te trainen.
- Haal de lijst met acties op om te rangschikken, met leren gedeactiveerd.
- Rangschikkingsacties.
- Controleer of de belangrijkste actie haalbaar is.
- Als de belangrijkste actie haalbaar is, activeert u het leren voor deze rangschikking en laat u deze vervolgens aan de gebruiker zien.
- Als de belangrijkste actie niet haalbaar is, activeert u het leren voor deze classificatie niet en besluit u via uw eigen logica of alternatieve benaderingen die aan de gebruiker moeten worden getoond. Zelfs als u de op een na beste gerangschikte optie gebruikt, moet u het leren voor deze classificatie niet activeren.