翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
データセットとスキーマ
Amazon Personalize のデータセットは、データのコンテナです。データセットには次の 3 つのタイプがあります。
-
Users – このデータセットには、ユーザーに関するメタデータが保存されます。これには、年齢、性別、ロイヤリティメンバーシップなど、パーソナライゼーションシステムで重要なシグナルとなり得る情報が含まれます。
-
Items – このデータセットは、アイテムに関するメタデータを保存します。これには、価格、SKU タイプ、在庫状況などの情報が含まれます。
-
Interactions – このデータセットは、ユーザーとアイテム間のインタラクションからの履歴データとリアルタイムデータを保存します。Amazon Personalize では、インタラクションは、記録してからトレーニングデータとしてインポートするイベントです。ドメインデータセットグループとカスタムデータセットグループの両方については、少なくとも Interactions データセットを作成する必要があります。
ドメインデータセットグループとカスタムデータセットグループは、各タイプのデータセットを 1 つだけ持つことができます。データセットを作成する前に、そのデータセットのスキーマを定義します。スキーマは、Amazon Personalize にデータの構造を知らせ、Amazon Personalize がデータを解析できるようにします。スキーマには名前キーがあり、その値はデータセットタイプと一致する必要があります。
ドメインデータセットグループについては、各データセットタイプには、必須フィールドと予約済みキーワードを含むデフォルトのスキーマがあります。データセットを作成するたびに、既存のドメインスキーマを使用するか、既存のデフォルトスキーマを変更して新しいドメインスキーマを作成できます。ドメインにインポートするデータのガイドとして、デフォルトのスキーマを使用します。スキーマを定義してデータセットを作成すると、スキーマに変更を加えることはできなくなります。
スキーマ形式の要件
ドメインデータセットグループまたはカスタムデータセットグループのいずれかのデータセットのスキーマを作成するときは、次のガイドラインに従う必要があります。
-
スキーマは 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 }