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 di personalizzazione dell'utente
Importante
Ti consigliamo di utilizzare la ricetta User-Personalization-v2. 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
Argomenti
- Caratteristiche della ricetta
- Set di dati obbligatori e opzionali
- Proprietà e iperparametri
- Formazione con la ricetta di personalizzazione dell'utente (console)
- Formazione con la ricetta di personalizzazione degli utenti (Python) SDK
- Ottenere consigli e registrare impressioni (SDKper Python (Boto3))
- Notebook Jupyter di esempio
Caratteristiche della ricetta
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.
-
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
-
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.
Set di dati obbligatori e opzionali
Per utilizzare la personalizzazione utente, è necessario creare un set di dati sulle interazioni tra elementi 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.
-
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.
-
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.
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, consultaMetadati utente.
-
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, consultaMetadati degli articoli.
Proprietà e iperparametri
La ricetta User-Personalization ha le seguenti proprietà:
-
Nome:
aws-user-personalization
-
Nome risorsa Amazon della ricetta (ARN) —
arn:aws:personalize:::recipe/aws-user-personalization
-
Algoritmo ARN —
arn:aws:personalize:::algorithm/aws-user-personalization
Per ulteriori informazioni, consulta Scegliere una ricetta.
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 degli iperparametri (). HPO Per ulteriori informazioni, consulta Iperparametri e HPO.
La tabella fornisce le seguenti informazioni per ogni iperparametro:
-
Range: [limite inferiore, limite superiore]
-
Value type: Integer, Continuous (float), Categorical (booleano, elenco, stringa)
-
HPOtunable: Il parametro può partecipare? HPO
Nome | Descrizione |
---|---|
Iperparametri dell'algoritmo | |
hidden_dimension |
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, usaHPO. Per utilizzarloHPO, imposta Valore predefinito: 149 Intervallo: [32, 256] Tipo di valore: Integer HPOsintonizzabile: 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 Valore predefinito: 32 Intervallo: [2, 32]. Tipo di valore: Integer HPOsintonizzabile: Sì |
recency_mask |
Determina se il modello deve considerare 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 Valore predefinito: Intervallo: Tipo di valore: booleano HPOsintonizzabile: Sì |
Iperparametri di caratterizzazione | |
min_user_history_length_percentile |
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 Ad esempio, l'impostazione di Valore predefinito: 0.0 Intervallo: [0.0, 1.0] Tipo di valore: float HPOsintonizzabile: No |
max_user_history_length_percentile |
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 Ad esempio, l'impostazione di Valore predefinito: 0,99 Intervallo: [0.0, 1.0] Tipo di valore: float HPOsintonizzabile: No |
Iperparametri di configurazione della campagna di esplorazione degli articoli | |
exploration_weight |
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. Valore predefinito: 0.3 Intervallo: [0.0, 1.0] Tipo di valore: float HPOsintonizzabile: No |
exploration_item_age_cut_off |
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 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 HPOsintonizzabile: No |
Formazione con la ricetta di personalizzazione dell'utente (console)
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)
-
Apri la console Amazon Personalize a https://console.aws.amazon.com/personalize/casa
e accedi al tuo account. -
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_ TIMESTAMP e Metadati di testo non strutturati dati nel set di dati Items in modo che Amazon Personalize possa calcolare con maggiore precisione l'età di un articolo e identificare gli articoli freddi.
Per ulteriori informazioni sull'importazione di dati, consulta. Importazione di dati di formazione nei set di dati di Amazon Personalize
-
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.
-
Nel riquadro di navigazione, scegli Soluzioni e ricette e scegli Crea soluzione.
-
Nella pagina Crea soluzione, per il nome della soluzione, inserisci il nome della nuova soluzione.
-
Per Tipo di soluzione, scegli Raccomandazione dell'articolo per ottenere consigli sugli articoli per i tuoi utenti.
-
Per Ricetta, scegli aws-user-personalization. Viene visualizzata la sezione Configurazione della soluzione che fornisce diverse opzioni di configurazione.
-
Nella configurazione aggiuntiva, se il set di dati sulle interazioni tra articoli contiene EVENT _ TYPE o entrambe le VALUE colonne EVENT _ TYPE e EVENT _, utilizza facoltativamente i campi Tipo di evento e Soglia del valore dell'evento per scegliere i dati di interazione tra gli elementi che Amazon Personalize utilizza per addestrare il modello. Per ulteriori informazioni, consulta Scelta dei dati di interazione tra gli oggetti utilizzati per l'allenamento.
-
Facoltativamente, 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
-
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:
-
Nella pagina dei dettagli della soluzione o nella pagina Campagne, scegli Crea nuova campagna.
-
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.
-
-
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.
-
-
Scegliere Create campaign (Crea campagna).
-
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 «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.
Per aggiornare manualmente la campagna, devi prima creare e addestrare una nuova versione della soluzione utilizzando la console o l'CreateSolutionVersionoperazione, con
trainingMode
set toupdate
. Quindi aggiorni manualmente la campagna nella pagina Campaign della console o utilizzando l'UpdateCampaignoperazione.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
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 di personalizzazione degli utenti. Facoltativamente, includi CREATION_ TIMESTAMP e Metadati di testo non strutturati dati nel set di dati Items in modo che Amazon Personalize possa calcolare con maggiore precisione l'età di un articolo e identificare gli articoli freddi. Per ulteriori informazioni sulla creazione di gruppi di set di dati e sul caricamento dei dati di addestramento, consulta. Creazione di JSON file di schema per schemi Amazon Personalize
Per addestrare una soluzione con la ricetta di personalizzazione degli utenti, utilizzare il AWS SDK
-
Crea una nuova soluzione utilizzando il
create_solution
metodo.Sostituisci
solution name
con il nome della soluzione edataset group arn
con 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
-
Create una nuova versione della soluzione con i dati di addestramento aggiornati e impostate
trainingMode
l'FULL
utilizzo del seguente frammento di codice. Sostituiscilasolution arn
con la 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) -
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 quellasolution 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.
Per aggiornare manualmente la campagna, devi prima creare e addestrare una nuova versione della soluzione utilizzando la console o l'CreateSolutionVersionoperazione, con
trainingMode
set toupdate
. Quindi aggiorni manualmente la campagna nella pagina Campaign della console o utilizzando l'UpdateCampaignoperazione.Nota
Amazon Personalize non aggiorna automaticamente le versioni della soluzione create prima del 17 novembre 2020.
-
Ottenere consigli e registrare impressioni (SDKper Python (Boto3))
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, utilizza il AWS SDKsvedereCreazione di un processo di inferenza in batch ()AWS SDKs.
Per ricevere consigli e registrare impressioni
-
Chiama il metodo
get_recommendations
. Passacampaign arn
al nome ARN della tua nuova campagna euser id
a quello userId dell'utente.import boto3 rec_response = personalize_runtime.get_recommendations(campaignArn = '
campaign arn
', userId = 'user id
') print(rec_response['recommendationId']) -
Crea un nuovo tracker di eventi per l'invio di PutEvents richieste. Sostituiscilo
event tracker name
con il nome del tuo event tracker edataset group arn
con il tuo gruppo di set ARN 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)) -
Usa il
recommendationId
from step 1 e ilevent tracking id
from step 2 per creare una nuovaPutEvents
richiesta. Questa richiesta registra i nuovi dati di impressione dalla sessione dell'utente. Cambiauser 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']], }] )