Jelajahi Sumber

Merge branch 'dev-xym-update-cid-feature' of algorithm/ad-engine into master

xueyiming 11 jam lalu
induk
melakukan
f311e27626

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

@@ -180,11 +180,16 @@ public class RankStrategyBy688 extends RankStrategyBasic {
                     this.handleD1Feature(d1Feature, cidFeatureMap);
                     this.handleD2Feature(vidRankMaps, cidFeatureMap, cidStr);
                     this.handleH1AndH2Feature(skuFeature, adVerFeature, cidFeatureMap);
-
                     cidFeatureMap.put("cid", dto.getCreativeId() != null ? String.valueOf(dto.getCreativeId()) : "");
                     cidFeatureMap.put("adid", dto.getAdId() != null ? String.valueOf(dto.getAdId()) : "");
                     cidFeatureMap.put("adverid", dto.getAdVerId() != null ? dto.getAdVerId() : "");
                     cidFeatureMap.put("profession", dto.getProfession() != null ? dto.getProfession() : "");
+                    //DNN模型没训练过的cid才不传入广告相关的稀疏特征
+                    if (CollectionUtils.isNotEmpty(DnnCidDataHelper.getCidSet()) && !DnnCidDataHelper.getCidSet().contains(adRankItem.getAdId())) {
+                        cidFeatureMap.put("cid", "");
+                        cidFeatureMap.put("adid", "");
+                        cidFeatureMap.put("adverid", "");
+                    }
                     return adRankItem;
                 } finally {
                     cdl1.countDown();
@@ -264,17 +269,6 @@ public class RankStrategyBy688 extends RankStrategyBasic {
         for (AdRankItem item : result) {
             double originalScore = item.getLrScore();
             double calibratedScore = originalScore / (originalScore + (1 - originalScore) / negSampleRate);
-            // 该创意尚未在模型中训练,打分不可靠
-            if (CollectionUtils.isNotEmpty(DnnCidDataHelper.getCidSet()) && !DnnCidDataHelper.getCidSet().contains(item.getAdId())) {
-                Map<String, Map<String, String>> cidFeature = allCidFeature.getOrDefault(String.valueOf(item.getAdId()), new HashMap<>());
-                Map<String, String> b3Feature = cidFeature.getOrDefault("alg_cid_feature_cid_action", new HashMap<>());
-                double view = Double.parseDouble(b3Feature.getOrDefault("ad_view_14d", "0"));
-                double conver = Double.parseDouble(b3Feature.getOrDefault("ad_conversion_14d", "0"));
-                double smoothCxr = NumUtil.divSmoothV1(conver, view, 1.64);
-                if (smoothCxr < calibratedScore) {
-                    calibratedScore = smoothCxr;
-                }
-            }
             item.setLrScore(calibratedScore);
             item.getScoreMap().put("originCtcvrScore", originalScore);
             item.getScoreMap().put("ctcvrScore", calibratedScore);