Dove e come usare Personalizza esperienze

Importante

A partire dal 20 settembre 2023 non sarà possibile creare nuove risorse di Personalizza esperienze. Il servizio Personalizza esperienze viene ritirato il 1° ottobre 2026.

Usare Personalizza esperienze in qualsiasi situazione in cui l'applicazione deve selezionare l'azione corretta (contenuto) da visualizzare, per migliorare l'esperienza, ottenere risultati aziendali migliori o migliorare la produttività.

Personalizza esperienze usa l'apprendimento per rinforzo per selezionare quale azione (contenuto) mostrare all'utente. La selezione può variare notevolmente a seconda della quantità, della qualità e della distribuzione dei dati inviati al servizio.

Casi d'uso di esempio per Personalizza esperienze

  • Chiarimento e disambiguazione delle finalità: aiutare gli utenti ad avere un'esperienza migliore quando la loro finalità non è chiara fornendo un'opzione personalizzata.
  • Suggerimenti predefiniti per menu e opzioni: fare in modo che il bot suggerisca l'elemento più probabile in modo personalizzato come primo passaggio, invece di presentare un menu impersonale o un elenco di alternative.
  • Tratti e tono del bot: per i bot che possono variare il tono, la verbosità e lo stile di scrittura, valutare la possibilità di variare questi tratti.
  • Contenuto di notifica e avviso: decidere il testo da usare per gli avvisi per coinvolgere maggiormente gli utenti.
  • Notifica e tempi di avviso: hanno imparato in modo personalizzato quando inviare notifiche agli utenti per coinvolgerli di più.

Aspettative necessarie per l'uso di Personalizza esperienze

È possibile applicare Personalizza esperienze in situazioni in cui si soddisfano o è possibile implementare le linee guida seguenti.

Linee guida Spiegazione
Obiettivo aziendale Si ha un obiettivo aziendale o di usabilità per l'applicazione.
Contenuto Decidere contestualmente cosa mostrare agli utenti in un determinato punto dell'applicazione migliora tale obiettivo.
Quantità di contenuto Sono presenti meno di 50 azioni da classificare per chiamata.
Aggregare i dati La scelta migliore può e deve essere appresa in base al comportamento collettivo degli utenti e al punteggio totale.
Uso etico L'uso dell'apprendimento automatico per la personalizzazione segue le linee guida per l'uso responsabile e le scelte personali.
Opzione singola migliore La decisione contestuale può essere espressa classificando la migliore opzione (azione) in un set di scelte limitato.
Risultato con punteggio Sarà quindi possibile determinare la validità della scelta classificata valutando alcuni aspetti del comportamento degli utenti ed esprimendoli con un punteggio,
Intervallo pertinente Il punteggio non introduce troppi fattori esterni o di confusione. La durata dell'esperimento è abbastanza ridotta da poter calcolare il punteggio finché è ancora pertinente.
Funzionalità di contesto sufficienti È possibile esprimere il contesto per la classificazione come un elenco di almeno 5 funzionalità che si ritiene possa aiutare a fare la scelta giusta e che non include informazioni identificabili specifiche dell'utente.
Funzionalità di azione sufficienti Sono disponibili informazioni su ciascuna scelta di contenuto, azione, come elenco di almeno 5 funzioni che si ritiene aiutino Personalizza esperienze a operare la scelta giusta.
Dati giornalieri Ci sono eventi sufficienti a tenere sotto controllo la personalizzazione ottimale se il problema devia nel corso del tempo (ad esempio, le preferenze nel campo delle notizie o della moda). Personalizza esperienze si adatta ai cambiamenti continui del mondo reale, ma i risultati non saranno ottimali se non ci sono eventi e dati sufficienti da cui apprendere per individuare e stabilire nuovi criteri. È consigliabile scegliere un caso d'uso che accada abbastanza frequentemente. Prendere in considerazione la ricerca di casi d'uso che si verifichino almeno 500 volte al giorno.
Dati storici L'applicazione può conservare dati per il tempo sufficiente ad accumulare una cronologia di almeno 100.000 interazioni. Ciò consente a Personalizza esperienze di raccogliere dati sufficienti per eseguire valutazioni offline e ottimizzazione dei criteri.

Non usare Personalizza esperienze in cui il comportamento personalizzato non è qualcosa che può essere individuato in tutti gli utenti. Può ad esempio essere utile usare Personalizza esperienze per suggerire la pizza da ordinare tra un elenco di 20 possibili tipi, ma la scelta del contatto da chiamare quando si ha bisogno di aiuto per i bambini (come "Nonna") non è un'opzione personalizzabile per un'intera base di utenti.

Come usare Personalizza esperienze in un'applicazione Web

L'aggiunta di un ciclo di apprendimento a un'applicazione Web include:

  • Determinare l'esperienza da personalizzare, le azioni e le funzionalità disponibili, le caratteristiche del contesto da usare e la ricompensa da impostare.
  • Aggiungere nell'applicazione un riferimento all'SDK per la personalizzazione.
  • Chiamare l'API per la classificazione quando si è pronti ad avviare la personalizzazione.
  • Memorizzare l'ID dell'evento. La ricompensa tramite l'apposita API viene inviata in un secondo momento.
  1. Chiamare la funzione di attivazione per l'evento quando si è certi che l'utente ha visualizzato la pagina personalizzata.
  2. Attendere che l'utente esegua la selezione del contenuto classificato.
  3. Chiamare l'API per la ricompensa per specificare l'efficacia dell'output dell'API per la classificazione.

Come usare Personalizza esperienze con un chatbot

In questo esempio si vedrà come usare Personalizza esperienze in modo da inviare un suggerimento predefinito anziché inviare ogni volta all'utente una serie di opzioni o menu.

  • Scaricare il codice per questo esempio.
  • Configurare la soluzione del bot. Assicurarsi di pubblicare l'applicazione LUIS.
  • Gestire per il bot le chiamate alle API per la classificazione e la ricompensa.
    • Aggiungere codice per gestire l'elaborazione della finalità di LUIS. Se come finalità principale viene restituito None o il punteggio della finalità risulta al di sotto della soglia della logica di business, inviare l'elenco delle finalità a Personalizza esperienze per classificarle.
    • Mostrare all'utente l'elenco delle finalità come collegamenti selezionabili, dove la prima finalità corrisponde a quella classificata con priorità più alta dalla risposta dell'API.
    • Acquisire la selezione dell'utente e includerla nella chiamata all'API per la ricompensa.
  • Eseguire chiamate all'API per la classificazione di Personalizza esperienze ogni volta che è necessaria una disambiguazione, invece di memorizzare nella cache i risultati per ogni utente. Il risultato della disambiguazione della finalità può cambiare nel tempo per una stessa persona. Consentendo all'API per la classificazione di esplorare le varianze si accelererà l'apprendimento complessivo.
  • Scegliere un'interazione comune a molti utenti in modo da avere dati sufficienti per la personalizzazione. Ad esempio, le domande introduttive possono essere più appropriate rispetto ai piccoli chiarimenti introdotti più avanti nella conversazione, che potrebbero essere visualizzati solo da alcuni utenti.
  • Usare le chiamate API Rank per abilitare le conversazioni "il primo suggerimento è giusto", in cui l'utente riceve la richiesta "Vuoi X?" o "Hai significato X?" e l'utente può semplicemente confermare; invece di fornire opzioni all'utente in cui devono scegliere da un menu. Ad esempio, User:"Vorrei ordinare un caffè" Bot:"Vuoi un doppio espresso?". In questo modo, anche il segnale di ricompensa è forte poiché fa direttamente riferimento all'unico suggerimento fornito.

Come usare Personalizza esperienze con una soluzione di raccomandazione

Molte aziende usano motori di raccomandazione, strumenti di marketing e conduzione di campagne, segmentazione e clustering del pubblico, filtri collaborativi e altri mezzi per consigliare prodotti da un ampio catalogo ai clienti.

Il repository GitHub Microsoft Recommenders fornisce esempi e procedure consigliate per creare sistemi di raccomandazione sotto forma di notebook Jupyter. Fornisce esempi funzionanti per preparare dati, compilare modelli, valutare, ottimizzare e rendere operativi i motori di raccomandazione, per molti approcci comuni, tra cui xDeepFM, SAR, ALS, RBM e DKN.

Personalizza esperienze può funzionare con un motore di raccomandazione, se presente.

  • I motori di raccomandazione richiedono grandi quantità di elementi (ad esempio, 500.000) e raccomandano un subset (ad esempio i primi 20) da centinaia o migliaia di opzioni.
  • Personalizza esperienze accetta un numero ridotto di azioni con una grande quantità di informazioni su di esse e le classifica in tempo reale per un determinato contenuto avanzato, mentre la maggior parte dei motori di raccomandazione usano solo alcuni attributi riguardanti gli utenti, i prodotti e le relative interazioni.
  • Personalizza esperienze è progettato per esplorare continuamente e in modo autonomo le preferenze dell'utente, restituendo risultati migliori nei casi in cui il contenuto cambia rapidamente, ad esempio notizie, eventi in tempo reale, contenuti live della community, contenuto con aggiornamenti quotidiani o contenuti stagionali.

Un uso comune consiste nell'usare l'output di un motore di raccomandazione (ad esempio, i primi 20 prodotti per un determinato cliente) come azioni di input per Personalizza esperienze.

Aggiungere all'applicazione misure di sicurezza per il contenuto

Se l'applicazione consente la visualizzazione di ampie varianze di contenuto e parte di tale contenuto può essere poco sicuro o risultare inappropriato per alcuni utenti, è consigliabile controllare in anticipo che vengano implementate le opportune misure di sicurezza per impedire agli utenti di visualizzare contenuto inaccettabile. Il modello migliore per implementare misure di sicurezza è: * Ottenere l'elenco di azioni da classificare. * Filtra quelli che non sono validi per il pubblico. * Classifica solo queste azioni validi. * Visualizzare l'azione in primo piano all'utente.

In alcune architetture la sequenza precedente può risultare difficile da implementare. In tal caso, esiste un approccio alternativo all'implementazione delle misure di sicurezza dopo la classificazione, ma è necessario eseguire un provisioning in modo che le azioni che rientrano all'esterno della protezione non vengano usate per eseguire il training del modello di Personalizza esperienze.

  • Ottenere l'elenco delle azioni da classificare, con apprendimento disattivato.
  • Classificare le azioni in ordine di priorità.
  • Controllare se l'azione con priorità più alta è attuabile.
    • In caso affermativo, attivare l'apprendimento per questo livello di classificazione e quindi mostrarlo all'utente.
    • Se l'azione con priorità più alta non è attuabile, non attivare l'apprendimento per questa classificazione e decidere cosa mostrare all'utente in base alla propria logica o ad approcci alternativi. Anche se si usa la seconda opzione migliore, non attivare l'apprendimento per questa classificazione.

Passaggi successivi

Etica e uso responsabile.