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à.
Guida introduttiva a un gruppo di set di dati di dominio (SDKper JavaScript v3)
Questo tutorial mostra come utilizzare la AWS SDK for JavaScript v3 per creare un gruppo di set di dati Domain per il dominio _ON_. VIDEO DEMAND In questo tutorial, crei un programma di raccomandazione per il caso d'uso Top picks for you.
Per visualizzare il codice usato in questo tutorial su GitHub, consulta gli esempi di codice di Amazon Personalize SDK per JavaScript v3
Al termine dell'esercizio introduttivo, per evitare di incorrere in addebiti inutili, elimina le risorse che hai creato. Per ulteriori informazioni, consulta Requisiti per l'eliminazione delle risorse Amazon Personalize.
Argomenti
Prerequisiti
Di seguito sono riportati i passaggi preliminari per il completamento di questo tutorial:
-
Completa il Prerequisiti per iniziare modulo per configurare le autorizzazioni richieste e creare i dati di addestramento. Se hai completato anche ilGuida introduttiva a un gruppo di set di dati di dominio (console), puoi riutilizzare gli stessi dati di origine. Se utilizzi i tuoi dati di origine, assicurati che i dati siano formattati come nei prerequisiti.
-
Imposta il modulo JavaScript e SDK le AWS credenziali come specificato nella JavaScript procedura Configurazione del modulo e delle credenziali della SDK Guida per gli AWS SDK for JavaScript sviluppatori.
Tutorial
Nei passaggi seguenti, si installano le dipendenze richieste. Quindi crei un gruppo di set di dati, importi dati, crei un programma di raccomandazione per lo use case Top pick for you e ottieni consigli.
Se si utilizza Node.js, è possibile eseguire ogni esempio di codice salvandolo come JavaScript file e quindi eseguendolo. node <fileName.js>
Dopo aver completato i prerequisiti, installa le seguenti dipendenze di Amazon Personalize:
-
@aws -sdk/client-personalize
-
@aws -sdk/ client-personalize-runtime
-
@aws -sdk/ client-personalize-events (opzionale per questo tutorial, ma necessario se si desidera registrare gli eventi dopo aver creato il programma di raccomandazione)
Di seguito è riportato un esempio di package.json
file che è possibile utilizzare. Per installare le dipendenze con Node.js, vai al punto in cui hai salvato il package.json
file ed npm install
esegui.
{ "name": "personalize-js-project", "version": "1.0.0", "description": "personalize operations", "type": "module", "author": "Author Name <email@address.com>", "license": "ISC", "dependencies": { "@aws-sdk/client-personalize": "^3.350.0", "@aws-sdk/client-personalize-events": "^3.350.0", "@aws-sdk/client-personalize-runtime": "^3.350.0", "fs": "^0.0.1-security" }, "compilerOptions": { "resolveJsonModule": true, "esModuleInterop": true } }
Dopo aver installato le dipendenze, crea i tuoi client Amazon Personalize. In questo tutorial, gli esempi di codice presuppongono che tu crei i client in un file denominato personalizeClients.js
memorizzato in una directory denominata. libs
Di seguito è riportato un esempio di un file personalizeClient.js
.
import { PersonalizeClient } from "@aws-sdk/client-personalize"; import { PersonalizeRuntimeClient } from "@aws-sdk/client-personalize-runtime"; import { PersonalizeEventsClient } from "@aws-sdk/client-personalize-events"; // Set your AWS region. const REGION = "
region
"; //e.g. "us-east-1" const personalizeClient = new PersonalizeClient({ region: REGION}); const personalizeEventsClient = new PersonalizeEventsClient({ region: REGION}); const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: REGION}); export { personalizeClient, personalizeEventsClient, personalizeRuntimeClient };
Dopo aver creato i tuoi clienti Amazon Personalize, importa i dati storici che hai creato quando hai completato il. Prerequisiti per iniziare Per importare dati storici in Amazon Personalize, procedi come segue:
-
Salva il seguente schema Avro come JSON file nella tua directory di lavoro. Questo schema corrisponde alle colonne del CSV file che hai creato quando hai completato ilCreazione dei dati di addestramento (gruppo di set di dati del dominio).
{ "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "EVENT_TYPE", "type": "string" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" }
-
Crea uno schema di dominio in Amazon Personalize con il codice seguente
createDomainSchema.js
.SCHEMA_PATH
Sostituiscilo con il percorso del file schema.json che hai appena creato. Aggiorna ilcreateSchemaParam
per specificare un nome per lo schema e per specificare.domain
VIDEO_ON_DEMAND
// Get service clients module and commands using ES6 syntax. import { CreateSchemaCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); import fs from "node:fs"; const schemaFilePath = "SCHEMA_PATH"; let mySchema = ""; try { mySchema = fs.readFileSync(schemaFilePath).toString(); } catch (err) { mySchema = "TEST"; // for unit tests. } // Set the domain schema parameters. export const createDomainSchemaParam = { name: "NAME" /* required */, schema: mySchema /* required */, domain: "DOMAIN" /* required for a domain dataset group, specify ECOMMERCE or VIDEO_ON_DEMAND */, }; export const run = async () => { try { const response = await personalizeClient.send( new CreateSchemaCommand(createDomainSchemaParam), ); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();
-
Crea un gruppo di set di dati di dominio in Amazon Personalize con il
createDomainDatasetGroup.js
seguente codice. Aggiorna ildomainDatasetGroupParams
per specificare un nome per il gruppo di set di dati e per specificare.domain
VIDEO_ON_DEMAND
// Get service clients module and commands using ES6 syntax. import { CreateDatasetGroupCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the domain dataset group parameters. export const domainDatasetGroupParams = { name: "NAME" /* required */, domain: "DOMAIN" /* required for a domain dsg, specify ECOMMERCE or VIDEO_ON_DEMAND */, }; export const run = async () => { try { const response = await personalizeClient.send( new CreateDatasetGroupCommand(domainDatasetGroupParams), ); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();
-
Crea un set di dati sulle interazioni tra articoli in Amazon Personalize con il
createDataset.js
seguente codice. Aggiorna ilcreateDatasetParam
per specificare l'Amazon Resource Name (ARN) del gruppo di set di dati e dello schema che hai appena creato, assegna un nome al set di dati e specifica perdatasetType
.Interactions
// Get service clients module and commands using ES6 syntax. import { CreateDatasetCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the dataset's parameters. export const createDatasetParam = { datasetGroupArn: "DATASET_GROUP_ARN" /* required */, datasetType: "DATASET_TYPE" /* required */, name: "NAME" /* required */, schemaArn: "SCHEMA_ARN" /* required */, }; export const run = async () => { try { const response = await personalizeClient.send( new CreateDatasetCommand(createDatasetParam), ); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();
-
Importa i tuoi dati con il codice seguente
createDatasetImportJob.js
. Aggiorna ildatasetImportJobParam
per specificare quanto segue:-
Specificate un nome per il lavoro e specificate quello del set di ARN dati Interactions.
-
Per
dataLocation
, specifica il bucket path di Amazon S3 (s3://
) in cui hai archiviato i dati di addestramento.https://amzn-s3-demo-bucket.s3.region-code.amazonaws.com
/folder name
/ratings.csv -
Per
roleArn
specificare il nome della risorsa Amazon per il ruolo del servizio Amazon Personalize. Hai creato questo ruolo come parte diPrerequisiti per iniziare.
// Get service clients module and commands using ES6 syntax. import { CreateDatasetImportJobCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the dataset import job parameters. export const datasetImportJobParam = { datasetArn: "DATASET_ARN" /* required */, dataSource: { /* required */ dataLocation: "S3_PATH", }, jobName: "NAME" /* required */, roleArn: "ROLE_ARN" /* required */, }; export const run = async () => { try { const response = await personalizeClient.send( new CreateDatasetImportJobCommand(datasetImportJobParam), ); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();
-
Una volta completato il processo di importazione del set di dati, sei pronto per creare un programma di raccomandazione. Per creare un programma di raccomandazione, utilizzate il codice seguente. createRecommender.js
Aggiorna il createRecommenderParam
con quanto segue: Specificate un nome per il programma di raccomandazione, specificate quello del gruppo di set di ARN dati e per specificare. recipeArn
arn:aws:personalize:::recipe/aws-vod-top-picks
// Get service clients module and commands using ES6 syntax. import { CreateRecommenderCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the recommender's parameters. export const createRecommenderParam = { name: "NAME" /* required */, recipeArn: "RECIPE_ARN" /* required */, datasetGroupArn: "DATASET_GROUP_ARN" /* required */, }; export const run = async () => { try { const response = await personalizeClient.send( new CreateRecommenderCommand(createRecommenderParam), ); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();
Dopo aver creato un programma di raccomandazione, lo usi per ricevere consigli. Usa il getRecommendations.js
codice seguente per ottenere consigli per un utente. Aggiorna il getRecommendationsParam
per specificare il programma ARN di raccomandazione creato nel passaggio precedente e specifica un ID utente (ad esempio,123
).
// Get service clients module and commands using ES6 syntax. import { GetRecommendationsCommand } from "@aws-sdk/client-personalize-runtime"; import { personalizeRuntimeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: "REGION"}); // Set the recommendation request parameters. export const getRecommendationsParam = { recommenderArn: "RECOMMENDER_ARN" /* required */, userId: "USER_ID" /* required */, numResults: 15 /* optional */, }; export const run = async () => { try { const response = await personalizeRuntimeClient.send( new GetRecommendationsCommand(getRecommendationsParam), ); console.log("Success!", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();