

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

# ユーザーセグメントの入力データを準備しています。
<a name="prepare-input-data-user-segment"></a>

バッチセグメントジョブは、ソリューションバージョンを使用して、入力 JSON ファイルで提供するデータに基づいてユーザーセグメントを作成します。バッチユーザーセグメントを取得する前に、JSON ファイルを準備して Amazon S3 バケットにアップロードする必要があります。Amazon S3 バケットに出力フォルダを作成するか、個別の出力 Amazon S3 バケットを使用することをお勧めします。その後、同じ入力データの場所を使用して、複数のバッチ推論ジョブを実行できます。

 `$GENRE` などのプレースホルダーパラメータを持つフィルターを使用する場合は、入力 JSON の `filterValues` オブジェクトの値を指定する必要があります。詳細については、「[入力 JSON にフィルター値を指定します。](filter-batch.md#providing-filter-values)」を参照してください。

**データを準備してインポートするには**

1. ソリューションで使用するレシピに応じて、バッチ入力データをフォーマットします。入力データ要素を新しい行で区切ります。入力データは itemId のリスト (Item-Affinity) またはアイテム属性 (Item-Attribute-Affinity) のいずれかです。
   + アイテム属性については、入力データには、クエリごとに複数のアイテムまたは属性用にユーザーを取得するための `AND` 演算子を持つ論理式を含めることができます。詳細については、「[Item-Attribute-Affinity レシピのアイテム属性の指定](#specifying-item-attributes)」を参照してください。
   +  アイテム属性では、`\` 文字を使用して、入力データ内の特殊文字と一重引用符または二重引用符をエスケープします。
   + 両方のレシピの入力データ例については、「[バッチセグメントジョブの入力および出力 JSON の例](#batch-segment-job-json-examples)」を参照してください。

1.  入力 JSON を Amazon S3 バケットの入力フォルダーにアップロードします。詳細については、*Amazon Simple Storage Service ユーザーガイド*の「[ドラッグアンドドロップを使用したファイルとフォルダのアップロード](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-objects.html)」を参照してください。

1.  フォルダまたは別の Amazon S3 バケットのいずれかで、出力データ用に個別の場所を作成します。出力 JSON 用に個別の場所を作成することにより、同じ入力データの場所を使用して複数のバッチセグメントジョブを実行できます。

 入力データを準備して Amazon S3 バケットにアップロードしたら、バッチセグメントジョブでユーザーセグメントを生成する準備が整いました。詳細については、「[バッチセグメントジョブを使用してユーザーセグメントを取得する](creating-batch-seg-job.md)」を参照してください。

**Topics**
+ [Item-Attribute-Affinity レシピのアイテム属性の指定](#specifying-item-attributes)
+ [バッチセグメントジョブの入力および出力 JSON の例](#batch-segment-job-json-examples)

## Item-Attribute-Affinity レシピのアイテム属性の指定
<a name="specifying-item-attributes"></a>

Item-Attribute-Affinity レシピを使用する場合、入力データはアイテム属性のリストです。メタデータのさまざまな列を混在させることができます。例えば、1 つの行が数値列で、次の行がカテゴリ列である場合があります。非構造化テキストのアイテムメタデータをアイテム属性として使用することはできません。

入力アイテムのメタデータには、複数の属性のユーザーセグメントを取得するために、`AND` 演算子を持つ論理式を含めることができます。例えば、入力データの行は `{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\""}` または `{"itemAttributes": "ITEMS.genres = "\Comedy\" AND ITEMS.audience = "\teen\""}` です。

2 つの属性を `AND` 演算子と組み合わせると、ユーザーのインタラクション履歴に基づいて、両方の属性を持つアイテムとインタラクションする可能性が高いユーザーを含むユーザーセグメントを作成します。フィルター式 (文字列の等式に `IN` 演算子を使用) とは異なり、バッチセグメント入力式は、文字列の照合のために等式の `=` 記号のみをサポートします。

## バッチセグメントジョブの入力および出力 JSON の例
<a name="batch-segment-job-json-examples"></a>

バッチセグメントジョブについては、入力データは itemId のリスト (Item-Affinity レシピ) またはアイテム属性 (Item-Attribute-Affinity) のいずれかです。入力データの各行は、個別の推論クエリです。各ユーザーセグメントは、各ユーザーがインベントリ内のアイテムを操作する蓋然性に基づいて、降順にソートされます。

 `$GENRE` などのプレースホルダーパラメータを持つフィルターを使用する場合は、入力 JSON の `filterValues` オブジェクトの値を指定します。詳細については、「[入力 JSON にフィルター値を指定します。](filter-batch.md#providing-filter-values)」を参照してください。

レシピごとに整理されたバッチセグメントジョブ用に正しくフォーマットされた JSON 入力および出力を次に示します。

**Item-Affinity**

------
#### [ Input ]

入力データには、最大 500 個のアイテムを含めることができます。次のように、各 `itemId` を改行で区切ります。

```
{"itemId": "105"}
{"itemId": "106"}
{"itemId": "441"}
...
```

------
#### [ Output ]

```
{"input": {"itemId": "105"}, "output": {"recommendedUsers": ["106", "107", "49"]}}
{"input": {"itemId": "106"}, "output": {"recommendedUsers": ["105", "107", "49"]}}
{"input": {"itemId": "441"}, "output": {"recommendedUsers": ["2", "442", "435"]}}
...
```

------

**Item-Attribute-Affinity**

------
#### [ Input ]

入力データには最大 10 個のクエリを含めることができ、各クエリは 1 つ以上のテキストではないアイテム属性です。次のように、各属性を改行で区切ります。

```
{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\""}
{"itemAttributes": "ITEMS.genres = \"Comedy\""}
{"itemAttributes": "ITEMS.genres = \"Horror\" AND ITEMS.genres = \"Action\""}
...
```

------
#### [ Output ]

```
{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\"", "output": {"recommendedUsers": ["25", "78", "108"]}}
{"itemAttributes": "ITEMS.genres = \"Adventure\"", "output": {"recommendedUsers": ["87", "31", "129"]}}
{"itemAttributes": "ITEMS.genres = \"Horror\" AND ITEMS.genres = \"Action\"", "output": {"recommendedUsers": ["8", "442", "435"]}}
...
```

------