语义相似度配方 - Amazon Personalize

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

语义相似度配方

语义相似度配方 (aws-semantic-similarity) 根据文本内容为语义上与给定项目相似的项目生成推荐。与依赖用户-项目交互的传统相似度配方不同,此配方分析物品的文本描述和属性,以生成嵌入并识别语义上相似的项目

此食谱非常适合您想要根据内容相似性推荐项目的场景,例如推荐主题相似的图书、相关主题的文章或描述相似的产品。它特别适用于交互历史记录有限的新项目(冷启动场景),以及语义关系比共现模式更重要的目录。

使用 Semantic-Similarity,您可以在GetRecommendations操作(或 Amazon Personalize 控制台)中提供商品编号,Amazon Personalize 会返回类似商品的清单。或者,您可以使用批量工作流程获取库存中所有商品的类似商品(请参阅获取批量商品推荐)。

配方特征

Semantic-Similarity 在生成商品推荐时使用以下 Amazon Personalize 食谱功能:

  • 实时个性化 — 借助语义相似度配方,Amazon Personalize 会自动更新您的商品目录。当您向 Items 数据集添加新项目或更新现有项目元数据时,使用增量训练时,这些更改将在大约 30 分钟内反映在您的推荐中。这样可以确保您的客户始终看到您目录中最新的可用商品,而无需人工干预或等待完整的再培训周期。这对于经常变化的目录(例如新闻文章、博客文章或季节性产品)尤其有价值。要启用增量更新,客户必须:

    • 在 API 中将解决方案设置为 performIncrementalUpdate true

    • 在用户界面的 “训练方法” 下选择 “完整和增量训练” 或 “增量训练” 选项

    请注意,每当执行更新时,启用增量更新都会产生额外费用。

  • 带有推荐的元数据 — 借助语义相似度配方,广告系列可以自动选择在推荐结果中包含商品元数据。您没有手动为市场活动启用元数据。您可以使用元数据来丰富用户界面中的建议,例如将电影的类型添加到轮播中。有关更多信息,请参阅推荐中的商品元数据

必需和可选数据集

要使用语义相似度配方,必须创建 Items 数据集。Amazon Personalize 根据商品元数据的语义含义生成推荐。有关更多信息,请参阅项目元数据。语义相似度可以对项目数据集中多达 1000 万个项目进行训练。

借助语义相似性,Amazon Personalize 需要包含以下内容的商品数据

  • itemName 字段-一个字符串字段,itemName设置为。true此字段应包含商品的标题或名称。

  • 文本描述字段-至少一个标记为textual包含项目描述的字符串字段。这应该是最能描述和代表该项目的字段。

Amazon Personalize 使用此字段生成语义嵌入,以捕捉您的商品的含义和内容。

此外,如果您想使用基于新鲜度的排名,则应设置保留的 CREATION_TIMESTAMP 字段。有关更多信息,请参阅 属性和超参数

以下数据集是可选的,可以用于改进推荐:

  • 互动数据集 — Amazon Personalize 可以使用互动数据集中的数据,根据用户对项目的参与度计算人气分数。你可以使用人气分数根据类似物品在用户中的受欢迎程度对它们进行排名。如果要使用基于人气的排名,则必须提供互动数据集。您也可以使用互动数据集中的数据来筛选推荐。有关您可以导入的交互数据的信息,请参阅项目交互数据

属性和超参数

语义相似度配方具有以下特性:

  • 名称aws-semantic-similarity

  • 食谱 Amazon 资源名称 (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

有关更多信息,请参阅 选择食谱

Semantic-Similarity 配方没有公开的超参数,但你可以在创建活动时配置受欢迎程度和新鲜度因子来影响相似物品的排名。

该表提供了每个因子的以下信息:

  • 范围:[上界, 下界]

  • 值类型:Integer、Continuous(浮点数)、Categorical(布尔值、列表、字符串)

Name 说明
新鲜度

新鲜度系数表示一件物品的最新程度。新鲜度是通过根据物品的 CREATION_TIMESTAMP 对物品的使用寿命进行标准化来计算的。要使用新鲜度系数,您必须在 Items 数据集架构中包含 CREATION_TIMESTAMP 字段。较高的新鲜度系数值将在语义上相似的推荐中优先考虑较新的项目

默认值:0.0

射程: [0.0, 1.0]

值类型:双精度

人气

受欢迎程度系数根据用户互动来表示某件商品的受欢迎程度。受欢迎程度是通过标准化每件物品收到的互动次数来计算的。要使用人气因子,在创建数据集组时必须包含交互数据集。受欢迎程度因子值越高,在语义相似的推荐中,优先考虑与客户互动较多的项目。

默认值:0.0

射程: [0.0, 1.0]

值类型:双精度

请注意,新鲜度和受欢迎程度分数是在训练时计算的,增量更新不会更新受欢迎程度和新鲜度分数。要了解影响推荐项目排名的最新受欢迎程度和新鲜度因素,请使用自动再训练,或者手动重新训练解决方案,然后使用新的解决方案版本更新广告系列。