

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Ricetta per la personalizzazione dell'utente
<a name="native-recipe-new-item-USER_PERSONALIZATION"></a>

**Importante**  
Ti consigliamo di utilizzare la ricetta [User-Personalization-v2](native-recipe-user-personalization-v2.md). Può prendere in considerazione fino a 5 milioni di articoli con un addestramento più rapido e generare consigli più pertinenti con una latenza inferiore.

La ricetta User-Personalization (aws-user-personalization) è ottimizzata per tutti gli scenari di raccomandazione personalizzati. Prevede gli elementi con cui un utente molto probabilmente interagirà. Puoi utilizzare User-Personalization per generare consigli personalizzati sui film per un'app di streaming o consigli personalizzati sui prodotti per un'app di vendita al dettaglio.

Con User-Personalization, Amazon Personalize genera consigli basati principalmente sui dati di interazione degli elementi utente in un set di dati sulle interazioni degli articoli. Può anche utilizzare qualsiasi elemento e metadato utente nei set di dati Items and Users. Per ulteriori informazioni sui dati che utilizza, consulta. [Set di dati obbligatori e opzionali](#user-personalization-datasets) 

**Topics**
+ [Caratteristiche della ricetta](#user-personalization-features)
+ [Set di dati obbligatori e opzionali](#user-personalization-datasets)
+ [Proprietà e iperparametri](#bandit-hyperparameters)
+ [Formazione con la ricetta di personalizzazione degli utenti (console)](#training-user-personalization-recipe-console)
+ [Formazione con la ricetta di personalizzazione degli utenti (Python SDK)](#training-user-personalization-recipe)
+ [Ottenere consigli e registrare impressioni (SDK for Python (Boto3))](#user-personalization-get-recommendations-recording-impressions)
+ [Notebook Jupyter di esempio](#bandits-sample-notebooks)

## Caratteristiche della ricetta
<a name="user-personalization-features"></a>

La personalizzazione degli utenti utilizza le seguenti funzionalità di ricetta di Amazon Personalize per generare consigli sugli articoli: 
+ Personalizzazione in tempo reale: con la personalizzazione in tempo reale, Amazon Personalize aggiorna e adatta i consigli sugli articoli in base all'evoluzione dell'interesse dell'utente. Per ulteriori informazioni, consulta [Personalizzazione in tempo reale](use-case-recipe-features.md#about-real-time-personalization).
+ Esplorazione: con l'esplorazione, i consigli includono nuovi articoli o articoli con meno dati sulle interazioni. Ciò migliora la scoperta e il coinvolgimento degli articoli quando si dispone di un catalogo in rapida evoluzione o quando nuovi articoli, come notizie o promozioni, sono più pertinenti per gli utenti quando sono freschi. Per ulteriori informazioni sull'esplorazione, consulta. [Esplorazione](use-case-recipe-features.md#about-exploration)
+ Aggiornamenti automatici: con gli aggiornamenti automatici, Amazon Personalize aggiorna automaticamente il modello più recente (versione della soluzione) ogni due ore per prendere in considerazione nuovi elementi da consigliare. Per ulteriori informazioni, consulta [Aggiornamenti automatici](use-case-recipe-features.md#automatic-updates).

## Set di dati obbligatori e opzionali
<a name="user-personalization-datasets"></a>

Per utilizzare la personalizzazione utente, è necessario creare un [set di dati sulle interazioni tra elementi](interactions-datasets.md) e importare almeno 1000 interazioni tra elementi. Amazon Personalize genera consigli basati principalmente sui dati di interazione tra gli articoli.

Con User-Personalization, Amazon Personalize può utilizzare i dati sulle interazioni degli articoli che includono quanto segue:
+ Dati sul tipo di evento e sul valore dell'evento: Amazon Personalize utilizza dati sui tipi di evento, come i tipi di eventi click or watch, per identificare l'intento e l'interesse degli utenti attraverso qualsiasi modello di comportamento. Inoltre, puoi utilizzare i dati sul tipo di evento e sul valore dell'evento per filtrare i record prima dell'allenamento. Per ulteriori informazioni, consulta [Dati sul tipo e sul valore dell'evento](interactions-datasets.md#event-type-and-event-value-data). 
+ Metadati contestuali: i metadati contestuali sono dati di interazione raccolti nell'ambiente dell'utente al momento di un evento, ad esempio la posizione o il tipo di dispositivo. Per ulteriori informazioni, consulta [Metadati contestuali](interactions-datasets.md#interactions-contextual-metadata). 
+ Dati sulle impressioni: le impressioni sono elenchi di elementi che erano visibili a un utente quando interagiva con (faceva clic, guardava, acquistava e così via) un determinato elemento. Per ulteriori informazioni, consulta [Dati sulle impressioni](interactions-datasets.md#interactions-impressions-data).

 I seguenti set di dati sono facoltativi e possono migliorare i consigli: 
+ Set di dati degli utenti: Amazon Personalize può utilizzare i dati del set di dati degli utenti per comprendere meglio gli utenti e i loro interessi. Puoi anche utilizzare i dati in un set di dati Users per filtrare i consigli. Per informazioni sui dati utente che puoi importare, consulta[Metadati utente](users-datasets.md).
+ Set di dati sugli articoli: Amazon Personalize può utilizzare i dati del set di dati Items per identificare connessioni e modelli nel loro comportamento. Questo aiuta Amazon Personalize a comprendere i tuoi utenti e i loro interessi. Puoi anche utilizzare i dati in un set di dati Items per filtrare i consigli. Per informazioni sui dati degli articoli che puoi importare, consulta[Metadati degli articoli](items-datasets.md). 

## Proprietà e iperparametri
<a name="bandit-hyperparameters"></a>

La ricetta User-Personalization ha le seguenti proprietà:
+  **Nome**: `aws-user-personalization`
+  **Ricetta Amazon Resource Name (ARN**) — `arn:aws:personalize:::recipe/aws-user-personalization`
+  **Algoritmo ARN** — `arn:aws:personalize:::algorithm/aws-user-personalization`

Per ulteriori informazioni, consulta [Scegliere una ricetta](working-with-predefined-recipes.md).

La tabella seguente descrive gli iperparametri per la ricetta di personalizzazione dell'utente. Un *iperparametro* è un parametro di algoritmo che puoi regolare per migliorare le prestazioni del modello. Gli iperparametri dell'algoritmo controllano le prestazioni del modello. Gli iperparametri di funzionalità controllano come filtrare i dati da utilizzare nel training. Il processo di scelta del valore migliore per un iperparametro è chiamato ottimizzazione iperparametri (HPO). Per ulteriori informazioni, consulta [Iperparametri e HPO](customizing-solution-config-hpo.md). 

La tabella fornisce le seguenti informazioni per ogni iperparametro:
+ **Range**: [limite inferiore, limite superiore]
+ **Value type**: Integer, Continuous (float), Categorical (booleano, elenco, stringa)
+ **HPO tunable**(HPO ottimizzabile): il parametro può partecipare all'HPO?


| Nome | Description | 
| --- | --- | 
| Iperparametri dell'algoritmo | 
| hidden\$1dimension |  Il numero di variabili nascoste utilizzate nel modello. *Le variabili nascoste* ricreano la cronologia degli acquisti degli utenti e le statistiche degli articoli per generare punteggi di classifica. Specificate un numero maggiore di dimensioni nascoste quando il set di dati sulle interazioni degli elementi include modelli più complicati. L'utilizzo di dimensioni più nascoste richiede un set di dati più grande e più tempo per l'elaborazione. Per decidere il valore migliore, usa HPO. Per utilizzare HPO, imposta `performHPO` su `true` quando chiami le operazioni [CreateSolution](API_CreateSolution.md) e [CreateSolutionVersion](API_CreateSolutionVersion.md). Valore predefinito: 149 Intervallo: [32, 256] Tipo di valore: Integer HPO regolabile: sì  | 
| bptt |  Determina se utilizzare la tecnica di propagazione back-through-time. *La propagazione back-through-time* è una tecnica che aggiorna i pesi in algoritmi basati su reti neurali ricorrenti. Utilizza `bptt` per i crediti a lungo termine per collegare ricompense ritardate ai primi eventi. Ad esempio, una ricompensa ritardata può essere un acquisto effettuato dopo diversi clic. Un evento iniziale può essere un clic iniziale. Anche all'interno degli stessi tipi di eventi, ad esempio un clic, è consigliabile considerare gli effetti a lungo termine e massimizzare le ricompense totali. Per considerare gli effetti a lungo termine, utilizza valori `bptt` più grandi. L'utilizzo di un valore `bptt` maggiore richiede set di dati più grandi e più tempo per l'elaborazione. Valore predefinito: 32 Intervallo: [2, 32]. Tipo di valore: Integer HPO regolabile: sì  | 
| recency\$1mask |  Determina se il modello deve prendere in considerazione le ultime tendenze di popolarità nel set di dati sulle interazioni tra oggetti. Le ultime tendenze di popolarità potrebbero includere improvvisi cambiamenti nei modelli sottostanti degli eventi di interazione. Per eseguire il training di un modello che posiziona più peso sugli eventi recenti, imposta `recency_mask` su `true`. Per addestrare un modello che pesa ugualmente tutte le interazioni passate, imposta `recency_mask` su `false`. Per ottenere buone raccomandazioni utilizzando lo stesso peso, potrebbe essere necessario un set di dati di training più grande. Valore predefinito: `True` Intervallo: `True` o `False` Tipo di valore: booleano HPO regolabile: sì  | 
| Iperparametri di caratterizzazione | 
| min\$1user\$1history\$1length\$1percentile |  Il percentile minimo delle lunghezze della cronologia degli utenti da includere nell’addestramento del modello. *La lunghezza della cronologia* è la quantità totale di dati relativi a un utente. Utilizza `min_user_history_length_percentile` per escludere una percentuale di utenti con brevi periodi di cronologia. Gli utenti con una breve cronologia spesso mostrano modelli basati sulla popolarità dell'articolo anziché le esigenze o i desideri personali dell'utente. La loro rimozione può addestrare modelli con maggiore attenzione sui modelli sottostanti nei dati. Scegli un valore appropriato dopo aver esaminato le lunghezze della cronologia degli utenti, utilizzando un istogramma o uno strumento simile. Ti consigliamo di impostare un valore che conservi la maggior parte degli utenti, ma rimuove i casi limite.  Ad esempio, l'impostazione di `min_user_history_length_percentile to 0.05` e `max_user_history_length_percentile to 0.95` include tutti gli utenti tranne quelli con lunghezze della cronologia nella parte inferiore o superiore del 5%. Valore predefinito: 0.0 Intervallo: [0.0, 1.0] Tipo di valore: float HPO regolabile: no  | 
| max\$1user\$1history\$1length\$1percentile |  Il percentile massimo delle lunghezze della cronologia degli utenti da includere nell’addestramento del modello. *La lunghezza della cronologia* è la quantità totale di dati relativi a un utente. Utilizza `max_user_history_length_percentile` per escludere una percentuale di utenti con lunghi periodi di cronologia perché i dati per questi utenti tendono a contenere rumore. Ad esempio, un robot potrebbe avere un lungo elenco di interazioni automatizzate. La rimozione di questi utenti limita il rumore durante il training. Scegli un valore appropriato dopo aver esaminato le lunghezze della cronologia degli utenti utilizzando un istogramma o uno strumento simile. Ti consigliamo di impostare un valore che conservi la maggior parte degli utenti ma rimuove i casi limite. Ad esempio, l'impostazione di `min_user_history_length_percentile to 0.05` e `max_user_history_length_percentile to 0.95` include tutti gli utenti tranne quelli con lunghezze della cronologia nella parte inferiore o superiore del 5%. Valore predefinito: 0,99 Intervallo: [0.0, 1.0] Tipo di valore: float HPO regolabile: no  | 
| Iperparametri di configurazione della campagna di esplorazione degli articoli | 
| exploration\$1weight |  Determina la frequenza con cui i consigli includono elementi con meno dati o rilevanza sull'interazione tra gli elementi. Più il valore si avvicina a 1,0, maggiore è l'esplorazione. A zero, non viene effettuata alcuna esplorazione e le raccomandazioni si basano sui dati correnti (pertinenza). Per ulteriori informazioni, consulta [CampaignConfig](API_CampaignConfig.md). Valore predefinito: 0.3 Intervallo: [0.0, 1.0] Tipo di valore: float HPO regolabile: no  | 
| exploration\$1item\$1age\$1cut\$1off |  Specificate l'età massima dell'articolo, in giorni, dall'ultima interazione tra tutti gli elementi nel set di dati sulle interazioni tra gli elementi. Questo definisce l'ambito dell'esplorazione degli articoli in base alla loro età. Amazon Personalize determina l'età di un articolo in base al timestamp di creazione o, se mancano dati relativi al timestamp di creazione, ai dati di interazione tra gli articoli. Per ulteriori informazioni su come Amazon Personalize determina l'età di un articolo, consulta. [Dati relativi al timestamp di creazione](items-datasets.md#creation-timestamp-data)  Per aumentare il numero di articoli che Amazon Personalize considera durante l'esplorazione, inserisci un valore maggiore. Il minimo è 1 giorno e il valore predefinito è 30 giorni. I consigli potrebbero includere articoli più vecchi della data limite di età specificata per l'articolo. Questo perché questi elementi sono pertinenti per l'utente e l'esplorazione non li ha identificati. Valore predefinito: 30.0 Intervallo: float positivi Tipo di valore: float HPO regolabile: no  | 

## Formazione con la ricetta di personalizzazione degli utenti (console)
<a name="training-user-personalization-recipe-console"></a>

Per utilizzare la ricetta di personalizzazione degli utenti per generare consigli nella console, devi prima addestrare una nuova versione della soluzione utilizzando la ricetta. Quindi distribuisci una campagna utilizzando la versione della soluzione e utilizza la campagna per ottenere consigli. 

**Addestramento di una nuova versione della soluzione con la ricetta di personalizzazione degli utenti (console)**

1. Apri la console Amazon Personalize a [https://console.aws.amazon.com/personalize/casa](https://console.aws.amazon.com/personalize/home) e accedi al tuo account.

1. Crea un gruppo di set di dati personalizzato con un nuovo schema e carica il tuo set di dati con i dati sulle impressioni. Facoltativamente, includi [CREATION\$1TIMESTAMP]() e [Metadati di testo non strutturati](items-datasets.md#text-data) i dati nel set di dati degli articoli in modo che Amazon Personalize possa calcolare con maggiore precisione l'età di un articolo e identificare gli articoli irrisolti.

   Per ulteriori informazioni sull'importazione di dati, consulta. [Importazione di dati di formazione nei set di dati di Amazon Personalize](import-data.md)

1. Nella pagina **Gruppi di set** di dati, scegli il nuovo gruppo di set di dati che contiene il set di dati o i set di dati con dati sulle impressioni.

1. **Nel riquadro di navigazione, scegli **Soluzioni e ricette e** scegli Crea soluzione.**

1. Nella pagina **Crea soluzione**, per il **nome della soluzione**, inserisci il nome della nuova soluzione.

1. Per **Tipo di soluzione**, scegli **Raccomandazione dell'**articolo per ottenere consigli sugli articoli per i tuoi utenti. 

1. Per **Ricetta**, scegli **aws-user-personalization**. Viene visualizzata la sezione **Configurazione della soluzione** che fornisce diverse opzioni di configurazione. 

1. Nella **configurazione degli eventi**, se il set di dati sulle interazioni degli articoli contiene le colonne EVENT\$1TYPE o entrambe le colonne EVENT\$1TYPE ed EVENT\$1VALUE, utilizza facoltativamente i campi **Tipo di evento e **Soglia del valore** dell'evento** per scegliere i dati di interazione tra gli articoli che Amazon Personalize utilizza per addestrare il modello. Per ulteriori informazioni, consulta [Scelta dei dati di interazione tra gli oggetti utilizzati per l'allenamento](event-values-types.md). 

    Se disponi di più tipi di eventi e utilizzi User-Personalization-v 2 ricette o Personalized-Ranking-v 2 ricette, puoi anche specificare pesi diversi per tipi diversi. Ad esempio, puoi configurare una soluzione per dare più peso agli eventi di acquisto rispetto ai click events. Per ulteriori informazioni, consulta [Ottimizzazione di una soluzione con configurazione degli eventi](optimizing-solution-events-config.md). 

1. Se lo desideri, configura gli iperparametri per la tua soluzione. Per un elenco delle proprietà e degli iperparametri della ricetta di personalizzazione degli utenti, vedere. [Proprietà e iperparametri](#bandit-hyperparameters) 

1. Scegli la **soluzione Create and Train** per iniziare l'allenamento. Viene visualizzata la pagina **Dashboard**.

   È possibile accedere alla pagina dei dettagli della soluzione per tenere traccia dei progressi della formazione nella sezione **Versioni della soluzione**. Quando l'allenamento è completo, lo stato è **Attivo**.

**Creazione di una campagna e ricezione di consigli (console)**

 Quando lo stato della versione della soluzione è **Attivo**, sei pronto per creare la tua campagna e ricevere consigli come segue: 

1. Nella pagina dei dettagli della soluzione o nella pagina **Campagne**, scegli **Crea nuova campagna**.

1.  Nella pagina **Crea nuova campagna**, per **i dettagli della campagna**, fornisci le seguenti informazioni: 
   + **Nome della campagna:** inserisci il nome della campagna. Il testo che inserisci qui viene visualizzato nella dashboard e nella pagina dei dettagli della campagna.
   + **Soluzione:** scegli la soluzione che hai appena creato.
   + **ID della versione della soluzione:** scegli l'ID della versione della soluzione che hai appena creato.
   + **Transazioni con provisioning minimo al secondo:** imposta il numero minimo di transazioni assegnate al secondo supportate da Amazon Personalize. Per maggiori informazioni, vedi l'operazione [CreateCampaign](API_CreateCampaign.md).

1. Per la **configurazione di Campaign**, fornisci le seguenti informazioni:
   + **Peso dell'esplorazione:** configura quanto esplorare, dove i consigli includono elementi con meno dati di interazione o rilevanza tra gli elementi, più frequentemente quanto maggiore è l'esplorazione specificata. Più il valore è vicino a 1, maggiore è l'esplorazione. A zero, non viene effettuata alcuna esplorazione e le raccomandazioni si basano sui dati correnti (pertinenza).
   + Data **limite dell'elemento di esplorazione**: inserisci l'età massima dell'articolo, in giorni dall'ultima interazione, per definire l'ambito dell'esplorazione dell'elemento. Per aumentare il numero di articoli che Amazon Personalize considera durante l'esplorazione, inserisci un valore maggiore. 

      Ad esempio, se inserisci 10, durante l'esplorazione vengono presi in considerazione solo gli elementi con dati di interazione tra elementi risalenti ai 10 giorni trascorsi dall'ultima interazione nel set di dati. 
**Nota**  
I consigli potrebbero includere elementi senza dati di interazione tra elementi provenienti da un periodo di tempo non compreso in questo intervallo di tempo. Questo perché questi elementi sono pertinenti agli interessi dell'utente e non è stata necessaria un'esplorazione per identificarli.

1. Scegliere **Create campaign (Crea campagna)**.

1. Nella pagina dei dettagli della campagna, quando lo stato della campagna è **Attivo**, puoi utilizzare la campagna per ottenere consigli e registrare impressioni. Per ulteriori informazioni, consulta la sezione [Fase 5: Ottieni consigli](getting-started-console.md#getting-started-console-get-recommendations) «Guida introduttiva». 

    Amazon Personalize aggiorna automaticamente la versione più recente della soluzione ogni due ore per includere nuovi dati. La tua campagna utilizza automaticamente la versione aggiornata della soluzione. Per ulteriori informazioni, consulta [Aggiornamenti automatici](use-case-recipe-features.md#automatic-updates). 

   Per aggiornare manualmente la campagna, devi prima creare e addestrare una nuova versione della soluzione utilizzando la console o l'[CreateSolutionVersion](API_CreateSolutionVersion.md)operazione, con `trainingMode` set to`update`. Quindi aggiorni manualmente la **campagna nella pagina Campaign** della console o utilizzando l'[UpdateCampaign](API_UpdateCampaign.md)operazione. 
**Nota**  
 Amazon Personalize non aggiorna automaticamente le versioni della soluzione create prima del 17 novembre 2020. 

## Formazione con la ricetta di personalizzazione degli utenti (Python SDK)
<a name="training-user-personalization-recipe"></a>

Dopo aver creato un gruppo di set di dati e caricato i set di dati con i dati sulle impressioni, puoi addestrare una soluzione con la ricetta User-Personalization. Facoltativamente, includi [CREATION\$1TIMESTAMP]() e [Metadati di testo non strutturati](items-datasets.md#text-data) i dati nel set di dati degli articoli in modo che Amazon Personalize possa calcolare con maggiore precisione l'età di un articolo e identificare gli articoli irrisolti. Per ulteriori informazioni sulla creazione di gruppi di set di dati e sul caricamento dei dati di formazione, consulta. [Creazione di file JSON di schema per schemi Amazon Personalize](how-it-works-dataset-schema.md)

**Per addestrare una soluzione con la ricetta di personalizzazione degli utenti utilizzando l'SDK AWS**

1. Crea una nuova soluzione utilizzando il metodo. `create_solution`

   Sostituisci `solution name` con il nome della soluzione e `dataset group arn` con l'Amazon Resource Name (ARN) del tuo gruppo di set di dati.

   ```
   import boto3
   
   personalize = boto3.client('personalize')
   
   print('Creating solution')
   create_solution_response = personalize.create_solution(name = 'solution name', 
                               recipeArn = 'arn:aws:personalize:::recipe/aws-user-personalization', 
                               datasetGroupArn = 'dataset group arn',
                               )
   solution_arn = create_solution_response['solutionArn']
   print('solution_arn: ', solution_arn)
   ```

   Per un elenco delle proprietà e degli iperparametri della aws-user-personalization ricetta, consulta. [Proprietà e iperparametri](#bandit-hyperparameters)

1. Create una nuova *versione della soluzione* con i dati di addestramento aggiornati e impostate `trainingMode` l'`FULL`utilizzo del seguente frammento di codice. Sostituisci `solution arn` con l'ARN della tua soluzione.

   ```
   import boto3
           
   personalize = boto3.client('personalize')
           
   create_solution_version_response = personalize.create_solution_version(solutionArn = 'solution arn', 
                                                                  trainingMode='FULL')
   
   new_solution_version_arn = create_solution_version_response['solutionVersionArn']
   print('solution_version_arn:', new_solution_version_arn)
   ```

1. Quando Amazon Personalize ha finito di creare la versione della tua soluzione, crea la tua campagna con i seguenti parametri:
   + Fornisci una nuova `campaign name` e quella `solution version arn` generata nel passaggio 2.
   + Modifica l'iperparametro di configurazione `explorationWeight` dell'esplorazione degli elementi per configurare quanto esplorare. Gli elementi con meno dati di interazione o rilevanza tra gli elementi sono consigliati più frequentemente quanto più il valore si avvicina a 1,0. Il valore predefinito è 0,3.
   + Modifica il parametro iperparametrico di configurazione `explorationItemAgeCutOff` dell'esplorazione degli elementi per fornire la durata massima, in giorni, rispetto all'ultima interazione, per la quale gli elementi devono essere esplorati. Maggiore è il valore, maggiore è il numero di elementi considerati durante l'esplorazione.

   Usa il seguente frammento di Python per creare una nuova campagna con un'enfasi sull'esplorazione con limite di esplorazione a 30 giorni. La creazione di una campagna richiede in genere alcuni minuti, ma può richiedere più di un'ora.

   ```
   import boto3
           
   personalize = boto3.client('personalize')
   
   create_campaign_response = personalize.create_campaign(
       name = 'campaign name',
       solutionVersionArn = 'solution version arn',
       minProvisionedTPS = 1,
       campaignConfig = {"itemExplorationConfig": {"explorationWeight": "0.3", "explorationItemAgeCutOff": "30"}}
   )
   
   campaign_arn = create_campaign_response['campaignArn']
   print('campaign_arn:', campaign_arn)
   ```

    Con User-Personalization, Amazon Personalize aggiorna automaticamente la versione della soluzione ogni due ore per includere nuovi dati. La tua campagna utilizza automaticamente la versione aggiornata della soluzione. Per ulteriori informazioni, consulta [Aggiornamenti automatici](use-case-recipe-features.md#automatic-updates). 

   Per aggiornare manualmente la campagna, devi prima creare e addestrare una nuova versione della soluzione utilizzando la console o l'[CreateSolutionVersion](API_CreateSolutionVersion.md)operazione, con `trainingMode` set to`update`. Quindi aggiorni manualmente la **campagna nella pagina Campaign** della console o utilizzando l'[UpdateCampaign](API_UpdateCampaign.md)operazione.
**Nota**  
 Amazon Personalize non aggiorna automaticamente le versioni della soluzione create prima del 17 novembre 2020. 

## Ottenere consigli e registrare impressioni (SDK for Python (Boto3))
<a name="user-personalization-get-recommendations-recording-impressions"></a>

Una volta creata la campagna, puoi utilizzarla per ottenere consigli per un utente e registrare le impressioni. Per informazioni su come ottenere consigli sui batch, AWS SDKs [Creazione di un processo di inferenza in batch ()AWS SDKs](creating-batch-inference-job.md#batch-sdk) consulta.



**Per ottenere consigli e registrare impressioni**

1. Chiama il metodo `get_recommendations`. Passa `campaign arn` all'ARN della tua nuova campagna e `user id` allo UserID dell'utente.

   ```
   import boto3
               
   rec_response = personalize_runtime.get_recommendations(campaignArn = 'campaign arn', userId = 'user id')
   print(rec_response['recommendationId'])
   ```

1. Crea un nuovo tracker di eventi per l'invio di richieste. PutEvents Sostituiscilo `event tracker name` con il nome del tuo event tracker e `dataset group arn` con l'ARN del tuo gruppo di set di dati.

   ```
   import boto3
           
   personalize = boto3.client('personalize')
   
   event_tracker_response = personalize.create_event_tracker( 
       name = 'event tracker name',
       datasetGroupArn = 'dataset group arn'
   )
   event_tracker_arn = event_tracker_response['eventTrackerArn']
   event_tracking_id = event_tracker_response['trackingId']
   print('eventTrackerArn:{},\n eventTrackingId:{}'.format(event_tracker_arn, event_tracking_id))
   ```

1.  Usa il `recommendationId` from step 1 e il `event tracking id` from step 2 per creare una nuova richiesta. `PutEvents` Questa richiesta registra i nuovi dati di impressione dalla sessione dell'utente. Cambia `user id` il nome con l'ID dell'utente. 

   ```
   import boto3
               
   personalize_events.put_events(
        trackingId = 'event tracking id',
        userId= 'user id',
        sessionId = '1',
        eventList = [{
        'sentAt': datetime.now().timestamp(),
        'eventType' : 'click',
        'itemId' : rec_response['itemList'][0]['itemId'],        
        'recommendationId': rec_response['recommendationId'],
        'impression': [item['itemId'] for item in rec_response['itemList']],
        }]
   )
   ```

## Notebook Jupyter di esempio
<a name="bandits-sample-notebooks"></a>

[Per un esempio di notebook Jupyter che mostra come utilizzare la ricetta di personalizzazione degli utenti, vedi Personalizzazione degli utenti con Exploration.](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/user_personalization/user-personalization-with-exploration.ipynb)