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