Parcourir la source

feature online v0

sunmingze il y a 1 an
Parent
commit
3faf100545

+ 1 - 1
ad-engine-commons/pom.xml

@@ -25,7 +25,7 @@
         <dependency>
             <groupId>com.tzld.piaoquan</groupId>
             <artifactId>recommend-feature-client</artifactId>
-            <version>1.0.3</version>
+            <version>1.0.7</version>
         </dependency>
         <dependency>
             <groupId>com.tzld.piaoquan</groupId>

+ 29 - 0
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/util/FeatureUtils.java

@@ -0,0 +1,29 @@
+package com.tzld.piaoquan.ad.engine.commons.util;
+
+
+import com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature;
+import com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature;
+import com.tzld.piaoquan.recommend.feature.model.sample.LRSamples;
+
+import java.util.ArrayList;
+
+public class FeatureUtils {
+
+
+    public static String parseSamplesToString2(LRSamples lrSamples) {
+        ArrayList<String> featureList = new ArrayList<String>();
+        for (int i = 0; i < lrSamples.getFeaturesCount(); i++) {
+            GroupedFeature groupedFeature = lrSamples.getFeatures(i);
+            if (groupedFeature != null && groupedFeature.getFeaturesCount() != 0) {
+                for (int j = 0; j < groupedFeature.getFeaturesCount(); j++) {
+                    BaseFeature baseFeature = groupedFeature.getFeatures(j);
+                    if (baseFeature != null) {
+                        featureList.add(baseFeature.getIdentifier() + ":1");
+                    }
+                }
+            }
+        }
+        return String.join("\t", featureList);
+    }
+
+}

+ 1 - 1
ad-engine-service/pom.xml

@@ -29,7 +29,7 @@
         <dependency>
             <groupId>com.tzld.piaoquan</groupId>
             <artifactId>recommend-feature-client</artifactId>
-            <version>1.0.6</version>
+            <version>1.0.7</version>
         </dependency>
 
     </dependencies>

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

@@ -1,6 +1,7 @@
 package com.tzld.piaoquan.ad.engine.service.score;
 
 
+import com.tzld.piaoquan.ad.engine.commons.util.FeatureUtils;
 import com.tzld.piaoquan.recommend.feature.domain.ad.base.*;
 import com.tzld.piaoquan.recommend.feature.domain.ad.feature.VlogAdCtrLRFeatureExtractor;
 import com.tzld.piaoquan.recommend.feature.model.sample.LRSamples;
@@ -121,8 +122,9 @@ public class VlogAdCtrLRScorer extends BaseLRModelScorer {
             }
         }
         lrSamples.toBuilder().setPredictCtr(pro);
-        //
-        System.out.println("svc=lrSamplePrint  lrSamples="+lrSamples.toString());
+        // online 特征落盘
+        String lrSamplesString = FeatureUtils.parseSamplesToString2(lrSamples);
+        item.setLrSampleString(lrSamplesString);
         item.setCtr(pro);
         return pro;
     }

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

@@ -89,6 +89,7 @@ public class RankServiceImpl implements RankService {
             JSONObject object=new JSONObject();
             object.put("request",request);
             object.put("rankResult",rankResult.get(0));
+            object.put("lrsamples",rankResult.get(0).getLrSampleString());
             object.put("dataTime",currentTime.format(timeFormatter));
             log.info("svc=adItemRank {}", JSONObject.toJSONString(object));
             return rankResult.get(0);
@@ -173,6 +174,7 @@ public class RankServiceImpl implements RankService {
         JSONObject object=new JSONObject();
         object.put("request",request);
         object.put("rankResult",result);
+        object.put("lrsamples",topItem.getLrSampleString());
         object.put("dataTime",currentTime.format(timeFormatter));
         log.info("svc=adBidRank {}", JSONObject.toJSONString(object));
         return result;