在推薦系統的重排階段,主要目標是平衡推薦品質(相關性)與使用者體驗(多樣性)。以下是針對您提供的配置項的具體說明(在真實業務中未必合理,僅作為本文配置案例使用):
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"
}
]
}