|
@@ -27,7 +27,6 @@ public class FeatureTransform {
|
|
private static final List<String> videoSimAttrs = Arrays.asList("title", "cate2", "cate2_list", "keywords");
|
|
private static final List<String> videoSimAttrs = Arrays.asList("title", "cate2", "cate2_list", "keywords");
|
|
private static final List<String> hVideoSimAttrs = Arrays.asList("title");
|
|
private static final List<String> hVideoSimAttrs = Arrays.asList("title");
|
|
private static final List<String> cfList = Arrays.asList("share", "return");
|
|
private static final List<String> cfList = Arrays.asList("share", "return");
|
|
- private static final List<String> userAttrList = Arrays.asList("province", "city", "model", "brand", "system");
|
|
|
|
|
|
|
|
public static void getContextFeature(long currentMs, Map<String, Double> featureMap) {
|
|
public static void getContextFeature(long currentMs, Map<String, Double> featureMap) {
|
|
Calendar calendar = Calendar.getInstance();
|
|
Calendar calendar = Calendar.getInstance();
|
|
@@ -42,9 +41,9 @@ public class FeatureTransform {
|
|
public static void getUserFeature(Map<String, Map<String, String>> userOriginInfo, Map<String, Double> featMap) {
|
|
public static void getUserFeature(Map<String, Map<String, String>> userOriginInfo, Map<String, Double> featMap) {
|
|
oneTypeStatFeature("c1", "return_1_uv", c1Periods, userOriginInfo.get("mid_global_feature_20250212"), featMap);
|
|
oneTypeStatFeature("c1", "return_1_uv", c1Periods, userOriginInfo.get("mid_global_feature_20250212"), featMap);
|
|
Map<String, String> c4Map = userOriginInfo.get("mid_u2u_friend_index_feature_20250212");
|
|
Map<String, String> c4Map = userOriginInfo.get("mid_u2u_friend_index_feature_20250212");
|
|
- for (String calType : Arrays.asList("avg_", "max_", "min_")) {
|
|
|
|
- getRateStatFeature("c4", calType, c4Periods, c4Map, featMap);
|
|
|
|
- }
|
|
|
|
|
|
+// for (String calType : Arrays.asList("avg_", "max_", "min_")) {
|
|
|
|
+// getRateStatFeature("c4", calType, c4Periods, c4Map, featMap);
|
|
|
|
+// }
|
|
}
|
|
}
|
|
|
|
|
|
public static void getUserProfileFeature(UserShareReturnProfile profile, Map<String, String> userInfo, Map<String, Double> featMap) {
|
|
public static void getUserProfileFeature(UserShareReturnProfile profile, Map<String, String> userInfo, Map<String, Double> featMap) {
|
|
@@ -76,17 +75,6 @@ public class FeatureTransform {
|
|
featMap.put("c9_ros_minus", ros_minus);
|
|
featMap.put("c9_ros_minus", ros_minus);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (null != userInfo && !userInfo.isEmpty()) {
|
|
|
|
- for (String attr : userAttrList) {
|
|
|
|
- if (userInfo.containsKey(attr)) {
|
|
|
|
- String value = userInfo.get(attr).trim().replaceAll("(\\s+|\\t|:)", "_");
|
|
|
|
- if (!value.isEmpty()) {
|
|
|
|
- String key = String.format("%s@%s", attr, value.toLowerCase());
|
|
|
|
- featMap.put(key, 1.0);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
public static void getUserTagsCrossVideoFeature(String prefix, Map<String, String> videoInfo, Map<String, String> infoMap, Map<String, Double> featMap) {
|
|
public static void getUserTagsCrossVideoFeature(String prefix, Map<String, String> videoInfo, Map<String, String> infoMap, Map<String, Double> featMap) {
|
|
@@ -149,8 +137,8 @@ public class FeatureTransform {
|
|
headVideoCFD3Feature("d3", videoOriginInfo.getOrDefault(vid, new HashMap<>()).get("alg_recsys_feature_cf_i2i_v2"), featMap);
|
|
headVideoCFD3Feature("d3", videoOriginInfo.getOrDefault(vid, new HashMap<>()).get("alg_recsys_feature_cf_i2i_v2"), featMap);
|
|
|
|
|
|
// 特殊mid * cate
|
|
// 特殊mid * cate
|
|
- oneTypeStatFeature("c2", "return_n_uv", c1Periods, videoOriginInfo.getOrDefault(vid, new HashMap<>()).get("mid_merge_cate1_feature_20250212"), featMap);
|
|
|
|
- oneTypeStatFeature("c3", "return_n_uv", c1Periods, videoOriginInfo.getOrDefault(vid, new HashMap<>()).get("mid_merge_cate2_feature_20250212"), featMap);
|
|
|
|
|
|
+ //oneTypeStatFeature("c2", "return_n_uv", c1Periods, videoOriginInfo.getOrDefault(vid, new HashMap<>()).get("mid_merge_cate1_feature_20250212"), featMap);
|
|
|
|
+ //oneTypeStatFeature("c3", "return_n_uv", c1Periods, videoOriginInfo.getOrDefault(vid, new HashMap<>()).get("mid_merge_cate2_feature_20250212"), featMap);
|
|
}
|
|
}
|
|
|
|
|
|
public static void getVideoBaseFeature(String prefix, long currentMs, Map<String, String> videoInfo, Map<String, Double> featMap) {
|
|
public static void getVideoBaseFeature(String prefix, long currentMs, Map<String, String> videoInfo, Map<String, Double> featMap) {
|
|
@@ -283,17 +271,6 @@ public class FeatureTransform {
|
|
featMap.put(key, 1.0);
|
|
featMap.put(key, 1.0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (videoInfo.containsKey("keywords")) {
|
|
|
|
- String keywords = videoInfo.get("keywords");
|
|
|
|
- if (null != keywords && !keywords.isEmpty()) {
|
|
|
|
- for (String kw : keywords.split(",")) {
|
|
|
|
- if (!kw.isEmpty()) {
|
|
|
|
- String featKey = String.format("%s@kw@%s", prefix, kw);
|
|
|
|
- featMap.put(featKey, 1.0);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
private static void getTwoVideoCrossFeature(String prefix, List<String> attrs, Map<String, String> video1, Map<String, String> video2, Map<String, Double> featMap) {
|
|
private static void getTwoVideoCrossFeature(String prefix, List<String> attrs, Map<String, String> video1, Map<String, String> video2, Map<String, Double> featMap) {
|