|
@@ -42,6 +42,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
|
|
|
scoreParam.getRequestContext().setMachineinfoBrand(brand + "-n");
|
|
|
}
|
|
|
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
// 特征处理
|
|
|
Feature feature = this.getFeature(scoreParam, request);
|
|
|
|
|
@@ -66,6 +67,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
|
|
|
Map<String, String> e2Feature = userFeature.getOrDefault("alg_mid_feature_share_tags", new HashMap<>());
|
|
|
|
|
|
Map<String, String> sceneFeatureMap = this.handleSceneFeature(ts);
|
|
|
+ long time1 = System.currentTimeMillis();
|
|
|
|
|
|
List<AdRankItem> adRankItems = new ArrayList<>(request.getAdIdList().size());
|
|
|
for (AdPlatformCreativeDTO dto : request.getAdIdList()) {
|
|
@@ -101,9 +103,13 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
|
|
|
this.handleD2Feature(vidRankMaps, cidFeatureMap, cidStr);
|
|
|
|
|
|
String title = b1Feature.getOrDefault("cidtitle", "");
|
|
|
+ long time21 = System.currentTimeMillis();
|
|
|
this.handleE1AndE2Feature(e1Feature, e2Feature, title, cidFeatureMap);
|
|
|
-
|
|
|
+ long time22 = System.currentTimeMillis();
|
|
|
this.handleD3AndB1Feature(d3Feature, title, cidFeatureMap);
|
|
|
+ long time23 = System.currentTimeMillis();
|
|
|
+ log.info("cost={} handleE1AndE2Feature={} handleD3AndB1Feature={}", time23 - time21, time22 - time21,
|
|
|
+ time23 - time22);
|
|
|
|
|
|
adRankItem.setFeatureMap(cidFeatureMap);
|
|
|
|
|
@@ -111,6 +117,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ long time2 = System.currentTimeMillis();
|
|
|
// 分桶
|
|
|
this.readBucketFile();
|
|
|
userFeatureMap = this.featureBucket(userFeatureMap);
|
|
@@ -121,6 +128,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
|
|
|
|
|
|
// 打分排序
|
|
|
List<AdRankItem> result = ScorerUtils.getScorerPipeline(ScorerUtils.XGBOOST_SCORE_CONF_20240909).scoring(sceneFeatureMap, userFeatureMap, adRankItems);
|
|
|
+ long time3 = System.currentTimeMillis();
|
|
|
for (AdRankItem item : result) {
|
|
|
item.setScore(item.getLrScore() * item.getCpa());
|
|
|
item.getScoreMap().put("cpa", item.getCpa());
|
|
@@ -160,6 +168,10 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ long time4 = System.currentTimeMillis();
|
|
|
+ log.info("cost={}, feature1={}, feature2={}, getScorerPipeline={}, loop={}",
|
|
|
+ time4 - start, time1 - start, time2 - time1, time3 - time2, time4 - time3);
|
|
|
+
|
|
|
result.sort(ComparatorUtil.equalsRandomComparator());
|
|
|
|
|
|
return result;
|