|
@@ -38,11 +38,21 @@ public class RankStrategy4Rankv2Model extends RankService {
|
|
|
@ApolloJsonValue("${video.model.weightv2:}")
|
|
|
private Map<String, Double> mergeWeight;
|
|
|
final private String CLASS_NAME = this.getClass().getSimpleName();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public List<Video> mergeAndRankRovRecall(RankParam param) {
|
|
|
|
|
|
|
|
|
List<Video> rovRecallRank = new ArrayList<>();
|
|
|
+
|
|
|
+
|
|
|
rovRecallRank.addAll(extractAndSort(param, RegionHRecallStrategy.PUSH_FORM));
|
|
|
rovRecallRank.addAll(extractAndSort(param, RegionHDupRecallStrategy.PUSH_FORM));
|
|
|
rovRecallRank.addAll(extractAndSort(param, Region24HRecallStrategy.PUSH_FORM));
|
|
@@ -84,13 +94,13 @@ public class RankStrategy4Rankv2Model extends RankService {
|
|
|
double beta = mergeWeight.getOrDefault("beta", 0.0D);
|
|
|
double gamma = mergeWeight.getOrDefault("gamma", 0.0D);
|
|
|
for (Video v : videosWithModel){
|
|
|
- double score = alpha * v.getSortScore() + beta * v.getModelScore() + gamma * v.getModelScoreRos();
|
|
|
+ double score = alpha * v.getSortScore() + beta * v.getScoreStr() + gamma * v.getScoreRos();
|
|
|
if (mergeWeight.containsKey("mul") && mergeWeight.getOrDefault("mul", 0.0D) > 0.5){
|
|
|
- score = alpha * v.getSortScore() + (beta + v.getModelScore()) * (gamma + v.getModelScoreRos());
|
|
|
+ score = alpha * v.getSortScore() + (beta + v.getScoreStr()) * (gamma + v.getScoreRos());
|
|
|
}
|
|
|
- v.score = score;
|
|
|
v.setScoreRegion(v.getSortScore());
|
|
|
- v.setSortScore(v.score);
|
|
|
+ v.score = score;
|
|
|
+ v.setSortScore(score);
|
|
|
}
|
|
|
videosWithModel.sort(Comparator.comparingDouble(o -> -o.score));
|
|
|
|
|
@@ -227,8 +237,8 @@ public class RankStrategy4Rankv2Model extends RankService {
|
|
|
return CommonCollectionUtils.toList(rovRecallScore, i -> {
|
|
|
|
|
|
Video v = i.getVideo();
|
|
|
- v.setModelScore(i.getScore());
|
|
|
- v.setModelScoreRos(i.getScoreRos());
|
|
|
+ v.setScoreStr(i.getScoreStr());
|
|
|
+ v.setScoreRos(i.getScoreRos());
|
|
|
return v;
|
|
|
});
|
|
|
}
|