|
@@ -194,7 +194,9 @@ public class RankStrategy4RegionMergeModelV569 extends RankStrategy4RegionMergeM
|
|
|
|
|
|
// 5 排序公式特征
|
|
|
double xgbRovNegRate = mergeWeight.getOrDefault("xgbRovNegRate", 0.05);
|
|
|
- double calcVorMode = mergeWeight.getOrDefault("calc_vor_mode", 1d);
|
|
|
+ double calcVorMode = mergeWeight.getOrDefault("calcVorMode", 1d);
|
|
|
+ double calcRosMode = mergeWeight.getOrDefault("calcRosMode", 1d);
|
|
|
+
|
|
|
|
|
|
Map<String, Map<String, String>> vid2MapFeature = this.getVideoRedisFeature(vids, "redis:vid_hasreturn_vor_4share:");
|
|
|
List<Video> result = new ArrayList<>();
|
|
@@ -214,16 +216,31 @@ public class RankStrategy4RegionMergeModelV569 extends RankStrategy4RegionMergeM
|
|
|
vor24h = ExtractorUtils.calLog(vor24h);
|
|
|
} else if (calcVorMode == 2d) {
|
|
|
double vorCoefficient = mergeWeight.getOrDefault("vor_coefficient", 1d);
|
|
|
+ item.getScoresMap().put("vorCoefficient", vorCoefficient);
|
|
|
vor24h = vorCoefficient * vor24h;
|
|
|
+ } else if (calcVorMode == 3d) {
|
|
|
+ double vorPower = mergeWeight.getOrDefault("vor_power", 1d);
|
|
|
+ item.getScoresMap().put("vorPower", vorPower);
|
|
|
+ vor24h = Math.pow(vor24h, vorPower);
|
|
|
}
|
|
|
|
|
|
double originScoreRos = item.getScoreRos();
|
|
|
double scoreRos = ExtractorUtils.inverseLog(originScoreRos);
|
|
|
+ if (calcRosMode == 1d) {
|
|
|
+ double rosPower = mergeWeight.getOrDefault("ros_power", 5d);
|
|
|
+ item.getScoresMap().put("rosPower", rosPower);
|
|
|
+ scoreRos = Math.pow(scoreRos, rosPower);
|
|
|
+ } else if (calcRosMode == 2d) {
|
|
|
+ double modelRosCoefficient = mergeWeight.getOrDefault("model_ros_coefficient", 8d);
|
|
|
+ item.getScoresMap().put("modelRosCoefficient", modelRosCoefficient);
|
|
|
+ scoreRos = ExtractorUtils.inverseLog(originScoreRos * modelRosCoefficient);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
item.getScoresMap().put("hasReturnRovScore", scoreRos);
|
|
|
item.getScoresMap().put("vor", vor24h);
|
|
|
item.getScoresMap().put("calcVorMode", calcVorMode);
|
|
|
+ item.getScoresMap().put("calcRosMode", calcRosMode);
|
|
|
item.getScoresMap().put("RosXGBScore", originScoreRos);
|
|
|
score = fmRov * (0.1 + scoreRos) * (0.1 + vor24h);
|
|
|
|
|
@@ -262,6 +279,8 @@ public class RankStrategy4RegionMergeModelV569 extends RankStrategy4RegionMergeM
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* ros模型打分
|
|
|
*/
|