Bläddra i källkod

Merge branch 'ocpm_bid_engine_scores'

gufengshou1 1 år sedan
förälder
incheckning
32d607b953

+ 0 - 5
ad-engine-server/src/main/resources/feeds_score_config_thompson.conf

@@ -1,9 +1,4 @@
 scorer-config = {
-  tf-ctr-score-config = {
-    scorer-name = "com.tzld.piaoquan.ad.engine.service.score.VlogAdThompsonScorer"
-    scorer-priority = 99
-    model-path = "ad_thompson_model/model_ad_thompson.txt"
-  }
 
   tf-ecpm-merge-config = {
         scorer-name = "com.tzld.piaoquan.ad.engine.service.score.VlogMergeEcpmScorer"

+ 2 - 2
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/VlogAdThompsonScorer.java

@@ -96,8 +96,8 @@ public class VlogAdThompsonScorer extends BaseThompsonSamplingScorer {
             LOGGER.error("score error for doc={} exception={}", new Object[]{
                     item.getAdId(), ExceptionUtils.getFullStackTrace(e)});
         }
-        item.setCtr(pctr);
-        item.setCvr(pcvr);
+        item.setTf_ctr(pctr);
+        item.setTf_cvr(pcvr);
         item.setEcpm1(ecpm);
         item.setScore(ecpm);
         return ecpm;

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

@@ -51,6 +51,7 @@ public class VlogMergeEcpmScorer extends BaseLRModelScorer {
                 double bid2 = item.getBid2();
                 double pctr = isTfType?item.getTf_ctr():item.getCtr();
                 double pcvr = isTfType?item.getTf_cvr():item.getCvr();
+                item.setScore_type( isTfType?1:0);
                 //todo
                 double ecpm = cpa * bid1 * bid2 * pcvr * pctr * 1000d;
 //                double ecpm = cpa * bid1 * bid2 * pcvr * pctr;
@@ -60,7 +61,7 @@ public class VlogMergeEcpmScorer extends BaseLRModelScorer {
                 LOGGER.error("merge Ecpm Score: {} error", "");
                 item.setCtr(0.0);
             }
-            LOGGER.debug("merge Ecpm ranker , score: {}->{}", "");
+            LOGGER.debug("merge Ecpm ranker , score: {}->{}", item.getScore());
         }
         Collections.sort(items);
         return items;

+ 9 - 16
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/impl/RankServiceImpl.java

@@ -58,31 +58,24 @@ public class RankServiceImpl implements RankService {
                 getAllAdFeatureList(
                         CommonCollectionUtils.toList(request.getAdIdList(),id->id.toString())
                 );
-        //不判空
-        for(AdRankItem item:rankItems){
-            item.setBid1(1d);
-            item.setBid2(1d);
-            item.setCpa(75d);
-        }
-
-        //兜底方案
-        List<AdRankItem> rankResult;
+        //避免recommend-feature出问题
         if(rankItems==null|| rankItems.size()==0){
             rankItems=new LinkedList<>();
             for(Long adId:request.getAdIdList()){
                 AdRankItem item=new AdRankItem();
-                item.setBid1(1d);
-                item.setBid2(1d);
-                item.setCpa(75d);
                 item.setAdId(adId);
                 item.setItemFeature(new AdItemFeature());
                 rankItems.add(item);
             }
-            rankResult=rankServiceThompson.rank(param, userAdFeature, rankItems,null);
-        }else {
-
-            rankResult=rank(param, userAdFeature, rankItems,ScorerUtils.BASE_CONF);
         }
+        for(AdRankItem item:rankItems){
+            item.setBid1(1d);
+            item.setBid2(1d);
+            item.setCpa(75d);
+        }
+
+        //兜底方案
+        List<AdRankItem> rankResult=rank(param, userAdFeature, rankItems,ScorerUtils.BASE_CONF);
 
         if (!CollectionUtils.isEmpty(rankResult)) {
 //            log.info("svc=adItemRank request={} rankResult={} dataTime={}", JSONObject.toJSONString(request),JSONObject.toJSONString(rankResult),currentTime.format(timeFormatter));