スキーマ - Amazon Personalize

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

スキーマ

スキーマは、Amazon Personalize にデータの構造を知らせ、Amazon Personalize がデータを解析できるようにします。スキーマには名前キーがあり、その値はデータセットタイプと一致する必要があります。スキーマを作成した後は、スキーマに変更を加えることはできなくなります。

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

スキーマ形式の要件

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

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

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

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

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

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

  • 必須フィールドを必須データ型として定義する必要があります。予約済みカテゴリ文字列フィールドでは categorical 属性を true に設定する必要がありますが、予約済み文字列フィールドはカテゴリに設定できません。キーワードをデータに含めることはできません。

  • タイプ string の独自のメタデータフィールドを追加して、Amazon Personalize がトレーニングの際にそれを使用するように希望する場合は、categorical 属性または textual 属性を含める必要があります (アイテムスキーマのみがテキスト属性のフィールドをサポートします)。

  • Amazon Personalize は、テーマを生成したり、レコメンデーションでメタデータを返したり、レコメンデーションをフィルタリングしたりするときに、アイテム名列などの非カテゴリ別文字列列を使用できます。詳細については、「非カテゴリ別文字列データ」を参照してください。

  • Amazon Personalize は、レコメンデーションのトレーニングやフィルタリングに boolean タイプデータを使用しません。Amazon Personalize でトレーニングやフィルタリングの際にブーリアンデータを使用するには、文字列 型のフィールドを使用し、データ内の "True""False" の値を使用します。または、int もしくは long 型と 01 の値を使用できます。

  • テキストフィールドは string タイプで、textual 属性は true に設定されている必要があります。非構造化テキストデータの詳細については、「非構造化テキストメタデータ」を参照してください。

ドメインデータセットグループのデータセットには、ドメインとデータセットタイプの両方に基づいて追加要件があります。カスタムデータセットグループのデータセットには、タイプに応じて異なる要件があります。

スキーマのデータ型

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

  • フロート

  • double

  • 整数

  • long

  • string

  • ブール値

  • null

一部の必須フィールドと予約済みフィールドは NULL データをサポートしています。フィールドに null タイプを追加すると、不完全なデータ (例えば、空白の値を持つメタデータ) を使用して、レコメンデーションを生成できます。どのフィールドが NULL データをサポートするかについては、「ドメインデータセットとスキーマ」または「カスタムデータセットとスキーマ」を参照してください。次の例は、GENDER フィールドに null タイプを追加する方法を示しています。

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