|  | @@ -20,7 +20,24 @@ public class ExtractFeature20250218 {
 | 
	
		
			
				|  |  |      private ExtractFeature20250218() {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    public static void handleB1ToB11AndB13(Map<String, Map<String, Object>> videoFeature, Map<String, Object> featureMap) {
 | 
	
		
			
				|  |  | +    public static void handleB1(Map<String, Object> b1Feature, Map<String, Object> featureMap) {
 | 
	
		
			
				|  |  | +        List<String> times = Arrays.asList("1h", "3h", "6h", "12h", "24h", "72h", "168h");
 | 
	
		
			
				|  |  | +        List<String> indexList = Arrays.asList("is_share", "share_cnt", "is_return_1", "return_1_uv", "str_one", "ros_one", "str", "ros", "str_plus", "ros_minus", "rovn");
 | 
	
		
			
				|  |  | +        for (String time : times) {
 | 
	
		
			
				|  |  | +            for (String index : indexList) {
 | 
	
		
			
				|  |  | +                double value = Double.parseDouble(b1Feature.getOrDefault(index + "_" + time, "0").toString());
 | 
	
		
			
				|  |  | +                featureMap.put("b1_" + index + "_" + time, value);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            double rovn = Double.parseDouble(b1Feature.getOrDefault("rovn_" + time, "0").toString());
 | 
	
		
			
				|  |  | +            double returnNUv = Double.parseDouble(b1Feature.getOrDefault("return_n_uv", "0").toString());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            featureMap.put("b1_rovn*log(r)_" + time, rovn * RankExtractorFeature_20240530.calLog(returnNUv));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static void handleB2ToB11AndB13(Map<String, Map<String, Object>> videoFeature, Map<String, Object> featureMap) {
 | 
	
		
			
				|  |  |          List<String> times = Arrays.asList("1h", "3h", "6h", "12h", "24h", "72h", "168h");
 | 
	
		
			
				|  |  |          List<String> indexList = Arrays.asList("is_share", "share_cnt", "is_return_1", "return_n_uv", "str_one", "ros_one", "str", "ros", "str_plus", "ros_minus", "rovn");
 | 
	
		
			
				|  |  |          for (Map.Entry<String, Map<String, Object>> entry : videoFeature.entrySet()) {
 | 
	
	
		
			
				|  | @@ -101,7 +118,7 @@ public class ExtractFeature20250218 {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      public static void handleC1(Map<String, Object> c1Feature, Map<String, Object> featureMap) {
 | 
	
		
			
				|  |  |          List<String> times = Arrays.asList("12h", "24h", "72h", "168h");
 | 
	
		
			
				|  |  | -        List<String> indexList = Arrays.asList("is_share", "share_cnt", "is_return_1", "return_n_uv", "click", "str_one", "ros_one", "str", "ros", "str_plus", "ros_minus", "rovn");
 | 
	
		
			
				|  |  | +        List<String> indexList = Arrays.asList("is_share", "share_cnt", "is_return_1", "return_1_uv", "click", "str_one", "ros_one", "str", "ros", "str_plus", "ros_minus", "rovn");
 | 
	
		
			
				|  |  |          for (String time : times) {
 | 
	
		
			
				|  |  |              for (String index : indexList) {
 | 
	
		
			
				|  |  |                  double value = Double.parseDouble(featureMap.getOrDefault(index + "_" + time, "0").toString());
 |