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

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

データセットとスキーマ

Amazon Personalize のデータセットは、データのコンテナです。データセットには次の 3 つのタイプがあります。

  • Users – このデータセットには、ユーザーに関するメタデータが保存されます。これには、年齢、性別、ロイヤリティメンバーシップなど、パーソナライゼーションシステムで重要なシグナルとなり得る情報が含まれます。

  • Items – このデータセットは、アイテムに関するメタデータを保存します。これには、価格、SKU タイプ、在庫状況などの情報が含まれます。

  • Interactions – このデータセットは、ユーザーとアイテム間のインタラクションからの履歴データとリアルタイムデータを保存します。Amazon Personalize では、インタラクションは、記録してからトレーニングデータとしてインポートするイベントです。ドメインデータセットグループとカスタムデータセットグループの両方については、少なくとも Interactions データセットを作成する必要があります。

すべてのユースケース(ドメインデータセットグループ)とレシピ(カスタムデータセットグループ)について、インタラクションデータには次のものが必要です。

  • カタログ内のアイテムを操作したユーザーからのインタラクションレコードは少なくとも1000件です。これらのインタラクションは、一括インポート、ストリーミングイベント、またはその両方から発生する可能性があります。

  • 少なくともそれぞれ 2 つのインタラクションを持つ 25 つの一意のユーザー ID を持つ

ドメインデータセットグループとカスタムデータセットグループは、各タイプのデータセットを 1 つだけ持つことができます。データセットを作成する前に、そのデータセットのスキーマを定義します。スキーマは、Amazon Personalize にデータの構造を知らせ、Amazon Personalize がデータを解析できるようにします。スキーマには名前キーがあり、その値はデータセットタイプと一致する必要があります。スキーマを作成した後は、スキーマに変更を加えることはできなくなります。

ドメインデータセットグループについては、各データセットタイプには、必須フィールドと予約済みキーワードを含むデフォルトのスキーマがあります。データセットを作成するたびに、既存のドメインスキーマを使用するか、既存のデフォルトスキーマを変更して新しいドメインスキーマを作成できます。ドメインにインポートするデータのガイドとして、デフォルトのスキーマを使用します。スキーマを定義してデータセットを作成すると、スキーマに変更を加えることはできなくなります。

データを一括してインポートする場合、データはコンマ区切り値 (CSV) 形式で保存する必要があります。CSV ファイルの最初の行には、スキーマと一致する列ヘッダーが含まれている必要があります。

スキーマ形式の要件

ドメインデータセットグループまたはカスタムデータセットグループのいずれかのデータセットのスキーマを作成するときは、次のガイドラインに従う必要があります。

  • スキーマは Avro 形式で定義する必要があります。サポートされている Avro データ型については、「スキーマデータ型」を参照してください。

  • スキーマフィールドは任意の順序で表示できますが、CSV ファイル内の対応する列ヘッダーの順序と一致する必要があります。

  • 必須フィールドを必須データ型として定義する必要があります。予約済みのカテゴリ文字列フィールドにはcategoricalを設定しますtrue、予約された文字列フィールドはカテゴリ化できません。キーワードをデータに含めることはできません。ドメインデータセットグループのデータセットには、ドメインとデータセットタイプの両方に基づいて追加の要件があります。カスタムデータセットグループのデータセットには、タイプに応じて追加の要件があります。

  • スキーマは、ネストされた構造のないフラットな JSON ファイルである必要があります。例えば、フィールドを複数のサブフィールドの親にすることはできません。

  • スキーマフィールドには一意の英数字名が必要です。例えば、GENRES_FIELD_1 フィールドと GENRESFIELD1 フィールドの両方を追加することはできません。

  • Amazon Personalize のスキーマは、配列やマップなどの複雑なタイプをサポートしていません。

  • カテゴリメタデータやインプレッションデータなど、複数の値を持つフィールドについては、データ型の文字列を使用し、バーティカルバー (「|」) の文字を使用して各値を区切ります。カテゴリフィールドの場合、追加"categorical": true

スキーマデータ型

Amazon Personalize のスキーマは、フィールド向けに次の Avro タイプをサポートします。

  • フロート

  • double

  • int

  • long

  • string

  • ブール値 (値 true および false は、データでは小文字である必要があります)

  • null

EVENT_VALUE および RECOMMENDATION_ID の予約済みキーワード、ならびにインタラクション、ユーザー、およびアイテムのメタデータフィールド用に null を使用できます。フィールドに null タイプを追加すると、不完全なデータ (例えば、空白の値を持つメタデータ) を使用して、パーソナライズされたレコメンデーションを生成できます。次の例は、GENRES フィールドに null タイプを追加する方法を示しています。

{ "name": "GENRES", "type": [ "null", "string" ], "categorical": true }