Jelajahi Sumber

并行获取特征

丁云鹏 10 bulan lalu
induk
melakukan
1fc80d51d9

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

@@ -28,6 +28,8 @@ import java.util.stream.Collectors;
 @Service
 @Slf4j
 public class RankStrategy4RegionMergeModelV999 extends RankService {
+    @ApolloJsonValue("${rank.score.merge.weightv567:}")
+    private Map<String, Double> mergeWeight;
     @ApolloJsonValue("${RankStrategy4DensityFilterV2:}")
     private Map<String, Map<String, Map<String, String>>> filterRules = new HashMap<>();
 
@@ -104,31 +106,36 @@ public class RankStrategy4RegionMergeModelV999 extends RankService {
 
         // TODO 2 特征处理
         List<RankItem> rankItems = CommonCollectionUtils.toList(rovRecallRank, RankItem::new);
-        Map<String, String> videoFeatureMap = extrctVideoFeature(featureMap);
-        rankItems.set();
+        Map<String, Map<String, String>> videoFeatureMap = extractVideoFeature(featureMap);
+        for (RankItem item : rankItems) {
+            item.setFeatureMap(videoFeatureMap.get(item.getVideoId() + ""));
+        }
         Map<String, String> sceneFeatureMap = extractSceneFeature(featureMap);
         Map<String, String> userFeatureMap = extractUserFeature(featureMap);
 
-
         // TODO 3 排序
         List<RankItem> rovRecallScore = ScorerUtils.getScorerPipeline(ScorerUtils.BASE_CONF)
                 .scoring(sceneFeatureMap, userFeatureMap, rankItems);
 
         // TODO
+        List<Video> result = CommonCollectionUtils.toList(rovRecallScore, RankItem::getVideo);
 
         return result;
     }
 
-    private Map<String, String> extrctVideoFeature(Map<String, Map<String, Map<String, String>>> featureMap) {
+    private Map<String, Map<String, String>> extractVideoFeature(Map<String, Map<String, Map<String, String>>> featureMap) {
         // TODO
+        return null;
     }
 
     private Map<String, String> extractSceneFeature(Map<String, Map<String, Map<String, String>>> featureMap) {
         // TODO
+        return null;
     }
 
     private Map<String, String> extractUserFeature(Map<String, Map<String, Map<String, String>>> featureMap) {
         // TODO
+        return null;
     }