データセットのスキーマを置き換えて新しい列を追加する - Amazon Personalize

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

データセットのスキーマを置き換えて新しい列を追加する

アイテムまたはユーザーデータセットを作成したら、そのスキーマを新規または既存のスキーマに置き換えることができます。データセットの作成後にデータ構造が変更された場合は、データセットのスキーマを置き換えることができます。例えば、Amazon Personalize にトレーニング中に考慮してほしいアイテムメタデータの新しい列が存在する場合があります。あるいは、レコメンデーションをフィルタリングする場合にのみ使用するデータ列を追加したい場合もあります。

データセットのスキーマを置き換えるときは、以前のスキーマのフィールドをすべて保持しなければならず、データ型や属性を変更することはできません。データセットのスキーマを置き換えると、Amazon Personalize は既存のレコメンダーやカスタムソリューションのトレーニングから新しい列を自動的に除外します。その他のガイドラインと要件については、「ガイドラインと要件」を参照してください。

データセットのスキーマは、Amazon Personalize コンソール、 AWS Command Line Interface (AWS CLI)、および AWS SDKsに置き換えることができます。

ガイドラインと要件

データセットのスキーマを置き換える前に、次のガイドラインと要件に注意してください。

  • アイテムインタラクションデータセット、アクションインタラクションデータセット、またはアクションデータセットのスキーマを置き換えることはできません。

  • 置換スキーマには新しいフィールドを追加できますが、すべてのフィールドは以前のスキーマに残しておく必要があります。また、データ型や属性は変更できません。例えば、以前のスキーマにカテゴリ文字列データ用の MEMBERSHIP_STATUS フィールドが含まれている場合、使用する新しいスキーマには、これらの属性とデータ型を含む MEMBERSHIP_STATUS フィールドを含める必要があります。

  • 現在のスキーマに名前を変更したいフィールドがある場合や、そのデータ型や属性を変更したい場合は、新しい名前を付けてタイプや属性を変更した新しいフィールドを追加できます。次に、新しいフィールドをトレーニングに含め、古いフィールドを除外します。新しいフィールドは null データをサポートする必要があります。古いフィールドが NULL データをサポートしていなかった場合は、データをインポートするときに、プレースホルダーデータを使用してインポートがスキーマと一致することを確認できます。レコメンダーが使用する列の設定については、「レコメンダーの更新」を参照してください。ソリューションによって使用される列の設定については、「トレーニング時に使用する列の設定」を参照してください。

  • 新しいフィールドは null データをサポートする必要があります。フィールドに NULL タイプを追加する方法については、「スキーマのデータ型」を参照してください。

  • データセットのスキーマを置き換えると、Amazon Personalize は既存のレコメンダーやカスタムソリューションのトレーニングから新しい列を自動的に除外します。変更したデータセットを使用するには、以下のアクションが必要です。

    • トレーニングで新しい列を使用するには、新しいスキーマに合うデータをインポートします。次に、レコメンダーを更新して新しい列を使用するか、新しいカスタムソリューションを作成して、トレーニング時に使用する列を設定します。

      レコメンダーが使用する列の更新については、「レコメンダーの更新」を参照してください。ソリューションによって使用される列の設定については、「トレーニング時に使用する列の設定」を参照してください。

    • フィルタリング時にのみ列を使用するには、新しいスキーマと一致するデータをインポートし、新しいデータを使用するフィルターを作成して、そのフィルターをレコメンデーションリクエストに適用します。レコメンダーを更新したり、カスタムリソースを作成または更新したりする必要はありません。

データセットのスキーマの置き換え (コンソール)

データセットのスキーマを Amazon Personalize コンソールに置き換えるには、変更するデータセットを選択し、新しいスキーマに置き換えるか、既存のスキーマを使用するかを選択します。

データセットのスキーマを置き換えるには
  1. https://console.aws.amazon.com/personalize/home で Amazon Personalize コンソールを開き、アカウントにサインインします。

  2. [データセットグループ] のページで、データセットグループを選択します。

  3. ナビゲーションペインで、データセット を選択し、変更するデータセットのラジオボタンを選択します。

  4. [アクション] を選択し、[スキーマの置換] を選択します。

  5. [スキーマの詳細] で、新しいスキーマと置き換えるか、以前に作成したスキーマに置き換えるかを選択します。

  6. 使用する新しいスキーマを指定します。以下を選択した場合:

    • 新しいスキーマに置き換え、次にスキーマに名前を付け、[スキーマ定義] で JSON スキーマに変更を加えます。

    • 以前に作成したスキーマを使用する。次に [以前に作成したスキーマ] では、使用するスキーマを選択します。対象となるスキーマのみが表示されます。スキーマ要件については、「ガイドラインと要件」を参照してください。

  7. 置換]を選択します。データセットがアクティブになると、新しいスキーマに沿ったデータのインポートを開始できます。詳細については、「ステップ 2: データの準備とインポート」を参照してください。

データセットのスキーマの置き換え (AWS CLI)

データセットのスキーマを に置き換えるには AWS CLI、 update-dataset コマンドを使用して、更新するデータセットの Amazon リソースネーム (ARN) と、使用する新しいスキーマの ARN を指定します。アイテムインタラクションデータセット、アクションインタラクションデータセット、またはアクションデータセットのスキーマを更新することはできません。

次のコードは、 AWS CLIでデータセットのスキーマを更新する方法を示しています。データセットのスキーマを新しいものに置き換えるには、まず create-schema コマンドを使用します。そして、次のコードを使用して現在のスキーマを新しいスキーマに置き換えます。を使用してスキーマを作成する方法については、 AWS CLI「」を参照してくださいデータセットとスキーマの作成 (AWS CLI)。データセットとスキーマの要件については、「 スキーマ」を参照してください。

aws personalize update-dataset \ --dataset-arn Dataset ARN \ --schema-arn New schema ARN

データセットがアクティブになると、新しいスキーマに沿ったデータのインポートを開始できます。詳細については、「ステップ 2: データの準備とインポート」を参照してください。データセットの最新の更新については、DescribeDataset オペレーションを使用できます。

データセットのスキーマの置き換え (AWS SDKs)

データセットのスキーマを AWS SDKsオペレーションを使用します。 UpdateDataset更新するデータセットの Amazon リソースネーム (ARN) と使用する新しいスキーマを指定します。アイテムインタラクションデータセット、アクションインタラクションデータセット、またはアクションデータセットのスキーマを更新することはできません。

次のコードは、データセットのスキーマを SDK for Python (Boto3) で置き換える方法を示しています。データセットのスキーマを新しいスキーマに置き換えるには、まず CreateSchema オペレーションを使用します。おして、次のコードを使用して現在のスキーマを新しいスキーマに置き換えます。 AWS SDKs「」を参照してくださいデータセットとスキーマ (AWS SDK) の作成。データセットとスキーマの要件についての詳細は、「 スキーマ」を参照してください。

import boto3 personalize = boto3.client('personalize') update_dataset_response = personalize.update_dataset( datasetArn = 'dataset_arn', schemaArn = 'new_schema_arn' ) print(update_dataset_response)

データセットがアクティブになると、新しいスキーマに沿ったデータのインポートを開始できます。詳細については、「ステップ 2: データの準備とインポート」を参照してください。データセットの最新の更新については、DescribeDataset オペレーションを使用できます。