

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 準備使用者區段的輸入資料
<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. 根據解決方案使用的配方來格式化批次輸入資料。使用新行分隔輸入資料元素。您的輸入資料是 itemIds (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 配方，則輸入資料是項目屬性的清單。您可以混合不同的中繼資料資料欄。例如，一列可能是數值欄，而下一列可能是分類欄。您不能使用非結構化文字項目中繼資料做為項目屬性。

您的輸入項目中繼資料可以包含具有 `AND`運算子的邏輯表達式，以取得多個屬性的使用者區段。例如，輸入資料的一行可能是 `{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\""}`或 `{"itemAttributes": "ITEMS.genres = "\Comedy\" AND ITEMS.audience = "\teen\""}`。

當您將兩個屬性與`AND`運算子結合時，您會建立一個使用者客群，其中的使用者更有可能與根據使用者互動歷史記錄具有兩個屬性的項目互動。與篩選條件表達式 （使用 `IN`運算子進行字串相等性） 不同，批次區段輸入表達式僅支援字串比對相等性的`=`符號。

## 批次區段任務輸入和輸出 JSON 範例
<a name="batch-segment-job-json-examples"></a>

對於批次區段任務，您的輸入資料必須是 itemIds (Item-Affinity 配方） 或項目屬性 (Item-Attribute-Affinity) 的清單。每行輸入資料都是單獨的推論查詢。每個使用者客群會根據每個使用者與您庫存中的項目互動的機率，以遞減順序排序。

 如果您使用篩選條件搭配預留位置參數，例如 `$GENRE`，則必須提供輸入 JSON 中`filterValues`物件中參數的值。如需詳細資訊，請參閱[在輸入 JSON 中提供篩選條件值](filter-batch.md#providing-filter-values)。

以下是依配方組織之批次區段任務的正確格式 JSON 輸入和輸出範例。

**項目親和性**

------
#### [ 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 個查詢，其中每個查詢都是一或多個非文字項目屬性。使用新行分隔每個屬性或屬性表達式，如下所示。

```
{"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"]}}
...
```

------