فهرست منبع

feat:rerank优化

zhaohaipeng 1 ماه پیش
والد
کامیت
04c5dc3cf3

+ 2 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rerank/strategy/FlowPoolVideoInsertRerankStrategy.java

@@ -27,8 +27,9 @@ public class FlowPoolVideoInsertRerankStrategy implements RerankStrategy {
 
         double flowPoolP = param.getFlowPoolP();
         int topK = param.getTopK();
-        int flowPoolIndex = param.getTopK();
         int rovPoolIndex = param.getTopK();
+
+        int flowPoolIndex = 0;
         int size = param.getSize();
 
         List<Video> rovVideos = param.getRovVideos();

+ 4 - 5
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rerank/strategy/VideoAttrWeightRerankStrategy.java

@@ -21,7 +21,7 @@ import java.util.stream.Collectors;
 @Component
 public class VideoAttrWeightRerankStrategy extends BasicRerankStrategy {
 
-    @ApolloJsonValue("${video.attr.rerank.config:[]}")
+    @ApolloJsonValue("${video.attr.weight.rerank.config:[]}")
     private List<VideoAttributeConfigItem> configItems;
 
     @Override
@@ -46,7 +46,6 @@ public class VideoAttrWeightRerankStrategy extends BasicRerankStrategy {
         double score = video.getScore();
         video.getScoresMap().put("rerankBeforeScore", score);
 
-        double newScore = score;
         Map<String, String> basicInfo = video.getMetaFeatureMap().getOrDefault("alg_vid_feature_basic_info", new HashMap<>());
 
         for (VideoAttributeConfigItem configItem : configItems) {
@@ -75,14 +74,14 @@ public class VideoAttrWeightRerankStrategy extends BasicRerankStrategy {
 
             double weight = configItem.getWeight();
 
-            newScore = newScore * weight;
+            score *= weight;
             video.getScoresMap().put(String.format("%s_%s_%s", key, value, time), weight);
 
         }
 
         video.getScoresMap().put("rerankAfterScore", score);
-        video.setScore(newScore);
-        video.setSortScore(newScore);
+        video.setScore(score);
+        video.setSortScore(score);
     }
 
     @Data