

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

# 選擇配方
<a name="working-with-predefined-recipes"></a>

 當您建立自訂解決方案時，您可以指定配方並設定訓練參數。*配方*是為特定使用案例準備的 Amazon Personalize 演算法。Amazon Personalize 會根據常見的使用案例，為訓練模型提供配方。當您為解決方案建立解決方案版本時，Amazon Personalize 會根據配方和訓練組態來訓練支援解決方案版本的模型。

Amazon Personalize 配方在訓練期間使用下列項目：
+ 資料的預先定義屬性
+ 預先定義的特徵轉換
+ 預先定義的演算法
+ 演算法的初始參數設定

若要最佳化模型，您可以在建立解決方案時覆寫許多這些參數。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

**Topics**
+ [依使用案例的 Amazon Personalize 配方類型](#use-cases)
+ [Amazon Personalize 配方](#recipe-categories)
+ [檢視可用的 Amazon Personalize 配方](#listing-recipes)
+ [User-Personalization-v2 配方](native-recipe-user-personalization-v2.md)
+ [使用者個人化配方](native-recipe-new-item-USER_PERSONALIZATION.md)
+ [Trending-Now 配方](native-recipe-trending-now.md)
+ [熱門計數配方](native-recipe-popularity.md)
+ [Personalized-Ranking-v2 配方](native-recipe-personalized-ranking-v2.md)
+ [個人化執行配方](native-recipe-search.md)
+ [語意相似性配方](native-recipe-semantic-similarity.md)
+ [類似項目配方](native-recipe-similar-items.md)
+ [SIMS 配方](native-recipe-sims.md)
+ [Next-Best-Action 配方](native-recipe-next-best-action.md)
+ [項目親和性配方](item-affinity-recipe.md)
+ [Item-Attribute-Affinity 配方](item-attribute-affinity-recipe.md)
+ [舊版 HRNN 配方](legacy-user-personalization-recipes.md)

## 依使用案例的 Amazon Personalize 配方類型
<a name="use-cases"></a>

若要選擇您的配方，請先從下列內容中選擇您的使用案例，並記下其對應的配方類型。
+ 建議使用者的項目 (USER\$1PERSONALIZATION 配方）

  若要為您的使用者提供個人化的建議，請使用 USER\$1PERSONALIZATION 配方來訓練您的模型。個人化建議有助於提高參與度和轉換率。
+ 為使用者排名項目 (PERSONALIZED\$1RANKING 配方） 

  若要為您的使用者個人化精選清單或搜尋結果的順序，請使用 PersonalIZED\$1RANKING 配方來訓練您的模型。PersonalIZED\$1RANKING 配方會根據特定使用者的預測興趣等級，重新排序輸入項目的集合，以建立個人化清單。個人化清單可改善客戶體驗，並提高客戶忠誠度和參與度。
+  建議趨勢或熱門項目 (POPULAR\$1ITEMS 配方） 

  若要建議趨勢或熱門項目，請使用 POPULAR\$1ITEMS 配方。如果您的客戶高度重視其他使用者互動的內容，您可以使用 POPULAR\$1ITEMS。常見用途包括推薦病毒社交媒體內容、重大新聞文章或最近的運動影片。
+  建議類似的項目 (RELATED\$1ITEMS 配方）

  若要建議類似的項目，例如經常一起購買的項目或其他使用者也看過的電影，您應該使用 RELATED\$1ITEMS 配方。建議類似的項目可協助您的客戶探索項目，並提高使用者轉換率。
+  建議下一個最佳動作 (PERSONALIZED\$1ACTIONS 配方）

  若要即時為您的使用者建議下一個最佳動作，例如註冊您的忠誠度計劃或申請信用卡，您應該使用 PersonalIZED\$1ACTIONS 配方。建議下一個最佳動作可以提高客戶忠誠度、產生更多收入，並改善使用者體驗。
+  取得使用者區段 (USER\$1SEGMENTATION 配方）

  若要根據項目輸入資料取得使用者區段，例如很可能與具有特定屬性的項目互動的使用者，您應該使用 USER\$1SEGMENTATION 配方。取得使用者客群可協助您建立進階行銷活動，根據他們採取行動的可能性，將不同的項目提升到不同的使用者客群。

## Amazon Personalize 配方
<a name="recipe-categories"></a>

Amazon Personalize 提供下列類型的配方。除了行為差異外，每個類型都有取得建議的不同需求，如下表所示。


| 配方類型  | 配方 | API | API 需求 | 
| --- | --- | --- | --- | 
| USER\$1PERSONALIZATION |  [User-Personalization-v2](native-recipe-user-personalization-v2.md) [使用者個人化](native-recipe-new-item-USER_PERSONALIZATION.md) [HRNN 配方 （舊版）](native-recipe-hrnn.md) [HRNN-Metadata 配方 （舊版）](native-recipe-hrnn-metadata.md) [HRNN-Coldstart 配方 （舊版）](native-recipe-hrnn-coldstart.md)  | [GetRecommendations](API_RS_GetRecommendations.md) |  `userId`：必要 `itemId`：未使用 `inputList`：不適用  | 
| POPULAR\$1ITEMS |  [Trending-Now](native-recipe-trending-now.md) [熱門計數](native-recipe-popularity.md)  | [GetRecommendations](API_RS_GetRecommendations.md) |  `userId`：只有在您套用需要它的篩選條件時才需要 `itemId`：未使用 `inputList`：不適用  | 
| PERSONALIZED\$1RANKING |  [Personalized-Ranking-v2](native-recipe-personalized-ranking-v2.md) [個人化排名](native-recipe-search.md)  | [GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md) |  `userId`：必要 `itemId`：不適用 `inputList`：itemId 的清單  | 
| RELATED\$1ITEMS |  [類似項目](native-recipe-similar-items.md) [SIMS](native-recipe-sims.md) [語意相似性配方](native-recipe-semantic-similarity.md)  | [GetRecommendations](API_RS_GetRecommendations.md) |  `userId`：只有在您套用需要它的篩選條件時才需要 `itemId`：必要 `inputList`：不適用  | 
| PersonalIZED\$1ACTIONS |  [Next-Best-Action](native-recipe-next-best-action.md)  | [GetActionRecommendations](API_RS_GetActionRecommendations.md) |  `userId`：必要 `actionId`：未使用 `itemId`：未使用 `inputList`：不適用  | 
| USER\$1SEGMENTATION |  [項目親和性](item-affinity-recipe.md) [Item-Attribute-Affinity](item-attribute-affinity-recipe.md)  | [CreateBatchSegmentJob](API_CreateBatchSegmentJob.md) |  如需批次工作流程需求，請參閱 [使用批次區段任務取得使用者區段](creating-batch-seg-job.md)。  | 

## 檢視可用的 Amazon Personalize 配方
<a name="listing-recipes"></a>

若要查看可用配方的清單：
+ 在 Amazon Personalize 主控台中，選擇資料集群組。從導覽窗格中，選擇 **Solutions and recipes (解決方案和配方)**，然後選擇 **Recipes (配方)** 標籤。
+ 使用 適用於 Python (Boto3) 的 AWS SDK呼叫 [ListRecipes](API_ListRecipes.md) API。
+ 搭配 AWS CLI使用下列命令。

  ```
  aws personalize list-recipes
  ```

若要使用適用於 Python 的 SDK (Boto3) 取得配方的相關資訊，請呼叫 [DescribeRecipe](API_DescribeRecipe.md) API。若要使用 取得配方的相關資訊 AWS CLI，請使用下列命令。

```
aws personalize describe-recipe --recipe-arn recipe_arn
```

# User-Personalization-v2 配方
<a name="native-recipe-user-personalization-v2"></a>

User-Personalization-v2 (aws-user-personalization-v2) 配方建議使用者會根據其偏好設定與之互動的項目。例如，您可以使用 User-Personalization-v2 來產生串流應用程式的個人化電影建議，或零售應用程式的個人化產品建議。其他使用案例包括為新聞網站產生即時建議，或為個人化行銷活動產生批次建議。

 User-Personalization-v2 最多可訓練來自項目互動和項目資料集的 500 萬個項目。而且它會產生比 更低延遲的相關建議[使用者個人化](native-recipe-new-item-USER_PERSONALIZATION.md)。

 由於 User-Personalization-v2 根據您的資料建議最相關的項目給使用者，因此更常建議具有互動資料的現有項目。為了確保建議包含新項目，您可以使用根據建立時間戳記包含一些項目的提升。如需促銷的詳細資訊，請參閱 [在即時建議中提升項目](promoting-items.md)。

 此配方使用轉換器型架構來訓練模型，以學習內容並追蹤資料中的關係和模式。*轉換器*是一種神經網路架構，可將輸入序列轉換或變更為輸出序列。對於 Amazon Personalize，輸入序列是您資料中的使用者項目互動歷史記錄。輸出序列是他們的個人化建議。如需轉換器的詳細資訊，請參閱 AWS 雲端運算概念中樞[中的什麼是人工智慧中的轉換器？](https://aws.amazon.com/what-is/transformers-in-artificial-intelligence/)。

User-Personalization-v2 使用與其他配方不同的定價模型。如需定價的詳細資訊，請參閱 [Amazon Personalize 定價](https://aws.amazon.com/personalize/pricing/)。

**Topics**
+ [配方功能](#user-personalization-v2-features)
+ [必要和選用的資料集](#user-personalization-v2-datasets)
+ [屬性和超參數](#user-personalization-v2-hyperparameters)

## 配方功能
<a name="user-personalization-v2-features"></a>

產生項目建議時，User-Personalization-v2 使用以下 Amazon Personalize 配方功能：
+ 即時個人化 – 透過即時個人化，Amazon Personalize 會根據使用者不斷變化的興趣更新和調整項目建議。如需詳細資訊，請參閱[即時個人化](use-case-recipe-features.md#about-real-time-personalization)。
+ 探勘 – 透過探勘，建議包括互動資料較少或與使用者相關的項目。使用 User-Personalization-v2，Amazon Personalize 會為您處理探勘組態。若要確保建議包含新項目，您可以使用促銷來根據新項目的建立時間戳記來包含新項目。如需促銷的詳細資訊，請參閱 [在即時建議中提升項目](promoting-items.md)。
+ 自動更新 – 透過自動更新，Amazon Personalize 會每兩小時自動更新最新的模型 （解決方案版本），以考慮提供建議的新項目。如需詳細資訊，請參閱[自動更新](use-case-recipe-features.md#automatic-updates)。
+  中繼資料與建議 – 使用 User-Personalization-v2 配方，如果您的項目資料集至少包含一欄中繼資料，行銷活動會自動選擇將項目中繼資料包含建議結果。您沒有手動啟用行銷活動的中繼資料。您可以使用中繼資料來豐富使用者介面中的建議，例如將電影的類型新增至輪跳功能。如需詳細資訊，請參閱[建議中的項目中繼資料](campaigns.md#create-campaign-return-metadata)。

## 必要和選用的資料集
<a name="user-personalization-v2-datasets"></a>

若要使用 User-Personalization-v2，您必須建立項目互動資料集，並匯入至少 1000 個項目互動。Amazon Personalize 主要根據項目互動資料產生建議。如需詳細資訊，請參閱[項目互動資料](interactions-datasets.md)。User-Personalization-v2 最多可跨項目互動和項目資料集訓練 500 萬個項目。

透過 User-Personalization-v2，Amazon Personalize 可以使用包含下列項目的項目互動資料：
+ 事件類型和事件值資料 – Amazon Personalize 使用事件類型資料，例如點選或監看事件類型，透過其行為中的任何模式來識別使用者意圖和興趣。此外，您可以在訓練之前使用事件類型和事件值資料來篩選記錄。如需詳細資訊，請參閱[事件類型和事件值資料](interactions-datasets.md#event-type-and-event-value-data)。
**注意**  
使用 User-Personalization-v2，您的訓練成本取決於您的互動資料，然後再依事件類型或值進行篩選。如需定價的詳細資訊，請參閱 [Amazon Personalize 定價](https://aws.amazon.com/personalize/pricing/)。
+ 內容中繼資料 – 內容中繼資料是指您在事件發生時在使用者環境中收集的互動資料，例如其位置或裝置類型。如需詳細資訊，請參閱[內容中繼資料](interactions-datasets.md#interactions-contextual-metadata)。

 下列資料集是選用的，可以改善建議：
+ 使用者資料集 – Amazon Personalize 可以使用您的使用者資料集中的資料來更好地了解您的使用者及其興趣。您也可以使用使用者資料集中的資料來篩選建議。如需有關您可以匯入之使用者資料的資訊，請參閱 [使用者中繼資料](users-datasets.md)。
+ 項目資料集 – Amazon Personalize 可以使用項目資料集中的資料來識別其行為中的連線和模式。這有助於 Amazon Personalize 了解您的使用者及其興趣。您也可以使用項目資料集中的資料來篩選建議。如需有關您可以匯入之項目資料的資訊，請參閱 [項目中繼資料](items-datasets.md)。

## 屬性和超參數
<a name="user-personalization-v2-hyperparameters"></a>

User-Personalization-v2 配方具有下列屬性：
+  **名稱** – `aws-user-personalization-v2`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-user-personalization-v2`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-user-personalization-v2`

如需詳細資訊，請參閱[選擇配方](working-with-predefined-recipes.md)。

下表說明 User-Personalization-v2 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。使用 User-Personalization-v2，如果您開啟自動訓練，Amazon Personalize 會每 90 天自動執行 HPO。如果沒有自動訓練，則不會發生 HPO。

資料表提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| apply\$1recency\$1bias |  決定模型是否應該為項目互動資料集中的最新項目互動資料提供更多權重。最新的互動資料可能包括互動事件基礎模式的突然變更。  若要訓練模型更多加權最近的事件，請將 `apply_recency_bias` 設定為 `true`。若要訓練模型將過去的互動加權同等，請將 `apply_recency_bias` 設定為 `false`。 預設值：`true` 範圍：`true` 或 `false` 值類型：布林值 HPO 可調整：否  | 

# 使用者個人化配方
<a name="native-recipe-new-item-USER_PERSONALIZATION"></a>

**重要**  
建議使用 [User-Personalization-v2](native-recipe-user-personalization-v2.md) 配方。它可以考慮最多 500 萬個訓練速度更快的項目，並以較低的延遲產生更相關的建議。

使用者個人化 (aws-user-personalization) 配方已針對所有個人化建議案例進行最佳化。它會預測使用者最有可能與之互動的項目。您可以使用使用者個人化來產生串流應用程式的個人化電影建議，或零售應用程式的個人化產品建議。

透過使用者個人化，Amazon Personalize 主要會根據項目互動資料集中的使用者項目互動資料產生建議。它也可以在您的項目和使用者資料集使用任何項目和使用者中繼資料。如需其所使用資料的詳細資訊，請參閱 [必要和選用的資料集](#user-personalization-datasets)。

**Topics**
+ [配方功能](#user-personalization-features)
+ [必要和選用的資料集](#user-personalization-datasets)
+ [屬性和超參數](#bandit-hyperparameters)
+ [使用使用者個人化配方進行訓練 （主控台）](#training-user-personalization-recipe-console)
+ [使用使用者個人化配方進行訓練 (Python SDK)](#training-user-personalization-recipe)
+ [取得建議和記錄曝光 (SDK for Python (Boto3))](#user-personalization-get-recommendations-recording-impressions)
+ [Jupyter 筆記本範例](#bandits-sample-notebooks)

## 配方功能
<a name="user-personalization-features"></a>

產生項目建議時，使用者個人化會使用下列 Amazon Personalize 配方功能：
+ 即時個人化 – 透過即時個人化，Amazon Personalize 會根據使用者不斷變化的興趣更新和調整項目建議。如需詳細資訊，請參閱[即時個人化](use-case-recipe-features.md#about-real-time-personalization)。
+ 探勘 – 透過探勘，建議包括新的項目或互動資料較少的項目。當您有快速變更的目錄，或新項目，例如新聞文章或促銷，當新項目與使用者更相關時，這可改善項目探索和參與。如需探索的詳細資訊，請參閱 [探勘](use-case-recipe-features.md#about-exploration)。
+ 自動更新 – 透過自動更新，Amazon Personalize 會每兩小時自動更新最新的模型 （解決方案版本），以考慮提供建議的新項目。如需詳細資訊，請參閱[自動更新](use-case-recipe-features.md#automatic-updates)。

## 必要和選用的資料集
<a name="user-personalization-datasets"></a>

若要使用使用者個人化，您必須建立[項目互動資料集](interactions-datasets.md)，並匯入至少 1000 個項目互動。Amazon Personalize 主要根據項目互動資料產生建議。

透過使用者個人化，Amazon Personalize 可以使用包含下列項目的項目互動資料：
+ 事件類型和事件值資料 – Amazon Personalize 使用事件類型資料，例如點選或監看事件類型，透過其行為中的任何模式來識別使用者意圖和興趣。此外，您可以在訓練前使用事件類型和事件值資料來篩選記錄。如需詳細資訊，請參閱[事件類型和事件值資料](interactions-datasets.md#event-type-and-event-value-data)。
+ 內容中繼資料 – 內容中繼資料是指您在事件發生時在使用者環境中收集的互動資料，例如其位置或裝置類型。如需詳細資訊，請參閱[內容中繼資料](interactions-datasets.md#interactions-contextual-metadata)。
+ 印模資料 – 印模是使用者與特定項目互動 （點選、觀看、購買等） 時可見的項目清單。如需詳細資訊，請參閱[印象資料](interactions-datasets.md#interactions-impressions-data)。

 下列資料集是選用的，可以改善建議：
+ 使用者資料集 – Amazon Personalize 可以使用您的使用者資料集中的資料來更好地了解您的使用者及其興趣。您也可以使用使用者資料集中的資料來篩選建議。如需有關您可以匯入之使用者資料的資訊，請參閱 [使用者中繼資料](users-datasets.md)。
+ 項目資料集 – Amazon Personalize 可以使用您的項目資料集中的資料來識別其行為中的連線和模式。這有助於 Amazon Personalize 了解您的使用者及其興趣。您也可以使用項目資料集中的資料來篩選建議。如需有關您可以匯入之項目資料的資訊，請參閱 [項目中繼資料](items-datasets.md)。

## 屬性和超參數
<a name="bandit-hyperparameters"></a>

使用者個人化配方具有下列屬性：
+  **名稱** – `aws-user-personalization`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-user-personalization`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-user-personalization`

如需詳細資訊，請參閱[選擇配方](working-with-predefined-recipes.md)。

下表說明使用者個人化配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。特徵化超參數可控制如何篩選要在訓練中使用的資料。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

資料表提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與 HPO 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| hidden\$1dimension |  模型中使用的隱藏變數數量。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。當您的項目互動資料集包含更複雜的模式時，請指定更多隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。若要決定最佳值，請使用 HPO。若要使用 HPO，請在呼叫 [CreateSolution](API_CreateSolution.md) 和 [CreateSolutionVersion](API_CreateSolutionVersion.md) 操作時將 `performHPO` 設定為 `true`。 預設值：149 範圍：[32, 256] 值類型：整數 HPO 可調整：是  | 
| bptt |  決定是否透過時間技術使用反向傳播。*透過時間的反向傳播* 是一種遞歸神經網路演算法中權重的技術。使用 `bptt` 做為長期信用來連接早期事件的延遲獎勵。例如，延遲獎勵可以是按幾下滑鼠後的購買。早期事件可以是初始的按一下。即使在相同的事件類型中 (例如按一下)，最好還是考慮長期效果，並將總獎勵最大化。若要考慮長期效果，請使用較大的 `bptt` 值。使用更大的 `bptt` 值需要更大的資料集和更多時間來處理。 預設值：32 範圍：[2, 32] 值類型：整數 HPO 可調整：是  | 
| recency\$1mask |  決定模型是否應考慮項目互動資料集的最新熱門趨勢。最新的熱門趨勢可能包括互動事件基礎模式的突然變化。若要訓練模型更多加權最近的事件，請將 `recency_mask` 設定為 `true`。若要訓練模型將過去的互動加權同等，請將 `recency_mask` 設定為 `false`。若要使用同等權重來獲得良好的建議，您可能需要較大的訓練資料集。 預設值：`True` 範圍：`True` 或 `False` 值類型：布林值 HPO 可調整：是  | 
| 特徵化超參數 | 
| min\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最小百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `min_user_history_length_percentile` 排除歷史記錄長度較短的使用者百分比。歷史記錄短的使用者通常根據項目熱門程度顯示模式，而不是使用者的個人需求或想要顯示模式。移除它們可以訓練模型更專注於資料中的基礎模式。檢閱使用者歷史記錄長度後，請使用長條圖或類似的工具，選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。  例如，設定 `min_user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.0 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| max\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最大百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `max_user_history_length_percentile` 排除歷史記錄長度較長的使用者百分比，因為這些使用者的資料往往包含雜訊。例如，機器人可能有一長串的自動化互動。移除這些使用者會限制訓練中的噪音。使用長條圖或類似工具檢閱使用者歷史記錄長度後，請選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。 例如，設定 `min_user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.99 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| 項目探索行銷活動組態超參數 | 
| exploration\$1weight |  決定建議包含項目互動資料或相關性較少的項目的頻率。值越接近 1.0，探索越多。在零時，不會進行探勘，建議是根據目前的資料 （相關性）。如需更多資訊，請參閱[CampaignConfig](API_CampaignConfig.md)。 預設值：0.3 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| exploration\$1item\$1age\$1cut\$1off |  指定項目互動資料集中所有項目自上次互動以來的最大項目存留期，以天為單位。這會根據項目存留期定義項目探索的範圍。Amazon Personalize 會根據項目的建立時間戳記，或在缺少建立時間戳記資料時，決定項目的存留期。如需 Amazon Personalize 如何決定項目存留期的詳細資訊，請參閱 [建立時間戳記資料](items-datasets.md#creation-timestamp-data)。 若要增加 Amazon Personalize 在探勘期間考慮的項目，請輸入較大的值。最短為 1 天，預設值為 30 天。建議可能包括比您指定的項目存留期截止還舊的項目。這是因為這些項目與使用者相關，而且探勘無法識別它們。 預設值：30.0 範圍：正浮點數 值類型：浮點數 HPO 可調整：否  | 

## 使用使用者個人化配方進行訓練 （主控台）
<a name="training-user-personalization-recipe-console"></a>

若要使用使用者個人化配方在主控台中產生建議，請先使用配方訓練新的解決方案版本。然後使用解決方案版本部署行銷活動，並使用行銷活動取得建議。

**使用使用者個人化配方訓練新的解決方案版本 （主控台）**

1. 在 [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home)：// 開啟 Amazon Personalize 主控台並登入您的帳戶。

1. 使用新的結構描述建立自訂資料集群組，並使用曝光資料上傳資料集。選擇性地將 [CREATION\$1TIMESTAMP]() 和[非結構化文字中繼資料](items-datasets.md#text-data)資料納入您的項目資料集，以便 Amazon Personalize 可以更準確地計算項目的存留期並識別冷項目。

   如需匯入資料的詳細資訊，請參閱 [將訓練資料匯入 Amazon Personalize 資料集](import-data.md)。

1. 在**資料集群組**頁面上，選擇包含具有曝光資料之資料集或資料集的新資料集群組。

1. 在導覽窗格中，選擇**解決方案和配方**，然後選擇**建立解決方案**。

1. 在**建立解決方案**頁面上，針對**解決方案名稱**輸入新解決方案的名稱。

1. 針對**解決方案類型**，選擇**項目建議**，為您的使用者取得項目建議。

1. 針對**配方**，選擇 **aws-user-personalization**。**解決方案組態**區段隨即出現，提供數個組態選項。

1. 在**事件組態**中，如果您的項目互動資料集具有 EVENT\$1TYPE 或 EVENT\$1TYPE 和 EVENT\$1VALUE 資料欄，可選擇使用**事件類型**和**事件值閾值**欄位來選擇 Amazon Personalize 在訓練模型時所使用的項目互動資料。如需詳細資訊，請參閱[選擇用於訓練的項目互動資料](event-values-types.md)。

    如果您有多個事件類型，並使用 User-Personalization-v2 配方或 Personalized-Ranking-v2 配方，您也可以為不同類型的指定不同的權重。例如，您可以設定解決方案，給予比點擊事件更多的購買事件權重。如需詳細資訊，請參閱[使用事件組態最佳化解決方案](optimizing-solution-events-config.md)。

1. 選擇性地為您的解決方案設定超參數。如需使用者個人化配方屬性和超參數的清單，請參閱 [屬性和超參數](#bandit-hyperparameters)。

1. 選擇**建立和訓練解決方案**以開始訓練。**儀表板**頁面隨即顯示。

   您可以導覽至解決方案詳細資訊頁面，以追蹤**解決方案版本**區段中的訓練進度。訓練完成時，狀態為**作用中**。

**建立行銷活動並取得建議 （主控台）**

 當您的解決方案版本狀態為**作用中**時，您就可以建立行銷活動並取得建議，如下所示：

1. 在解決方案詳細資訊頁面或**行銷活動**頁面上，選擇**建立新行銷活動**。

1.  在**建立新的行銷活動**頁面上，針對**行銷活動詳細資訊**，提供以下資訊：
   + **行銷活動名稱：**輸入行銷活動的名稱。您在此處輸入的文字會顯示在行銷活動儀表板和詳細資訊頁面上。
   + **解決方案：**選擇您剛建立的解決方案。
   + **解決方案版本 ID：**選擇您剛建立的解決方案版本 ID。
   + **每秒佈建交易數下限：**設定 Amazon Personalize 支援的每秒佈建交易數下限。有關更多資訊，請參閱 [CreateCampaign](API_CreateCampaign.md) 操作。

1. 針對**行銷活動組態**，請提供下列資訊：
   + **探索權重：**設定要探索多少，其中建議包含項目互動資料較少或相關性更頻繁的項目，您指定的探索越多。值越接近 1，探索越多。在零時，不會進行探勘，建議是根據目前的資料 （相關性）。
   + **探勘項目存留期截止**：輸入項目存留期上限，以最近一次互動的天數為單位，定義項目探勘的範圍。若要增加 Amazon Personalize 在探勘期間考慮的項目數量，請輸入較大的值。

      例如，如果您輸入 10，則只有在探勘期間才會考慮資料集中最近互動後 10 天內具有項目互動資料的項目。
**注意**  
建議可能包括在此時間範圍外沒有項目互動資料的項目。這是因為這些項目與使用者興趣相關，而且不需要探勘即可識別它們。

1. 選擇 **Create campaign (建立活動)**。

1. 在行銷活動詳細資訊頁面上，當行銷活動狀態為**作用中**時，您可以使用行銷活動來取得建議和記錄曝光。如需詳細資訊，請參閱「入門」[步驟 5：取得建議](getting-started-console.md#getting-started-console-get-recommendations)中的 。

    Amazon Personalize 每兩小時會自動更新您的最新解決方案版本，以包含新資料。您的行銷活動會自動使用更新的解決方案版本。如需詳細資訊，請參閱[自動更新](use-case-recipe-features.md#automatic-updates)。

   若要手動更新行銷活動，請先使用主控台或 [CreateSolutionVersion](API_CreateSolutionVersion.md)操作來建立和訓練新的解決方案版本，並將 `trainingMode`設定為 `update`。然後，您可以使用 [UpdateCampaign](API_UpdateCampaign.md)操作，在 主控台的行銷活動頁面上手動更新**行銷活動**。
**注意**  
 Amazon Personalize 不會自動更新您在 2020 年 11 月 17 日之前建立的解決方案版本。

## 使用使用者個人化配方進行訓練 (Python SDK)
<a name="training-user-personalization-recipe"></a>

當您建立資料集群組並使用曝光資料上傳資料集時，您可以使用使用者個人化配方來訓練解決方案。選擇性地將 [CREATION\$1TIMESTAMP]() 和[非結構化文字中繼資料](items-datasets.md#text-data)資料納入您的項目資料集，以便 Amazon Personalize 可以更準確地計算項目的存留期並識別冷項目。如需建立資料集群組和上傳訓練資料的詳細資訊，請參閱[為 Amazon Personalize 結構描述建立結構描述 JSON 檔案](how-it-works-dataset-schema.md)。

**使用 AWS SDK 搭配使用者個人化配方來訓練解決方案**

1. 使用 `create_solution`方法建立新的解決方案。

   將 取代`solution name`為您的解決方案名稱，並將 `dataset group arn`取代為您的資料集群組的 Amazon Resource Name (ARN)。

   ```
   import boto3
   
   personalize = boto3.client('personalize')
   
   print('Creating solution')
   create_solution_response = personalize.create_solution(name = 'solution name', 
                               recipeArn = 'arn:aws:personalize:::recipe/aws-user-personalization', 
                               datasetGroupArn = 'dataset group arn',
                               )
   solution_arn = create_solution_response['solutionArn']
   print('solution_arn: ', solution_arn)
   ```

   如需 aws-user-personalization 配方屬性和超參數的清單，請參閱 [屬性和超參數](#bandit-hyperparameters)。

1. 使用更新的訓練資料建立新的*解決方案版本*，並使用`FULL`下列程式碼片段`trainingMode`將 設定為 。將 取代`solution arn`為您解決方案的 ARN。

   ```
   import boto3
           
   personalize = boto3.client('personalize')
           
   create_solution_version_response = personalize.create_solution_version(solutionArn = 'solution arn', 
                                                                  trainingMode='FULL')
   
   new_solution_version_arn = create_solution_version_response['solutionVersionArn']
   print('solution_version_arn:', new_solution_version_arn)
   ```

1. 當 Amazon Personalize 完成建立解決方案版本時，請使用下列參數建立您的行銷活動：
   + 在步驟 2 中提供新的 `campaign name`和`solution version arn`產生的 。
   + 修改`explorationWeight`項目探索組態超參數，以設定要探索多少。建議項目互動資料或相關性較低的項目，其頻率越接近 1.0。預設值為 0.3。
   + 修改`explorationItemAgeCutOff`項目探索組態超參數參數，以相對於應探索項目的最新互動，提供最長持續時間，以天為單位。值越大，探勘期間會考慮的項目越多。

   使用下列 Python 程式碼片段來建立新的行銷活動，強調在 30 天進行探勘和探勘截止。建立行銷活動通常需要幾分鐘的時間，但可能需要一小時的時間。

   ```
   import boto3
           
   personalize = boto3.client('personalize')
   
   create_campaign_response = personalize.create_campaign(
       name = 'campaign name',
       solutionVersionArn = 'solution version arn',
       minProvisionedTPS = 1,
       campaignConfig = {"itemExplorationConfig": {"explorationWeight": "0.3", "explorationItemAgeCutOff": "30"}}
   )
   
   campaign_arn = create_campaign_response['campaignArn']
   print('campaign_arn:', campaign_arn)
   ```

    透過使用者個人化，Amazon Personalize 每兩小時會自動更新您的解決方案版本，以包含新資料。您的行銷活動會自動使用更新的解決方案版本。如需詳細資訊，請參閱[自動更新](use-case-recipe-features.md#automatic-updates)。

   若要手動更新行銷活動，請先使用主控台或 [CreateSolutionVersion](API_CreateSolutionVersion.md)操作來建立和訓練新的解決方案版本，並將 `trainingMode`設定為 `update`。然後，您可以使用 [UpdateCampaign](API_UpdateCampaign.md)操作，在 主控台的行銷活動頁面上手動更新**行銷活動**。
**注意**  
 Amazon Personalize 不會自動更新您在 2020 年 11 月 17 日之前建立的解決方案版本。

## 取得建議和記錄曝光 (SDK for Python (Boto3))
<a name="user-personalization-get-recommendations-recording-impressions"></a>

建立行銷活動時，您可以使用它來取得使用者的建議並記錄印象。如需使用 AWS SDKs取得批次建議的資訊，請參閱 [建立批次推論任務 (AWS SDKs)](creating-batch-inference-job.md#batch-sdk)。



**取得建議並記錄印象**

1. 呼叫 `get_recommendations` 方法。將 `campaign arn`變更為新行銷活動的 ARN，並將 `user id`變更為使用者的 userId。

   ```
   import boto3
               
   rec_response = personalize_runtime.get_recommendations(campaignArn = 'campaign arn', userId = 'user id')
   print(rec_response['recommendationId'])
   ```

1. 建立新的事件追蹤器以傳送 PutEvents 請求。`event tracker name` 將 取代為事件追蹤器的名稱，並將 `dataset group arn`取代為資料集群組的 ARN。

   ```
   import boto3
           
   personalize = boto3.client('personalize')
   
   event_tracker_response = personalize.create_event_tracker( 
       name = 'event tracker name',
       datasetGroupArn = 'dataset group arn'
   )
   event_tracker_arn = event_tracker_response['eventTrackerArn']
   event_tracking_id = event_tracker_response['trackingId']
   print('eventTrackerArn:{},\n eventTrackingId:{}'.format(event_tracker_arn, event_tracking_id))
   ```

1.  使用步驟 1 `recommendationId`的 和步驟 2 `event tracking id`的 建立新的`PutEvents`請求。此請求會記錄來自使用者工作階段的新印模資料。將 `user id`變更為使用者的 ID。

   ```
   import boto3
               
   personalize_events.put_events(
        trackingId = 'event tracking id',
        userId= 'user id',
        sessionId = '1',
        eventList = [{
        'sentAt': datetime.now().timestamp(),
        'eventType' : 'click',
        'itemId' : rec_response['itemList'][0]['itemId'],        
        'recommendationId': rec_response['recommendationId'],
        'impression': [item['itemId'] for item in rec_response['itemList']],
        }]
   )
   ```

## Jupyter 筆記本範例
<a name="bandits-sample-notebooks"></a>

如需示範如何使用使用者個人化配方的範例 Jupyter 筆記本，請參閱[使用者個人化與探索](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/user_personalization/user-personalization-with-exploration.ipynb)。

# Trending-Now 配方
<a name="native-recipe-trending-now"></a>

 Trending-Now 配方 (aws-trending-now) 會為使用者快速變得更熱門的項目產生建議。如果熱門度增加的項目與您的客戶更相關，您可以使用 Trending-Now 配方。例如，您的客戶可能會高度重視其他使用者正在互動的內容。常見用途包括推薦病毒社交媒體內容、重大新聞文章或最近的運動影片。

Trending-Now 透過計算每個項目在可設定的時間間隔內的互動增加，自動識別最熱門的項目。增加速率最高的項目會被視為趨勢項目。時間是根據項目互動資料集中的時間戳記資料。考慮的項目來自您大量並遞增匯入的互動資料。您不需要手動為 Trending-Now 建立新的解決方案版本，即可在互動資料中考慮新項目。

您可以在建立解決方案`Trend discovery frequency`時提供 來指定時間間隔。例如，如果您`30 minutes`為 指定 `Trend discovery frequency`，每 30 分鐘的資料，Amazon Personalize 會識別自上次評估以來互動增加率最高的項目。可能的頻率包括 30 分鐘、1 小時、3 小時和 1 天。選擇符合您互動資料分佈的頻率。在您選擇的間隔內遺失資料可以降低建議準確性。如果您在過去兩個時間間隔內匯入零互動，Amazon Personalize 只會建議熱門項目，而不是趨勢項目。

 透過 Trending-Now，您可以呼叫 [GetRecommendations](API_RS_GetRecommendations.md)操作或在 Amazon Personalize 主控台**的測試行銷活動**頁面上取得建議。Amazon Personalize 會傳回最熱門的趨勢項目。只有在套用需要的篩選條件時，才能在請求`userId`中傳遞 。使用 GetRecommendations API，您可以設定以 `numResults` 參數傳回的趨勢項目數量。您無法透過 Trending-Now 配方取得批次建議。

 若要使用 Trending-Now，您必須建立項目互動資料集，其中至少合併 1000 個唯一的歷史和事件互動 （如果提供，則在依 eventType 和 eventValueThreshold 篩選之後）。產生趨勢項目建議時，Trending-Now 不會使用項目或使用者資料集中的資料。不過，您仍然可以根據這些資料集中的資料來篩選建議。如需詳細資訊，請參閱[篩選建議和使用者客群](filter.md)。

**Topics**
+ [屬性和超參數](#trending-now-hyperparameters)
+ [建立解決方案 (SDK for Python (Boto3))](#trending-now-python)
+ [Jupyter 筆記本範例](#trending-now-sample-notebooks)

## 屬性和超參數
<a name="trending-now-hyperparameters"></a>

Trending-Now 配方具有下列屬性：
+  **名稱** – `aws-trending-now`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-trending-now`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-trending-now-custom`

如需詳細資訊，請參閱[選擇配方](working-with-predefined-recipes.md)。

下表說明 Trending-Now 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與 HPO 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 特徵轉換超參數 | 
| Trend discovery frequency |  指定 Amazon Personalize 評估互動資料並識別趨勢項目的頻率。例如，如果您`30 minutes`為 指定 `Trend discovery frequency`，每 30 分鐘 Amazon Personalize 會識別在 30 分鐘間隔內互動增加速率最高的項目。 可用的頻率包括 30 分鐘、1 小時、2 小時、3 小時和 1 天。選擇符合您互動資料分佈的頻率。在您選擇的間隔內遺失資料可以降低建議準確性。如果您使用 CreateSolution API 操作且未指定值，則預設值為每 2 小時一次。  對於任何超過 2 小時的參數值，Amazon Personalize 會每 2 小時自動重新整理趨勢項目建議，以考慮新的互動和新項目。  預設值：2 小時 可能的值：30 分鐘、1 小時、2 小時、3 小時和 1 天。 值類型：字串 HPO 可調整：否  | 

## 建立解決方案 (SDK for Python (Boto3))
<a name="trending-now-python"></a>

下列程式碼說明如何使用適用於 Python 的 SDK (Boto3) 建立具有 Trending-Now 配方的解決方案。的可能值`trend_discovery_frequency`為 `30 minutes`、`3 hours`、 `1 hour`和 `1 day`。如需使用 主控台建立解決方案的詳細資訊，請參閱 [建立解決方案 （主控台）](create-solution.md#configure-solution-console)。

```
import boto3
            
personalize = boto3.client("personalize")

create_solution_response = personalize_client.create_solution(
    name="solution name",
    recipeArn="arn:aws:personalize:::recipe/aws-trending-now",
    datasetGroupArn="dataset group ARN",
    solutionConfig={
        "featureTransformationParameters": {
            "trend_discovery_frequency": "1 hour"
         }
    }
)
print(create_solution_response['solutionArn'])
```

## Jupyter 筆記本範例
<a name="trending-now-sample-notebooks"></a>

如需示範如何使用 Trending-Now 配方的範例 Jupyter 筆記本，請參閱 Amazon Personalize 範例 GitHub 儲存庫中的 [Trending\$1now\$1example.ipynb](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/trending_now/trending_now_example.ipynb)。

# 熱門計數配方
<a name="native-recipe-popularity"></a>

Popularity-Count 根據您的互動資料建議最熱門的項目。最熱門的項目是來自唯一使用者互動資料最多的項目。此配方會傳回所有使用者適用的相同熱門項目。在建立解決方案版本時，使用 Amazon Personalize 產生的評估指標與其他配方進行比較時，熱門計數是很好的基準。如需詳細資訊，請參閱[使用指標評估 Amazon Personalize 解決方案版本](working-with-training-metrics.md)。

 建立解決方案版本後，請務必將解決方案版本和資料保持在最新狀態。使用熱門計數，您必須手動為 Amazon Personalize 建立新的解決方案版本 （重新訓練模型），以考慮建議的新項目，並使用使用者的最新行為更新模型。然後，您必須使用解決方案版本更新任何行銷活動。如需詳細資訊，請參閱[維持建議相關性](maintaining-relevance.md)。

此預先定義的配方具有下列屬性：
+  **名稱** – `aws-popularity-count`
+  **配方 ARN** – `arn:aws:personalize:::recipe/aws-popularity-count`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-popularity-count`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/sims`
+  **配方類型** – `USER_PERSONALIZATION`

Popularity-Count 沒有公開的超參數。

# Personalized-Ranking-v2 配方
<a name="native-recipe-personalized-ranking-v2"></a>

Personalized-Ranking-v2 配方會產生個人化項目排名。*個人化排名*是針對特定使用者依相關性重新排名的建議項目清單。如果您有排序項目的集合，例如搜尋結果、促銷或精選清單，而且您想要為每個使用者提供個人化的重新排名，這會很有用。

 Personalized-Ranking-v2 最多可針對項目互動和項目資料集中的 500 萬個項目進行訓練。而且它會產生比 更低延遲的更精確排名[個人化排名](native-recipe-search.md)。

 當您使用 Personalized-Ranking-v2 時，您可以指定要在 [GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md) API 操作中排名的項目。如果您指定沒有互動資料的項目，Amazon Personalize 會在 GetPersonalizedRanking API 回應中傳回這些項目，而沒有建議分數。

 此配方使用轉換器型架構來訓練模型，以學習內容並追蹤資料中的關係和模式。*轉換器*是一種神經網路架構，可將輸入序列轉換或變更為輸出序列。對於 Amazon Personalize，輸入序列是您資料中的使用者項目互動歷史記錄。輸出序列是他們的個人化建議。如需轉換器的詳細資訊，請參閱 AWS 《雲端運算概念中樞[》中的什麼是人工智慧中的轉換器？](https://aws.amazon.com/what-is/transformers-in-artificial-intelligence/)。

Personalized-Ranking-v2 使用與其他配方不同的定價模式。如需定價的詳細資訊，請參閱 [Amazon Personalize 定價](https://aws.amazon.com/personalize/pricing/)。

**Topics**
+ [配方功能](#personalized-ranking-v2-features)
+ [必要和選用的資料集](#personalized-ranking-v2-datasets)
+ [屬性和超參數](#personalized-ranking-v2-hyperparameters)

## 配方功能
<a name="personalized-ranking-v2-features"></a>

Personalized-Ranking-v2 在排名項目時使用下列 Amazon Personalize 配方功能：
+ 即時個人化 – 透過即時個人化，Amazon Personalize 會根據使用者不斷變化的興趣更新和調整項目建議。如需詳細資訊，請參閱[即時個人化](use-case-recipe-features.md#about-real-time-personalization)。
+  中繼資料與建議 – 使用 Personalized-Ranking-v2 配方時，如果您有至少包含一欄中繼資料的項目資料集，行銷活動會自動選擇將項目中繼資料包含建議結果。您沒有手動啟用行銷活動的中繼資料。您可以使用中繼資料來豐富使用者介面中的建議，例如將電影的類型新增至輪跳功能。如需詳細資訊，請參閱[建議中的項目中繼資料](campaigns.md#create-campaign-return-metadata)。

## 必要和選用的資料集
<a name="personalized-ranking-v2-datasets"></a>

若要使用 Personalized-Ranking-v2，您必須建立項目互動資料集，並匯入至少 1000 個項目互動。Amazon Personalize 主要根據項目互動資料產生排名。如需詳細資訊，請參閱[項目互動資料](interactions-datasets.md)。Personalized-Ranking-v2 最多可跨項目互動和項目資料集訓練 500 萬個項目。

透過 Personalized-Ranking-v2，Amazon Personalize 可以使用包含下列項目的項目互動資料：
+ 事件類型和事件值資料 – Amazon Personalize 使用事件類型資料，例如點擊或觀看事件類型，透過其行為中的任何模式來識別使用者意圖和興趣。此外，您可以在訓練之前使用事件類型和事件值資料來篩選記錄。如需詳細資訊，請參閱[事件類型和事件值資料](interactions-datasets.md#event-type-and-event-value-data)。
**注意**  
使用 Personalized-Ranking-v2，您的訓練成本取決於您的互動資料，然後再依事件類型或值進行篩選。如需定價的詳細資訊，請參閱 [Amazon Personalize 定價](https://aws.amazon.com/personalize/pricing/)。
+ 內容中繼資料 – 內容中繼資料是指您在事件發生時在使用者環境中收集的互動資料，例如其位置或裝置類型。如需詳細資訊，請參閱[內容中繼資料](interactions-datasets.md#interactions-contextual-metadata)。

 下列資料集是選用的，可以改善建議：
+ 使用者資料集 – Amazon Personalize 可以使用您的使用者資料集中的資料來更好地了解您的使用者及其興趣。您也可以使用使用者資料集中的資料來篩選建議。如需您可以匯入之使用者資料的相關資訊，請參閱 [使用者中繼資料](users-datasets.md)。
+ 項目資料集 – Amazon Personalize 可以使用您的項目資料集中的資料來識別其行為中的連線和模式。這有助於 Amazon Personalize 了解您的使用者及其興趣。您也可以使用項目資料集中的資料來篩選建議。如需有關您可以匯入之項目資料的資訊，請參閱 [項目中繼資料](items-datasets.md)。

## 屬性和超參數
<a name="personalized-ranking-v2-hyperparameters"></a>

Personalized-Ranking-v2 配方具有下列屬性：
+  **名稱** – `aws-personalized-ranking-v2`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-personalized-ranking-v2`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-personalized-ranking-v2`

如需詳細資訊，請參閱[選擇配方](working-with-predefined-recipes.md)。

下表說明 Personalized-Ranking-v2 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。使用 Personalized-Ranking-v2，如果您開啟自動訓練，Amazon Personalize 會每 90 天自動執行 HPO。如果沒有自動訓練，則不會發生 HPO。

資料表提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| apply\$1recency\$1bias |  決定模型是否應該為項目互動資料集中的最近項目互動資料提供更多權重。最新的互動資料可能包括互動事件基礎模式的突然變更。  若要訓練模型更多加權最近的事件，請將 `apply_recency_bias` 設定為 `true`。若要訓練模型將過去的互動加權同等，請將 `apply_recency_bias` 設定為 `false`。 預設值：`true` 範圍：`true` 或 `false` 值類型：布林值 HPO 可調整：否  | 

# 個人化執行配方
<a name="native-recipe-search"></a>

**重要**  
建議使用 [Personalized-Ranking-v2](native-recipe-personalized-ranking-v2.md) 配方。它可以考慮最多 500 萬個訓練速度更快的項目，並以較低的延遲產生更準確的排名。

個人化排名配方會產生個人化項目排名。*個人化排名* 是建議項目的清單，而這些建議項目會針對特定使用者重新排名。如果您有排序項目的集合，例如搜尋結果、促銷或精選清單，而且您想要為每個使用者提供個人化的重新排名，這會很有用。例如，使用 Personalized-Ranking，Amazon Personalize 可以重新排序您使用 [OpenSearch](personalize-opensearch.md) 產生的搜尋結果。

為了訓練模型，個人化排名配方會使用項目互動資料集中的資料，如果您建立了這些資料，則會使用資料集群組中的項目資料集和使用者資料集 （這些資料集是選用的）。使用 Personalized-Ranking，您的項目資料集可以包含 [非結構化文字中繼資料](items-datasets.md#text-data)，而您的項目互動資料集可以包含 [內容中繼資料](interactions-datasets.md#interactions-contextual-metadata)。若要取得個人化排名，請使用 [GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md) API。

 建立解決方案版本後，請務必將解決方案版本和資料保持在最新狀態。使用 Personalized-Ranking，您必須手動為 Amazon Personalize 建立新的解決方案版本 （重新訓練模型），以考慮建議的新項目，並使用使用者的最新行為更新模型。然後，您必須使用解決方案版本更新任何行銷活動。如需詳細資訊，請參閱[維持建議相關性](maintaining-relevance.md)。

**注意**  
 如果您提供沒有互動資料的項目進行排名，Amazon Personalize 會在 GetPersonalizedRanking API 回應中傳回這些項目，而沒有建議分數。

此配方具有下列屬性：
+  **名稱** – `aws-personalized-ranking`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-personalized-ranking`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-personalized-ranking`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/JSON-percentile-filtering`
+  **配方類型** – `PERSONALIZED_RANKING`

## 超參數
<a name="personalized-ranking-hyperparameters"></a>

下表說明個人化排名配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。特徵化超參數可控制如何篩選要在訓練中使用的資料。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與超參數最佳化 (HPO) 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| hidden\$1dimension |  模型中使用的隱藏變數數量。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。當您的項目互動資料集包含更複雜的模式時，請指定更多隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。若要決定最佳值，請使用 HPO。若要使用 HPO，請在呼叫 [CreateSolution](API_CreateSolution.md) 和 [CreateSolutionVersion](API_CreateSolutionVersion.md) 操作時將 `performHPO` 設定為 `true`。 預設值：149 範圍：[32, 256] 值類型：整數 HPO 可調整：是  | 
| bptt |  決定是否透過時間技術使用反向傳播。*透過時間的反向傳播* 是一種遞歸神經網路演算法中權重的技術。使用 `bptt` 做為長期信用來連接早期事件的延遲獎勵。例如，延遲獎勵可以是按幾下滑鼠後的購買。早期事件可以是初始的按一下。即使在相同的事件類型中 (例如按一下)，最好還是考慮長期效果，並將總獎勵最大化。若要考慮長期效果，請使用較大的 `bptt` 值。使用更大的 `bptt` 值需要更大的資料集和更多時間來處理。 預設值：32 範圍：[2, 32] 值類型：整數 HPO 可調整：是  | 
| recency\$1mask |  決定模型是否應考慮項目互動資料集的最新熱門趨勢。最新的熱門趨勢可能包括互動事件基礎模式的突然變化。若要訓練模型更多加權最近的事件，請將 `recency_mask` 設定為 `true`。若要訓練模型將過去的互動加權同等，請將 `recency_mask` 設定為 `false`。若要使用同等權重來獲得良好的建議，您可能需要較大的訓練資料集。 預設值：`True` 範圍：`True` 或 `False` 值類型：布林值 HPO 可調整：是  | 
| 特徵化超參數 | 
| min\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最小百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `min_user_history_length_percentile` 排除歷史記錄長度較短的使用者百分比。歷史記錄短的使用者通常根據項目熱門程度顯示模式，而不是使用者的個人需求或想要顯示模式。移除它們可以訓練模型更專注於資料中的基礎模式。檢閱使用者歷史記錄長度後，請使用長條圖或類似的工具，選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。  例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.0 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| max\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最大百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `max_user_history_length_percentile` 排除歷史記錄長度較長的使用者百分比，因為這些使用者的資料往往包含雜訊。例如，機器人可能有一長串的自動化互動。移除這些使用者會限制訓練中的噪音。使用長條圖或類似工具檢閱使用者歷史記錄長度後，請選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。 例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.99 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 

## 個人化執行範例筆記本
<a name="personalized-ranking-sample-notebook"></a>

 如需示範如何使用個人化排名配方的範例 Jupyter 筆記本，請參閱[個人化排名範例](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/personalized_ranking/personalize_ranking_example.ipynb)。

# 語意相似性配方
<a name="native-recipe-semantic-similarity"></a>

語意-同義性配方 (aws-semantic-similarity) 會根據文字內容，為語意上類似於指定項目的項目產生建議。與依賴使用者項目互動的傳統相似性配方不同，此配方會分析項目的文字描述和屬性，以產生內嵌並識別語意相似的項目

此配方非常適合您希望根據內容相似性建議項目的情況，例如推薦具有類似主題的書籍、有關相關主題的文章，或具有類似描述的產品。它特別適用於互動歷史記錄有限的新項目 （冷啟動案例），以及語意關係比並發模式更重要的目錄。

使用語意相似性，您可以在 [GetRecommendations](https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html) 操作 （或 Amazon Personalize 主控台） 中提供項目 ID，Amazon Personalize 會傳回類似項目的清單。或者，您可以使用批次工作流程來取得清查中所有項目的類似項目 （請參閱[取得批次項目建議](https://docs.aws.amazon.com/personalize/latest/dg/getting-batch-recommendations.html))。

**Topics**
+ [配方功能](#semantic-similarity-features)
+ [必要和選用的資料集](#semantic-similarity-datasets)
+ [屬性和超參數](#semantic-similarity-hyperparameters)

## 配方功能
<a name="semantic-similarity-features"></a>

語意同義性在產生項目建議時使用下列 Amazon Personalize 配方功能：
+ 即時個人化 – 使用語意相似性配方，Amazon Personalize 會自動將您的項目目錄保持在最新狀態。當您將新項目新增至項目資料集或更新現有項目中繼資料時，這些變更會在使用增量訓練時約 30 分鐘內反映在您的建議中。這可確保您的客戶始終查看目錄中可用的最新項目，而無需手動介入或等待完整的重新訓練週期。這對於經常變更的目錄特別有用，例如新聞文章、部落格文章或季節性產品產品。若要啟用增量更新，客戶必須：
  + `true` 將 API 中解決方案的 `performIncrementalUpdate`設定為
  + 在 UI 中的訓練方法下選擇「完整和增量訓練」或「增量訓練」選項

  請注意，每當執行更新時，啟用增量更新都會產生額外費用。
+  中繼資料與建議 – 使用語意同質配方，行銷活動會自動選擇將項目中繼資料與建議結果包含在內。您沒有手動啟用行銷活動的中繼資料。您可以使用中繼資料來豐富使用者介面中的建議，例如將電影的類型新增至輪跳功能。如需詳細資訊，請參閱[建議中的項目中繼資料](https://docs.aws.amazon.com/personalize/latest/dg/campaigns.html#create-campaign-return-metadata)。

## 必要和選用的資料集
<a name="semantic-similarity-datasets"></a>

若要使用語意相似性配方，您必須建立項目資料集。Amazon Personalize 會根據項目中繼資料的語意意義產生建議。如需詳細資訊，請參閱[項目中繼資料](https://docs.aws.amazon.com/personalize/latest/dg/items-datasets.html)。語意同義性最多可以在您的項目資料集內訓練 1，000 萬個項目。

使用語意相似性，Amazon Personalize 需要包含下列項目的項目資料
+ itemName 欄位 – `itemName`一個字串欄位，設定為 `true`。此欄位應包含項目的標題或名稱。
+ 文字描述欄位 – 至少一個標記為 的字串欄位`textual`，其中包含項目的描述。這應該是最能描述和代表項目的欄位。

Amazon Personalize 使用此欄位來產生語意內嵌，以擷取項目的意義和內容。

此外，如果您想要使用以新鮮度為基礎的排名，則應設定預留 CREATION\$1TIMESTAMP 欄位。如需詳細資訊，請參閱[屬性和超參數](#semantic-similarity-hyperparameters)。

 下列資料集是選用的，可以改善建議：
+ 互動資料集 – Amazon Personalize 可以使用互動資料集中的資料，根據使用者對項目的參與來計算熱門分數。您可以使用熱門分數，根據使用者之間的熱門程度來排名類似的項目。如果您想要使用熱門排名，您必須提供互動資料集。您也可以使用互動資料集中的資料來篩選建議。如需有關您可以匯入之互動資料的資訊，請參閱[項目互動資料](https://docs.aws.amazon.com/personalize/latest/dg/interactions-datasets.html)

## 屬性和超參數
<a name="semantic-similarity-hyperparameters"></a>

語意相似性配方具有下列屬性：
+  **名稱** – `aws-semantic-similarity`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-semantic-similarity`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-semantic-similarity`
+ **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/aws-semantic-similarity`
+ **配方類型** – `RELATED_ITEMS`

如需詳細資訊，請參閱[選擇配方](working-with-predefined-recipes.md)。

語意相似性配方沒有公開的超參數，但您可以在建立行銷活動時設定熱門度和新鮮度因素，以影響類似項目的排名。

資料表提供每個因素的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)


| 名稱 | 描述 | 
| --- | --- | 
| 新鮮度 |  新鮮度係數代表項目的最近程度。新鮮度是根據項目的 CREATION\$1TIMESTAMP 標準化項目的存留期來計算。若要使用新鮮度因素，您必須在項目資料集結構描述中包含 CREATION\$1TIMESTAMP 欄位。較高的新鮮度因素值將在語意相似的建議中優先考慮較新的項目 預設值：`0.0` 範圍： ` [0.0, 1.0]` 值類型：Double  | 
| 熱門度 |  熱門因素代表項目根據使用者互動的熱門程度。透過標準化每個項目接收的互動次數來計算熱門度。若要使用熱門因素，您必須在建立資料集群組時包含互動資料集。較高的熱門因素值會優先考慮語意相似建議之間具有更多客戶互動的項目。 預設值：`0.0` 範圍： ` [0.0, 1.0]` 值類型：Double  | 

請注意，新鮮度和熱門度分數是在訓練時計算的，增量更新不會更新熱門度和新鮮度分數。如需影響建議項目排名的最新熱門度和新鮮度因素，請使用自動重新訓練或手動重新訓練解決方案，並使用新的解決方案版本更新行銷活動。

# 類似項目配方
<a name="native-recipe-similar-items"></a>

**注意**  
 所有 RELATED\$1ITEMS 配方都使用互動資料。如果您有項目中繼資料，並希望 Amazon Personalize 使用它來尋找類似的項目，請選擇類似項目。或者，[SIMS 配方](native-recipe-sims.md)如果您想要為模型設定更多超參數，請選擇 。

 相似項目 (aws-similar-items) 配方會針對與您指定項目類似的項目產生建議。使用相似項目，根據客戶先前的行為和項目中繼資料，協助客戶探索目錄中的新項目。建議類似的項目可以提高使用者參與度、點擊率和應用程式的轉換率。

相似項目會根據互動資料和您提供的任何項目中繼資料來計算相似性。它會考慮互動資料集中使用者歷史記錄中項目的並發性，以及任何項目中繼資料相似性。例如，使用類似項目，Amazon Personalize 可以建議客戶經常與類似樣式 ([分類中繼資料](items-datasets.md#item-categorical-data)) 一起購買的項目，或不同使用者也透過類似描述 () 觀看的電影[非結構化文字中繼資料](items-datasets.md#text-data)。

透過類似項目，您可以在 [GetRecommendations](API_RS_GetRecommendations.md) 操作 （或 Amazon Personalize 主控台） 中提供項目 ID，Amazon Personalize 會傳回類似項目的清單。或者，您可以使用批次工作流程來取得庫存中所有項目的類似項目 （請參閱 [取得批次項目建議](getting-batch-recommendations.md))。當您取得類似的項目時，您可以根據您在請求中指定的項目屬性來篩選項目。您可以透過將 `CurrentItem`.`attribute` 元素新增至篩選條件來執行此操作。如需範例，請參閱 [item data filter examples](item-recommendation-filter-examples.md#item-examples)。

 若要使用相似項目，您必須建立具有至少 1000 個唯一歷史和事件互動 （合併） 的項目互動資料集。如需更準確的預測，建議您也建立項目資料集，並匯入目錄中項目的中繼資料。產生建議時，類似的項目不會使用使用者資料集中的資料。您仍然可以根據使用者資料集中的資料篩選建議。如需詳細資訊，請參閱[篩選建議和使用者客群](filter.md)。

 如果您有包含文字資料和項目標題資料的項目資料集，您可以在批次建議中產生相關項目的主題。如需詳細資訊，請參閱[來自 Content Generator 的具有主題的批次建議](themed-batch-recommendations.md) 

 您可以取得類似冷項目 （互動少於五個的項目） 的項目建議。如果 Amazon Personalize 找不到您在建議請求或批次輸入檔案中指定的項目 ID，配方會傳回熱門項目做為建議。

 建立解決方案版本後，請務必將解決方案版本和資料保持在最新狀態。使用類似項目時，您必須手動為 Amazon Personalize 建立新的解決方案版本 （重新訓練模型），以考慮建議的新項目，並使用使用者的最新行為更新模型。然後，您必須使用解決方案版本更新任何行銷活動。如需詳細資訊，請參閱[維持建議相關性](maintaining-relevance.md)。

## 屬性和超參數
<a name="similar-items-hyperparameters"></a>

類似項目配方具有下列屬性：
+  **名稱** – `aws-similar-items`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-similar-items`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-similar-items`

如需詳細資訊，請參閱[選擇配方](working-with-predefined-recipes.md)。

下表說明類似項目配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與 HPO 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| popularity\$1discount\$1factor |   設定熱門度如何影響建議。指定接近零的值，以包含更熱門的項目。指定更接近一個的值，以降低對熱門度的重視。 預設值：0.0 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| item\$1id\$1hidden\$1dim |  Amazon Personalize 用來根據互動資料建立項目 ID 內嵌模型的隱藏變數數目。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。若要使用 `item_id_hidden_dim`，您必須使用 HPO 並提供最小和最大範圍值。Amazon Personalize 使用 HPO 尋找您指定範圍內的最佳值。當您有大型項目互動資料集時，請指定較大的最大值。使用較大的最大值需要更多時間來處理。  若要使用 HPO，請在呼叫 [CreateSolution](API_CreateSolution.md)操作`true`時將 `performHPO` 設定為 。 預設值：100 範圍：【30， 200】 值類型：整數 HPO 可調整：是  | 
| item\$1metadata\$1hidden\$1dim |  Amazon Personalize 用來建立項目中繼資料模型的隱藏變數數目。若要使用 `item_metadata_hidden_dim`，您必須使用 HPO 並提供最小和最大範圍值。Amazon Personalize 使用 HPO 尋找您指定範圍內的最佳值。當您有大型項目互動資料集時，請指定較大的最大值。使用較大的最大值需要更多時間來處理。  若要使用 HPO，請在呼叫 [CreateSolution](API_CreateSolution.md)操作`true`時將 `performHPO` 設定為 。 預設值：100 範圍：【30， 200】 值類型：整數 HPO 可調整：是  | 

# SIMS 配方
<a name="native-recipe-sims"></a>

**注意**  
 所有 RELATED\$1ITEMS 配方都使用互動資料。如果您想要為模型設定更多超參數，請選擇 SIMS。[類似項目配方](native-recipe-similar-items.md) 如果您有項目中繼資料，並希望 Amazon Personalize 使用它來尋找類似的項目，請選擇 。

 Item-to-item相似性 (SIMS) 配方使用協作篩選來建議與您在取得建議時指定的項目最相似的項目。SIMS 使用您的項目互動資料集，而不是顏色或價格等項目中繼資料，來判斷相似性。SIMS 會識別互動資料集中使用者歷史記錄中項目的共發性，以建議類似的項目。例如，使用 SIMS Amazon Personalize 可以建議經常一起購買的咖啡廳項目，或不同使用者也觀看的電影。

 當您取得類似的項目建議時，您可以根據您在請求中指定的項目屬性來篩選項目。您可以透過將 `CurrentItem`.`attribute` 元素新增至篩選條件來執行此操作。如需範例，請參閱 [item data filter examples](item-recommendation-filter-examples.md#item-examples)。

 若要使用 SIMS，您必須建立具有至少 1000 個唯一歷史和事件互動 （合併） 的項目互動資料集。產生建議時，SIMS 不會使用使用者或項目資料集中的資料。您仍然可以根據這些資料集中的資料來篩選建議。如需詳細資訊，請參閱[篩選建議和使用者客群](filter.md)。

 如果項目的使用者行為資料不足，或找不到您提供的項目 ID，SIMS 會建議熱門項目。建立解決方案版本後，請務必將解決方案版本和資料保持在最新狀態。使用 SIMS，您必須手動為 Amazon Personalize 建立新的解決方案版本 （重新訓練模型），以考慮建議的新項目，並使用使用者的最新行為更新模型。然後，您必須使用解決方案版本更新任何行銷活動。如需詳細資訊，請參閱[維持建議相關性](maintaining-relevance.md)。

SIMS 配方具有下列屬性：
+  **名稱** – `aws-sims`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-sims`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-sims`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/sims`
+  **配方類型** – `RELATED_ITEMS`

下表說明 SIMS 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。特徵化超參數可控制如何篩選要在訓練中使用的資料。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與超參數最佳化 (HPO) 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| popularity\$1discount\$1factor |   設定熱門度如何影響建議。指定接近零的值，以包含更熱門的項目。指定更接近一個的值，以降低對熱門度的重視。 預設值：0.5 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：是  | 
| min\$1cointeraction\$1count |  計算一組項目之間相似性所需的共同互動最低數量。例如，`3` 值表示您需要三個以上的使用者與這兩個項目互動，以計算其相似度。 預設值：3 範圍：[0, 10] 值類型：整數 HPO 可調整：是  | 
| 特徵化超參數 | 
| min\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最小百分位數。*歷史記錄長度* 是使用者可用資料的總量。使用 `min_user_history_length_percentile` 排除歷史記錄長度較短的使用者百分比。歷史記錄短的使用者通常根據項目熱門程度顯示模式，而不是使用者的個人需求或想要顯示模式。移除它們可以訓練模型更專注於資料中的基礎模式。檢閱使用者歷史記錄長度後，請使用長條圖或類似的工具，選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。 預設值：0.005 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| max\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最大百分位數。歷史記錄長度是使用者可用資料的總量。使用 `max_user_history_length_percentile` 排除歷史記錄長度較長的使用者百分比。歷史較長的使用者通常包含噪音。例如，機器人可能有一長串的自動化互動。移除這些使用者會限制訓練中的噪音。使用長條圖或類似工具檢閱使用者歷史記錄長度後，請選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。 例如，`min_hist_length_percentile = 0.05` 和 `max_hist_length_percentile = 0.95` 包含所有使用者，但歷史記錄長度為最低或最高 5% 的使用者除外。 預設值：0.995 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| min\$1item\$1interaction\$1count\$1percentile |  要包含在模型訓練中的項目互動計數的最小百分位數。使用 `min_item_interaction_count_percentile` 排除互動歷程記錄較短的項目百分比。歷史記錄較短的項目通常是新的項目。移除它們可以訓練模型更專注於具有已知歷史記錄的項目。檢閱使用者歷史記錄長度後，請使用長條圖或類似的工具，選擇適當的值。我們建議設定保留大部分項目的值，但移除邊緣案例。 預設值：0.01 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| max\$1item\$1interaction\$1count\$1percentile |  要包含在模型訓練中的項目互動計數的最大百分位數。使用 `max_item_interaction_count_percentile` 排除互動歷程記錄很長的項目百分比。歷史記錄較長的項目通常會較舊且可能已過期。例如，已絕版的電影版本。移除這些項目可以著重於更相關的項目。使用長條圖或類似工具檢閱使用者歷史記錄長度後，請選擇適當的值。我們建議設定保留大部分項目但移除邊緣案例的值。 例如，`min_item_interaction_count_percentile = 0.05` 和 `max_item_interaction_count_percentile = 0.95` 包含所有項目，但互動計算在底部或頂端 5% 的項目除外。 預設值：0.9 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 

## SIMS 範例筆記本
<a name="native-recipe-sims-more-info"></a>

如需示範如何使用 SIMS 配方的 Jupyter 筆記本範例，請參閱[尋找類似項目 \$1 HPO](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/related_items/personalize_sims_example.ipynb)。

# Next-Best-Action 配方
<a name="native-recipe-next-best-action"></a>

Next-Best-Action (aws-next-best-action) 配方會為您的使用者產生下一個最佳動作的即時建議。使用者的下一個最佳動作是他們最有可能採取的動作。例如，註冊您的忠誠度計劃、下載您的應用程式或申請信用卡。

 透過 Next-Best-Action，您可以在使用者使用您的應用程式時，為其提供個人化的動作建議。為使用者建議正確的動作可能會導致更多使用者採取您的動作。根據您想要建議的動作，您可以提高客戶忠誠度、產生更多收入，並改善應用程式的使用者體驗。如需描述個人化動作建議如何讓電子商務應用程式受益的使用案例範例，請參閱 [使用案例範例](#nba-use-case-example)。

 Amazon Personalize 會從您匯入動作資料集的動作預測下一個最佳動作。它會根據使用者與動作和項目的互動，識別他們最有可能採取的動作。如果您的動作資料包含動作的值，Amazon Personalize 會考慮動作的值。如果使用者同樣可能採取兩種不同的動作，Amazon Personalize 會將動作的排名為較高的值。

當您取得使用者的即時動作建議時，Amazon Personalize 會傳回使用者最有可能在可設定期間內採取的動作清單 ()`action optimization period`。例如，他們最有可能在未來 14 天內採取的動作。清單會依傾向分數以遞減順序排序。此分數代表使用者採取動作的可能性。

 在您匯入動作互動資料之前，Amazon Personalize 會在 中建議動作，無需個人化，且傾向分數為 0.0。在動作具有下列項目之後，動作就會有分數：
+  與 TakeN 事件類型至少 50 個動作互動。
+  至少 50 個與 NOT\$1TAKEN 或 VIEWED 事件類型的動作互動。

這些動作互動必須存在於最新的解決方案版本訓練中，且必須在動作互動資料集中最新互動時間戳記的 6 週內發生。

如需 Next-Best-Action 配方使用之資料的詳細資訊，請參閱 [必要和選用的資料集](#nba-datasets)。

當您使用 Next-Best-Action 配方建立解決方案時，您可以設定 Amazon Personalize 在預測動作時使用的時段，方法是使用`action optimization period`特徵化超參數。如需詳細資訊，請參閱[屬性和超參數](#nba-hyperparameters)。

**Topics**
+ [使用案例範例](#nba-use-case-example)
+ [配方功能](#nba-recipe-features)
+ [必要和選用的資料集](#nba-datasets)
+ [屬性和超參數](#nba-hyperparameters)

## 使用案例範例
<a name="nba-use-case-example"></a>

為使用者建議正確的動作可能會導致更多使用者採取您的動作。根據您想要建議的動作，您可以提高客戶忠誠度、產生更多收入，並改善應用程式的使用者體驗。

例如，您可能有一個電子商務應用程式，建議下列不同的動作：
+ 訂閱忠誠度計劃
+ 下載行動應用程式
+ 在*珠寶*類別中購買 
+ 在*美顏和儀容*類別中購買

您可能有一個使用者經常在您的網站上購物，並重複採取*了 Jewelry* and *beauty 和儀容*購買動作。對於此使用者，Amazon Personalize 動作建議及其分數可能包括下列項目：
+ 訂閱忠誠度計劃

  Propensity 分數 – 1.00
+ 在*珠寶*類別中購買

  Propensity 分數 – 0.86
+ 在*美顏和儀容*類別中購買

  Propensity 分數 – 0.85

透過這些動作建議，您知道 會提示使用者註冊您的忠誠度計劃。此動作具有最高的傾向分數，這是使用者最有可能採取的動作。這是因為使用者經常在您的商店購物，並且可能會從您的忠誠度計劃獲得好處。

## 配方功能
<a name="nba-recipe-features"></a>

 產生動作建議時，Next-Best-Action 配方會使用下列 Amazon Personalize 配方功能：
+ 即時個人化：Amazon Personalize 會根據使用者不斷變化的興趣，使用即時個人化來更新和調整動作建議。如需詳細資訊，請參閱[即時個人化](use-case-recipe-features.md#about-real-time-personalization)。
+ 探索：透過探索，建議包括新的動作或互動資料較少的動作。如需探索的詳細資訊，請參閱 [探勘](use-case-recipe-features.md#about-exploration)。
+ 自動更新：透過自動更新，Amazon Personalize 會每兩小時自動更新最新的模型 （解決方案版本），以將新動作納入探索的建議中。如需詳細資訊，請參閱[自動更新](use-case-recipe-features.md#automatic-updates)。

## 必要和選用的資料集
<a name="nba-datasets"></a>

若要使用 Next-Best-Action 配方，您必須建立下列資料集：
+ 動作：您可以將動作相關資料匯入 Amazon Personalize Actions 資料集，例如其值。

   在您的動作資料中，您可以為每個動作提供 EXPIRATION\$1TIMESTAMP。如果動作已過期，Amazon Personalize 將不會將其包含在建議中。您也可以為每個動作提供 REPEAT\$1FREQUENCY。這表示 Amazon Personalize 在使用者與其互動後，應等待多久才建議再次執行動作。如需動作資料集可存放之資料的相關資訊，請參閱 [動作中繼資料](actions-datasets.md)。
+ 項目互動：您的項目互動資料集必須至少有 1000 個項目互動。Amazon Personalize 使用項目互動來了解使用者的目前狀態及其興趣。如需項目互動資料的相關資訊，請參閱 [項目互動資料](interactions-datasets.md)。

 下列資料集為選用：
+ 動作互動資料集：*動作互動*是涉及使用者和動作資料集中動作的互動。您可以匯入已採取、未採取和已檢視的動作互動。雖然此資料是選用的，但我們建議您匯入動作互動資料以取得品質建議。如果您沒有動作互動資料，您可以建立空的動作互動資料集，並使用 [PutActionInteractions](API_UBS_PutActionInteractions.md) API 操作記錄客戶與動作的互動。

   在您匯入動作互動資料之前，Amazon Personalize 會在 中建議動作，無需個人化，且傾向分數為 0.0。在動作具有下列項目之後，動作就會有分數：
  +  與 TakeN 事件類型至少 50 個動作互動。
  +  至少 50 個與 NOT\$1TAKEN 或 VIEWED 事件類型的動作互動。

  這些動作互動必須存在於最新的解決方案版本訓練中，且必須在動作互動資料集中最新互動時間戳記的 6 週內發生。

   如需有關您可以匯入的動作互動資料的資訊，請參閱 [動作互動資料](action-interactions-datasets.md)。如需記錄動作互動事件的資訊，請參閱 [記錄即時動作互動事件記錄動作互動事件](recording-action-interaction-events.md)。
**注意**  
 使用 Next-Best-Action，Amazon Personalize 不會在動作互動資料集中使用曝光資料或內容中繼資料。
+ 使用者：Amazon Personalize 會使用使用者資料集中的任何資料，以進一步了解您的使用者及其興趣。您也可以使用使用者資料集中的資料來篩選動作建議。如需有關您可以匯入之使用者資料的資訊，請參閱 [使用者中繼資料](users-datasets.md)。
+ 項目：Amazon Personalize 會使用項目資料集中的任何資料以及項目互動資料集，來識別其行為中的連線和模式。這有助於 Amazon Personalize 了解您的使用者及其興趣。如需有關您可以匯入之項目資料的資訊，請參閱 [項目中繼資料](items-datasets.md)。

## 屬性和超參數
<a name="nba-hyperparameters"></a>

Next-Best-Action 配方不支援超參數最佳化。Next-Best-Action 配方具有下列屬性：
+  **名稱** – `aws-next-best-action`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-next-best-action`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-next-best-action`

下表說明 aws-next-best-action 配方的特徵化超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。特徵化超參數可控制如何篩選要在訓練中使用的資料。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調校**： 參數是否可以參與 HPO


| 名稱 | 描述 | 
| --- | --- | 
| 特徵化超參數 | 
| action\$1optimization\$1period |  Amazon Personalize 在預測使用者的下一個最佳動作時使用的時段。例如，使用者最有可能在未來 14 天內採取的動作。 如果您沒有太多動作互動資料，請指定較大的值。如果您不確定要指定哪個值，請使用預設值。 預設值：14 範圍：【7， 28】 值類型：整數 HPO 可調整：否  | 

# 項目親和性配方
<a name="item-affinity-recipe"></a>

Item-Affinity (aws-item-affinity) 配方是 USER\$1SEGMENTATION 配方，可為您指定的每個項目建立使用者區段 （使用者群組）。這些是 Amazon Personalize 預測很可能與每個項目互動的使用者。使用 Item-Affinity 進一步了解您的使用者，並根據各自的使用者客群採取動作。

例如，您可能想要根據目錄中項目的使用者偏好設定，為您的零售應用程式建立行銷活動。Item-Affinity 會根據互動和項目資料集中的資料，為每個項目建立使用者客群。您可以使用它，根據不同使用者區段採取行動的可能性，將不同的項目提升為不同的使用者區段 （例如，按一下項目或購買項目）。其他用途可能包括將產品交叉銷售給不同的使用者集，或識別潛在的任務申請人。

 若要根據項目取得使用者客群，您可以使用 Item-Affinity 配方建立解決方案和解決方案版本，然後將 JSON 格式的項目清單新增至 Amazon S3 儲存貯體，並建立[批次客群任務](creating-batch-seg-job.md)。Amazon Personalize 會將每個項目的使用者區段輸出到 Amazon S3 中的輸出位置。您的輸入資料最多可以有 500 個項目來取得使用者區段。如需為批次區段任務準備輸入資料的資訊，請參閱 [準備批次建議的輸入資料](batch-data-upload.md)。

您必須擁有項目互動資料集，才能使用 Item-Affinity。項目和使用者資料集是選用的。您可以取得具有批次區段任務的使用者區段。如需詳細資訊，請參閱[取得批次使用者區段](getting-user-segments.md)。

建立解決方案版本後，請務必將解決方案版本和資料保持在最新狀態。使用 Item-Affinity，您必須為 Amazon Personalize 建立新的解決方案版本，以考慮使用者客群的新使用者，並使用使用者的最新行為更新模型。若要取得項目的使用者區段，當您建立解決方案版本時，項目必須已存在。

Item-Affinity 配方具有下列屬性：
+  **名稱** – `aws-item-affinity`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-item-affinity`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-item-affinity`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/item-affinity`
+  **配方類型** – `USER_SEGMENTATION`

下表說明 Item-Affinity 配方的超參數。*超參數*是您為了改善模型效能而調整的演算法參數。演算法超參數可控制模型的執行方式。您無法搭配 Item-Affinity 配方使用超參數最佳化 (HPO)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| hidden\$1dimension |  模型中使用的隱藏變數數量。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。當您的互動資料集包含更複雜的模式時，指定更多的隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。 預設值：149 範圍：[32, 256] 值類型：整數  | 

# Item-Attribute-Affinity 配方
<a name="item-attribute-affinity-recipe"></a>

Item-Attribute-Affinity (aws-item-attribute-affinity) 配方是 USER\$1SEGMENTATION 配方，可為您指定的每個項目屬性建立使用者區段 （使用者群組）。這些是 Amazon Personalize 預測很可能與具有特定屬性的項目互動的使用者。使用 Item-Attribute-Affinity 進一步了解您的使用者，並根據各自的使用者客群採取動作。

例如，您可能想要根據目錄中鞋子類型的使用者偏好設定，為您的零售應用程式建立行銷活動。Item-Attribute-Affinity 會為互動和項目資料集中的每個鞋子類型資料建立使用者客群。您可以使用它，根據不同的鞋子採取行動的可能性，將不同的鞋子提升到不同的使用者客群 （例如，按一下鞋子或購買鞋子）。其他用途可能包括將不同的電影類型提升到不同的使用者，或根據任務類型識別潛在的任務申請人。

 若要根據項目屬性取得使用者客群，您可以使用 Item-Attribute-Affinity 配方建立解決方案和解決方案版本，然後將 JSON 格式的項目屬性清單新增至 Amazon S3 儲存貯體，並建立[批次客群任務](creating-batch-seg-job.md)。Amazon Personalize 會將每個項目的使用者區段輸出到 Amazon S3 中的輸出位置。您的輸入資料最多可以有 10 個查詢，其中每個查詢都是一或多個項目屬性。如需為批次區段任務準備輸入資料的資訊，請參閱 [準備批次建議的輸入資料](batch-data-upload.md)。

您必須擁有項目互動資料集和項目資料集，才能使用 Item-Attribute-Affinity。您的項目資料集必須至少有一個資料欄，該資料欄是非文字、非預留的中繼資料資料欄。您可以取得具有批次區段任務的使用者區段。如需詳細資訊，請參閱[使用自訂資源取得批次使用者區段](getting-user-segments.md)。

建立解決方案版本後，請務必將解決方案版本和資料保持在最新狀態。使用 Item-Attribute-Affinity，您必須為 Amazon Personalize 建立新的解決方案版本，以考慮使用者區段的新使用者，並使用使用者的最新行為更新模型。若要取得項目屬性的使用者區段，當您建立解決方案版本時，項目屬性必須已存在。

Item-Attribute-Affinity 配方具有下列屬性：
+  **名稱** – `aws-item-attribute-affinity`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-item-attribute-affinity`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-item-attribute-affinity`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/item-attribute-affinity`
+  **配方類型** – `USER_SEGMENTATION`

下表說明 Item-Attribute-Affinity 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。您無法搭配 Item-Attribute-Affinity 配方使用超參數最佳化 (HPO)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| hidden\$1dimension |  模型中使用的隱藏變數數量。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。當您的互動資料集包含更複雜的模式時，指定更多的隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。 預設值：149 範圍：[32, 256] 值類型：整數  | 

# 舊版 HRNN 配方
<a name="legacy-user-personalization-recipes"></a>

舊版 HRNN 配方不再可用。本文件僅供參考。

 我們建議您在舊版 HRNN 配方上使用 aws-user-personalizaton （使用者個人化） 配方。使用者個人化可改善並統一 HRNN 配方所提供的功能。如需詳細資訊，請參閱[使用者個人化配方](native-recipe-new-item-USER_PERSONALIZATION.md)。

Amazon Personalize 可根據其對輸入資料的分析，自動選擇最適合的階層遞歸神經網路 (HRNN) 配方。此選項稱為 AutoML。如需詳細資訊，請參閱[使用 AutoML 選擇 HRNN 配方 （僅限 API)](training-solution-auto-ml.md)。

**Topics**
+ [使用 AutoML 選擇 HRNN 配方 （僅限 API)](training-solution-auto-ml.md)
+ [HRNN 配方 （舊版）](native-recipe-hrnn.md)
+ [HRNN-Metadata 配方 （舊版）](native-recipe-hrnn-metadata.md)
+ [HRNN-Coldstart 配方 （舊版）](native-recipe-hrnn-coldstart.md)

# 使用 AutoML 選擇 HRNN 配方 （僅限 API)
<a name="training-solution-auto-ml"></a>

Amazon Personalize 可根據其對輸入資料的分析，自動選擇最適合的階層遞歸神經網路 (HRNN) 配方。此選項稱為 AutoML。若要執行 AutoML，請在呼叫 [CreateSolution](API_CreateSolution.md) API 時將 `performAutoML` 參數設定為 `true`。

您也可以指定 Amazon Personalize 檢查的配方清單，以根據您指定的指標來判斷最佳配方。在此情況下，您會呼叫 `CreateSolution`操作，`true`為 `performAutoML` 參數指定 ，省略 `recipeArn` 參數，並包含 `solutionConfig` 參數，指定 `metricName`和 `recipeList`做為 `autoMLConfig` 物件的一部分。

下表顯示配方的選擇方法。必須指定 `performAutoML` 或 `recipeArn`，但不能同時指定兩者。AutoML 執行時僅能使用 HRNN 配方。


| performAutoML | recipeArn | solutionConfig | 結果 | 
| --- | --- | --- | --- | 
| true | 省略 | 已省略 | Amazon Personalize 選擇配方 | 
| true | 省略 | autoMLConfig：指定 metricName 和 recipeList | Amazon Personalize 從清單選擇可最佳化指標的配方 | 
| 省略 | 已指定 | 已省略 | 您指定配方 | 
| 省略 | 已指定 | 已指定 | 您會指定配方並覆寫預設訓練屬性 | 

**注意**  
當 `performAutoML` 是 `true` 時，系統會忽略 `solutionConfig` 物件的所有參數，但 `autoMLConfig` 除外。

# HRNN 配方 （舊版）
<a name="native-recipe-hrnn"></a>

**注意**  
舊版 HRNN 配方不再可用。本文件僅供參考。  
 我們建議您在舊版 HRNN 配方上使用 aws-user-personalizaton （使用者個人化） 配方。使用者個人化可改善並統一 HRNN 配方所提供的功能。如需詳細資訊，請參閱[使用者個人化配方](native-recipe-new-item-USER_PERSONALIZATION.md)。

Amazon Personalize 階層式遞歸神經網路 (HRNN) 配方模型會變更使用者行為，以在工作階段期間提供建議。工作階段是一組在指定時間範圍內的使用者互動，目標是要尋找特定項目以滿足需求，例如。透過將使用者最近的互動權衡得更高，您可以在工作階段期間提供更相關的建議。

HRNN 滿足使用者意圖和興趣，這些意圖和興趣會隨著時間而改變。其會採用排序過的使用者歷史記錄，並自動加權以做出更好的推論。HRNN 會使用閘道機制來建立折扣加權的模型，做為項目和時間戳記的可學習函數。

Amazon Personalize 會從資料集衍生每個使用者的功能。如果您已經完成即時資料整合，則會根據使用者活動即時更新這些特性。若要取得建議，您只需提供 `USER_ID`。如果您也提供 `ITEM_ID`，Amazon Personalize 會忽略它。

HRNN 配方具有下列屬性：
+  **名稱** – `aws-hrnn`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-hrnn`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-hrnn`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/JSON-percentile-filtering`
+  **配方類型** – `USER_PERSONALIZATION`

下表說明 HRNN 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。特徵化超參數可控制如何篩選要在訓練中使用的資料。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與 HPO 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| hidden\$1dimension |  模型中使用的隱藏變數數量。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。當您的項目互動資料集包含更複雜的模式時，請指定更多隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。若要決定最佳值，請使用 HPO。若要使用 HPO，請在呼叫 [CreateSolution](API_CreateSolution.md) 和 [CreateSolutionVersion](API_CreateSolutionVersion.md) 操作時將 `performHPO` 設定為 `true`。 預設值：43 範圍：[32, 256] 值類型：整數 HPO 可調整：是  | 
| bptt |  決定是否透過時間技術使用反向傳播。*透過時間的反向傳播* 是一種遞歸神經網路演算法中權重的技術。使用 `bptt` 做為長期信用來連接早期事件的延遲獎勵。例如，延遲獎勵可以是按幾下滑鼠後的購買。早期事件可以是初始的按一下。即使在相同的事件類型中 (例如按一下)，最好還是考慮長期效果，並將總獎勵最大化。若要考慮長期效果，請使用較大的 `bptt` 值。使用更大的 `bptt` 值需要更大的資料集和更多時間來處理。 預設值：32 範圍：[2, 32] 值類型：整數 HPO 可調整：是  | 
| recency\$1mask |  決定模型是否應考慮項目互動資料集的最新熱門趨勢。最新的熱門趨勢可能包括互動事件基礎模式的突然變化。若要訓練模型更多加權最近的事件，請將 `recency_mask` 設定為 `true`。若要訓練模型將過去的互動加權同等，請將 `recency_mask` 設定為 `false`。若要使用同等權重來獲得良好的建議，您可能需要較大的訓練資料集。 預設值：`True` 範圍：`True` 或 `False` 值類型：布林值 HPO 可調整：是  | 
| 特徵化超參數 | 
| min\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最小百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `min_user_history_length_percentile` 排除歷史記錄長度較短的使用者百分比。歷史記錄短的使用者通常根據項目熱門程度顯示模式，而不是使用者的個人需求或想要顯示模式。移除它們可以訓練模型更專注於資料中的基礎模式。檢閱使用者歷史記錄長度後，請使用長條圖或類似的工具，選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。  例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.0 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| max\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最大百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `max_user_history_length_percentile` 排除歷史記錄長度較長的使用者百分比，因為這些使用者的資料往往包含雜訊。例如，機器人可能有一長串的自動化互動。移除這些使用者會限制訓練中的噪音。使用長條圖或類似工具檢閱使用者歷史記錄長度後，請選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。 例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.99 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 

# HRNN-Metadata 配方 （舊版）
<a name="native-recipe-hrnn-metadata"></a>

**注意**  
舊版 HRNN 配方不再可用。本文件僅供參考。  
 我們建議您在舊版 HRNN 配方上使用 aws-user-personalizaton （使用者個人化） 配方。使用者個人化可改善並統一 HRNN 配方所提供的功能。如需詳細資訊，請參閱[使用者個人化配方](native-recipe-new-item-USER_PERSONALIZATION.md)。

HRNN-Metadata 配方預測使用者將與其互動的項目。其與 [HRNN](native-recipe-hrnn.md) 配方類似，但多了衍生自情境、使用者和項目中繼資料 (分別來自互動、使用者和項目資料集) 的其他功能。當有大量的中繼資料可用時，HRNN-Metadata 可提供優於非中繼資料模型的準確性優點。使用此配方可能需要更長的訓練時間。

HRNN-Metadata 配方具有下列屬性：
+  **名稱** – `aws-hrnn-metadata`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-hrnn-metadata`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-hrnn-metadata`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/featurize_metadata`
+  **配方類型** – `USER_PERSONALIZATION`

下表說明 HRNN-Metadata 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。特徵化超參數可控制如何篩選要在訓練中使用的資料。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與超參數最佳化 (HPO) 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| hidden\$1dimension |  模型中使用的隱藏變數數量。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。當您的項目互動資料集包含更複雜的模式時，請指定更多隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。若要決定最佳值，請使用 HPO。若要使用 HPO，請在呼叫 [CreateSolution](API_CreateSolution.md) 和 [CreateSolutionVersion](API_CreateSolutionVersion.md) 操作時將 `performHPO` 設定為 `true`。 預設值：43 範圍：[32, 256] 值類型：整數 HPO 可調整：是  | 
| bptt |  決定是否透過時間技術使用反向傳播。*透過時間的反向傳播* 是一種遞歸神經網路演算法中權重的技術。使用 `bptt` 做為長期信用來連接早期事件的延遲獎勵。例如，延遲獎勵可以是按幾下滑鼠後的購買。早期事件可以是初始的按一下。即使在相同的事件類型中 (例如按一下)，最好還是考慮長期效果，並將總獎勵最大化。若要考慮長期效果，請使用較大的 `bptt` 值。使用更大的 `bptt` 值需要更大的資料集和更多時間來處理。 預設值：32 範圍：[2, 32] 值類型：整數 HPO 可調整：是  | 
| recency\$1mask |  決定模型是否應考慮項目互動資料集中的最新熱門趨勢。最新的熱門趨勢可能包括互動事件基礎模式的突然變化。若要訓練模型更多加權最近的事件，請將 `recency_mask` 設定為 `true`。若要訓練模型將過去的互動加權同等，請將 `recency_mask` 設定為 `false`。若要使用同等權重來獲得良好的建議，您可能需要較大的訓練資料集。 預設值：`True` 範圍：`True` 或 `False` 值類型：布林值 HPO 可調整：是  | 
| 特徵化超參數 | 
| min\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最小百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `min_user_history_length_percentile` 排除歷史記錄長度較短的使用者百分比。歷史記錄短的使用者通常根據項目熱門程度顯示模式，而不是使用者的個人需求或想要顯示模式。移除它們可以訓練模型更專注於資料中的基礎模式。檢閱使用者歷史記錄長度後，請使用長條圖或類似的工具，選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。  例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.0 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| max\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最大百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `max_user_history_length_percentile` 排除歷史記錄長度較長的使用者百分比，因為這些使用者的資料往往包含雜訊。例如，機器人可能有一長串的自動化互動。移除這些使用者會限制訓練中的噪音。使用長條圖或類似工具檢閱使用者歷史記錄長度後，請選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。 例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.99 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 

# HRNN-Coldstart 配方 （舊版）
<a name="native-recipe-hrnn-coldstart"></a>

**注意**  
舊版 HRNN 配方不再可用。本文件僅供參考。  
 我們建議您在舊版 HRNN 配方上使用 aws-user-personalizaton （使用者個人化） 配方。使用者個人化可改善並統一 HRNN 配方所提供的功能。如需詳細資訊，請參閱[使用者個人化配方](native-recipe-new-item-USER_PERSONALIZATION.md)。

使用 HRNN-Coldstart 配方來預測使用者在您經常新增項目和互動時將互動的項目，並希望立即取得這些項目的建議。HRNN-Coldstart 配方與 [HRNN-Metadata](native-recipe-hrnn-metadata.md) 配方類似，但可讓您取得新項目的建議。

此外，當您想要從由於下列原因而具有較長之互動清單的訓練項目中排除時，可以使用 HRNN-Coldstart 配方：最近熱門趨勢，或互動可能非常不尋常且在訓練中引入噪音。搭配 HRNN-Coldstart，您可以篩選掉較不相關的項目，以建立用於訓練的子集。稱為*冷*項目的項目子集是項目互動資料集中具有相關互動事件的項目。當項目具有以下情況時，該項目會被視為冷項目：
+ 互動次數比指定的最大互動次數少。您可以在配方的 `cold_start_max_interactions` 超參數中指定此值。
+ 相對持續時間比持續時間上限短。您可以在配方的 `cold_start_max_duration` 超參數中指定此值。

若要減少冷項目的數量，請為 `cold_start_max_interactions` 或 `cold_start_max_duration` 設定較低的值。若要增加冷項目的數量，請為 `cold_start_max_interactions` 或 `cold_start_max_duration` 設定較大的值。



HRNN-Coldstart 具有下列冷項目限制：
+ `Maximum cold start items`：80,000
+ `Minimum cold start items`：100

如果冷項目數超出此範圍，嘗試建立解決方案將會失敗。

HRNN-Coldstart 配方具有下列屬性：
+  **名稱** – `aws-hrnn-coldstart`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-hrnn-coldstart`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-hrnn-coldstart`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/featurize_coldstart`
+  **配方類型** – `USER_PERSONALIZATION`

如需詳細資訊，請參閱[選擇配方](working-with-predefined-recipes.md)。

下表說明 HRNN-Coldstart 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。特徵化超參數可控制如何篩選要在訓練中使用的資料。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與 HPO 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| hidden\$1dimension | 模型中使用的隱藏變數數量。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。當您的項目互動資料集包含更複雜的模式時，請指定更多隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。若要決定最佳值，請使用 HPO。若要使用 HPO，請在呼叫 [CreateSolution](API_CreateSolution.md) 和 [CreateSolutionVersion](API_CreateSolutionVersion.md) 操作時將 `performHPO` 設定為 `true`。 預設值：149 範圍：[32, 256] 值類型：整數 HPO 可調整：是  | 
| bptt | 決定是否透過時間技術使用反向傳播。*透過時間的反向傳播* 是一種遞歸神經網路演算法中權重的技術。使用 `bptt` 做為長期信用來連接早期事件的延遲獎勵。例如，延遲獎勵可以是按幾下滑鼠後的購買。早期事件可以是初始的按一下。即使在相同的事件類型中 (例如按一下)，最好還是考慮長期效果，並將總獎勵最大化。若要考慮長期效果，請使用較大的 `bptt` 值。使用更大的 `bptt` 值需要更大的資料集和更多時間來處理。 預設值：32 範圍：[2, 32] 值類型：整數 HPO 可調整：是  | 
| recency\$1mask |  決定模型是否應考慮項目互動資料集的最新熱門趨勢。最新的熱門趨勢可能包括互動事件基礎模式的突然變化。若要訓練模型更多加權最近的事件，請將 `recency_mask` 設定為 `true`。若要訓練模型將過去的互動加權同等，請將 `recency_mask` 設定為 `false`。若要使用同等權重來獲得良好的建議，您可能需要較大的訓練資料集。 預設值：`True` 範圍：`True` 或 `False` 值類型：布林值 HPO 可調整：是  | 
| 特徵化超參數 | 
| cold\$1start\$1max\$1interactions |  可將項目視為冷啟動的使用者項目互動最大數量。 預設值：15 範圍：正整數 值類型：整數 HPO 可調整：否  | 
| cold\$1start\$1max\$1duration | 使用者項目互動被視為冷啟動項相對於起點的最大持續時間 (以天為單位)。若要設定使用者項目互動的起點，請設定 `cold_start_relative_from` 超參數。 預設值：5.0 範圍：正浮點數 值類型：浮點數 HPO 可調整：否  | 
| cold\$1start\$1relative\$1from |  決定 HRNN-Coldstart 配方計算 `cold_start_max_duration` 的起點。從目前的時間計算，請選擇 `currentTime`。 若要`cold_start_max_duration`從項目互動資料集中最新項目的時間戳記計算，請選擇 `latestItem`。如果您經常新增項目，此設定很有用。 預設值：`latestItem` 範圍：`currentTime`, `latestItem`  值類型：字串 HPO 可調整：否  | 
| min\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最小百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `min_user_history_length_percentile` 排除歷史記錄長度較短的使用者百分比。歷史記錄短的使用者通常根據項目熱門程度顯示模式，而不是使用者的個人需求或想要顯示模式。移除它們可以訓練模型更專注於資料中的基礎模式。檢閱使用者歷史記錄長度後，請使用長條圖或類似的工具，選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。  例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.0 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| max\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最大百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `max_user_history_length_percentile` 排除歷史記錄長度較長的使用者百分比，因為這些使用者的資料往往包含雜訊。例如，機器人可能有一長串的自動化互動。移除這些使用者會限制訓練中的噪音。使用長條圖或類似工具檢閱使用者歷史記錄長度後，請選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。 例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.99 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 