

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

# 训练后更新数据集中的数据
<a name="updating-datasets"></a>

 随着目录的增长，将额外训练数据导入数据集。这样有助于维持和提高 Amazon Personalize 推荐的相关性。您可以使用批量或单独数据导入操作导入更多数据。
+ 使用单独导入时，Amazon Personalize 会将新记录附加到数据集中。要更新单个物品、用户或操作，可以导入具有相同 ID 但属性经过修改的记录。每次导入操作最多可以导入 10 条记录。

  有关单独导入记录的更多信息，请参阅[将单个记录导入 Amazon Personalize 数据集](incremental-data-updates.md)。有关记录实时事件的信息，请参阅[记录实时事件以影响推荐](recording-events.md)。
+ 使用批量导入时，您可以通过[创建另一个导入任务](bulk-data-import-step.md)来添加或替换批量数据。默认情况下，数据集导入作业会替换您批量导入的数据集中的任何现有数据。相反，您可以通过更改作业的[导入模式](bulk-data-import-step.md#bulk-import-modes)，将新记录附加到现有数据中。

  要使用数据集导入作业将数据附加到物品交互数据集或操作交互数据集，您必须至少有 1000 条新的物品交互或操作交互记录。在完成批量导入后 20 分钟内，Amazon Personalize 会使用您的新批量数据，更新您在数据集组中创建的所有筛选条件。此更新允许 Amazon Personalize 在筛选针对用户的建议时使用最新数据。

 创建物品或用户数据集后，您可以将其架构替换为新的或现有的架构。如果数据结构在您创建数据集后发生了更改，则您可以替换该数据集的架构。例如，您可能会有想让 Amazon Personalize 在训练期间考虑的新物品元数据列。或者，您可能想要添加一列仅在筛选建议时使用的数据。有关更多信息，请参阅 [替换数据集的架构，以便添加新列](updating-dataset-schema.md)。

创建推荐器或自定义解决方案版本后，新数据如何影响推荐取决于数据的类型、导入方法以及所用的域应用场景或自定义配方。以下各节说明了新数据如何影响下一次训练之前的实时和批量推荐。

**Topics**
+ [新数据如何影响实时建议](how-new-data-influences-recommendations.md)
+ [新数据如何影响批量推荐（自定义资源）](how-new-data-influences-batch-recommendations.md)

# 新数据如何影响实时建议
<a name="how-new-data-influences-recommendations"></a>

创建推荐器或自定义解决方案版本后，新数据如何影响实时推荐取决于数据的类型、导入方法以及所用的域应用场景或自定义配方。以下各节说明了新数据如何影响下一次训练之前的实时推荐。

训练可以是推荐器的每周自动训练，也可以是自动或手动解决方案版本创建。对于使用 User-Personalization 的手动训练，请省略 `trainingMode` 以使用默认 `FULL` 训练模式。

**Topics**
+ [新的交互](#new-interactions)
+ [新物品](#new-items)
+ [新用户](#new-users)
+ [新操作](#new-actions)

## 新的交互
<a name="new-interactions"></a>

新交互是您在最近的训练后导入的物品或操作交互。对于实时和批量数据，如果交互涉及新物品或操作，则在配方或应用场景具备浏览功能时 Amazon Personalize 可能会考虑未经训练就在推荐中加入新物品或新操作。有关更多信息，请参阅[新物品](#new-items)或[新操作](#new-actions)。

**实时事件**

 对于具有实时个性化特征的应用场景和配方，Amazon Personalize 会立即使用最新训练中存在的用户和物品或操作之间的实时交互。在事件中为用户生成推荐时，Amazon Personalize 会使用这些实时交互。有关实时个性化的更多信息，请参阅[实时个性化](use-case-recipe-features.md#about-real-time-personalization)。

 对于任何不具有实时个性化特征的域应用场景和自定义配方（例如推荐类似物品），您的模型仅在训练后从实时交互数据中学习。

**批量交互**

对于*批量交互*，针对增量和**完整数据集导入作业，您的模型仅在下一次训练之后，才从批量物品交互或操作交互数据中学习。批量数据不用于更新实时个性化建议。

有关导入更多批量数据的更多信息，请参阅[通过数据集导入作业将批量数据导入到 Amazon Personalize](bulk-data-import-step.md)。

## 新物品
<a name="new-items"></a>

新物品是您在最近一次训练后导入的物品。可以来自交互数据或物品数据集中的物品元数据。

考虑在建议中加入新物品，如下所示：
+ 对于*热门精选* 和*为您推荐* 域场景或 User-Personalization-v2、User-Personalization 或 Next-Best-Action 配方，Amazon Personalize 每两小时自动更新一次模型。每次更新后，Amazon Personalize 都会在浏览过程中考虑推荐新物品。在考虑新物品时，Amazon Personalize 会考虑该物品的所有元数据。但是，只有在您记录了物品的交互并训练新模型之后，这些数据才会对推荐产生更大的影响。有关更新的信息，请参阅[自动更新](use-case-recipe-features.md#automatic-updates)。
+ 如果您使用*当前趋势* 使用案例，则 Amazon Personalize 会每两小时自动评估一次您的交互数据，并识别热门物品。您不必等待推荐器进行训练。如果您使用 *Trending-Now 配方*，则 Amazon Personalize 会在可配置的时间间隔内未经训练就自动考虑所有新物品。有关配置时间间隔的信息，请参阅 [Trending-Now 食谱](native-recipe-trending-now.md)。
+ 如果您不使用 Trending-Now 配方，或者您的应用场景或配方不支持自动更新，则 Amazon Personalize 将只在下一次训练之后考虑新物品。

## 新用户
<a name="new-users"></a>

 新用户是指您在最近一次训练后导入的用户。可以来自交互数据或用户数据集中的用户元数据。对于新的匿名用户（没有 userId 的用户），您可以通过 `sessionId` 为用户记录事件，Amazon Personalize 将在用户登录之前将事件与用户关联。有关更多信息，请参阅 [为匿名用户记录事件](recording-events.md#recording-anonymous-user-events)。

Amazon Personalize 会按如下方式为新用户生成建议：
+  如果您使用当前当前趋势域使用案例或 Trending-Now 自定义食谱，则新用户会立即收到热门物品的建议。如果您使用 Popularity-Count 食谱，则新用户会立即收到交互次数最多的物品的建议。
+  对于为用户提供个性化建议的食谱或使用案例，针对新用户的建议基于现有用户的早期交互历史记录。系统更有可能将这些现有用户与之交互的第一批物品或操作推荐给新用户。对于 User-Personalization 或 Personalized-Ranking 食谱，如果您将 `recency_mask` 设置为 `true`，则建议还包括基于交互数据中最新流行趋势的物品。

以下内容可以增加建议对新用户的相关性：
+  交互数据 - 提高新用户建议相关性的主要方法是从他们与物品的交互中导入数据。有关新交互数据如何影响建议的信息，请参阅[新的交互](#new-interactions)。
+ 用户元数据 - 导入用户元数据（例如 GENDER 或 MEMBERSHIP\$1STATUS）可以改善建议。要使元数据影响建议，您必须等待域推荐器的每周自动再训练完成。或者，您必须手动创建新的解决方案版本。
+ 上下文元数据 - 如果您的使用案例或配方支持上下文元数据，并且您的物品交互数据集包含上下文数据的元数据字段，则您可以在请求建议时提供用户的上下文。这不需要再训练。有关更多信息，请参阅 [利用上下文元数据提高建议的相关性](contextual-metadata.md)。

## 新操作
<a name="new-actions"></a>

新操作是自上次训练以来您导入的操作。它们可以来自操作交互数据，也可以来自操作数据集中的操作。

借助 Next-Best-Action 配方，Amazon Personalize 每两小时自动更新一次解决方案版本。每次更新后，Amazon Personalize 都会在浏览过程中考虑推荐新操作。在考虑新操作时，Amazon Personalize 会考虑该操作的所有元数据。但是，只有在您记录了操作的操作交互并进行了完全再训练之后，这些数据才会对建议产生更大的影响。有关更新的信息，请参阅[自动更新](use-case-recipe-features.md#automatic-updates) 

# 新数据如何影响批量推荐（自定义资源）
<a name="how-new-data-influences-batch-recommendations"></a>

创建自定义解决方案版本后，新数据如何影响批量推荐取决于数据的类型、导入方法和所用的自定义配方。

对于用户细分，Amazon Personalize 仅使用上次完整解决方案版本训练中提供的数据生成细分。而且，Amazon Personalize 仅使用您以 FULL（替换现有数据）导入模式导入的批量数据。有关用户细分的更多信息，请参阅[使用自定义资源获取批量用户细分](getting-user-segments.md)。

生成批量物品推荐时，Amazon Personalize 会考虑在创建最新解决方案版本时存在的所有批量数据。可以使用“完整”或“增量”导入模式，导入这些数据。要使较新的批量记录影响批量建议，您必须创建新的解决方案版本，然后创建批量推理作业。

下面几节介绍单个导入如何影响批量物品推荐。

**Topics**
+ [新的交互](#batch-new-interactions)
+ [新用户](#batch-new-users)
+ [新物品](#batch-new-items)

## 新的交互
<a name="batch-new-interactions"></a>

如果您使用 USER\$1PERSONALIZATION 或 PERSONALIZED\$1RANKING 配方，则 Amazon Personalize 会在数据导入后约 15 分钟内考虑现有物品和用户的新物品交互数据。在最新训练中必须存在这些物品和用户。为确保考虑事件，我们建议您至少等待 15 分钟，然后再开始批量推理作业。对于所有其他配方，以及对于具有新物品或用户的事件，您必须为流事件创建新的解决方案版本，以便影响批量推荐。

## 新用户
<a name="batch-new-users"></a>

 对于没有交互数据的用户，推荐最初仅针对热门物品。如果您使用 USER\$1PERSONALIZATION 或 PERSONALIZED\$1RANKING 配方，并为用户记录事件，则其推荐可能会在导入后约 15 分钟内变得更加相关，而无需重新训练。为确保考虑事件，我们建议您至少等待 15 分钟，然后再开始批量推理作业。对于所有其他食谱，您必须为流事件创建新的解决方案版本，以影响用户的批量建议，而无需交互数据。

## 新物品
<a name="batch-new-items"></a>

使用 User-Personalization-v2 和 User-Personalization 时，当您创建批量推理作业并为解决方案指定经过全面训练的最新解决方案版本时，Amazon Personalize 会自动更新解决方案版本，以便在浏览推荐中加入新物品。如果您不指定最新解决方案版本，则不会进行更新。对于任何其他食谱，您都必须创建一个新的解决方案版本，以便在批量建议中包含新物品。有关浏览的更多信息，请参阅[探索](use-case-recipe-features.md#about-exploration)。