本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Trending-Now 食谱
Trending-Now 食谱 (aws-trending-now) 会为在用户中迅速变得越来越受欢迎的物品生成建议。如果越来越受欢迎的物品与您的客户更相关,则您可以使用 Trending-Now 食谱。例如,您的客户可能高度重视其他用户交互的内容。常见用途包括推荐病毒式社交媒体内容、突发新闻文章或最近的体育视频。
Trending-Now 通过计算每个物品在可配置的时间间隔内的交互增加量来自动识别热门物品。增长率最高的物品被视为热门物品。时间基于物品交互数据集中的时间戳数据。考虑的物品来自您批量和增量导入的交互数据。您无需为 Trending-Now 手动创建新的解决方案版本,即可考虑交互数据中的新物品。
您可以在创建解决方案时提供 Trend discovery frequency
,以指定时间间隔。例如,如果您为 Trend discovery frequency
指定 30 minutes
,则对于每 30 分钟的数据,Amazon Personalize 会识别自上次评估以来交互增长率最高的物品。可能的频率包括 30 分钟、1 小时、3 小时和 1 天。选择与您的交互数据分布一致的频率。在您选择的时间间隔内缺少数据会降低建议的准确性。如果您在过去两个时间间隔内导入的交互数据为零,则 Amazon Personalize 将只推荐受欢迎的物品,而不推荐热门物品。
使用 Trending-Now,您可以在 Amazon Personalize 控制台的测试市场活动页面上,调用 GetRecommendations 操作或获取建议。Amazon Personalize 会返回最热门的物品。只有在您应用需要 userId
的筛选器时,才需在请求中传递该 ID。使用 GetRecommendations API,您可以使用numResults
参数配置返回的热门项目数量。您无法通过 Trending-Now 食谱获得批量建议。
要使用 Trending-Now,您必须创建一个项目交互数据集,其中包含至少 1000 个唯一的历史和事件互动(按事件类型筛选后,如果提供)。 eventValueThreshold生成热门商品推荐时,Trending-Now 不使用项目或用户数据集中的数据。但是,您仍然可以根据这些数据集中的数据筛选建议。有关更多信息,请参阅 筛选建议和用户细分。
属性和超参数
Trending-Now 食谱具有以下属性:
-
名称 –
aws-trending-now
-
食谱 Amazon 资源名称 (ARN) -
arn:aws:personalize:::recipe/aws-trending-now
-
算法 ARN -
arn:aws:personalize:::algorithm/aws-trending-now-custom
有关更多信息,请参阅 选择食谱。
下表描述 Trending-Now 食谱的超参数。超参数 是一个算法参数,您可以调整该参数以提高模型性能。算法超参数控制模型的执行方式。为超参数选择最佳值的过程称为超参数优化 (HPO)。有关更多信息,请参阅 超参数和 HPO。
该表还为每个超参数提供以下信息:
-
范围:[上界, 下界]
-
值类型:Integer、Continuous(浮点数)、Categorical(布尔值、列表、字符串)
-
可调 HPO:该参数是否可以参与 HPO?
名称 | 描述 |
---|---|
特征转换超参数 | |
Trend discovery frequency |
指定 Amazon Personalize 评估交互数据并识别热门物品的频率。例如,如果您为 可用的频率包括 30 分钟、1 小时、3 小时和 1 天。选择与您的交互数据分布一致的频率。在您选择的时间间隔内缺少数据会降低建议的准确性。如果您使用 CreateSolution API 操作但未指定值,则默认值为每 2 小时一次。 默认值:2 小时 可能的值:30 分钟、1 小时、3 小时和 1 天。 值类型:字符串 HPO 可调:否 |
创建解决方案 (SDK for Python (Boto3))
以下代码显示了如何使用 SDK for Python (Boto3) 创建具有 Trending-Now 食谱的解决方案。trend_discovery_frequency
的可能值为 30 minutes
、1 hour
、3 hours
和 1 day
。有关使用控制台创建解决方案的信息,请参阅创建解决方案(控制台)。
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 笔记本
有关展示如何使用 Trending-Now 食谱的 Jupyter 笔记本示例,请参阅 Amazon Personalize 示例存储库中的 trending _now_example.