

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

# 準備項目中繼資料以進行訓練
<a name="items-datasets"></a>

 項目中繼資料包含使用者互動項目的數值和分類資料。項目中繼資料的範例包括建立時間戳記、價格、類型、描述和可用性。您可以將項目的中繼資料匯入 Amazon Personalize *Items 資料集*。

根據您的網域使用案例或自訂配方，項目中繼資料可協助 Amazon Personalize 建議更相關的項目給使用者、更準確地預測類似的項目，或建議更有意義的使用者客群。它可協助 Amazon Personalize 在建議中加入新項目。某些網域使用案例需要項目中繼資料，而所有自訂配方都是選用的。如需詳細資訊，請參閱 中網域使用案例或配方的資料需求[將您的使用案例與 Amazon Personalize 資源配對](use-cases-and-recipes.md)。

 訓練時，Amazon Personalize 不會使用非分類字串項目資料，例如項目標題或作者資料。不過，匯入此資料仍然可以增強建議。如需詳細資訊，請參閱[非分類字串資料](#item-string-data)。

Amazon Personalize 在訓練期間考慮的項目數上限取決於您的使用案例或配方。只有訓練期間考慮的項目才能出現在建議中。
+ 對於 User-Personalization-v2 或 Personalized-Ranking-v2，模型在訓練期間考慮的項目數量上限為 500 萬。這些項目來自項目和項目互動資料集。
+ 對於 User-Personalization-v2 和 Personalized-Ranking-v2 以外的所有網域使用案例和自訂配方，模型在訓練和產生建議期間考慮的項目數量上限為 750，000。

對於所有網域使用案例和自訂配方，您的大量項目資料必須位於 CSV 檔案中。檔案中的每一列都應該代表唯一的項目。完成資料準備後，您就可以建立結構描述 JSON 檔案。此檔案會告知 Amazon Personalize 您資料的結構。如需詳細資訊，請參閱[為 Amazon Personalize 結構描述建立結構描述 JSON 檔案](how-it-works-dataset-schema.md)。

下列各節提供如何為 Amazon Personalize 準備項目中繼資料的詳細資訊。如需所有資料類型的大量資料格式準則，請參閱[大量資料格式準則](preparing-training-data.md#general-formatting-guidelines)

**Topics**
+ [項目資料需求](#item-data-requirements)
+ [建立時間戳記資料](#creation-timestamp-data)
+ [分類中繼資料](#item-categorical-data)
+ [非結構化文字中繼資料](#text-data)
+ [數值資料](#item-numerical-data)
+ [非分類字串資料](#item-string-data)
+ [項目中繼資料範例](#items-data-example)

## 項目資料需求
<a name="item-data-requirements"></a>

 以下是 Amazon Personalize 的項目中繼資料需求。

如果您不確定自己的資料是否足夠，或對資料品質有任何疑問，您可以將資料匯入 Amazon Personalize 資料集，並使用 Amazon Personalize 進行分析。如需詳細資訊，請參閱[分析 Amazon Personalize 資料集中的資料品質和數量](analyzing-data.md)。
+ 對於所有網域使用案例和自訂配方，您必須有一個 ITEM\_ID 欄，該欄存放每個項目的唯一識別符。每個項目都必須有項目 ID。它必須是長度`string`上限為 256 個字元的 。
+ 對於自訂配方，您的資料必須至少有一個分類字串或數值中繼資料欄。項目中繼資料資料欄可以包含空值/空值。我們建議這些資料欄至少完成 70%。
+ 對於網域使用案例，必要的資料欄取決於您的網域。如需詳細資訊，請參閱 [VIDEO\_ON\_DEMAND 網域需求](#vod-item-data-req) 或 [ECOMMERCE 網域需求](#retail-item-data-req) 。
+ 中繼資料資料欄的數量上限為 100。

### VIDEO\_ON\_DEMAND 網域需求
<a name="vod-item-data-req"></a>

某些使用案例需要項目中繼資料 （請參閱 [VIDEO\_ON\_DEMAND 使用案例](VIDEO_ON_DEMAND-use-cases.md))。選用時，仍建議您匯入項目中繼資料，以取得最相關的建議。如果您匯入項目中繼資料，您的資料必須包含下列資料欄：
+ ITEM\_ID
+ GENRES （類別 `string`)
+ CREATION\_TIMESTAMP （以 Unix epoch 時間格式顯示）

 以下列出其他建議的欄及其所需的類型。`null` 類型表示資料欄可能缺少值。我們建議這些資料欄至少完成 70%。包含這些資料欄可以改善建議。
+ 價格 （浮點數）
+ DURATION （浮點數）
+ GENRE\_L2 （類別 `string`、`null`)
+ GENRE\_L3 （類別 `string`、`null`)
+ AVERAGE\_RATING (`float`、`null`)
+ PRODUCT\_DESCRIPTION （文字 `string`、`null`)
+ CONTENT\_OWNER （類別 `string`、`null`) – 擁有影片的公司。例如，值可能是 HBO、Paramount 和 NBC。
+ CONTENT\_CLASSIFICATION （類別 `string`、`null`) – 內容的評分。例如，值可能是 G、PG、PG-13、R、NC-17 和未評分。

### ECOMMERCE 網域需求
<a name="retail-item-data-req"></a>

 項目中繼資料對於所有 ECOMMERCE 使用案例都是選用的。如果您有項目資料，建議您將其匯入，以取得最相關的建議。如果您匯入項目中繼資料，您的資料必須具有下列資料欄：
+ ITEM\_ID
+ 價格 (`float`)
+ CATEGORY\_L1 （分類 `string`) – 如需格式化分類資料的相關資訊，請參閱 [分類中繼資料](#item-categorical-data)。

 以下列出其他建議的欄及其所需的類型。`null` 類型表示資料欄可能缺少值。我們建議這些資料欄至少完成 70%。包含這些資料欄可以改善建議。
+ CATEGORY\_L2 （類別 `string`、`null`)
+ CATEGORY\_L3 （類別 `string`、`null`)
+ PRODUCT\_DESCRIPTION （文字 `string`、`null`)
+ CREATION\_TIMESTAMP (`float`)
+ AGE\_GROUP （類別 `string`、`null`) – 項目的年齡群組。值可能是嬰兒、嬰兒、兒童和成人。
+ ADULT （類別 `string`、`null`) – 此項目是否僅限於成人，例如酒精。值可能是是或否。
+ GENDER （類別 `string`、`null`) – 項目的性別。值可以是男性、女性和中性。

## 建立時間戳記資料
<a name="creation-timestamp-data"></a>

建立時間戳記資料必須是以秒為單位的 Unix epoch 時間格式。例如，2020 年 7 月 31 日以秒為單位的 Epoch 時間戳記為 1596238243。若要將日期轉換為 Unix epoch 時間戳記，請使用 [Epoch 轉換器 - Unix 時間戳記轉換器](https://www.epochconverter.com)。

Amazon Personalize 使用建立時間戳記資料 （以 Unix epoch 時間格式，以秒為單位） 來計算項目的存留期，並相應地調整建議。

如果一或多個項目缺少建立時間戳記資料，Amazon Personalize 會從互動資料推斷此資訊，如果有的話，並使用項目最舊互動資料的時間戳記作為項目的建立時間戳記。如果項目沒有互動資料，其建立時間戳記會設定為訓練集中最新互動的時間戳記，而 Amazon Personalize 會將其視為新項目。

## 分類中繼資料
<a name="item-categorical-data"></a>

 在某些配方和所有網域使用案例中，Amazon Personalize 會在識別基礎模式時，使用類別中繼資料，例如項目的類型或顏色，以向使用者顯示最相關的項目。您可以根據使用案例定義自己的值範圍。分類中繼資料可以是任何語言。

 對於具有多個類別的項目，請使用垂直長條 '\|' 分隔每個值。例如，對於 GENRES 欄位，項目的資料可能是 `Action|Crime|Biopic`。如果您有多個層級的分類資料，而且有些項目在階層中的每個層級都有多個類別，請針對每個層級使用個別的資料欄，並在每個欄位名稱後面附加層級指標：GENRES、GENRE\_L2、GENRE\_L3。這可讓您根據子類別篩選建議，即使項目屬於多個多層級類別 （如需建立和使用篩選條件的資訊，請參閱 [篩選建議和使用者客群](filter.md))。例如，影片可能具有每個類別層級的下列資料：
+ GENRES：Action\|Adventure
+ GENRE\_L2：Crimer\|Western
+ GENRE\_L3：生物特性

在此範例中，影片位於動作 > 犯罪 > 生物特徵階層*和*冒險 > 西部 > 生物特徵階層中。我們建議最多只使用 L3，但如有必要，您可以使用更多關卡。

分類值最多可有 1000 個字元。如果您有類別值超過 1000 個字元的項目，您的資料集匯入任務將會失敗。我們建議分類資料欄最多有 1000 個可能的值。匯入具有更多值的分類資料可能會對建議產生負面影響。以下可協助您減少分類資料欄的可能值數量：
+ 確保值遵循一致的命名慣例，並檢查是否有錯字。例如，使用「男性鞋子」，而不是混合使用「男性鞋子」、「男性鞋子」和「男性鞋子」。
+ 整合使用略有不同詞彙的類似類別，參照相同的基礎類別，例如 "Shoes" 和 "Sneakers"。
+ 如果您的資料具有階層結構，其中更廣泛的類別 （例如 "Footwear") 包含更具體的子類別 （例如 "Men's Shoes"、"Women's Shoes"、"Children's Shoes")，請在每個層級使用單獨的資料欄，並在每個欄位名稱後附加關卡指標。例如，CATEGORY\_1、CATEGORY\_2 和 CATEGORY\_3。這可以減少不明確或重疊的類別。

透過所有配方和網域，您可以匯入分類資料，並根據項目的屬性來篩選建議。如需篩選建議的相關資訊，請參閱 [篩選建議和使用者客群](filter.md)。

## 非結構化文字中繼資料
<a name="text-data"></a>

透過某些配方和網域，Amazon Personalize 可以從非結構化文字中繼資料中擷取有意義的資訊，例如產品描述、產品評論或電影摘要。Amazon Personalize 使用非結構化文字來識別使用者的相關項目，特別是當項目是新的或較少的互動資料時。您最多可以新增 1 個文字欄位。在項目資料集中包含非結構化文字資料，以提高目錄中新項目的點擊率和對話率。

當您準備非結構化文字中繼資料時，請以雙引號包裝文字，並移除任何新的行字元。使用 `\` 字元來逸出資料中的任何雙引號或 \\ 字元。Amazon Personalize 會以字元限制截斷文字欄位。請確定文字中最相關的資訊位於 欄位的開頭。

非結構化文字值在所有語言中最多可有 20，000 個字元，但中文和日文除外。對於中文和日文，您最多可以有 7，000 個字元。Amazon Personalize 會將超過字元限制的值截斷為字元限制。

您可以提交多種語言的非結構化文字項目，但每個項目的文字只能使用一種語言。文字可以採用下列語言：
+ 簡體中文
+ 繁體中文
+ 英文
+ 法文
+ 德文
+ 日文
+ 葡萄牙文
+ 西班牙文

## 數值資料
<a name="item-numerical-data"></a>

 Amazon Personalize 可以使用數值項目中繼資料，例如價格或影片持續時間，為使用者產生更相關的建議。此數值資料可以以整數或小數值表示。

如果您使用 [使用者個人化](native-recipe-new-item-USER_PERSONALIZATION.md)或[個人化排名](native-recipe-search.md)自訂配方，除了最大化關聯性之外，您還可以最佳化項目中繼資料相關目標的 Amazon Personalize 解決方案，例如最大化收入。當您設定解決方案時，您可以在與目標相關的項目資料集中選擇數值中繼資料欄。例如，您可以選擇 VIDEO\_LENGTH 資料欄來最大化串流分鐘，或選擇 PRICE 資料欄來最大化收入。

如需詳細資訊，請參閱[針對其他目標最佳化解決方案](optimizing-solution-for-objective.md)。

## 非分類字串資料
<a name="item-string-data"></a>

 除了項目 IDs 之外，Amazon Personalize 不會在訓練時使用非分類的非文字字串資料，例如項目標題或作者資料。不過，Amazon Personalize 可以搭配下列功能使用。非分類值最多可有 1000 個字元。
+ Amazon Personalize 可以在建議中包含項目中繼資料，包括非分類字串值。您可以使用中繼資料來豐富使用者介面中的建議，例如將導演的名稱新增至電影建議輪播。如需詳細資訊，請參閱[建議中的項目中繼資料](campaigns.md#create-campaign-return-metadata)。
+  如果您使用 [類似項目](native-recipe-similar-items.md)，您可以使用 主題產生批次建議。當您使用主題產生批次建議時，您必須在批次推論任務中指定項目名稱欄。如需詳細資訊，請參閱[來自 Content Generator 的具有主題的批次建議](themed-batch-recommendations.md)。
+  您可以建立篩選條件，以根據非分類字串資料從建議中包含或移除項目。如需篩選條件的詳細資訊，請參閱[篩選建議和使用者客群](filter.md)。

## 項目中繼資料範例
<a name="items-data-example"></a>

CSV 檔案中的前幾行電影中繼資料可能如下所示。

```
ITEM_ID,GENRES,CREATION_TIMESTAMP,DESCRIPTION
1,Adventure|Animation|Children|Comedy|Fantasy,1570003267,"This is an animated movie that features action, comedy, and fantasy. Audience is children. This movie was released in 2004."
2,Adventure|Children|Fantasy,1571730101,"This is an adventure movie with elements of fantasy. Audience is children. This movie was release in 2010."
3,Comedy|Romance,1560515629,"This is a romantic comedy. The movie was released in 1999. Audience is young women."
4,Comedy|Drama|Romance,1581670067,"This movie includes elements of both comedy and drama as well as romance. This movie was released in 2020."
...
...
```

資料`ITEM_ID`欄為必要項目，並存放每個個別項目的唯一識別符。資料`GENRE`欄會儲存每部電影的分類中繼資料，而資料`DESCRIPTION`欄是非結構化的文字中繼資料。資料`CREATION_TIMESTAMP`欄會以秒為單位，以 Unix epoch 時間格式儲存每個項目建立時間。

完成資料準備後，您就可以建立結構描述 JSON 檔案。此檔案會告知 Amazon Personalize 您資料的結構。如需詳細資訊，請參閱[為 Amazon Personalize 結構描述建立結構描述 JSON 檔案](how-it-works-dataset-schema.md)。這是上述範例資料結構描述 JSON 檔案的外觀。

```
{
  "type": "record",
  "name": "Items",
  "namespace": "com.amazonaws.personalize.schema",
  "fields": [
    {
      "name": "ITEM_ID",
      "type": "string"
    },
    {
      "name": "GENRES",
      "type": [
        "null",
        "string"
      ],
      "categorical": true
    },
    {
      "name": "CREATION_TIMESTAMP",
      "type": "long"
    },
    {
      "name": "DESCRIPTION",
      "type": [
        "null",
        "string"
      ],
      "textual": true
    }
  ],
  "version": "1.0"
}
```