スキーマとデータセットの作成 - Amazon Personalize

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

スキーマとデータセットの作成

データセットグループ を作成したら、インポートするデータの種類ごとに Amazon Personalize スキーマとデータセットを作成する準備が整います。スキーマは、Amazon Personalize にデータの構造を知らせ、Amazon Personalize がデータを解析できるようにします。Amazon Personalize でスキーマを作成するときは、 で作成した JSON ファイルを使用しますAmazon 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. まだ行っていない場合は、「」の手順に従って、データの概要を示すスキーマJSONファイルAmazon Personalize スキーマのスキーマJSONファイルの作成を作成します。

  2. https://console.aws.amazon.com/personalize/自宅の Amazon Personalize コンソールを開き、アカウントにサインインします。

  3. [Dataset groups] (データセットグループ) のページで、Amazon Personalize データセットグループの作成 で作成したデータセットグループを選択します。

  4. ステップ 1。データセットを作成してデータをインポートする データセットの作成 を選択し、作成するデータセットのタイプを選択します。

  5. [Amazon Personalize データセットにデータを直接インポートする] を選択し、[次へ] を選択します。

  6. [Dataset details] (データセットの詳細) の [Dataset name] (データセット名) で、データセットの名前を指定します。

  7. データセットスキーマ で、新しいスキーマを作成する または既存のスキーマを使用する を選択します。

  8. 既存のスキーマを使用している場合は、使用する既存のスキーマを選択します。新しいスキーマを作成する場合は、スキーマに名前を付け、データJSONに一致するスキーマに貼り付けます。このファイルは で作成しましたAmazon Personalize スキーマのスキーマJSONファイルの作成

  9. [タグ] には、オプションで任意のタグを追加します。Amazon Personalize リソースのタグ付けの詳細については、「Amazon Personalize リソースのタグ付け」を参照してください。

  10. [Next] (次へ) を選択し、Amazon Personalize データセットへのトレーニングデータのインポート の指示に従ってデータをインポートします。

データセットとスキーマの作成 (AWS CLI)

を使用してデータセットとスキーマを作成するには AWS CLIでは、 create-schema コマンド ( CreateSchemaAPIオペレーションを使用) を使用し、次に create-dataset ( CreateDatasetAPIオペレーションを使用) を使用します。

スキーマとデータセットを作成するには
  1. まだ行っていない場合は、「」の手順に従って、データの概要を示すスキーマJSONファイルAmazon Personalize スキーマのスキーマJSONファイルの作成を作成します。

  2. 次のコマンドを実行して Amazon Personalize でスキーマを作成します。スキーマを作成した後は、スキーマに変更を加えることはできなくなります。をスキーマの名前schemaNameに置き換え、 をJSONファイルの場所file://SchemaName.jsonに置き換えます。次の例は、現在のフォルダに属するファイルを示しています。ドメインデータセットグループ内のデータセットのスキーマを作成する場合は、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で指定します。データセットタイプの値は、InteractionsUsersItemsActions、または 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. まだ行っていない場合は、「」の手順に従って、データの概要を示すスキーマJSONファイルAmazon Personalize スキーマのスキーマ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 リソースネーム (ARN)、ARN前のステップのスキーマを指定し、データセットタイプを指定します。データセットタイプの値は、InteractionsUsersItemsActions、または 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 データセットへのトレーニングデータのインポート」を参照してください。