|
@@ -188,16 +188,15 @@ public class RankStrategy4RegionMergeModelV565 extends RankStrategy4RegionMergeM
|
|
|
// 4.1 排序模型计算 - str
|
|
|
Map<String, String> sceneFeatureMap = new HashMap<>(0);
|
|
|
List<RankItem> items = ScorerUtils.getScorerPipeline("feeds_score_config_xgb_str_20250228.conf").scoring(sceneFeatureMap, userFeatureMap, rankItems);
|
|
|
-
|
|
|
// 4.2 排序模型计算 - ros
|
|
|
this.addRosScore(rankItems, userFeatureMapDouble, sceneFeatureMap);
|
|
|
|
|
|
// 5 排序公式特征
|
|
|
double xgbRovNegRate = mergeWeight.getOrDefault("xgbRovNegRate", 0.05);
|
|
|
- double calcVorMode = mergeWeight.getOrDefault("calcVorMode", 1d);
|
|
|
+ double calcVorMode = mergeWeight.getOrDefault("calcVorMode", 3d);
|
|
|
double calcRosMode = mergeWeight.getOrDefault("calcRosMode", 1d);
|
|
|
- double rosAdd = mergeWeight.getOrDefault("ros_add", 0.00001);
|
|
|
- double vorAdd = mergeWeight.getOrDefault("vor_add", 0.1);
|
|
|
+ double rosAdd = mergeWeight.getOrDefault("ros_add", 0d);
|
|
|
+ double vorAdd = mergeWeight.getOrDefault("vor_add", 0d);
|
|
|
|
|
|
Map<String, Map<String, String>> vid2MapFeature = this.getVideoRedisFeature(vids, "redis:vid_hasreturn_vor_4share:");
|
|
|
List<Video> result = new ArrayList<>();
|
|
@@ -291,9 +290,6 @@ public class RankStrategy4RegionMergeModelV565 extends RankStrategy4RegionMergeM
|
|
|
}
|
|
|
|
|
|
private double handleVor(double originVor, double calcVorMode, RankItem item, Map<String, Double> mergeWeight) {
|
|
|
- if (originVor == 0) {
|
|
|
- return 0;
|
|
|
- }
|
|
|
double vor = originVor;
|
|
|
if (calcVorMode == 1d) {
|
|
|
vor = ExtractorUtils.calLog(originVor);
|
|
@@ -302,7 +298,7 @@ public class RankStrategy4RegionMergeModelV565 extends RankStrategy4RegionMergeM
|
|
|
item.getScoresMap().put("vorCoefficient", vorCoefficient);
|
|
|
vor = vorCoefficient * originVor;
|
|
|
} else if (calcVorMode == 3d) {
|
|
|
- double vorPower = mergeWeight.getOrDefault("vor_power", 1d);
|
|
|
+ double vorPower = mergeWeight.getOrDefault("vor_power", 0d);
|
|
|
item.getScoresMap().put("vorPower", vorPower);
|
|
|
vor = Math.pow(originVor, vorPower);
|
|
|
}
|
|
@@ -317,7 +313,8 @@ public class RankStrategy4RegionMergeModelV565 extends RankStrategy4RegionMergeM
|
|
|
List<RankItem> rosRankItems = new ArrayList<>(rankItems.size());
|
|
|
for (RankItem rankItem : rankItems) {
|
|
|
RankItem rosRankItem = new RankItem(rankItem.getVideo());
|
|
|
- rosRankItem.rosFeatureMap = FeatureBucketUtils.bucketFeatureV2("20250306_ros_bucket_229.txt", rankItem.featureMapDouble);
|
|
|
+ // 复用了str的二分类xgboost score,所以和str保持一致
|
|
|
+ rosRankItem.featureMap = FeatureBucketUtils.bucketFeatureV2("20250306_ros_bucket_229.txt", rankItem.featureMapDouble);
|
|
|
rosRankItems.add(rosRankItem);
|
|
|
}
|
|
|
Map<String, String> userFeatureMap = FeatureBucketUtils.bucketFeatureV2("20250306_ros_bucket_229.txt", userFeatureMapDouble);
|
|
@@ -332,8 +329,10 @@ public class RankStrategy4RegionMergeModelV565 extends RankStrategy4RegionMergeM
|
|
|
for (RankItem rankItem : rankItems) {
|
|
|
if (vidRosMap.containsKey(rankItem.getVideoId())) {
|
|
|
RankItem rosRankItem = vidRosMap.get(rankItem.getVideoId());
|
|
|
- rankItem.setScoreRos(rosRankItem.getScoreRos());
|
|
|
- rankItem.getScoresMap().put("RosXGBScore", rosRankItem.getScoreRos());
|
|
|
+
|
|
|
+ // 复用了rov的xgboost model类,所以取scoreRov的值
|
|
|
+ rankItem.setScoreRos(rosRankItem.getScoreRov());
|
|
|
+ rankItem.getScoresMap().put("RosXGBScore", rosRankItem.getScoreRov());
|
|
|
}
|
|
|
}
|
|
|
}
|