提升和掩埋媒体推荐

本页介绍了如何使用提升/埋没投放控制功能来更改模型返回的媒体推荐内容的排名位置。

提升/埋没控制功能可在模型返回推荐内容后更改推荐内容的顺序。您可以对结果应用过滤表达式,以确定要提升或掩埋哪些推荐,然后应用介于 -1 到 +1 之间的提升值。增强值为 +1 时,系统会对建议进行最大的增强,将其置于返回的建议顶部。值为 -1 表示将相应建议埋在返回的建议列表底部。

提升/掩埋是一种后置模型控件。首先,推荐模型会返回一个推荐列表。然后,系统会使用投放配置将提升/掩埋控件应用于该列表,以调整推荐内容的排名。提升/隐藏控制不会添加或删除推荐内容,但会控制向用户显示推荐内容的顺序。

提升/掩埋建议与过滤建议

“提升/忽略”是一种软性过滤条件。而过滤推荐中介绍的针对推荐的常规过滤器属于硬性过滤器。

如果您对推荐内容应用了硬性过滤条件,则永远不会看到被过滤掉的文档。不过,使用软过滤条件时,您不会从推荐列表中移除文档。而是用于确定哪些文档应在返回的推荐列表中排名更高或更低。

避免让推荐模型过载

应用提升或埋没过滤条件时,建议使用接近零的小值。接近 +1 或 -1 的值可能会使推荐模型过载,因此模型应用的推荐排名不会反映在用户看到推荐内容的顺序中。

例如,如果您使用“+1”提升动画电影的排名,用户在推荐列表顶部只会看到动画电影;这会将模型高度推荐的非动画电影推到列表底部,用户可能看不到这些电影。

降级与下架

降级和隐藏都会将推荐内容移至返回的推荐列表中的较低位置(否则,它们会显示在较高位置)。

不过,降级是根据内容的发布时间或用户是否已观看过部分内容来决定的。如需详细了解降级功能,请参阅将媒体推荐降位

隐藏适用于过滤器标识的内容。过滤条件可以是架构中标记为可过滤的任何数据字段。如需了解推荐过滤条件的一般信息,包括如何将字段标记为可过滤,请参阅过滤建议

提升/掩埋控件和投放配置简介

每个提升/埋没投放控制都由过滤条件和提升值组成。例如,一个提升控件将标题中包含“圣诞节”字样的电影的值设为 0.1,另一个将恐怖电影的值设为 -0.2

创建一个或多个提升/掩埋控件后,您可以将这些控件添加到投放配置中。创建任何 Vertex AI Search 应用时,系统也会自动创建一个默认的服务配置。系统会在投放时引用投放配置,以确定应用生成的结果。除了提升/埋没控件之外,投放配置还可以包含其他类型的控件,例如多样化降级控件。

您可以在调用 recommend 方法时应用投放配置。然后,系统会将广告投放配置中的所有控件应用于方法调用返回的推荐内容。

此外,您可以将多个投放配置与您的应用相关联。这样,您就可以在不同情况下应用不同的控件组合。例如,如果推荐请求来自儿童的账号,则会提升适合儿童的类别的电影,并隐藏不适合儿童的电影。同样,如果请求来自标记为“成人”的账号,请提升深受成人喜爱的影视内容或类别的曝光度。或者,您也可以选择为不同的地理位置设置不同的投放配置,并根据地区热门内容来提升/抑制内容的展示机会。如需详细了解投放配置,请参阅创建和管理媒体投放配置

增强值可叠加

如果您将多个投放控件与一个投放配置相关联,则提升和埋没效果会叠加。

例如,如果您将儿童动画电影的权重提高 0.3,将动画冒险电影的权重提高 0.4,那么被归类为儿童动画冒险电影的电影的权重将提高 0.7。

同样,如果在同一投放配置中,一部恐怖电影被一个控制组提升了 0.2,被另一个控制组埋没了 -0.3,那么最终结果就是该电影的展示次数会减少 0.1。

提升值的总和可以超过 +1。例如,如果控制项将儿童动画电影的权重提高了 0.6,将动画冒险电影的权重提高了 0.5,那么儿童动画冒险电影的权重将提高 1.1。

过滤条件示例

以下是一些可用于提升或忽略媒体推荐内容的过滤条件示例:

  • 宣传片名中带有“圣诞”字样的电影。

    filter: "title: ANY(\"Christmas\")"

  • 提升面向儿童的动画电影的推广效果:

    filter: "categories: ANY(\"animation\") AND categories: ANY(\"children\")"

  • 将恐怖电影列入“不显示”类别:

    filter: "categories: ANY(\"horror\", \"thriller\", \"crime\")

这些值必须完全匹配。例如,标题中包含“圣诞节”字样的电影不会获得提升。

可过滤字段的限制

以下限制适用于提升/埋没投放控件:

  • 只有类型为字符串和布尔值的属性字段才能在用于提升/隐藏的过滤表达式中使用。

  • 您无法对嵌套多层的字段进行过滤。例如,您可以按 persons.name 过滤,但无法按字段 persons.name.stage(如果存在此类字段)过滤。

准备工作

  • 确保您已创建媒体推荐应用和数据存储区。 如需了解详情,请参阅创建媒体推荐应用和数据存储区

  • 可选:如果您不想使用默认的广告投放配置,请按照创建广告投放配置中的第 1-5 步和第 7 步创建新的广告投放配置。如果您的应用已发布,Google 建议您先创建一个单独的投放配置来测试提升/埋没效果,然后再将投放控制应用于生产环境投放配置。

  • 确保您要在提升/埋没控制中使用的所有字段在架构中都标记为可过滤。如需了解详情,请参阅配置字段设置。另请参阅过滤限制

提升或掩埋推荐内容

此过程介绍了如何创建提升/埋没投放控制功能,以及如何将这些控制功能与投放配置相关联。

将控件添加到投放配置后,您可以在调用 servingConfigs.recommend 方法时指定投放配置,提升/掩埋控件将用于影响返回的推荐顺序。

REST

如需创建提升/掩埋投放控件并将其添加到投放配置,请按以下步骤操作:

  1. 找到您的应用 ID。如果您已经有应用 ID,请跳至下一步。

    1. 在 Google Cloud 控制台中,前往 Agent Builder 页面。

      前往“应用”

    2. 应用页面上,找到应用的名称,然后从 ID 列中获取应用的 ID。

  2. 找到您的数据存储区 ID。如果您已拥有数据存储区 ID,请跳至下一步。

    1. 在 Google Cloud 控制台中,前往 Agent Builder 页面,然后在导航菜单中点击数据存储区

      前往“数据存储区”页面

    2. 点击您的数据存储区的名称。

    3. 在数据存储区的数据页面上,获取数据存储区 ID。

  3. 创建增强控制:

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
          "displayName": "CONTROL_DISPLAY_NAME",
              "solutionType": "SOLUTION_TYPE_RECOMMENDATION",
              "boostAction": {
                   "dataStore": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID",
                   "boost" :  BOOST_VALUE,
                   "filter": "FILTER"
              }
        }'
    
    • PROJECT_ID:您的 Google Cloud 项目的 ID。

    • CONTROL_DISPLAY_NAME:用于标识控件的简单易懂的名称。必须是 UTF-8 字符串,长度不得超过 128 个字符。

    • CONTROL_ID:控件的唯一标识符(在数据存储区内)。ID 可以包含小写字母、数字、连字符和下划线。

    • APP_ID:Vertex AI Search 应用的 ID。

    • DATA_STORE_ID:Vertex AI Search 数据存储区的 ID。

    • BOOST_VALUE:介于 -1 和 1 之间的浮点数。当该值为负时,系统会降低推荐内容的排名(推荐内容会显示在结果的下方)。当值为正时,系统会提升推荐内容的排名(即在搜索结果中显示在更高的位置)。

    • FILTER:过滤表达式,用于描述要提升或埋没哪些文档。如需详细了解如何制定过滤条件表达式,请参阅过滤条件表达式

  4. 针对您要应用于推荐内容的每个提升/埋没控件,重复第 3 步。例如,您可能需要一个用于提升儿童电影的提升控件 (boost-kids),以及一个用于埋没恐怖电影的埋没控件 (bury-horror)。

  5. 查找广告投放配置的 ID。如果您已拥有投放配置 ID,请跳至下一步。

    1. 在 Google Cloud 控制台中,前往 Agent Builder 页面。

      前往“应用”

    2. 应用页面上,点击应用的名称。

    3. 前往配置页面,然后点击投放标签页。

    4. ID 列获取广告投放配置 ID。

  6. 使用更新请求将新的增强型投放控件添加到投放配置中:

    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/CONFIG_ID?update_mask=boost_control_ids"}}" \
    -d '{
      "boostControlIds": ["CONTROL_ID"]
    }'
    
    • CONFIG_ID:您要向其中添加提升/埋没控件的投放配置的 ID。请参阅上一步。
  7. 等待 5 分钟,以便结果生效。

  8. 预览提升/掩埋控件的效果。请参阅获取媒体推荐