在推荐系统的重排阶段,主要目标是平衡推荐质量(相关性)与用户体验(多样性)。以下是针对您提供的配置项的具体说明(在真实业务中未必合理,仅作为本文配置案例使用):
1、对叶子类目和品牌重排打散
为了防止同一类目或同一品牌的商品过于集中,导致用户视觉疲劳,我们通过“滑动窗口”机制进行打散。
核心逻辑:在指定的窗口大小(
WindowSize)内,限制特定维度的商品出现次数(FrequencySize)。参数详情:
DiversitySize (20):仅对推荐列表前 20 个商品执行打散逻辑,保证头部流量的体验。
规则 A (叶子类目打散):
维度:
category_id(后台一级类目/叶子类目)。约束:在连续的 5 个商品中,同一个类目的商品最多只能出现 1 次。
规则 B (品牌打散):
维度:
brand_id(品牌 ID)。约束:在连续的 4 个商品中,同一个品牌的商品最多只能出现 1 次。
配置建议:若您的商品库较小或特定类目权重极高,过严的打散(如 WindowSize 过大)可能会导致整体点击率下降。建议参考 PAI-Rec 官方文档 了解更多重排插件细节。
{
"Name": "CategoryDiversityRuleSort",
"SortType": "DiversityRuleSort",
"DiversitySize": 20,
"DiversityRules": [
{
"Dimensions": [
"category_id"
],
"WindowSize": 5,
"FrequencySize": 1
},
{
"Dimensions": [
"brand_id"
],
"WindowSize": 4,
"FrequencySize": 1
}
]
}2、根据用户性别和商品性别匹配的时候加权
通过配置规则,对符合特定条件的商品进行分值提权,以实现精准的人货匹配。
核心逻辑:当用户的性别标签与商品的性别属性一致时,动态提高该商品的最终排序分。
参数详情:
判断条件 (
Conditions):item.gender != nil且user.gender != nil:确保双方性别数据不为空。item.gender == user.gender:匹配用户与商品的性别。
提权公式 (
Expression):score * 1.5。效果:匹配成功的商品,其排序分将提升 50%,显著增加其进入推荐列表前排的概率。
{
"Name": "BoostScoreSort",
"SortType": "BoostScoreSort",
"Debug": false,
"BoostScoreConditions": [
{
"Conditions": [
{
"Operator": "expression",
"Value": "item.gender!= nil and user.gender != nil and item.gender==user.gender"
}
],
"Expression": "score * 1.5"
}
]
}该文章对您有帮助吗?