Browse Source

fm模型增加有回流的rov分值

zhangbo 10 months ago
parent
commit
63953e9780

+ 3 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/extractor/ExtractorUtils.java

@@ -8,6 +8,9 @@ import java.util.Map;
 import org.xm.Similarity;
 import org.xm.Similarity;
 public class ExtractorUtils {
 public class ExtractorUtils {
 
 
+    public static double sigmoid(double x) {
+        return 1.0 / (1.0 + Math.exp(-x));
+    }
     public static int findInsertPosition(double[] sortedArray, double target) {
     public static int findInsertPosition(double[] sortedArray, double target) {
         int low = 0;
         int low = 0;
         int high = sortedArray.length - 1;
         int high = sortedArray.length - 1;

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

@@ -315,7 +315,7 @@ public class RankStrategy4RegionMergeModelV569 extends RankStrategy4RegionMergeM
             item.getScoresMap().put("hasReturnRovScore", hasReturnRovScore);
             item.getScoresMap().put("hasReturnRovScore", hasReturnRovScore);
             double fmRov = item.getScoreRov();
             double fmRov = item.getScoreRov();
             item.getScoresMap().put("fmRov", fmRov);
             item.getScoresMap().put("fmRov", fmRov);
-            score = fmRov * Math.log1p(hasReturnRovScore<=0?0:hasReturnRovScore);
+            score = fmRov * ExtractorUtils.sigmoid(hasReturnRovScore);
             Video video = item.getVideo();
             Video video = item.getVideo();
             video.setScore(score);
             video.setScore(score);
             video.setSortScore(score);
             video.setSortScore(score);