Ricetta con classificazione personalizzata - Amazon Personalize

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 con classificazione personalizzata

Importante

Ti consigliamo di utilizzare la ricetta Personalized-Ranking-v2. Può prendere in considerazione fino a 5 milioni di articoli con un addestramento più rapido e generare classificazioni più accurate con una latenza inferiore.

La ricetta Personalized-Ranking genera classifiche personalizzate degli articoli. Una classifica personalizzata è un elenco degli elementi raccomandati che sono riclassificati per un utente specifico. Ciò è utile se disponi di una raccolta di articoli ordinati, ad esempio risultati di ricerca, promozioni o elenchi selezionati, e desideri fornire una riclassificazione personalizzata per ciascuno dei tuoi utenti. Ad esempio, con Personalized-Ranking, Amazon Personalize può riordinare i risultati di ricerca con cui generi. OpenSearch

Per addestrare un modello, la ricetta Personalized-Ranking utilizza i dati del set di dati sulle interazioni tra oggetti e, se li hai creati, il set di dati Items e il set di dati Users nel tuo gruppo di set di dati (questi set di dati sono opzionali). Con Personalized-Ranking, il set di dati Items può includere e il set di dati sulle interazioni tra Item può includere. Metadati di testo non strutturati Metadati contestuali Per ottenere una classifica personalizzata, usa il. GetPersonalizedRanking API

Dopo aver creato una versione della soluzione, assicurati di mantenere aggiornati la versione e i dati della soluzione. Con Personalized-Ranking, devi creare manualmente una nuova versione della soluzione (riqualificare il modello) per consentire ad Amazon Personalize di prendere in considerazione nuovi elementi da suggerire e aggiornare il modello con il comportamento più recente dell'utente. Quindi devi aggiornare qualsiasi campagna utilizzando la versione della soluzione. Per ulteriori informazioni, consulta Mantenere la pertinenza delle raccomandazioni.

Nota

Se fornisci articoli senza dati sulle interazioni per il posizionamento, Amazon Personalize restituirà questi articoli senza un punteggio di raccomandazione nella GetPersonalizedRanking API risposta.

La ricetta ha le seguenti proprietà:

  • Nome: aws-personalized-ranking

  • Nome risorsa Amazon della ricetta (ARN)arn:aws:personalize:::recipe/aws-personalized-ranking

  • Algoritmo ARNarn:aws:personalize:::algorithm/aws-personalized-ranking

  • Trasformazione delle funzionalità ARNarn:aws:personalize:::feature-transformation/JSON-percentile-filtering

  • Tipo di ricettaPERSONALIZED_RANKING

Iperparametri

La tabella seguente descrive gli iperparametri per la ricetta Personalize-Ranking. 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 si chiama ottimizzazione degli iperparametri ()HPO. Per ulteriori informazioni, consulta Iperparametri e HPO.

La tabella fornisce inoltre 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 all'ottimizzazione degli iperparametri ()? 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 ottimale, usaHPO. Per usareHPO, imposta performHPO su true quando chiami CreateSolution e CreateSolutionVersion operi.

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 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

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 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

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 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

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 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

HPOsintonizzabile: No

Notebook di esempio con classificazione personalizzata

Per un esempio di taccuino Jupyter che mostra come utilizzare la ricetta Personalized-Ranking, vedi Personalize Ranking Example.