You need to enable JavaScript to run this app.
导航
使用打散规则,提高推荐结果的多样性
最近更新时间:2023.09.08 14:37:42首次发布时间:2023.06.05 14:57:11
我的收藏
有用
有用
无用
无用

本文将向您介绍在不同场景下、如何使用各种打散规则,以提高推荐结果的多样性,保证用户使用体验。

背景介绍

打散规则即通过配置不同展示窗口下展示的物品数,限制物品展示分布,保证推荐物品的丰富度。

应用场景

场景1:对于有同一属性的物品做打散
例如同一种分类或同一个作者的文章,要求在最终返回结果中不连续出现。

场景2:对于某一路召回的物品做打散
即对于来源于同一路召回的物品做打散,要求其在最终返回结果中不连续出现。

场景3:对于保量的物品做打散
需要做保量的物品,可能对用户体验有一些损害,为了避免保量的物品加权后过于集中,需要对满足保量条件的物品进行打散。

使用方法

功能配置入口

在【策略管理】-【内置规则】中,创建打散规则,并在 在线服务 中选用。
图片

使用方法说明

场景1:对于有同一属性的物品做打散
打散规则支持以下两种方式:
1)维度打散:选择某个维度,控制同一维度下的物品在指定窗口内出现的频次。
例如某个场景下,要求同一个一级类目的物品在最终返回结果中,连续10个物品最多展示4个,并且要求前5个返回的物品中最多出现1个,可以按照下图配置:
图片

打散维度可选择的数据类型和对应的处理逻辑如下:字符串、数值和数组。

数据类型

打散规则生效情况示例

字符串

商品A商品类目='1'
商品B商品类目='1'
商品C商品类目='2'
按“商品类目”维度打散时,商品A和商品B会因为值都是 '1' 而生效打散规则。

数值

商品A商品类目ID=1
商品B商品类目ID=1
商品C商品类目ID=2
按“商品类目ID”维度打散时,商品A和商品B会因为值都是 1 而生效打散规则。

数组

商品A商品标签=['a','b','c']
商品B商品标签=['a','c','d']
商品C商品标签=['d','e','f']
商品D商品标签=['d','g','h']
按“商品标签”维度打散时,系统会按数组中的每个相同的元素进行打散。以上方数据为例,商品A和商品B会因为都包含 'a' 而生效打散规则,商品B、商品C和商品D会因为都包含 'd' 而生效打散规则。需要注意的是,当选择的打散维度是数组类型时,有可能会因为规则复杂而出现冲突,导致部分情况下打散规则并不会生效。

关于跨刷打散的说明:

  • 跨刷打散是指打散规则会在每次请求的结果中生效,并且跨请求的推荐结果也满足打散规则。开启后,推荐结果将满足跨刷打散;关闭时,仅每次请求的结果满足打散规则,跨请求的推荐结果不做打散限制。强烈建议当打散窗口大于请求结果数量时,启用跨刷打散,否则打散规则会失效。
  • 跨刷打散只适用于连续窗口打散,不适用于 TOPN 窗口打散。
  • 跨刷时间上限30min,两次请求时间超过30min则不进行跨刷打散;数量上限200个,超过200个物品后将不进行跨刷打散。

例如:最终请求返回5个物品,要求连续4个物品不出现同一维度
图片

2)表达式打散:根据某个维度配置筛选条件做打散,并控制满足该条件的内容在指定窗口内出现的频次
例如某个场景下,要求“一级类目=攻略“的物品在最终返回结果中,连续10个物品最多展示4个、最少展示3个,则可以按照下图配置:
图片
优先级:

  • 优先级的作用:配置的多个打散规则不能都满足时,优先满足哪个,值越小优先级越高。
  • 优先级主要是对于配置“最少展示x个”的条件生效;对于配置“最多展示x个”的条件,不受优先级的影响。

场景2:对于某一路召回的物品做打散
同使用字段维度做打散,支持维度打散和表达式打散两种方式,使用方式也同上,配置示例如下:
图片

场景3:对于保量的物品做打散
支持表达式打散方式,选择指定的保量规则,控制命中该保量规则物品在指定窗口内出现的频次,配置示例如下:
图片

配置时注意以下几点:

  1. 配置打散规则时,要考虑实际数据情况,不要配置太过严格的规则,规则太过严格可能会导致都失效。
  2. 规则之间可能会发生冲突,建议基于调试结果逐步调整规则。