Explorar el Código

fix bug 汤普森模型初始化

gufengshou1 hace 1 año
padre
commit
d15707b79c

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

@@ -91,7 +91,7 @@ public class VlogAdThompsonScorer extends BaseThompsonSamplingScorer {
         try {
             pctr = model.score(item, "ctr");
             pcvr = model.score(item, "cvr");
-            ecpm = item.getCpa() * item.getBid1() * item.getBid2() * pctr * pcvr;
+            ecpm =  (item.getCpa()+item.getPidLambda())* item.getBid1() * item.getBid2() * pctr * pcvr;
         } catch (Exception e) {
             LOGGER.error("score error for doc={} exception={}", new Object[]{
                     item.getAdId(), ExceptionUtils.getFullStackTrace(e)});

+ 5 - 4
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/container/PidLambdaContainer.java

@@ -41,10 +41,10 @@ public class PidLambdaContainer {
     @Value("${model.oss.bucketName:art-recommend}")
     String bucketName = "";
 
-    @Value("${model.oss.filename.lambda:art-recommend}")
+    @Value("${model.oss.pid.filename.lambda:}")
     String lambdaFileName = "";
 
-    @Value("${model.oss.filename.dCpa:art-recommend}")
+    @Value("${model.oss.pid.filename.dCpa:art-recommend}")
     String dCpaFileName = "";
 
     @Value("${ad.model.pid.kp:0}")
@@ -73,7 +73,7 @@ public class PidLambdaContainer {
                 }
             }
         };
-        scheduler.scheduleAtFixedRate(task, 10, SCHEDULE_PERIOD, TimeUnit.MINUTES); // 10分钟
+        scheduler.scheduleAtFixedRate(task, 0, SCHEDULE_PERIOD, TimeUnit.MINUTES); // 10分钟
     }
 
     private void instanceClient(){
@@ -84,7 +84,7 @@ public class PidLambdaContainer {
     private void loadAndCalIfNeed(){
         loadLambdaFile();
         OSSObject dCpaFileOjb=client.getObject(bucketName,dCpaFileName);
-        if(dCpaFileOjb.getObjectMetadata().getLastModified().after(cacheDate)){
+        if(cacheDate==null||dCpaFileOjb.getObjectMetadata().getLastModified().after(cacheDate)){
             calNewLambda(dCpaFileOjb);
             writeLambdaFileToOss();
         }
@@ -125,6 +125,7 @@ public class PidLambdaContainer {
     private void loadLambdaFile(){
         try {
             OSSObject object=client.getObject(bucketName,lambdaFileName);
+            if(object==null) return;
             if(cacheDate!=null&& !cacheDate.before(object.getObjectMetadata().getLastModified())) return;
 //            if(cacheDate!=null&& cacheDate.after(object.getObjectMetadata().getLastModified())) return;
             StringBuilder builder=new StringBuilder();

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

@@ -148,6 +148,7 @@ public class RankServiceImpl implements RankService {
                 item.setCpa(dto.getCpa());
                 item.setAdId(dto.getCreativeId());
                 item.setItemFeature(new AdItemFeature());
+                item.setPidLambda(PidLambdaContainer.getPidLambda(item.getAdId()));
                 rankItems.add(item);
             }
             rankResult=rankServiceThompson.rank(param, userAdFeature, rankItems,null);