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

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

ステップ 2: データセットとスキーマの作成

ステップ 1: カスタムデータセットグループの作成 を完了したら、データセットを作成する準備が整います。データセットは、データ用の Amazon Personalize のコンテナです。データセットを作成するときは、データセットのスキーマも作成します。スキーマは、Amazon Personalize にデータの構造を知らせ、Amazon Personalize がデータを解析できるようにします。

データセットは、Amazon Personalize コンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用して作成します。さまざまなタイプのデータセット、およびデータセットとスキーマの要件については、「データセットとスキーマ」を参照してください。

データセットとスキーマの作成 (コンソール)

これがデータセットグループの最初のデータセットである場合、最初のデータセットタイプは Interactions データセットになります。コンソールで Interactions データセットを作成するには、データセット名を指定してから、Avro 形式の JSON スキーマを指定します。このデータセットグループの最初のデータセットでない場合は、データセットのタイプを選択してから、名前とスキーマを指定します。

Amazon Personalize のデータセットとスキーマの要件については、「データセットとスキーマ」を参照してください。

注記

ステップ 1: カスタムデータセットグループの作成 を完了したばかりで、既にユーザーとアイテムのインタラクションのページが表示されている場合は、この手順のステップ 4 にスキップしてください。

データセットとスキーマを作成するには

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

  2. [Dataset groups] (データセットグループ) のページで、ステップ 1: カスタムデータセットグループの作成 で作成したデータセットグループを選択します。これにより、データセットグループの [Dashboard] (ダッシュボード) が表示されます。

  3. [Upload datasets] (データセットをアップロード) のセクションで、インポートするデータセットのタイプ (Amazon Personalize データセットには、Interactions、Users、または Items が含まれます) について、[Import] (インポート) を選択します。[Configure < dataset type >] (< データセットタイプ > を設定) のページが表示されます。

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

  5. [Schema details] (スキーマの詳細) の [Schema selection] (スキーマを選択) で、既存のスキーマを選択するか、[Create new schema] (新しいスキーマを作成) を選択します。

  6. 新しいスキーマを作成する場合は、[Schema definition] (スキーマの定義) で、データに一致するスキーマ JSON を貼り付けます。データセットとスキーマ の例をガイドとして使用してください。

  7. [New schema name (新しいスキーマ名)] で、新しいスキーマの名前を指定します。

  8. を使用する場合タグオプションで、タグを追加します。Amazon Personalize リソースのタグ付けの詳細については、「」を参照してください。Amazon Personalize リソースに対してタグ付け

  9. [Next] (次へ) を選択し、 ステップ 3: データのインポート の指示に従ってデータをインポートします。

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

AWS CLI を使用してデータセットとスキーマを作成するには、最初に Avro 形式でスキーマを定義し、CreateSchema 操作を使用してそれを Amazon Personalize に追加します。その後、CreateDataset 操作を使用してデータセットを作成します。Amazon Personalize のデータセットとスキーマの要件については、「データセットとスキーマ」を参照してください。

スキーマとデータセットを作成するには

  1. Avro 形式のスキーマファイルを作成し、JSON ファイルとして保存します。このファイルは、作成している Interactions などのデータセットのタイプに基づいている必要があります。

    スキーマはデータの列と一致する必要があり、スキーマ name は Amazon Personalize によって認識される 3 種類のデータセットのいずれかと一致する必要があります。最小限の Interactions データセットスキーマの例を次に示します。その他の例については、「データセットとスキーマ」を参照してください。

    { "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. 次のコマンドを実行して Amazon Personalize でスキーマを作成します。schemaName をスキーマの名前に、file://SchemaName.json を前のステップで作成した JSON ファイルの場所に、それぞれ置き換えます。次の例は、現在のフォルダに属するファイルを示しています。 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. 次のコマンドを実行して空のデータセットを作成します。データセットグループの作成 (AWS CLI) のデータセットグループの Amazon リソースネーム (ARN) と前の手順のスキーマ ARN を指定します。dataset-type は、前のステップのスキーマ name と一致する必要があります。 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 を記録します。データセットを作成したら、トレーニングデータをインポートする準備が整います。「 ステップ 3: データのインポート」を参照してください。

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

AWS SDK を使用してデータセットとスキーマを作成するには、最初に Avro 形式でスキーマを定義し、CreateSchema 操作を使用してそれを Amazon Personalize に追加します。その後、CreateDataset 操作を使用してデータセットを作成します。Amazon Personalize のデータセットとスキーマの要件については、「データセットとスキーマ」を参照してください。

スキーマとデータセットを作成するには

  1. Avro 形式のスキーマファイルを作成し、JSON ファイルとして作業ディレクトリに保存します。

    スキーマはデータの列と一致する必要があり、スキーマ name は Amazon Personalize によって認識される 3 種類のデータセットのいずれかと一致する必要があります。最小限の Interactions データセットスキーマの例を次に示します。その他の例については、「データセットとスキーマ」を参照してください。

    { "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. CreateSchema API 操作を使用してスキーマを作成します。

    SDK for Python (Boto3)

    次の create_schema メソッドを使用して、スキーマを作成します。schema name を、スキーマの名前に置き換えます。

    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

    次の createSchema メソッドを使用して、スキーマを作成します。PersonalizeClient、スキーマの名前、およびスキーマ JSON ファイルのファイルパスをパラメータとして渡します。

    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 ""; }

    Amazon Personalize は、新しいスキーマの ARN を返します。次のステップで必要になるため、これを記録します。

  3. CreateDataset 操作を使用してデータセットを作成します。データセットのタイプ別の詳細については、「データセットとスキーマ」を参照してください。

    SDK for Python (Boto3)

    次の create_dataset メソッドを使用して、Amazon Personalize のデータセットを作成します。データセットグループの作成 (AWS SDK) で返される datasetGroupArn を指定します。前のステップで作成した schemaArn を使用します。dataset type を、アップロードしようとしているデータセットのタイプ (Interactions、Users、または Items) に置き換えます。

    import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset( name = 'datase_name', schemaArn = 'schema_arn', datasetGroupArn = 'dataset_group_arn', datasetType = 'dataset_type' ) print ('Dataset Arn: ' + response['datasetArn'])
    SDK for Java 2.x

    次の createDataset メソッドを使用して、Amazon Personalize のデータセットを作成します。PersonalizeClient、データセットの名前、前のステップで作成された schemaArn、データセットグループ ARN、およびデータセットタイプ (Interactions、Users、または Items) をパラメータとして渡します。

    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 ""; }

    データセットを作成したら、トレーニングデータをインポートする準備が整います。「 ステップ 3: データのインポート」を参照してください。