Bläddra i källkod

feat:563实验

zhaohaipeng 5 månader sedan
förälder
incheckning
e5cec6f911

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

@@ -346,7 +346,7 @@ public class RankStrategy4RegionMergeModelV563 extends RankStrategy4RegionMergeM
         List<RankItem> items = ScorerUtils.getScorerPipeline("feeds_score_config_20241107.conf").scoring(sceneFeatureMap, userFeatureMap, rankItems);
         // 5 排序公式特征
         Map<String, Map<String, String>> vid2MapFeature = this.getVideoRedisFeature(vids, "redis:vid_hasreturn_rov:");
-        double alpha_vov = mergeWeight.getOrDefault("alpha_vov", 0.05);
+        double alpha_vov = mergeWeight.getOrDefault("alpha_vov", 0.1);
         double func = mergeWeight.getOrDefault("func", 1.0);
         List<Video> result = new ArrayList<>();
         for (RankItem item : items) {

+ 2 - 2
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/score/VovH24WeightScorer.java

@@ -158,7 +158,7 @@ public class VovH24WeightScorer extends AbstractScorer {
         double vovScore = 0.0;
         Map<String, String> featureMap = item.getFeatureMap();
         String weightKey = sceneFeatureMap.get("weightKey");
-        Map<String, Float> weightMap = model.getWeight(weightKey);
+        Map<String, Double> weightMap = model.getWeight(weightKey);
         if (MapUtils.isNotEmpty(featureMap) && MapUtils.isNotEmpty(weightMap)) {
             try {
                 double numerator = 0d;
@@ -169,7 +169,7 @@ public class VovH24WeightScorer extends AbstractScorer {
 
                     double up = Double.parseDouble(featureMap.getOrDefault(numeratorKey, "0d"));
                     double down = Double.parseDouble(featureMap.getOrDefault(denominatorKey, "0d"));
-                    float weight = weightMap.getOrDefault(numeratorKey, 0f);
+                    double weight = weightMap.getOrDefault(numeratorKey, 0d);
 
                     numerator += up * weight;
                     denominator += down * weight;

+ 6 - 5
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/score/model/VovH24WeightModel.java

@@ -14,7 +14,7 @@ public class VovH24WeightModel extends Model {
     private static final Logger LOGGER = LoggerFactory.getLogger(VovH24WeightModel.class);
 
     // <小时, <Key, weight>>
-    private Map<String, Map<String, Float>> model = new HashMap<>();
+    private Map<String, Map<String, Double>> model = new HashMap<>();
 
     @Override
     public int getModelSize() {
@@ -23,23 +23,24 @@ public class VovH24WeightModel extends Model {
 
     @Override
     public boolean loadFromStream(InputStreamReader in) throws Exception {
-        Map<String, Map<String, Float>> initModel = new HashMap<>();
+        Map<String, Map<String, Double>> initModel = new HashMap<>();
         try (BufferedReader reader = new BufferedReader(in)) {
             StringBuilder buffer = new StringBuilder();
             String line;
             while ((line = reader.readLine()) != null) {
                 buffer.append(line).append("\n");
             }
-            initModel = JSONUtils.fromJson(buffer.toString(), new TypeToken<Map<String, Map<String, Float>>>() {
+            initModel = JSONUtils.fromJson(buffer.toString(), new TypeToken<Map<String, Map<String, Double>>>() {
             }, initModel);
             this.model = initModel;
         } catch (Exception e) {
             LOGGER.error("read vovh24 weight file error: ", e);
+            return false;
         }
-        return false;
+        return true;
     }
 
-    public Map<String, Float> getWeight(String key) {
+    public Map<String, Double> getWeight(String key) {
         return model.get(key);
     }
 }