스키마 및 데이터세트 생성 - Personalize

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

스키마 및 데이터세트 생성

데이터세트 그룹을 생성하고 나면 Amazon Personalize 스키마와 가져오는 각 데이터 유형에 대한 데이터세트를 생성할 준비가 된 것입니다. 스키마는 Personalize에 데이터 구조를 알려주고 Personalize가 데이터를 파싱할 수 있도록 해 줍니다. Amazon Personalize에서 스키마를 생성할 때는 에서 생성한 JSON 파일을 사용합니다. Personalize 스키마에 대한 스키마 JSON 파일 생성

데이터세트는 Amazon Personalize의 교육 데이터를 위한 컨테이너입니다. 데이터세트 유형마다 요구 사항이 다릅니다. 가져오는 각 데이터 유형에 대한 데이터세트를 생성합니다. 다양한 유형의 데이터셋과 데이터를 준비하는 방법에 대한 자세한 내용은 을 참조하십시오. Amazon Personalize를 위한 교육 데이터 준비

Amazon Personalize 콘솔을 사용하여 스키마와 데이터세트를 생성할 수 있습니다. AWS Command Line Interface (AWS CLI), 또는 AWS SDKs. 도메인 데이터세트 그룹에는 액션 및 액션 인터랙션 데이터세트를 비롯한 차선책 액션 리소스를 만들 수 없습니다.

중요

스키마를 생성하고 나면 스키마를 변경할 수 없습니다. 하지만 새 열을 추가하면 데이터세트의 스키마를 새 스키마로 바꿀 수 있습니다. 자세한 내용은 데이터세트 스키마를 교체하여 새 열 추가 단원을 참조하십시오.

데이터세트 및 스키마 생성(콘솔)

데이터 세트 그룹의 첫 번째 데이터 세트인 경우, 첫 번째 데이터 세트 유형은 항목 상호 작용 데이터 세트일 것입니다. 콘솔에서 항목 상호작용 데이터세트를 만들려면 데이터세트 이름을 지정한 다음 Avro 형식으로 JSON 스키마를 지정하세요. 이 데이터세트 그룹의 첫 번째 데이터세트가 아닌 경우, 데이터세트 유형을 선택한 다음 이름과 스키마를 지정합니다.

Amazon Personalize 데이터세트 요구 사항에 대한 자세한 내용은 을 참조하십시오. Amazon Personalize를 위한 교육 데이터 준비 Amazon Personalize 데이터세트 그룹 생성을 막 완료하고 이미 데이터 세트를 만드는 중이라면 이 절차의 4단계로 건너뛰세요.

데이터세트 및 스키마를 생성하려면
  1. 아직 생성하지 않았다면, 지침에 따라 데이터를 Personalize 스키마에 대한 스키마 JSON 파일 생성 개략적으로 설명하는 스키마 JSON 파일을 생성하십시오.

  2. https://console.aws.amazon.com/personalize/집에서 Amazon Personalize 콘솔을 열고 계정에 로그인합니다.

  3. 데이터세트 그룹 페이지의, Amazon Personalize 데이터세트 그룹 생성에서 데이터세트 그룹을 선택합니다.

  4. 1단계에서 데이터세트를 만들고 데이터를 가져오고 데이터세트 만들기를 선택한 다음 생성할 데이터세트 유형을 선택합니다.

  5. Personalize 데이터세트로 직접 데이터 가져오기를 선택하고 다음을 선택합니다.

  6. 데이터세트 세부 정보에서 데이터세트 이름에 대해 데이터세트의 이름을 지정합니다.

  7. 데이터세트 스키마의 경우 새 스키마 만들기 또는 기존 스키마 사용을 선택합니다.

  8. 기존 스키마를 사용하는 경우 사용할 기존 스키마를 선택하세요. 새 스키마를 만드는 경우 스키마에 이름을 지정하고 데이터와 JSON 일치하는 스키마를 붙여넣습니다. 에서 이 파일을 만들었습니다Personalize 스키마에 대한 스키마 JSON 파일 생성.

  9. 태그의 경우, 원하는 태그를 추가할 수 있습니다. Personalize 리소스 태그 지정에 대한 자세한 내용은 Personalize 리소스에 태그 지정단원을 참조하세요.

  10. 다음을 선택하고 Amazon Personalize 데이터세트로 교육 데이터 가져오기의 지침에 따라 데이터를 가져옵니다.

데이터셋 및 스키마 만들기 (AWS CLI)

를 사용하여 데이터세트와 스키마를 만들려면 AWS CLIcreate-schema명령 (작업 사용) 을 사용한 다음 create-dataset (CreateSchemaAPI작업 사용) 을 CreateDataset API 사용합니다.

스키마 및 데이터세트를 생성하려면
  1. 아직 만들지 않았다면 의 지침에 따라 데이터를 Personalize 스키마에 대한 스키마 JSON 파일 생성 개략적으로 설명하는 스키마 JSON 파일을 만드세요.

  2. 다음 명령을 실행하여 Personalize에서 스키마를 생성합니다. 스키마를 생성하고 나면 스키마를 변경할 수 없습니다. 스키마 이름으로 바꾸고 JSON 파일 위치로 file://SchemaName.json 바꾸십시오. schemaName 이 예제에서는 이 파일을 현재 폴더에 속한 것으로 표시합니다. 도메인 데이터 세트 그룹의 데이터 세트에 대한 스키마를 생성하는 경우 domain 파라미터를 추가하고 ECOMMERCE 또는 VIDEO_ON_DEMAND로 설정합니다. 에 대한 자세한 내용은 API 을 참조하십시오CreateSchema.

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

    다음 예와 같이 Amazon 리소스 이름 (ARN) 스키마가 표시됩니다.

    { "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/SchemaName" }
  3. 다음 명령을 실행하여 빈 데이터세트를 생성합니다. 이전 단계의 Amazon 리소스 이름 (ARN) 데이터세트 그룹 생성 (AWS CLI) 및 스키마를 ARN 데이터세트 그룹에 제공합니다. 데이터 세트 유형 값은 Interactions, Users, Items, Actions 또는 Action_Interactions일 수 있습니다. 에 대한 자세한 내용은 API 을 참조하십시오CreateDataset.

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

    다음 예와 같이 ARN 데이터셋이 표시됩니다.

    { "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetName/INTERACTIONS" }
  4. 나중에 ARN 사용할 수 있도록 데이터세트를 기록합니다. 데이터 세트를 생성하고 나면 교육 데이터를 가져올 준비가 됩니다. Amazon Personalize 데이터세트로 교육 데이터 가져오기을 참조하세요.

데이터세트 및 스키마 만들기 (AWS SDKs)

를 사용하여 데이터세트와 스키마를 만들려면 AWS SDKs먼저 Avro 형식으로 스키마를 정의하고 작업을 사용하여 CreateSchema Amazon Personalize에 추가합니다. 스키마를 생성하고 나면 스키마를 변경할 수 없습니다. 그런 다음 CreateDataset작업을 사용하여 데이터세트를 생성합니다.

스키마 및 데이터세트를 생성하려면
  1. 아직 생성하지 않았다면 의 지침에 따라 데이터를 Personalize 스키마에 대한 스키마 JSON 파일 생성 개략적으로 설명하는 스키마 JSON 파일을 생성하십시오.

  2. 다음 코드를 사용하여 Amazon Personalize에서 스키마를 생성합니다. 스키마 이름과 스키마 파일의 파일 경로를 지정합니다. JSON 도메인 데이터 세트 그룹의 데이터 세트에 대한 스키마를 생성하는 경우 domain 파라미터를 추가하고 ECOMMERCE 또는 VIDEO_ON_DEMAND로 설정합니다. 에 대한 자세한 내용은 API 을 참조하십시오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();

    Amazon Personalize는 새 ARN 스키마를 반환합니다. 이 정보는 다음 단계에서 사용해야 하므로 기록해 둡니다.

  3. CreateDataset 작업을 사용하여 데이터세트를 생성합니다. 다음 코드는 데이터세트를 생성하는 방법을 보여줍니다. 데이터세트 그룹의 Amazon Resource Name (ARN) 과 이전 단계의 스키마를 ARN 지정하고 데이터세트 유형을 지정합니다. 데이터 세트 유형 값은 Interactions, Users, Items, Actions 또는 Action_Interactions일 수 있습니다. 데이터세트의 다양한 유형에 대한 자세한 내용은 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();

    데이터 세트를 생성하고 나면 교육 데이터를 가져올 준비가 됩니다. Amazon Personalize 데이터세트로 교육 데이터 가져오기을(를) 참조하세요.