Création d'un schéma et d'un jeu de données - Amazon Personalize

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un schéma et d'un jeu de données

Après avoir créé un groupe de jeux de données, vous êtes prêt à créer un schéma Amazon Personalize et un ensemble de données pour chaque type de données que vous importez. Un schéma indique à Amazon Personalize la structure de vos données et permet à Amazon Personalize d'analyser les données. Lorsque vous créez un schéma dans Amazon Personalize, vous utilisez le JSON fichier dans lequel vous l'avez crééCréation de JSON fichiers de schéma pour les schémas Amazon Personalize.

Un ensemble de données est un conteneur pour les données de formation dans Amazon Personalize. Les différents types de jeux de données ont des exigences différentes. Vous créez un ensemble de données pour chaque type de données que vous importez. Pour plus d'informations sur les différents types de jeux de données et sur la façon de préparer vos données, consultezPréparation des données de formation pour Amazon Personalize.

Vous pouvez créer des schémas et des ensembles de données avec la console Amazon Personalize, AWS Command Line Interface (AWS CLI), ou AWS SDKs. Vous ne pouvez pas créer les meilleures ressources d'action suivantes, notamment les ensembles de données d'actions et d'interactions d'action, dans un groupe de jeux de données de domaine.

Important

Une fois que vous avez créé un schéma, vous ne pouvez pas le modifier. Toutefois, si vous ajoutez de nouvelles colonnes, vous pouvez remplacer le schéma d'un jeu de données par un nouveau. Pour de plus amples informations, veuillez consulter Remplacement du schéma d'un ensemble de données pour ajouter de nouvelles colonnes.

Création d'un jeu de données et d'un schéma (console)

S'il s'agit du premier jeu de données de votre groupe de jeux de données, votre premier type de jeu de données sera un jeu de données d'interactions entre éléments. Pour créer votre jeu de données d'interactions Item dans la console, spécifiez le nom du jeu de données, puis spécifiez un JSON schéma au format Avro. S'il ne s'agit pas du premier jeu de données de ce groupe de jeux de données, choisissez le type de jeu de données, puis spécifiez un nom et un schéma.

Pour plus d'informations sur les exigences relatives aux ensembles de données Amazon Personalize, consultezPréparation des données de formation pour Amazon Personalize. Si vous venez de terminer Création d'un groupe de jeux de données Amazon Personalize et que vous êtes déjà en train de créer votre jeu de données, passez à l'étape 4 de cette procédure.

Pour créer un jeu de données et un schéma
  1. Si ce n'est pas déjà fait, suivez les instructions Création de JSON fichiers de schéma pour les schémas Amazon Personalize pour créer un JSON fichier de schéma qui décrit vos données.

  2. Ouvrez la console Amazon Personalize https://console.aws.amazon.com/personalize/chez vous et connectez-vous à votre compte.

  3. Sur la page Groupes de jeux de données, choisissez le groupe de jeux de données dans lequel vous avez crééCréation d'un groupe de jeux de données Amazon Personalize.

  4. À l'étape 1. Créez des ensembles de données et importez des données, choisissez Créer un ensemble de données et choisissez le type de jeu de données à créer.

  5. Choisissez Importer les données directement dans les ensembles de données Amazon Personalize, puis Next.

  6. Dans Détails du jeu de données, dans Nom du jeu de données, spécifiez le nom de votre ensemble de données.

  7. Pour le schéma du jeu de données, choisissez Créer un nouveau schéma ou Utiliser un schéma existant.

  8. Si vous utilisez un schéma existant, choisissez le schéma existant à utiliser. Si vous créez un nouveau schéma, nommez-le et collez-y le schéma JSON correspondant à vos données. Vous avez créé ce fichier dansCréation de JSON fichiers de schéma pour les schémas Amazon Personalize.

  9. Pour les balises, ajoutez éventuellement des balises. Pour plus d'informations sur le balisage des ressources Amazon Personalize, consultezMarquer les ressources Amazon Personalize.

  10. Choisissez Next et suivez les instructions Importation de données de formation dans les ensembles de données Amazon Personalize pour importer vos données.

Création d'un jeu de données et d'un schéma (AWS CLI)

Pour créer un jeu de données et un schéma à l'aide du AWS CLI, vous utilisez la create-schema commande (qui utilise l'CreateSchemaAPIopération) puis create-dataset (qui utilise l'CreateDatasetAPIopération).

Pour créer un schéma et un jeu de données
  1. Si ce n'est pas déjà fait, suivez les instructions Création de JSON fichiers de schéma pour les schémas Amazon Personalize pour créer un JSON fichier de schéma qui décrit vos données.

  2. Créez un schéma dans Amazon Personalize en exécutant la commande suivante. Une fois que vous avez créé un schéma, vous ne pouvez pas le modifier. Remplacez schemaName par le nom du schéma et remplacez file://SchemaName.json par l'emplacement de votre JSON fichier. L'exemple montre que le fichier appartient au dossier actif. Si vous créez une structure pour un jeu de données dans un groupe de jeux de données de domaine, ajoutez le domain paramètre et définissez-le sur ECOMMERCE ouVIDEO_ON_DEMAND. Pour plus d'informations sur leAPI, consultezCreateSchema.

    aws personalize create-schema \ --name SchemaName \ --schema file://SchemaName.json

    Le schéma Amazon Resource Name (ARN) s'affiche, comme illustré dans l'exemple suivant :

    { "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/SchemaName" }
  3. Créez un ensemble de données vide en exécutant la commande suivante. Indiquez le groupe de données Amazon Resource Name (ARN) Création d'un groupe de jeux de données (AWS CLI) et le schéma ARN de l'étape précédente. Les valeurs de type d'ensemble de données peuvent être Interactions UsersItems,Actions,, ouAction_Interactions. Pour plus d'informations sur leAPI, consultezCreateDataset.

    aws personalize create-dataset \ --name Dataset Name \ --dataset-group-arn Dataset Group ARN \ --dataset-type Dataset Type \ --schema-arn Schema Arn

    Le jeu de données ARN est affiché, comme indiqué dans l'exemple suivant.

    { "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetName/INTERACTIONS" }
  4. Enregistrez l'ensemble de données ARN pour une utilisation ultérieure. Après avoir créé un jeu de données, vous êtes prêt à importer vos données d'entraînement. Consultez Importation de données de formation dans les ensembles de données Amazon Personalize.

Création d'un jeu de données et d'un schéma (AWS SDKs)

Pour créer un jeu de données et un schéma à l'aide du AWS SDKs, vous définissez d'abord un schéma au format Avro et vous l'ajoutez à Amazon Personalize à l'aide de l'CreateSchemaopération. Une fois que vous avez créé un schéma, vous ne pouvez pas le modifier. Créez ensuite un ensemble de données à l'aide de l'CreateDatasetopération.

Pour créer un schéma et un jeu de données
  1. Si ce n'est pas déjà fait, suivez les instructions Création de JSON fichiers de schéma pour les schémas Amazon Personalize pour créer un JSON fichier de schéma qui décrit vos données.

  2. Créez un schéma dans Amazon Personalize à l'aide du code suivant. Spécifiez le nom de votre schéma et le chemin du fichier de votre schémaJSON. Si vous créez une structure pour un jeu de données dans un groupe de jeux de données de domaine, ajoutez le domain paramètre et définissez-le sur ECOMMERCE ouVIDEO_ON_DEMAND. Pour plus d'informations sur leAPI, consultezCreateSchema.

    SDK for Python (Boto3)
    import boto3 personalize = boto3.client('personalize') with open('schemaFile.json') as f: createSchemaResponse = personalize.create_schema( name = 'schema name', schema = f.read() ) schema_arn = createSchemaResponse['schemaArn'] print('Schema ARN:' + schema_arn )
    SDK for Java 2.x
    public static String createSchema(PersonalizeClient personalizeClient, String schemaName, String filePath) { String schema = null; try { schema = new String(Files.readAllBytes(Paths.get(filePath))); } catch (IOException e) { System.out.println(e.getMessage()); } try { CreateSchemaRequest createSchemaRequest = CreateSchemaRequest.builder() .name(schemaName) .schema(schema) .build(); String schemaArn = personalizeClient.createSchema(createSchemaRequest).schemaArn(); System.out.println("Schema arn: " + schemaArn); return schemaArn; } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
    SDK for JavaScript v3
    // 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 'fs'; let schemaFilePath = "SCHEMA_PATH"; let mySchema = ""; try { mySchema = fs.readFileSync(schemaFilePath).toString(); } catch (err) { mySchema = 'TEST' // For unit tests. } // Set the schema parameters. export const createSchemaParam = { name: 'NAME', /* required */ schema: mySchema /* required */ }; export const run = async () => { try { const response = await personalizeClient.send(new CreateSchemaCommand(createSchemaParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

    Amazon Personalize renvoie le ARN nouveau schéma. Enregistrez-le car vous en aurez besoin à l'étape suivante.

  3. Créez un ensemble de données à l'aide de l'CreateDatasetopération. Le code suivant montre comment créer un ensemble de données. Spécifiez le nom de ressource Amazon (ARN) de votre groupe de jeux de données, le schéma ARN de l'étape précédente et spécifiez le type de jeu de données. Les valeurs de type d'ensemble de données peuvent être Interactions UsersItems,Actions,, ouAction_Interactions. Pour plus d'informations sur les différents types de jeux de données, consultezPréparation des données de formation pour Amazon Personalize.

    SDK for Python (Boto3)
    import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset( name = 'dataset_name', schemaArn = 'schema_arn', datasetGroupArn = 'dataset_group_arn', datasetType = 'dataset_type' ) print ('Dataset Arn: ' + response['datasetArn'])
    SDK for Java 2.x
    public static String createDataset(PersonalizeClient personalizeClient, String datasetName, String datasetGroupArn, String datasetType, String schemaArn) { try { CreateDatasetRequest request = CreateDatasetRequest.builder() .name(datasetName) .datasetGroupArn(datasetGroupArn) .datasetType(datasetType) .schemaArn(schemaArn).build(); String datasetArn = personalizeClient.createDataset(request).datasetArn(); System.out.println("Dataset " + datasetName + " created. Dataset ARN: " + datasetArn); return datasetArn; } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
    SDK for JavaScript v3
    // 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();

    Après avoir créé un jeu de données, vous êtes prêt à importer vos données d'entraînement. Consultez Importation de données de formation dans les ensembles de données Amazon Personalize.