Selaa lähdekoodia

增加打分日志

xueyiming 2 päivää sitten
vanhempi
commit
4e388cac35

+ 10 - 2
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/RankStrategyBasic.java

@@ -42,6 +42,9 @@ public abstract class RankStrategyBasic implements RankStrategy {
     @ApolloJsonValue("${alpha:1.0}")
     protected Double alpha;
 
+    @Value("${calibration:ctcvr.exp:779}")
+    protected String calibrationCtcvrExp;
+
     @ApolloJsonValue("${calibration.view.count:5000}")
     protected Integer calibrationViewCount;
     @Autowired
@@ -377,7 +380,11 @@ public abstract class RankStrategyBasic implements RankStrategy {
         }
     }
 
-    protected void calibrationCtcvrScore(List<AdRankItem> adRankItems, String mid, boolean isFilterUser, String modelName) {
+    protected void calibrationCtcvrScore(ScoreParam scoreParam, List<AdRankItem> adRankItems, String mid, boolean isFilterUser, String modelName) {
+        //判断是否走校准试验
+        if (!scoreParam.getExpCodeSet().contains(calibrationCtcvrExp)) {
+            return;
+        }
         // 1. 获取用户分层信息
         Map<String, String> userLayer = getUserLayer(mid);
         String layer = userLayer.getOrDefault("layer", "无曝光");
@@ -438,7 +445,8 @@ public abstract class RankStrategyBasic implements RankStrategy {
                     if (ctcvrScore == null) {
                         continue;
                     }
-                    scoreMap.put("calibrationCtcvrScore", ctcvrScore * diff);
+                    scoreMap.put("modelCtcvrScore", ctcvrScore);
+                    scoreMap.put("ctcvrScore", ctcvrScore * diff);
                     item.setLrScore(ctcvrScore * diff);
                 }
             }

+ 2 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/RankStrategyBy680.java

@@ -256,6 +256,7 @@ public class RankStrategyBy680 extends RankStrategyBasic {
             double calibratedScore = originalScore / (originalScore + (1 - originalScore) / negSampleRate);
             item.setLrScore(calibratedScore);
             item.getScoreMap().put("originCtcvrScore", originalScore);
+            item.getScoreMap().put("modelCtcvrScore", calibratedScore);
             item.getScoreMap().put("ctcvrScore", calibratedScore);
         }
 
@@ -287,6 +288,7 @@ public class RankStrategyBy680 extends RankStrategyBasic {
         if (CollectionUtils.isNotEmpty(result)) {
             AdRankItem top1Item = result.get(0);
             putMetaFeature(top1Item, feature, reqFeature, sceneFeatureMap, request);
+            top1Item.getExt().put("model", "xgb");
         }
         long time6 = System.currentTimeMillis();
         log.info("cost={}, getFeature={}, handleFeature={},  similar={}, bucketFeature={}, getScorerPipeline={}, " +

+ 1 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/RankStrategyBy683.java

@@ -228,6 +228,7 @@ public class RankStrategyBy683 extends RankStrategyBasic {
             double calibratedScore = originalScore / (originalScore + (1 - originalScore) / negSampleRate);
             item.setLrScore(calibratedScore);
             item.getScoreMap().put("originCtcvrScore", originalScore);
+            item.getScoreMap().put("modelCtcvrScore", calibratedScore);
             item.getScoreMap().put("ctcvrScore", calibratedScore);
         }
 

+ 2 - 1
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/RankStrategyBy688.java

@@ -315,7 +315,7 @@ public class RankStrategyBy688 extends RankStrategyBasic {
             item.getScoreMap().put("ctcvrScore", calibratedScore);
         }
         //校准Ctcvr
-        calibrationCtcvrScore(result, request.getMid(), request.getIsFilterUser(), "dnn");
+        calibrationCtcvrScore(scoreParam, result, request.getMid(), request.getIsFilterUser(), "dnn");
 
         // loop
         double cpmCoefficient = weightParam.getOrDefault("cpmCoefficient", 0.9);
@@ -345,6 +345,7 @@ public class RankStrategyBy688 extends RankStrategyBasic {
         if (CollectionUtils.isNotEmpty(result)) {
             AdRankItem top1Item = result.get(0);
             putMetaFeature(top1Item, feature, reqFeature, sceneFeatureMap, request);
+            top1Item.getExt().put("model", "dnn");
         }
         long time6 = System.currentTimeMillis();
         log.info("cost={}, getFeature={}, handleFeature={},  similar={}, bucketFeature={}, getScorerPipeline={}, " +