ソースを参照

feat:修改str+校准方式

zhaohaipeng 3 ヶ月 前
コミット
9083ed86bb

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

@@ -336,19 +336,23 @@ public class RankStrategy4RegionMergeModelV562 extends RankStrategy4RegionMergeM
         // 5 排序公式特征
         Map<String, Map<String, String>> vid2MapFeature = this.getVideoRedisFeature(vids, "redis:fea_hasreturn_vor:");
         List<Video> result = new ArrayList<>();
+        double strPlusPow = mergeWeight.getOrDefault("str_plus_pow", 1.05);
         for (RankItem item : items) {
-            double score;
+
             double fmRovOrigin = item.getScoreRov();
             item.getScoresMap().put("fmRovOrigin", fmRovOrigin);
-            // double fmRov = restoreScore(fmRovOrigin);
-            double fmRov = this.fmRovRestoreAndCalibration(item);
+            double fmRov = restoreScore(fmRovOrigin);
+            item.getScoresMap().put("fmRovRestore", fmRov);
+            fmRov = Math.pow(fmRov, strPlusPow);
             item.getScoresMap().put("fmRov", fmRov);
+            item.getScoresMap().put("strPlusPow", strPlusPow);
+
             double hasReturnRovScore = this.calcHasReturnRovScore(vid2MapFeature.getOrDefault(item.getVideoId() + "", new HashMap<>()), param.getHotSceneType().toString(), item);
             hasReturnRovScore = Math.pow(hasReturnRovScore, 1.1);
             item.getScoresMap().put("hasReturnRovScore", hasReturnRovScore);
             double vor = this.calcVorScore(vid2MapFeature.getOrDefault(item.getVideoId() + "", new HashMap<>()));
             item.getScoresMap().put("vor", vor);
-            score = fmRov * (0.1 + hasReturnRovScore) * (0.1 + vor);
+            double score = fmRov * (0.1 + hasReturnRovScore) * (0.1 + vor);
             Video video = item.getVideo();
             video.setScore(score);
             video.setSortScore(score);