|
@@ -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);
|