

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 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。在操作达到以下条件后，该操作将获得分数：
+  至少 50 次 TAKEN 事件类型的操作交互。
+  至少 50 次 NOT\$1TAKEN 或 VIEWED 事件类型的操作交互。

这些操作交互必须出现在最新的解决方案版本训练中，并且必须在操作交互数据集中的最新交互时间戳后的 6 周内发生。

有关 Next-Best-Action 配方使用的数据的更多信息，请参阅[必需和可选数据集](#nba-datasets)。

当您使用 Next-Best-Action 配方创建解决方案时，您可以使用 `action optimization period` 特征化超参数配置 Amazon Persalization 在预测操作时使用的时间窗口。有关更多信息，请参阅 [属性和超参数](#nba-hyperparameters)。

**Topics**
+ [使用案例示例](#nba-use-case-example)
+ [配方特征](#nba-recipe-features)
+ [必需和可选数据集](#nba-datasets)
+ [属性和超参数](#nba-hyperparameters)

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

为用户建议正确的操作可能会导致更多用户采取您的操作。根据您要建议的操作，您可以潜在提高客户忠诚度、创造更多收入并改善应用程序的用户体验。

例如，您可能有一个电子商务应用程序建议执行以下不同操作：
+ 订阅忠诚度计划
+ 下载移动应用
+ 在*珠宝*类别中购买 
+ 在*美容和美发*类别中购买

您的用户可能经常在您的网站上购物，并且反复执行*珠宝*以及*美容和美发*购买操作。对于该用户，Amazon Personalize 操作建议及其分数可能包括以下内容：
+ 订阅忠诚度计划

  倾向分数 – 1.00
+ 在*珠宝*类别中购买

  倾向分数 – 0.86
+ 在*美容和美发*类别中购买

  倾向分数 – 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 操作数据集中。

   在您的操作数据中，您可以为每个操作提供一个 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。在操作达到以下条件后，该操作将获得分数：
  +  至少 50 次 TAKEN 事件类型的操作交互。
  +  至少 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 资源名称 (ARN)** - `arn:aws:personalize:::recipe/aws-next-best-action`
+  **算法 ARN** - `arn:aws:personalize:::algorithm/aws-next-best-action`

下表描述了 aws-next-best-action 配方的特征化超参数。*超参数* 是一个算法参数，您可以调整该参数以提高模型性能。特征化超参数控制如何筛选训练中使用的数据。

该表还为每个超参数提供以下信息：
+ **范围**：[上界, 下界]
+ **值类型**：Integer、Continuous（浮点数）、Categorical（布尔值、列表、字符串）
+ **可调 HPO**：该参数是否可以参与 HPO


| 名称 | 描述 | 
| --- | --- | 
| 特征化超参数 | 
| action\$1optimization\$1period |  Amazon Personalize 在预测用户的下一个最佳操作时使用的时间窗口。例如，用户在接下来的 14 天内最有可能采取的操作。 如果您没有太多操作交互数据，请指定较大的值。如果您不确定要指定什么值，请使用默认值。 默认值：14 范围：[7、28] 值类型：整数 HPO 可调：否  | 