Criar um conjunto de dados e um esquema - Amazon Personalize

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criar um conjunto de dados e um esquema

Depois de concluir Etapa 1: criar um grupo de conjuntos de dados, você estará pronto para criar um conjunto de dados. Os conjuntos de dados são contêineres do Amazon Personalize para dados. Ao criar um conjunto de dados, você também cria um esquema para o conjunto de dados. Um esquema informa ao Amazon Personalize sobre a estrutura dos seus dados e permite que o Amazon Personalize analise os dados.

Você cria conjuntos de dados com o console Amazon Personalize AWS Command Line Interface ,AWS CLI() ou SDKs. AWS Você não pode criar os próximos melhores recursos de ação, incluindo conjuntos de dados de ações e interações de ações, em um grupo de conjuntos de dados de domínio. Para obter informações sobre os diferentes tipos de conjuntos de dados e os requisitos deles e do esquema, consulte Conjuntos de dados e esquemas.

Criar um conjunto de dados e um esquema (console)

Se esse for o primeiro conjunto de dados do grupo, o primeiro tipo de conjunto de dados será de interações com itens. Para criar um conjunto de dados de interações com itens no console, especifique o nome do conjunto de dados e, depois, indique um esquema JSON no formato Avro. Se não for seu primeiro conjunto de dados nesse grupo de conjuntos de dados, escolha o tipo de conjunto de dados e, em seguida, especifique um nome e um esquema.

Para obter informações sobre os conjuntos de dados e os requisitos de esquema do Amazon Personalize, consulte Conjuntos de dados e esquemas.

nota

Se você acabou de concluir Etapa 1: criar um grupo de conjuntos de dados e já estiver criando o conjunto de dados, vá para a etapa 4 deste procedimento.

Para criar um conjunto de dados e um esquema
  1. Abra o console do Amazon Personalize em https://console.aws.amazon.com/personalize/home e faça login na sua conta.

  2. Na página Grupos de conjuntos de dados, escolha o grupo de conjuntos de dados que você criou em Etapa 1: criar um grupo de conjuntos de dados.

  3. Em Configurar conjuntos de dados, selecione Criar conjunto de dados e o tipo de conjunto de dados a ser criado.

  4. Escolha Importar dados diretamente para os conjuntos de dados do Amazon Personalize e depois Próximo.

  5. Em Detalhes do conjunto de dados, para Nome do conjunto de dados, especifique um nome para o conjunto de dados.

  6. Em Detalhes do esquema, para Seleção de esquema, escolha um esquema atual ou Criar novo esquema.

  7. Se você estiver criando um novo esquema, para Definição de esquema, cole o esquema JSON que corresponde aos seus dados. Use os exemplos encontrados em Esquemas como guia. Depois de criar um esquema, não é possível fazer alterações no esquema.

  8. Em New schema name (Nome do novo esquema), especifique um nome para o novo esquema.

  9. Para Tags, é possível adicionar quaisquer tags. Para obter mais informações sobre recursos de atribuição de tags do Amazon Personalize, consulte Usar tags nos recursos do Amazon Personalize.

  10. Escolha Avançar e siga as instruções em Preparar e importar dados em massa para importar seus dados.

Criar um conjunto de dados e um esquema (AWS CLI)

Para criar um conjunto de dados e um esquema usando o AWS CLI, primeiro você define um esquema no formato Avro e o adiciona ao Amazon Personalize usando a operação. CreateSchema Em seguida, crie um conjunto de dados usando a operação CreateDataset. Para obter informações sobre os conjuntos de dados e os requisitos de esquema do Amazon Personalize, consulte Conjuntos de dados e esquemas.

Para criar um esquema e um conjunto de dados
  1. Crie um arquivo de esquema no formato Avro e salve-o como um arquivo JSON. Esse arquivo deve ser baseado no tipo de conjunto de dados, como de interações, que você está criando.

    O esquema deve corresponder às colunas nos dados, e o esquema name deve corresponder a um dos tipos de conjuntos de dados reconhecidos pelo Amazon Personalize. Veja um exemplo de esquema mínimo de conjunto de dados de interações com itens. Para obter mais exemplos, consulte Esquemas.

    { "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" }
  2. Crie um esquema no Amazon Personalize executando o seguinte comando. Depois de criar um esquema, não é possível fazer alterações no esquema. Substitua schemaName pelo nome do esquema e substitua file://SchemaName.json pela localização do arquivo JSON que você criou na etapa anterior. O exemplo mostra o arquivo como pertencente à pasta atual.

    Se estiver criando um esquema para um conjunto de dados em um grupo de conjuntos de dados de domínio, adicione o parâmetro domain e defina-o como ECOMMERCE ou VIDEO_ON_DEMAND. Para obter mais informações sobre a API, consulte CreateSchema.

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

    O nome do recurso da Amazon (ARN) do esquema é exibido, conforme mostrado no exemplo a seguir:

    { "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/SchemaName" }
  3. Crie um conjunto de dados vazio executando o seguinte comando. Forneça o nome do recurso da Amazon (ARN) do grupo de conjuntos de dados de Criar um grupo de conjuntos de dados (AWS CLI) e o ARN do esquema da etapa anterior. Os valores de tipo de conjunto de dados podem ser Interactions, Users, Items, Actions ou Action_Interactions. Para obter mais informações sobre a API, consulte CreateDataset.

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

    O ARN do conjunto de dados é exibido, conforme mostrado no exemplo a seguir.

    { "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetName/INTERACTIONS" }
  4. Registre o ARN do conjunto de dados para uso posterior. Depois de criar um conjunto de dados, estará tudo pronto para importar os dados de treinamento. Consulte Preparar e importar dados em massa.

Criação de um conjunto de dados e um esquema (AWS SDKs)

Para criar um conjunto de dados e um esquema usando os AWS SDKs, primeiro você define um esquema no formato Avro e o adiciona ao Amazon Personalize usando a operação. CreateSchema Depois de criar um esquema, não é possível fazer alterações no esquema. Em seguida, crie um conjunto de dados usando a operação CreateDataset. Para obter informações sobre os conjuntos de dados e os requisitos de esquema do Amazon Personalize, consulte Conjuntos de dados e esquemas.

Para criar um esquema e um conjunto de dados
  1. Crie um arquivo de esquema no formato Avro e salve-o como um arquivo JSON no seu diretório de trabalho.

    O esquema deve corresponder às colunas nos dados, e o esquema name deve corresponder a um dos tipos de conjuntos de dados reconhecidos pelo Amazon Personalize. Veja um exemplo de esquema mínimo de conjunto de dados de interações com itens. Para obter mais exemplos, consulte Esquemas.

    { "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" }
  2. Crie um esquema com o código a seguir. Especifique o nome do esquema e o caminho do arquivo JSON do esquema.

    Se estiver criando um esquema para um conjunto de dados em um grupo de conjuntos de dados de domínio, adicione o parâmetro domain e defina-o como ECOMMERCE ou VIDEO_ON_DEMAND. Para obter mais informações sobre a API, consulte CreateSchema.

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

    O Amazon Personalize retorna o ARN do novo esquema. Grave-o, pois ele será necessário na próxima etapa.

  3. Crie um conjunto de dados usando a operação CreateDataset. O código a seguir mostra como criar um conjunto de dados. Especifique o nome do recurso da Amazon (ARN) do grupo de conjuntos de dados, o ARN do esquema da etapa anterior, e indique o tipo de conjunto de dados. Os valores de tipo de conjunto de dados podem ser Interactions, Users, Items, Actions ou Action_Interactions. Para obter informações sobre os diferentes tipos de conjuntos de dados, consulte Conjuntos de dados e esquemas.

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

    Depois de criar um conjunto de dados, estará tudo pronto para importar os dados de treinamento. Consulte Preparar e importar dados em massa.