Preparazione dei dati di input per i segmenti di utenti - 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à.

Preparazione dei dati di input per i segmenti di utenti

I processi di segmentazione in Batch utilizzano una versione della soluzione per creare segmenti di utenti in base ai dati forniti in un file JSON di input. Prima di poter ottenere segmenti di utenti, devi preparare e caricare il file JSON in un bucket Amazon S3. Ti consigliamo di creare una cartella di output nel tuo bucket Amazon S3 o di utilizzare un bucket di output Amazon S3 separato. È quindi possibile eseguire più processi di inferenza in batch utilizzando la stessa posizione dei dati di input.

Se si utilizza un filtro con parametri segnaposto, ad esempio$GENRE, è necessario fornire i valori per i parametri di un filterValues oggetto nel codice JSON di input. Per ulteriori informazioni, consulta Fornire valori di filtro nel codice JSON di input.

Per preparare e importare dati
  1. Formattate i dati di input del batch in base alla ricetta utilizzata dalla soluzione. Separa l'elemento dei dati di input con una nuova riga. I dati di input sono un elenco di ItemID (Item-Affinity) o attributi degli articoli (Item-Attribute-Affinity).

    Per gli attributi degli articoli, i dati di input possono includere espressioni logiche con l'operatore per richiedere agli utenti più elementi o attributi per query. AND Per ulteriori informazioni, consulta Specificazione degli attributi dell'articolo per la ricetta Item-Attribute-Affinity.

    Per esempi di dati di input per entrambe le ricette, vedereEsempi JSON di input e output di processi di segmentazione in batch.

  2. Carica il codice JSON di input in una cartella di input nel tuo bucket Amazon S3. Per ulteriori informazioni, consulta Caricamento di file e cartelle mediante trascinamento nella Guida per l'utente di Amazon Simple Storage Service

  3. Crea una posizione separata per i dati di output, una cartella o un altro bucket Amazon S3. Creando una posizione separata per il file JSON di output, puoi eseguire più processi di segmentazione in batch con la stessa posizione dei dati di input.

Dopo aver preparato i dati di input e averli caricati in un bucket Amazon S3, sei pronto per generare segmenti di utenti con un processo di segmentazione in batch. Per ulteriori informazioni, consulta Creazione di un processo di segmentazione in batch.

Specificazione degli attributi dell'articolo per la ricetta Item-Attribute-Affinity

Se si utilizza la ricetta Item-Attribute-Affinity, i dati di input sono un elenco di attributi dell'articolo. Puoi combinare diverse colonne di metadati. Ad esempio, una riga potrebbe essere una colonna numerica e la successiva potrebbe essere una colonna categorica. Non è possibile utilizzare i metadati degli elementi testuali non strutturati come attributo dell'elemento.

I metadati degli elementi di input possono includere espressioni logiche con l'ANDoperatore per ottenere un segmento di utenti per più attributi. Ad esempio, una riga dei dati di input potrebbe essere {"itemAttributes": "ITEMS.genres = "\Comedy\" AND ITEMS.genres = "\Action\""} o{"itemAttributes": "ITEMS.genres = "\Comedy\" AND ITEMS.audience = "\teen\""}.

Quando combini due attributi con l'ANDoperatore, crei un segmento di utenti con maggiori probabilità di interagire con gli elementi che hanno entrambi gli attributi in base alla cronologia delle interazioni degli utenti. A differenza delle espressioni di filtro (che utilizzano l'INoperatore per l'uguaglianza delle stringhe), le espressioni di input dei segmenti batch supportano solo il = simbolo di uguaglianza per la corrispondenza delle stringhe.

Esempi JSON di input e output di processi di segmentazione in batch

Per un processo di segmentazione in batch, i dati di input devono essere un elenco di ItemID (ricetta Item-Affinity) o attributi dell'articolo (Item-Attribute-Affinity). Ogni riga di dati di input è una query di inferenza separata. Ogni segmento di utenti è ordinato in ordine decrescente in base alla probabilità che ogni utente interagisca con gli articoli del tuo inventario.

Se utilizzi un filtro con parametri segnaposto, ad esempio$GENRE, devi fornire i valori per i parametri di un filterValues oggetto nel codice JSON di input. Per ulteriori informazioni, consulta Fornire valori di filtro nel codice JSON di input.

Di seguito sono riportati esempi di input e output JSON formattati correttamente per lavori in segmenti batch organizzati per ricetta.

Affinità tra oggetti

Input

I dati di input possono contenere un massimo di 500 elementi. Separare ciascuno itemId con una nuova riga come segue.

{"itemId": "105"} {"itemId": "106"} {"itemId": "441"} ...
Output
{"input": {"itemId": "105"}, "output": {"recommendedUsers": ["106", "107", "49"]}} {"input": {"itemId": "106"}, "output": {"recommendedUsers": ["105", "107", "49"]}} {"input": {"itemId": "441"}, "output": {"recommendedUsers": ["2", "442", "435"]}} ...

Articolo-Attributo-Affinità

Input

I dati di input possono avere un massimo di 10 query, in cui ogni query è costituita da uno o più attributi di elemento non testuali. Separa ogni attributo o espressione di attributo con una nuova riga come segue.

{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\""} {"itemAttributes": "ITEMS.genres = \"Comedy\""} {"itemAttributes": "ITEMS.genres = \"Horror\" AND ITEMS.genres = \"Action\""} ...
Output
{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\"", "output": {"recommendedUsers": ["25", "78", "108"]}} {"itemAttributes": "ITEMS.genres = \"Adventure\"", "output": {"recommendedUsers": ["87", "31", "129"]}} {"itemAttributes": "ITEMS.genres = \"Horror\" AND ITEMS.genres = \"Action\"", "output": {"recommendedUsers": ["8", "442", "435"]}} ...