Guida introduttiva a un gruppo di set di dati di dominio (SDKper JavaScript v3) - 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à.

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 nel repository AWS SDKCode Examples.

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.

Prerequisiti

Di seguito sono riportati i passaggi preliminari per il completamento di questo tutorial:

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:

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:

  1. 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" }
  2. Crea uno schema di dominio in Amazon Personalize con il codice seguentecreateDomainSchema.js. SCHEMA_PATHSostituiscilo con il percorso del file schema.json che hai appena creato. Aggiorna il createSchemaParam 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();
  3. Crea un gruppo di set di dati di dominio in Amazon Personalize con il createDomainDatasetGroup.js seguente codice. Aggiorna il domainDatasetGroupParams 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();
  4. Crea un set di dati sulle interazioni tra articoli in Amazon Personalize con il createDataset.js seguente codice. Aggiorna il createDatasetParam 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();
  5. Importa i tuoi dati con il codice seguentecreateDatasetImportJob.js. Aggiorna il datasetImportJobParam per specificare quanto segue:

    • Specificate un nome per il lavoro e specificate quello del set di ARN dati Interactions.

    • PerdataLocation, specifica il bucket path di Amazon S3 (s3://https://amzn-s3-demo-bucket.s3.region-code.amazonaws.com/folder name/ratings.csv) in cui hai archiviato i dati di addestramento.

    • 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();