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

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

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

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

データセットを作成するには、Amazon Personalize コンソールAWS Command Line Interface(AWS CLI)、またはAWSSDK。データセットの種類、データセットとスキーマの要件の詳細については、データセットとスキーマ

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

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

Amazon Personalize データセットとスキーマの要件については、データセットとスキーマ

注記

完了したばかりの場合ステップ 1: データセットグループの作成で、あなたは既にユーザー項目の相互作用ページで、この手順の手順 4 に進みます。

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

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

  2. リポジトリの []データセットグループページで、ステップ 1: データセットグループの作成。これは、データセットグループダッシュボード

  3. データセットのアップロードセクションで、インポートするデータセットのタイプ(Amazon Personalize データセットには、インタラクション、ユーザー、またはアイテムが含まれます)で、インポート。-環境設定 < dataset type >ページが表示されます。

  4. Eclipseデータセットの詳細, 用データセット名で、データセットの名前を指定します。

  5. Eclipseスキーマの詳細, 用スキーマの選択で、既存のスキーマを選択するか、新しいスキーマの作成

  6. 新しいスキーマを作成する場合、スキーマ定義で、データと一致するスキーマ JSON を貼り付けます。で見つけた例を使用してくださいデータセットとスキーマを目安とする。

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

  8. 選択の指示に従って、 ステップ 3: データのインポートをクリックしてデータをインポートします。

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

データセットとスキーマを作成するには、AWS CLIでスキーマを定義するには、まずAvro フォーマットを使用して、Amazon Personalize に追加してくださいCreateSchemaオペレーション. 次に、CreateDatasetオペレーション. Amazon Personalize データセットとスキーマの要件については、データセットとスキーマ

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

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

    スキーマは、データとスキーマ内の列と一致する必要がありますnameは Amazon Personalize で認識される 3 種類のデータセットの 1 つと一致する必要があります。以下は最小限のインタラクションデータセットスキーマの例です。その他の例については、「データセットとスキーマ」を参照してください。

    { "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. 次のコマンドを実行して空のデータセットを作成します。データセットグループの Amazon リソースネーム (ARN) をデータセットグループを作成します。(AWS CLI)とスキーマ 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: データのインポート」を参照してください。

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

データセットとスキーマを作成するには、AWSSDK でスキーマを定義するには、まずAvro フォーマットを使用して、Amazon Personalize に追加してくださいCreateSchemaオペレーション. 次に、CreateDatasetオペレーション. Amazon Personalize データセットとスキーマの要件については、データセットとスキーマ

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

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

    スキーマは、データとスキーマ内の列と一致する必要がありますnameは Amazon Personalize で認識される 3 種類のデータセットの 1 つと一致する必要があります。以下は最小限のインタラクションデータセットスキーマの例です。その他の例については、「データセットとスキーマ」を参照してください。

    { "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. スキーマを作成します。CreateSchemaAPI オペレーション。

    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 データセットを作成します。[] を指定します。datasetGroupArnで返されるデータセットグループを作成します。(AWSSDK)。の使用schemaArn前のステップで作成した。置換dataset typeを、アップロードするデータセットのタイプ(インタラクション、ユーザー、またはアイテム)に置き換えます。

    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、およびデータセットタイプ(インタラクション、ユーザー、またはアイテム)で作成します。

    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: データのインポート」を参照してください。