通过使用 Amazon Personalize PlatoBlockchain 数据智能的业务规则推广特定项目来自定义您的推荐。 垂直搜索。 哎。

通过使用 Amazon Personalize 的业务规则推广特定项目来自定义您的推荐

今天,我们很高兴地宣布 促销方案 Amazon Personalize 中的功能允许您根据与您的业务目标一致的规则向您的用户明确推荐特定项目。 例如,您可以建立营销合作伙伴关系,要求您宣传某些品牌、内部内容或您想要提高知名度的类别。 促销让您可以更好地控制推荐的商品。 您可以定义业务规则来识别促销项目并在整个用户群中展示它们,而无需任何额外费用。 您还可以控制推荐内容中推广内容的百分比。 Amazon Personalize 会自动在符合您的业务规则的促销商品集中查找相关商品,并将它们分发到每个用户的推荐中。

Amazon Personalize 使您能够通过在网站、应用程序和有针对性的营销活动中提供个性化的产品和内容推荐来提高客户参与度。 您无需任何机器学习 (ML) 经验即可开始使用,只需单击几下即可使用 API 轻松构建复杂的个性化功能。 您的所有数据都经过加密以确保隐私和安全,并且仅用于为您的用户创建推荐。

在这篇文章中,我们将演示如何使用电子商务用例的新促销功能自定义您的推荐。

解决方案概述

不同的企业可以根据他们想要增加参与度的内容类型,根据他们的个人目标使用促销活动。 无论领域如何,您都可以使用促销让您的推荐中的一定百分比属于任何应用程序的特定类型。 例如,在电子商务应用程序中,您可以使用此功能将 20% 的推荐商品标记为特价商品,或者来自某个品牌或类别的商品。 对于视频点播用例,您可以使用此功能在 40% 的轮播中填充您想要突出显示的新推出的节目和电影,或宣传直播内容。 您可以在 领域数据集组自定义数据集组 (用户个性化类似物品 食谱)。

Amazon Personalize 使配置促销变得简单:首先,创建一个筛选器来选择您想要促销的项目。 您可以使用 Amazon Personalize 控制台或 API 使用 Amazon Personalize DSL(特定于域的语言)创建具有您的逻辑的过滤器。 只需要几分钟。 然后,在请求推荐时,通过指定过滤器、应该匹配该过滤器的推荐百分比以及(如果需要)动态过滤器参数来指定促销。 推荐的项目随机分布在推荐中,但不会删除任何现有推荐。

下图显示了如何在 Amazon Personalize 的推荐中使用促销。

您在目录系统中定义要推广的商品,将它们加载到 Amazon Personalize 商品数据集,然后获得推荐。 在不指定促销的情况下获取推荐会返回最相关的项目,在此示例中,仅促销项目中的一项。 不能保证促销商品会被退回。 获得包含 50% 促销项目的推荐会返回属于促销项目的一半项目。

这篇文章将引导您完成在 Amazon Personalize 的推荐中定义和应用促销的过程,以确保来自活动或推荐器的结果包含您希望用户看到的特定项目。 对于这个例子,我们创建了一个零售推荐器并使用 CATEGORY_L2 as halloween,对应于万圣节装饰品。 此用例的代码示例可在 GitHub上.

先决条件

要使用促销活动,您首先要在 Amazon Personalize 控制台上设置一些 Amazon Personalize 资源。 创建您的数据集组,加载您的数据,并训练推荐人。 有关完整说明,请参阅 入门.

  1. 创建数据集组.
  2. 创建 Interactions 使用以下数据集 架构:
    {
        "type": "record",
        "name": "Interactions",
        "namespace": "com.amazonaws.personalize.schema",
        "fields": [
            {
                "name": "USER_ID",
                "type": "string"
            },
            {
                "name": "ITEM_ID",
                "type": "string"
            },
            {
                "name": "TIMESTAMP",
                "type": "long"
            },
            {
                "name": "EVENT_TYPE",
                "type": "string"
            }
        ],
        "version": "1.0"
    }

  3. 导入交互数据 到 Amazon Personalize 从 亚马逊简单存储服务 (亚马逊 S3)。 对于这个例子,我们使用以下 资料档案. 我们根据代码中的代码生成了合成数据 零售示范店项目. 请参阅 GitHub 存储库以了解有关数据和潜在用途的更多信息。
  4. 创建 Items 使用以下架构的数据集:
    {
        "type": "record",
        "name": "Items",
        "namespace": "com.amazonaws.personalize.schema",
        "fields": [
            {
                "name": "ITEM_ID",
                "type": "string"
            },
            {
                "name": "PRICE",
                "type": "float"
            },
            {
                "name": "CATEGORY_L1",
                "type": ["string"],
                "categorical": true
            },
            {
                "name": "CATEGORY_L2",
                "type": ["string"],
                "categorical": true
            },
            {
                "name": "GENDER",
                "type": ["string"],
                "categorical": true
            }
        ],
        "version": "1.0"
    }

  5. 将商品数据从 Amazon S3 导入到 Amazon Personalize。 对于这个例子,我们使用以下 资料档案,根据代码中的 零售示范店项目.有关从 Amazon S3 格式化和导入您的交互和项目数据的更多信息,请参阅 导入批量记录.
  6. 创建推荐人. 在这个例子中,我们创建了一个 “为你推荐”推荐人.

为您的促销活动创建过滤器

现在您已经设置了 Amazon Personalize 资源,您可以创建一个 过滤 为您的促销选择项目。

您可以创建一个静态过滤器,其中所有变量都在过滤器创建时进行硬编码。 例如,要添加所有具有 CATEGORY_L2 as halloween,使用以下过滤器表达式:

INCLUDE ItemID WHERE Items.CATEGORY_L2 IN ("halloween")

您还可以创建动态过滤器。 当您请求推荐时,动态过滤器可实时定制。 要创建动态过滤器,您可以使用占位符参数而不是固定值来定义过滤器表达式条件。 这允许您通过将过滤器应用于推荐请求来选择要过滤的值,而不是在创建表达式时。 当您调用 获取推荐 or 获取个性化排名 API操作,或者作为通过批处理方式生成建议时输入数据的一部分 批量推断工作.

例如,要选择应用过滤器进行推理调用时所选类别中的所有项目,请使用以下过滤器表达式:

INCLUDE ItemID WHERE Items.CATEGORY_L2 IN ($CATEGORY)

您可以使用前面的DSL在Amazon Personalize控制台上创建可定制的过滤器。 完成以下步骤:

  1. 在Amazon Personalize控制台上 筛选 页面,选择 创建过滤器.
  2. 针对 过滤器名称,输入过滤器的名称(对于这篇文章,我们输入 category_filter).
  3. 选择 构建表达 或手动添加表达式以创建自定义过滤器。
  4. 构建表达式“包括 ItemIDItems.CATEGORY_L2 IN $CATEGORY“为了 , 你输入一个值 $ 加上一个与您的属性名称相似且易于记忆的参数名称(对于此示例, $CATEGORY).
  5. 或者,要将其他表达式与您的过滤器链接,请选择加号。
  6. 要添加其他过滤器表达式,请选择 添加表达.
  7. 创建过滤器.
    通过使用 Amazon Personalize PlatoBlockchain 数据智能的业务规则推广特定项目来自定义您的推荐。 垂直搜索。 哎。

您也可以通过 createFilter Amazon Personalize中的API。 有关更多信息,请参见 创建过滤器.

将促销应用于您的推荐

应用 过滤 获得建议是根据特定标准调整建议的好方法。 但是,使用过滤器直接将过滤器应用于返回的所有推荐。 使用促销时,您可以选择与促销项目相对应的推荐百分比,允许您以对您的业务用例有意义的比例混合和匹配个性化推荐和匹配每个用户促销标准的最佳项目。

以下示例代码是针对 GetRecommendations 使用 API 为用户获取推荐 “为你推荐” 推荐人:

{
    "recommenderArn" = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20
}

此请求返回指定用户的个性化推荐。 在目录中的项目中,这些是与用户最相关的 20 个项目。

我们可以执行相同的调用并应用过滤器以仅返回与过滤器匹配的项目。 以下示例代码是 GetRecommendations 使用“为您推荐”推荐器为用户获取推荐并应用 动态过滤器 只返回具有 CATEGORY_L2 as halloween:

{
    "recommenderArn" = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20,
    filterArn = "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
    filterValues={ "CATEGORY": ""halloween""}
}

此请求为指定用户返回个性化推荐 CATEGORY_L2 as halloween. 在目录中的项目中,这些是最相关的 20 个项目 CATEGORY_L2 as halloween 为用户。

如果您希望某个百分比的项目具有您想要推广的属性,而其余的项目是目录中所有项目中与该用户最相关的项目,则可以使用促销。 我们可以打同样的电话并申请促销。 以下示例代码是 GetRecommendations 使用“为您推荐”推荐器为用户获取推荐并应用促销以包含一定百分比的相关项目的 API CATEGORY_L2 as halloween:

{
    recommenderArn = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20,
    promotions = [{
        "name" : "halloween_promotion",
        "percentPromotedItems" : 20,
        "filterArn": "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
        "filterValues": {
            "CATEGORY" : ""halloween""
        }
    }]
}

此请求返回与促销中指定的过滤器匹配的 20% 的推荐:具有 CATEGORY_L2 as halloween; 以及 80% 的个性化推荐给指定用户,是目录中的项目中与用户最相关的项目。

您可以使用与促销相结合的过滤器。 顶级参数块中的过滤器仅适用于非提升项目。

选择促销项目的过滤器在 promotions 参数块。 以下示例代码是 GetRecommendations API 使用“为您推荐”推荐器为用户获取推荐,并使用我们使用过两次的动态过滤器。 第一个过滤器适用于非促销项目,选择具有 CATEGORY_L2 as decorative,第二个过滤器适用于促销,促销商品 CATEGORY_L2 as halloween:

{
    recommenderArn = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20,
    "filterArn": "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
    "filterValues": {
        "CATEGORY" : ""decorative""
    }
    promotions = [{
        "name" : "halloween_promotion",
        "percentPromotedItems" : 20,
        "filterArn": "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
        "filterValues": {
            "CATEGORY" : ""halloween""
        }
    }]
}

此请求返回与促销中指定的过滤器匹配的 20% 的推荐:具有 CATEGORY_L2 as halloween. 其余 80% 的推荐项目是针对指定用户的个性化推荐 CATEGORY_L2 as decorative. 这些是目录中的项目中与用户最相关的项目 CATEGORY_L2 as decorative.

清理

确保按照本文中概述的步骤清理您在帐户中创建的所有未使用的资源。 您可以通过 AWS管理控制台 或使用 Python SDK。

总结

添加 节假日  在 Amazon Personalize 中,您可以通过包含您想要明确提高可见性和参与度的项目来为每个用户自定义推荐。 促销还允许您指定推荐项目中应促销项目的百分比,从而定制推荐以满足您的业务目标,无需额外费用。 您可以使用“用户个性化”和“类似项目”配方以及用例优化推荐器的推荐来使用促销。

有关 Amazon Personalize 的更多信息,请参阅 什么是亚马逊个性化?


关于作者

通过使用 Amazon Personalize PlatoBlockchain 数据智能的业务规则推广特定项目来自定义您的推荐。 垂直搜索。 哎。 安娜·格鲁布勒 是 AWS 的解决方案架构师。

通过使用 Amazon Personalize PlatoBlockchain 数据智能的业务规则推广特定项目来自定义您的推荐。 垂直搜索。 哎。亚历克斯·伯克洛 是 AWS 的解决方案架构师。 她专注于帮助客户应用机器学习和数据分析来解决媒体和娱乐行业的问题。 在空闲时间,她喜欢与家人共度时光,并在当地的滑雪场担任滑雪巡逻员。

通过使用 Amazon Personalize PlatoBlockchain 数据智能的业务规则推广特定项目来自定义您的推荐。 垂直搜索。 哎。利亚姆·莫里森 是 AWS 的解决方案架构师经理。 他领导着一个专注于营销情报服务的团队。 在过去的 5 年里,他一直专注于机器学习在媒体和娱乐领域的实际应用,帮助客户实现个性化、自然语言处理、计算机视觉等。

时间戳记:

更多来自 AWS机器学习