Преглед изворни кода

tweak: V536/V569 把 YearShareDkElements 召回从个性化挪到非个性化白名单

V536/V569 相对 V562 的实验差异点: dk_elements 召回的配额归属。
个性化 7→6 路, 非个性化 17→18 路, 总 23 路不变。
dk_elements 由抢 40% 个性化席位变为与其他 17 路争 60% 非个性化席位。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
yangxiaohui пре 2 недеља
родитељ
комит
b6d42083a9

+ 7 - 8
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/strategy/RankStrategy4RegionMergeModelV536.java

@@ -37,10 +37,9 @@ public class RankStrategy4RegionMergeModelV536 extends RankStrategy4RegionMergeM
     private FeatureService featureService;
 
     /**
-     * V536 个性化召回白名单 (7 路: V566 基础 6 路 + 1 路 dk_elements 行为路实验):召回 key 含 mid/uid,
-     * 依赖该用户行为信号。
-     * V536 实验路径: YearShareDkElements (用户近期 share 行为 join dk_elements)
+     * V536 个性化召回白名单 (6 路):召回 key 含 mid/uid,依赖该用户行为信号。
      * 注:YearReturnCate2 因线上效果不佳, 2026-06-04 起移到非个性化白名单。
+     * 注:YearShareDkElements 在 V536 中移到非个性化白名单 (相对 V562 的实验差异点)。
      */
     private static final Set<String> PERSONAL_RECALL_PUSH_FROMS = new HashSet<>(Arrays.asList(
             UserCate1RecallStrategy.PUSH_FORM,
@@ -48,13 +47,12 @@ public class RankStrategy4RegionMergeModelV536 extends RankStrategy4RegionMergeM
             Return1Cate2RosRecallStrategy.PUSH_FORM,
             Return1Cate2StrRecallStrategy.PUSH_FORM,
             YearShareCate1RecallStrategy.PUSH_FROM,
-            YearShareCate2RecallStrategy.PUSH_FROM,
-            YearShareDkElementsRecallStrategy.PUSH_FROM
+            YearShareCate2RecallStrategy.PUSH_FROM
     ));
 
     /**
-     * V536 非个性化召回白名单 (17 路):只依赖 headVid + 地域/品类/相似度(vid-vid CF 也归此类)。
-     * 含 5 路旧地域、新地域、城市、head province/cate、先验省份、return 相似、scene CF、YearReturnCate2。
+     * V536 非个性化召回白名单 (18 路):只依赖 headVid + 地域/品类/相似度(vid-vid CF 也归此类)。
+     * 含 5 路旧地域、新地域、城市、head province/cate、先验省份、return 相似、scene CF、YearReturnCate2、YearShareDkElements
      */
     private static final Set<String> NON_PERSONAL_RECALL_PUSH_FROMS = new HashSet<>(Arrays.asList(
             RegionHRecallStrategy.PUSH_FORM,
@@ -73,7 +71,8 @@ public class RankStrategy4RegionMergeModelV536 extends RankStrategy4RegionMergeM
             ReturnVideoRecallStrategy.PUSH_FORM,
             SceneCFRovnRecallStrategy.PUSH_FORM,
             SceneCFRosnRecallStrategy.PUSH_FORM,
-            YearReturnCate2RecallStrategy.PUSH_FROM
+            YearReturnCate2RecallStrategy.PUSH_FROM,
+            YearShareDkElementsRecallStrategy.PUSH_FROM
     ));
 
     /** PERSONAL ∪ NON_PERSONAL = 23 路。用于 fetchCoarseRankScores 跳过流量池等不参与截断的 vid。 */

+ 7 - 8
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/strategy/RankStrategy4RegionMergeModelV569.java

@@ -37,10 +37,9 @@ public class RankStrategy4RegionMergeModelV569 extends RankStrategy4RegionMergeM
     private FeatureService featureService;
 
     /**
-     * V569 个性化召回白名单 (7 路: V566 基础 6 路 + 1 路 dk_elements 行为路实验):召回 key 含 mid/uid,
-     * 依赖该用户行为信号。
-     * V569 实验路径: YearShareDkElements (用户近期 share 行为 join dk_elements)
+     * V569 个性化召回白名单 (6 路):召回 key 含 mid/uid,依赖该用户行为信号。
      * 注:YearReturnCate2 因线上效果不佳, 2026-06-04 起移到非个性化白名单。
+     * 注:YearShareDkElements 在 V569 中移到非个性化白名单 (相对 V562 的实验差异点)。
      */
     private static final Set<String> PERSONAL_RECALL_PUSH_FROMS = new HashSet<>(Arrays.asList(
             UserCate1RecallStrategy.PUSH_FORM,
@@ -48,13 +47,12 @@ public class RankStrategy4RegionMergeModelV569 extends RankStrategy4RegionMergeM
             Return1Cate2RosRecallStrategy.PUSH_FORM,
             Return1Cate2StrRecallStrategy.PUSH_FORM,
             YearShareCate1RecallStrategy.PUSH_FROM,
-            YearShareCate2RecallStrategy.PUSH_FROM,
-            YearShareDkElementsRecallStrategy.PUSH_FROM
+            YearShareCate2RecallStrategy.PUSH_FROM
     ));
 
     /**
-     * V569 非个性化召回白名单 (17 路):只依赖 headVid + 地域/品类/相似度(vid-vid CF 也归此类)。
-     * 含 5 路旧地域、新地域、城市、head province/cate、先验省份、return 相似、scene CF、YearReturnCate2。
+     * V569 非个性化召回白名单 (18 路):只依赖 headVid + 地域/品类/相似度(vid-vid CF 也归此类)。
+     * 含 5 路旧地域、新地域、城市、head province/cate、先验省份、return 相似、scene CF、YearReturnCate2、YearShareDkElements
      */
     private static final Set<String> NON_PERSONAL_RECALL_PUSH_FROMS = new HashSet<>(Arrays.asList(
             RegionHRecallStrategy.PUSH_FORM,
@@ -73,7 +71,8 @@ public class RankStrategy4RegionMergeModelV569 extends RankStrategy4RegionMergeM
             ReturnVideoRecallStrategy.PUSH_FORM,
             SceneCFRovnRecallStrategy.PUSH_FORM,
             SceneCFRosnRecallStrategy.PUSH_FORM,
-            YearReturnCate2RecallStrategy.PUSH_FROM
+            YearReturnCate2RecallStrategy.PUSH_FROM,
+            YearShareDkElementsRecallStrategy.PUSH_FROM
     ));
 
     /** PERSONAL ∪ NON_PERSONAL = 23 路。用于 fetchCoarseRankScores 跳过流量池等不参与截断的 vid。 */