Przeglądaj źródła

add cross feature repair bugs

sunmingze 1 rok temu
rodzic
commit
7f989e64c8

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

@@ -10,7 +10,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>ad-engine-commons</artifactId>
-    <version>1.0.0</version>
+    <version>1.0.1</version>
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <maven.compiler.source>1.8</maven.compiler.source>

+ 0 - 11
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/base/UserAdBytesFeature.java

@@ -10,12 +10,6 @@ public class UserAdBytesFeature {
 
     private final byte[] mid;
 
-    private final byte[] machineinfo_brand;
-    private final byte[] machineinfo_model;
-    private final byte[] machineinfo_system;
-    private final byte[] machineinfo_wechatversion;
-    private final byte[] machineinfo_platform;
-
     // 当天统计量信息
     private Map<String, byte[]> day1_cnt_features;
     // 3天内统计量
@@ -28,11 +22,6 @@ public class UserAdBytesFeature {
 
     public UserAdBytesFeature(UserAdFeature feature) {
         this.mid = feature.getMid().getBytes();
-        this.machineinfo_brand = feature.getMachineinfo_brand().getBytes();
-        this.machineinfo_system = feature.getMachineinfo_system().getBytes();
-        this.machineinfo_model = feature.getMachineinfo_model().getBytes();
-        this.machineinfo_platform = feature.getMachineinfo_platform().getBytes();
-        this.machineinfo_wechatversion = feature.getMachineinfo_wechatversion().getBytes();
 
 
         // 1 day statistic

+ 0 - 8
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/base/UserAdFeature.java

@@ -16,14 +16,6 @@ public class UserAdFeature {
 
     private String mid = "0";
 
-    private String machineinfo_brand = "0";
-    private String machineinfo_model = "0";
-    private String machineinfo_system = "0";
-    private String machineinfo_wechatversion = "0";
-    private String machineinfo_platform = "0";
-    private String machineinfo_sdkversion = "0";
-
-
 
     // 当天统计量信息
     private AdActionFeature day1_cnt_features=new AdActionFeature();

+ 2 - 3
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/enums/VlogAdFeatureGroup.java

@@ -6,7 +6,6 @@ public enum VlogAdFeatureGroup {
     MACHINEINFO_MODEL,
     MACHINEINFO_PLATFORM,
     MACHINEINFO_SDKVERSION,
-    MACHINEINFO_SYSTEM,
     MACHINEINFO_WECHATVERSION,
 
 
@@ -119,8 +118,8 @@ public enum VlogAdFeatureGroup {
     CREATIVE_AND_MACHINEINFO_BRAND,
     ADVERID_AND_MACHINEINFO_BRAND,
 
-    CREATIVE_AND_MACHINEINFO_SYSTEM,
-    ADVERID_AND_MACHINEINFO_SYSTEM,
+    CREATIVE_AND_MACHINEINFO_SDK,
+    ADVERID_AND_MACHINEINFO_SDK,
 
     CREATIVE_AND_USER_3MONTH_CTR,
     ADVERID_AND_USER_3MONTH_CTR,

+ 13 - 13
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/score/feature/VlogAdCtrLRFeatureExtractor.java

@@ -23,6 +23,12 @@ public class VlogAdCtrLRFeatureExtractor extends LRBytesFeatureExtractorBase {
     // 补充待抽取的context feature
     public void getContextFeatures(AdRequestContextBytesFeature requestContextBytes) {
 
+        makeFea(VlogAdFeatureGroup.MACHINEINFO_BRAND, requestContextBytes.getMachineinfo_brand());
+        makeFea(VlogAdFeatureGroup.MACHINEINFO_MODEL, requestContextBytes.getMachineinfo_model());
+        makeFea(VlogAdFeatureGroup.MACHINEINFO_SDKVERSION, requestContextBytes.getMachineinfo_sdkversion());
+        makeFea(VlogAdFeatureGroup.MACHINEINFO_WECHATVERSION, requestContextBytes.getMachineinfo_wechatversion());
+
+
         makeFea(VlogAdFeatureGroup.DAY, requestContextBytes.getWeek());
         makeFea(VlogAdFeatureGroup.WEEK, requestContextBytes.getWeek());
         makeFea(VlogAdFeatureGroup.HOUR, requestContextBytes.getHour());
@@ -32,13 +38,6 @@ public class VlogAdCtrLRFeatureExtractor extends LRBytesFeatureExtractorBase {
 
     //TODO
     public void getUserFeatures(UserAdBytesFeature userAdBytesFeature) {
-        // user group
-        makeFea(VlogAdFeatureGroup.MACHINEINFO_BRAND, userAdBytesFeature.getMachineinfo_brand());
-        makeFea(VlogAdFeatureGroup.MACHINEINFO_PLATFORM, userAdBytesFeature.getMachineinfo_platform());
-        makeFea(VlogAdFeatureGroup.MACHINEINFO_MODEL, userAdBytesFeature.getMachineinfo_model());
-        makeFea(VlogAdFeatureGroup.MACHINEINFO_SYSTEM, userAdBytesFeature.getMachineinfo_system());
-        makeFea(VlogAdFeatureGroup.MACHINEINFO_SDKVERSION, userAdBytesFeature.getMachineinfo_system());
-
 
         // 1day features
         makeFea(VlogAdFeatureGroup.USER_1DAY_EXP, userAdBytesFeature.getDay1_cnt_features().get("view"));
@@ -163,13 +162,13 @@ public class VlogAdCtrLRFeatureExtractor extends LRBytesFeatureExtractorBase {
         makeFea(VlogAdFeatureGroup.ADVERID_AND_HOUR, itemBytesFeature.getAdvertiserId(), requestContextByte.getHour());
         makeFea(VlogAdFeatureGroup.CREATIVE_AND_REGION, itemBytesFeature.getCreative(), requestContextByte.getRegion());
         makeFea(VlogAdFeatureGroup.ADVERID_AND_REGION, itemBytesFeature.getAdvertiserId(), requestContextByte.getRegion());
-        makeFea(VlogAdFeatureGroup.CREATIVE_AND_MACHINEINFO_MODEL, itemBytesFeature.getCreative(), userAdBytesFeature.getMachineinfo_model());
-        makeFea(VlogAdFeatureGroup.ADVERID_AND_MACHINEINFO_MODEL, itemBytesFeature.getAdvertiserId(), userAdBytesFeature.getMachineinfo_model());
-        makeFea(VlogAdFeatureGroup.CREATIVE_AND_MACHINEINFO_BRAND, itemBytesFeature.getCreative(), userAdBytesFeature.getMachineinfo_brand());
-        makeFea(VlogAdFeatureGroup.ADVERID_AND_MACHINEINFO_BRAND, itemBytesFeature.getAdvertiserId(), userAdBytesFeature.getMachineinfo_brand());
+        makeFea(VlogAdFeatureGroup.CREATIVE_AND_MACHINEINFO_MODEL, itemBytesFeature.getCreative(), requestContextByte.getMachineinfo_model());
+        makeFea(VlogAdFeatureGroup.ADVERID_AND_MACHINEINFO_MODEL, itemBytesFeature.getAdvertiserId(), requestContextByte.getMachineinfo_model());
+        makeFea(VlogAdFeatureGroup.CREATIVE_AND_MACHINEINFO_BRAND, itemBytesFeature.getCreative(), requestContextByte.getMachineinfo_brand());
+        makeFea(VlogAdFeatureGroup.ADVERID_AND_MACHINEINFO_BRAND, itemBytesFeature.getAdvertiserId(), requestContextByte.getMachineinfo_brand());
 
-        makeFea(VlogAdFeatureGroup.CREATIVE_AND_MACHINEINFO_SYSTEM, itemBytesFeature.getCreative(), userAdBytesFeature.getMachineinfo_system());
-        makeFea(VlogAdFeatureGroup.ADVERID_AND_MACHINEINFO_SYSTEM, itemBytesFeature.getAdvertiserId(), userAdBytesFeature.getMachineinfo_system());
+        makeFea(VlogAdFeatureGroup.CREATIVE_AND_MACHINEINFO_SDK, itemBytesFeature.getCreative(), requestContextByte.getMachineinfo_sdkversion());
+        makeFea(VlogAdFeatureGroup.ADVERID_AND_MACHINEINFO_SDK, itemBytesFeature.getAdvertiserId(), requestContextByte.getMachineinfo_sdkversion());
         makeFea(VlogAdFeatureGroup.CREATIVE_AND_USER_3MONTH_CTR, itemBytesFeature.getCreative(), userAdBytesFeature.getMonth3_cnt_features().get("ctr"));
         makeFea(VlogAdFeatureGroup.ADVERID_AND_USER_3MONTH_CTR, itemBytesFeature.getAdvertiserId(), userAdBytesFeature.getMonth3_cnt_features().get("ctr"));
 
@@ -189,6 +188,7 @@ public class VlogAdCtrLRFeatureExtractor extends LRBytesFeatureExtractorBase {
         getUserFeatures(userAdBytesFeature);
         getContextFeatures(requestContextBytesFeature);
         getItemFeature(videoBytesFeature);
+        getCrossFeature(videoBytesFeature, requestContextBytesFeature, userAdBytesFeature);
 
         LRSamples.Builder lr = com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples.newBuilder();
         lr.setGroupNum(groupCount);

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

@@ -32,7 +32,7 @@ public class FeatureConvert {
         userAdFeature.setDay3_cnt_features(convertToJava(userAdFeatureProto.getDay3CntFeatures()));
         userAdFeature.setDay7_cnt_features(convertToJava(userAdFeatureProto.getDay7CntFeatures()));
         userAdFeature.setMonth3_cnt_features(convertToJava(userAdFeatureProto.getMonth3CntFeatures()));
-        // TODO
+
         return userAdFeature;
     }
 
@@ -65,7 +65,7 @@ public class FeatureConvert {
         adItemFeature.setCampaignId(adItemFeatureProto.getCampaignId());
         adItemFeature.setCampaignCode(adItemFeatureProto.getCampaignCode());
         adItemFeature.setCreativeId(adItemFeatureProto.getCreativeId());
-        //TODO
+        //TODO 补充creative advertiser等维度信息
 
         return adItemFeature;