|
@@ -1,18 +1,22 @@
|
|
|
package examples.dataloader;
|
|
|
import com.google.common.collect.ArrayListMultimap;
|
|
|
import com.google.common.collect.ListMultimap;
|
|
|
+import com.tzld.piaoquan.recommend.feature.domain.video.base.RequestContextBytesFeature;
|
|
|
+import com.tzld.piaoquan.recommend.feature.domain.video.base.UserBytesFeature;
|
|
|
+import com.tzld.piaoquan.recommend.feature.domain.video.base.VideoBytesFeature;
|
|
|
import com.tzld.piaoquan.recommend.feature.domain.video.feature.BytesGroup;
|
|
|
import com.tzld.piaoquan.recommend.feature.domain.video.feature.BytesUtils;
|
|
|
-import com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature;
|
|
|
-import com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup;
|
|
|
-
|
|
|
+import com.tzld.piaoquan.recommend.feature.model.sample.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
public class OfflineVlogShareLRFeatureExtractor {
|
|
|
|
|
|
public ListMultimap<FeatureGroup, BaseFeature> featureMap = ArrayListMultimap.create();
|
|
|
|
|
|
- private BytesUtils utils;
|
|
|
+ final private BytesUtils utils;
|
|
|
+ final private int groupCount = OfflineVlogFeatureGroup.values().length;
|
|
|
public OfflineVlogShareLRFeatureExtractor() {
|
|
|
BytesGroup[] groups = new BytesGroup[OfflineVlogFeatureGroup.values().length];
|
|
|
OfflineVlogFeatureGroup[] var2 = OfflineVlogFeatureGroup.values();
|
|
@@ -53,4 +57,28 @@ public class OfflineVlogShareLRFeatureExtractor {
|
|
|
BaseFeature feature = this.utils.makeFea(group.ordinal(), value);
|
|
|
this.featureMap.put(featureGroup, feature);
|
|
|
}
|
|
|
+
|
|
|
+// public synchronized LRSamples single(UserBytesFeature userBytesFeature,
|
|
|
+// VideoBytesFeature videoBytesFeature,
|
|
|
+// RequestContextBytesFeature requestContextBytesFeature) {
|
|
|
+// featureMap.clear();
|
|
|
+// // extract features todo zhangbo
|
|
|
+//
|
|
|
+//
|
|
|
+// LRSamples.Builder lr = LRSamples.newBuilder();
|
|
|
+// lr.setGroupNum(groupCount);
|
|
|
+// List<FeatureGroup> keys = new ArrayList<>(featureMap.keySet());
|
|
|
+// int count = 0;
|
|
|
+// for(FeatureGroup group : keys) {
|
|
|
+// List<BaseFeature> fea = featureMap.get(group);
|
|
|
+// GroupedFeature.Builder gf = GroupedFeature.newBuilder();
|
|
|
+// gf.setGroup(group);
|
|
|
+// gf.setCount(fea.size());
|
|
|
+// gf.addAllFeatures(fea);
|
|
|
+// count += fea.size();
|
|
|
+// lr.addFeatures(gf);
|
|
|
+// }
|
|
|
+// lr.setCount(count);
|
|
|
+// return lr.build();
|
|
|
+// }
|
|
|
}
|