Просмотр исходного кода

Merge branch 'feature_20260125_zhaohaipeng_ros_model_auto_update' of algorithm/recommend-server into master

zhaohaipeng 1 неделя назад
Родитель
Сommit
34f19712dc

+ 2 - 11
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/strategy/RankStrategy4RegionMergeModelV565.java

@@ -109,13 +109,12 @@ public class RankStrategy4RegionMergeModelV565 extends RankStrategy4RegionMergeM
 
         // 4. 排序模型计算
         Map<String, Float> sceneFeatureMap = new HashMap<>(0);
-        List<RankItem> items = ScorerUtils.getScorerPipeline("feeds_score_config_fm_xgb_20260116.conf").scoring(sceneFeatureMap, userFeatureMap, userFeatureMap, rankItems);
+        List<RankItem> items = ScorerUtils.getScorerPipeline("feeds_score_config_fm_xgb_20260123.conf").scoring(sceneFeatureMap, userFeatureMap, userFeatureMap, rankItems);
 
         // 5. 排序公式特征
         double xgbRovNegRate = mergeWeight.getOrDefault("xgbRovNegRate", 0.059);
         double xgbNorPowerWeight = mergeWeight.getOrDefault("xgbNorPowerWeight", 1.22);
         double xgbNorPowerExp = mergeWeight.getOrDefault("xgbNorPowerExp", 1.15);
-        double rosMinusAlpha = mergeWeight.getOrDefault("rosMinusAlpha", 1.1);
         Map<String, Map<String, String>> vid2MapFeature = this.getVideoRedisFeature(vids, "redis:vid_hasreturn_vor:");
 
         // 获取权重
@@ -139,7 +138,6 @@ public class RankStrategy4RegionMergeModelV565 extends RankStrategy4RegionMergeM
             double fmRov = restoreScore(fmRovOrigin, xgbRovNegRate);
             item.getScoresMap().put("fmRov", fmRov);
             double hasReturnRovScore = Double.parseDouble(vid2MapFeature.getOrDefault(item.getVideoId() + "", new HashMap<>()).getOrDefault("rov", "0"));
-            double newRosMinusScore = scalaRosMinusScore(hasReturnRovScore, rosMinusAlpha);
             item.getScoresMap().put("hasReturnRovScore", hasReturnRovScore);
             double norXGBScore = item.getScoresMap().getOrDefault("NorXGBScore", 0d);
             double newNorXGBScore = norPowerCalibration(xgbNorPowerWeight, xgbNorPowerExp, norXGBScore);
@@ -151,7 +149,7 @@ public class RankStrategy4RegionMergeModelV565 extends RankStrategy4RegionMergeM
             item.getScoresMap().put("scoreCoefficient", scoreCoefficient);
             item.getScoresMap().put("cate2CoefficientDenominator", cate2CoefficientDenominator);
 
-            score = fmRov * (0.1 + newRosMinusScore) * (0.1 + vor) * (1 + scoreCoefficient / cate2CoefficientDenominator);
+            score = fmRov * (0.1 + newNorXGBScore) * (0.1 + vor) * (1 + scoreCoefficient / cate2CoefficientDenominator);
 
             Video video = item.getVideo();
             video.setScore(score);
@@ -339,13 +337,6 @@ public class RankStrategy4RegionMergeModelV565 extends RankStrategy4RegionMergeM
         return baseInfo;
     }
 
-    private double scalaRosMinusScore(double rosMinusScore, double alpha) {
-        if (rosMinusScore > 0) {
-            return Math.pow(rosMinusScore, alpha);
-        }
-        return rosMinusScore;
-    }
-
     private double norPowerCalibration(double weight, double exp, double score) {
         double newScore = weight * Math.pow(score, exp);
         if (newScore > 100) {

+ 1 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/score/ScorerUtils.java

@@ -36,7 +36,7 @@ public final class ScorerUtils {
         ScorerUtils.init("feeds_score_config_fm_xgb_20250317.conf");
         ScorerUtils.init("feeds_score_config_fm_xgb_20250729.conf");
         ScorerUtils.init("feeds_score_config_fm_xgb_20260116.conf");
-        ScorerUtils.init("feeds_score_config_xgb_str_20250228.conf");
+        ScorerUtils.init("feeds_score_config_fm_xgb_20260123.conf");
         ScorerUtils.init("feeds_score_config_xgb_ros_20250311.conf");
         ScorerUtils.init("feeds_score_config_xgb_ros_binary_20250319.conf");
         ScorerUtils.init4Recall("feeds_recall_config_region_v1.conf");

+ 449 - 0
recommend-server-service/src/main/resources/feeds_score_config_fm_xgb_20260123.conf

@@ -0,0 +1,449 @@
+scorer-config = {
+  rov-score-config = {
+     scorer-name = "com.tzld.piaoquan.recommend.server.service.score.VlogRovFMScorer"
+     scorer-priority = 96
+     model-path = "zhangbo/model_fm_for_recsys_v2_str.txt"
+  }
+  nor-score-config = {
+    scorer-name = "com.tzld.piaoquan.recommend.server.service.score.NorXGBRegressionScorer"
+    scorer-priority = 97
+    model-path = "zhangbo/model_xgb_for_recsys_v8_nor.tar.gz"
+    param = {
+      localDir = "xgboost/recsys_v7_nor"
+      features = [
+      "b0_12h@return_1_uv",
+      "b0_12h@ros1_#",
+      "b0_12h@ros_#",
+      "b0_12h@ros_minus1_#",
+      "b0_12h@ros_minus_#",
+      "b0_12h@ros_n1_#",
+      "b0_12h@ros_n_#",
+      "b0_12h@ros_one",
+      "b0_12h@rovn1_#",
+      "b0_12h@rovn_#",
+      "b0_1h@return_1_uv",
+      "b0_1h@ros1_#",
+      "b0_1h@ros_#",
+      "b0_1h@ros_minus1_#",
+      "b0_1h@ros_minus_#",
+      "b0_1h@ros_n1_#",
+      "b0_1h@ros_n_#",
+      "b0_1h@ros_one",
+      "b0_1h@rovn1_#",
+      "b0_1h@rovn_#",
+      "b0_3h@return_1_uv",
+      "b0_3h@ros1_#",
+      "b0_3h@ros_#",
+      "b0_3h@ros_minus1_#",
+      "b0_3h@ros_minus_#",
+      "b0_3h@ros_n1_#",
+      "b0_3h@ros_n_#",
+      "b0_3h@ros_one",
+      "b0_3h@rovn1_#",
+      "b0_3h@rovn_#",
+      "b0_6h@return_1_uv",
+      "b0_6h@ros1_#",
+      "b0_6h@ros_#",
+      "b0_6h@ros_minus1_#",
+      "b0_6h@ros_minus_#",
+      "b0_6h@ros_n1_#",
+      "b0_6h@ros_n_#",
+      "b0_6h@ros_one",
+      "b0_6h@rovn1_#",
+      "b0_6h@rovn_#",
+      "b10_12h@is_share",
+      "b10_12h@return_n_uv",
+      "b10_12h@ros_#",
+      "b10_12h@ros_minus_#",
+      "b10_12h@rovn_#",
+      "b10_12h@str",
+      "b10_12h@str_plus",
+      "b10_1h@is_share",
+      "b10_1h@return_n_uv",
+      "b10_1h@ros_#",
+      "b10_1h@ros_minus_#",
+      "b10_1h@rovn_#",
+      "b10_1h@str",
+      "b10_1h@str_plus",
+      "b11_12h@is_share",
+      "b11_12h@return_n_uv",
+      "b11_12h@ros_#",
+      "b11_12h@ros_minus_#",
+      "b11_12h@rovn_#",
+      "b11_12h@str",
+      "b11_12h@str_plus",
+      "b13_1h@exp",
+      "b13_1h@is_share",
+      "b13_1h@ros_#",
+      "b13_1h@ros_minus_#",
+      "b13_1h@ros_n_#",
+      "b13_1h@ros_one",
+      "b13_1h@rovn_#",
+      "b13_1h@share_cnt",
+      "b13_1h@str",
+      "b13_1h@str_plus",
+      "b13_24h@exp",
+      "b13_24h@is_share",
+      "b13_24h@ros_#",
+      "b13_24h@ros_minus_#",
+      "b13_24h@ros_n_#",
+      "b13_24h@ros_one",
+      "b13_24h@rovn_#",
+      "b13_24h@share_cnt",
+      "b13_24h@str",
+      "b13_24h@str_plus",
+      "b13_3h@exp",
+      "b13_3h@is_share",
+      "b13_3h@ros_#",
+      "b13_3h@ros_minus_#",
+      "b13_3h@ros_n_#",
+      "b13_3h@ros_one",
+      "b13_3h@rovn_#",
+      "b13_3h@share_cnt",
+      "b13_3h@str",
+      "b13_3h@str_plus",
+      "b13_72h@exp",
+      "b13_72h@is_share",
+      "b13_72h@ros_#",
+      "b13_72h@ros_minus_#",
+      "b13_72h@ros_n_#",
+      "b13_72h@ros_one",
+      "b13_72h@rovn_#",
+      "b13_72h@share_cnt",
+      "b13_72h@str",
+      "b13_72h@str_plus",
+      "b1_1h@ros_#",
+      "b1_1h@ros_minus_#",
+      "b1_1h@ros_n_#",
+      "b1_1h@ros_one",
+      "b1_1h@rovn_#",
+      "b1_24h@ros_#",
+      "b1_24h@ros_minus_#",
+      "b1_24h@ros_n_#",
+      "b1_24h@ros_one",
+      "b1_24h@rovn_#",
+      "b1_3h@ros_#",
+      "b1_3h@ros_minus_#",
+      "b1_3h@ros_n_#",
+      "b1_3h@ros_one",
+      "b1_3h@rovn_#",
+      "b1_72h@ros_#",
+      "b1_72h@ros_minus_#",
+      "b1_72h@ros_n_#",
+      "b1_72h@ros_one",
+      "b1_72h@rovn_#",
+      "b2_24h@return_n_uv",
+      "b2_24h@ros_#",
+      "b2_24h@ros_minus_#",
+      "b2_24h@ros_n_#",
+      "b2_24h@ros_one",
+      "b2_24h@rovn_#",
+      "b2_3h@return_n_uv",
+      "b2_3h@ros_#",
+      "b2_3h@ros_minus_#",
+      "b2_3h@ros_n_#",
+      "b2_3h@ros_one",
+      "b2_3h@rovn_#",
+      "b3_24h@is_share",
+      "b3_24h@return_n_uv",
+      "b3_24h@ros_#",
+      "b3_24h@ros_minus_#",
+      "b3_24h@ros_n_#",
+      "b3_24h@ros_one",
+      "b3_24h@rovn_#",
+      "b3_24h@str",
+      "b3_24h@str_plus",
+      "b3_72h@is_share",
+      "b3_72h@return_n_uv",
+      "b3_72h@ros_#",
+      "b3_72h@ros_minus_#",
+      "b3_72h@ros_n_#",
+      "b3_72h@ros_one",
+      "b3_72h@rovn_#",
+      "b3_72h@str",
+      "b3_72h@str_plus",
+      "b4_12h@is_share",
+      "b4_12h@return_n_uv",
+      "b4_12h@ros_#",
+      "b4_12h@ros_minus_#",
+      "b4_12h@ros_n_#",
+      "b4_12h@ros_one",
+      "b4_12h@rovn_#",
+      "b4_3h@is_share",
+      "b4_3h@return_n_uv",
+      "b4_3h@ros_#",
+      "b4_3h@ros_minus_#",
+      "b4_3h@ros_n_#",
+      "b4_3h@ros_one",
+      "b4_3h@rovn_#",
+      "b5_12h@exp",
+      "b5_12h@is_share",
+      "b5_12h@return_n_uv",
+      "b5_12h@ros_#",
+      "b5_12h@ros_minus_#",
+      "b5_12h@ros_n_#",
+      "b5_12h@ros_one",
+      "b5_12h@rovn_#",
+      "b5_12h@share_cnt",
+      "b5_12h@str",
+      "b5_12h@str_plus",
+      "b5_1h@exp",
+      "b5_1h@is_share",
+      "b5_1h@return_n_uv",
+      "b5_1h@ros_#",
+      "b5_1h@ros_minus_#",
+      "b5_1h@ros_n_#",
+      "b5_1h@ros_one",
+      "b5_1h@rovn_#",
+      "b5_1h@share_cnt",
+      "b5_1h@str",
+      "b5_1h@str_plus",
+      "b5_24h@exp",
+      "b5_24h@is_share",
+      "b5_24h@return_n_uv",
+      "b5_24h@ros_#",
+      "b5_24h@ros_minus_#",
+      "b5_24h@ros_n_#",
+      "b5_24h@ros_one",
+      "b5_24h@rovn_#",
+      "b5_24h@share_cnt",
+      "b5_24h@str",
+      "b5_24h@str_plus",
+      "b5_3h@exp",
+      "b5_3h@is_share",
+      "b5_3h@return_n_uv",
+      "b5_3h@ros_#",
+      "b5_3h@ros_minus_#",
+      "b5_3h@ros_n_#",
+      "b5_3h@ros_one",
+      "b5_3h@rovn_#",
+      "b5_3h@share_cnt",
+      "b5_3h@str",
+      "b5_3h@str_plus",
+      "b5_6h@exp",
+      "b5_6h@is_share",
+      "b5_6h@return_n_uv",
+      "b5_6h@ros_#",
+      "b5_6h@ros_minus_#",
+      "b5_6h@ros_n_#",
+      "b5_6h@ros_one",
+      "b5_6h@rovn_#",
+      "b5_6h@share_cnt",
+      "b5_6h@str",
+      "b5_6h@str_plus",
+      "b5_72h@exp",
+      "b5_72h@is_share",
+      "b5_72h@return_n_uv",
+      "b5_72h@ros_#",
+      "b5_72h@ros_minus_#",
+      "b5_72h@ros_n_#",
+      "b5_72h@ros_one",
+      "b5_72h@rovn_#",
+      "b5_72h@share_cnt",
+      "b5_72h@str",
+      "b5_72h@str_plus",
+      "b6_1h@is_share",
+      "b6_1h@return_n_uv",
+      "b6_1h@ros_#",
+      "b6_1h@ros_minus_#",
+      "b6_1h@ros_n_#",
+      "b6_1h@ros_one",
+      "b6_1h@rovn_#",
+      "b6_1h@str",
+      "b6_1h@str_plus",
+      "b6_24h@is_share",
+      "b6_24h@return_n_uv",
+      "b6_24h@ros_#",
+      "b6_24h@ros_minus_#",
+      "b6_24h@ros_n_#",
+      "b6_24h@ros_one",
+      "b6_24h@rovn_#",
+      "b6_24h@str",
+      "b6_24h@str_plus",
+      "b7_1h@is_share",
+      "b7_1h@return_n_uv",
+      "b7_1h@ros_#",
+      "b7_1h@ros_minus_#",
+      "b7_1h@ros_n_#",
+      "b7_1h@ros_one",
+      "b7_1h@rovn_#",
+      "b7_1h@str",
+      "b7_1h@str_plus",
+      "b7_24h@is_share",
+      "b7_24h@return_n_uv",
+      "b7_24h@ros_#",
+      "b7_24h@ros_minus_#",
+      "b7_24h@ros_n_#",
+      "b7_24h@ros_one",
+      "b7_24h@rovn_#",
+      "b7_24h@str",
+      "b7_24h@str_plus",
+      "b7_3h@is_share",
+      "b7_3h@return_n_uv",
+      "b7_3h@ros_#",
+      "b7_3h@ros_minus_#",
+      "b7_3h@ros_n_#",
+      "b7_3h@ros_one",
+      "b7_3h@rovn_#",
+      "b7_3h@str",
+      "b7_3h@str_plus",
+      "b7_72h@is_share",
+      "b7_72h@return_n_uv",
+      "b7_72h@ros_#",
+      "b7_72h@ros_minus_#",
+      "b7_72h@ros_n_#",
+      "b7_72h@ros_one",
+      "b7_72h@rovn_#",
+      "b7_72h@str",
+      "b7_72h@str_plus",
+      "b8_1h@is_share",
+      "b8_1h@return_n_uv",
+      "b8_1h@ros_#",
+      "b8_1h@ros_minus_#",
+      "b8_1h@rovn_#",
+      "b8_1h@str",
+      "b8_1h@str_plus",
+      "b8_24h@is_share",
+      "b8_24h@return_n_uv",
+      "b8_24h@ros_#",
+      "b8_24h@ros_minus_#",
+      "b8_24h@rovn_#",
+      "b8_24h@str",
+      "b8_24h@str_plus",
+      "b8_3h@is_share",
+      "b8_3h@return_n_uv",
+      "b8_3h@ros_#",
+      "b8_3h@ros_minus_#",
+      "b8_3h@rovn_#",
+      "b8_3h@str",
+      "b8_3h@str_plus",
+      "b9_1h@is_share",
+      "b9_1h@return_n_uv",
+      "b9_1h@ros_#",
+      "b9_1h@ros_minus_#",
+      "b9_1h@rovn_#",
+      "b9_1h@str",
+      "b9_1h@str_plus",
+      "b9_24h@is_share",
+      "b9_24h@return_n_uv",
+      "b9_24h@ros_#",
+      "b9_24h@ros_minus_#",
+      "b9_24h@rovn_#",
+      "b9_24h@str",
+      "b9_24h@str_plus",
+      "b9_3h@is_share",
+      "b9_3h@return_n_uv",
+      "b9_3h@ros_#",
+      "b9_3h@ros_minus_#",
+      "b9_3h@rovn_#",
+      "b9_3h@str",
+      "b9_3h@str_plus",
+      "c1_168h@is_share",
+      "c1_168h@return_n_uv",
+      "c1_168h@ros_#",
+      "c1_168h@ros_minus_#",
+      "c1_168h@ros_n_#",
+      "c1_168h@ros_one",
+      "c1_168h@rovn_#",
+      "c1_168h@str",
+      "c1_168h@str_plus",
+      "c1_72h@is_share",
+      "c1_72h@return_n_uv",
+      "c1_72h@ros_#",
+      "c1_72h@ros_minus_#",
+      "c1_72h@ros_n_#",
+      "c1_72h@ros_one",
+      "c1_72h@rovn_#",
+      "c1_72h@str",
+      "c1_72h@str_plus",
+      "c5_tags_1d@avgscore",
+      "c5_tags_1d@maxscore",
+      "c5_tags_3d@avgscore",
+      "c5_tags_3d@maxscore",
+      "c5_tags_7d@avgscore",
+      "c5_tags_7d@maxscore",
+      "c6_tags_1d@avgscore",
+      "c6_tags_1d@maxscore",
+      "c6_tags_3d@avgscore",
+      "c6_tags_3d@maxscore",
+      "c6_tags_7d@avgscore",
+      "c6_tags_7d@maxscore",
+      "c9@m_r_uv",
+      "c9@m_s_cnt",
+      "c9@r_pv",
+      "c9@r_uv",
+      "c9@ros",
+      "c9@ros_minus",
+      "c9@ros_one",
+      "c9@s_cnt",
+      "c9@s_pv",
+      "c9_c1s@mu",
+      "c9_c1s@ros",
+      "c9_c1s@ros_minus",
+      "c9_c1s@ros_one",
+      "c9_c1s@rp",
+      "c9_c1s@ru",
+      "c9_c1s@sp",
+      "c9_c2s@mu",
+      "c9_c2s@ros",
+      "c9_c2s@ros_minus",
+      "c9_c2s@ros_one",
+      "c9_c2s@rp",
+      "c9_c2s@ru",
+      "c9_c2s@sp",
+      "c9_l1s@mu",
+      "c9_l1s@ros",
+      "c9_l1s@ros_minus",
+      "c9_l1s@sp",
+      "c9_l2s@mu",
+      "c9_l2s@ros",
+      "c9_l2s@ros_minus",
+      "c9_l2s@sp",
+      "c9_lrs@1@title",
+      "c9_lrs@1@ts",
+      "c9_lrs@1@uv",
+      "c9_lrs@2@title",
+      "c9_lrs@2@ts",
+      "c9_lrs@2@uv",
+      "c9_lss@1@cnt",
+      "c9_lss@1@title",
+      "c9_lss@1@ts",
+      "c9_lss@2@cnt",
+      "c9_lss@2@title",
+      "c9_lss@2@ts",
+      "c9_mrs@1@title",
+      "c9_mrs@1@ts",
+      "c9_mrs@1@uv",
+      "c9_mrs@2@title",
+      "c9_mrs@2@ts",
+      "c9_mrs@2@uv",
+      "c9_mss@1@cnt",
+      "c9_mss@1@title",
+      "c9_mss@1@ts",
+      "c9_mss@2@cnt",
+      "c9_mss@2@title",
+      "c9_mss@2@ts",
+      "d1@ros_cf_rank",
+      "d1@ros_cf_score",
+      "d1@rov_cf_rank",
+      "d1@rov_cf_score",
+      "d2@rank",
+      "d2@score",
+      "d3@exp",
+      "d3@return_n",
+      "d3@rovn",
+      "h@bit_rate",
+      "h@total_time",
+      "h@ts",
+      "hour",
+      "hr_sim@cate2",
+      "hr_sim@cate2_list",
+      "hr_sim@keywords",
+      "hr_sim@title",
+      "r@bit_rate",
+      "r@total_time",
+      "r@ts"
+      ]
+    }
+  }
+}