linfan 1 년 전
부모
커밋
1e4bf0ca4e
2개의 변경된 파일79개의 추가작업 그리고 32개의 파일을 삭제
  1. 79 29
      rank_service.py
  2. 0 3
      video_rank.py

+ 79 - 29
rank_service.py

@@ -32,6 +32,8 @@ def get_featurs(mid, data, size, top_K, flow_pool_P, env_dict=None):
         sencetype = env_dict.get('sencetype', '')
     redisObj = RedisHelper()
     pre_str = "v_ctr:"
+    hour_pre_str = "v_hour_ctr:"
+    hour_vidKeys = []
     mid_list = []
     videoid_list = []
     apptype_list = []
@@ -69,9 +71,11 @@ def get_featurs(mid, data, size, top_K, flow_pool_P, env_dict=None):
         machineinfo_platform_list.append(machineinfo_platform)
         sencetype_list.append(sencetype)
         vidKeys.append(pre_str + str(vid))
+        hour_vidKeys.append(hour_pre_str+str(vid))
         recall_list.append(recall_item)
     #print("vidKeys:", vidKeys)
     video_static_info = redisObj.get_batch_key(vidKeys)
+    video_hour_static_info = redisObj.get_batch_key(hour_vidKeys)
     #print("video_static_info:",video_static_info)
     if video_static_info:
         for i in range(len(video_static_info)):
@@ -85,13 +89,13 @@ def get_featurs(mid, data, size, top_K, flow_pool_P, env_dict=None):
                     day_share_score_list.append(float(per_video_staic[2]))
                     day_return_rate_list.append(float(per_video_staic[3]))
                     day_ctr_score_list.append(float(per_video_staic[4]))
-                    day_view_users_list.append(int(per_video_staic[5]))
-                    day_view_pv_list.append(int(per_video_staic[6]))
-                    day_play_users_list.append(int(per_video_staic[7]))
-                    day_play_pv_list.append(int(per_video_staic[8]))
-                    day_share_users.append(int(per_video_staic[9]))
-                    day_share_pv_list.append(int(per_video_staic[10]))
-                    day_return_users_list.append(int(per_video_staic[11]))
+                    # day_view_users_list.append(int(per_video_staic[5]))
+                    # day_view_pv_list.append(int(per_video_staic[6]))
+                    # day_play_users_list.append(int(per_video_staic[7]))
+                    # day_play_pv_list.append(int(per_video_staic[8]))
+                    # day_share_users.append(int(per_video_staic[9]))
+                    # day_share_pv_list.append(int(per_video_staic[10]))
+                    # day_return_users_list.append(int(per_video_staic[11]))
                 else:
                     insert_static_default_fea(day_ctr_score_list, day_play_pv_list, day_play_users_list,
                                               day_return_rate_list, day_return_users_list, day_rov_list,
@@ -108,6 +112,43 @@ def get_featurs(mid, data, size, top_K, flow_pool_P, env_dict=None):
                                       day_return_rate_list, day_return_users_list, day_rov_list,
                                       day_share_pv_list, day_share_return_score_list, day_share_score_list,
                                       day_share_users, day_view_pv_list, day_view_users_list)
+    hour_rov_list = []
+    hour_share_return_score_list =[]
+    hour_share_score_list =[]
+    hour_return_rate_list = []
+    hour_ctr_score_list = []
+
+    if video_hour_static_info:
+        for i in range(len(video_hour_static_info)):
+            try:
+                # print(video_scores[i])
+                vid = hour_vidKeys[i].replace(hour_pre_str,"")
+                if video_hour_static_info[i] :
+                    per_hour_video_staic = json.loads(video_hour_static_info[i])
+                    hour_rov_list.append(float(per_hour_video_staic[0]))
+                    hour_share_return_score_list.append(float(per_hour_video_staic[1]))
+                    hour_share_score_list.append(float(per_hour_video_staic[2]))
+                    hour_return_rate_list.append(float(per_hour_video_staic[3]))
+                    hour_ctr_score_list.append(float(per_hour_video_staic[4]))
+                else:
+                    hour_rov_list.append(0.0)
+                    hour_share_return_score_list.append(0.0)
+                    hour_share_score_list.append(0.0)
+                    hour_return_rate_list.append(0.0)
+                    hour_ctr_score_list.append(0.0)
+            except Exception:
+                    hour_rov_list.append(0.0)
+                    hour_share_return_score_list.append(0.0)
+                    hour_share_score_list.append(0.0)
+                    hour_return_rate_list.append(0.0)
+                    hour_ctr_score_list.append(0.0)
+    else:
+        for i in range(len(recall_list)):
+            hour_rov_list.append(0.0)
+            hour_share_return_score_list.append(0.0)
+            hour_share_score_list.append(0.0)
+            hour_return_rate_list.append(0.0)
+            hour_ctr_score_list.append(0.0)
     feature_dict["mid_list"] = mid_list
     feature_dict["videoid_list"] = videoid_list
     feature_dict["apptype_list"]  = apptype_list
@@ -124,14 +165,18 @@ def get_featurs(mid, data, size, top_K, flow_pool_P, env_dict=None):
     feature_dict["day_share_score_list"] = day_share_score_list
     feature_dict["day_return_rate_list"] = day_return_rate_list
     feature_dict["day_ctr_score_list"] = day_ctr_score_list
-    feature_dict["day_ctr_score_list"] = day_ctr_score_list
-    feature_dict["day_play_pv_list"] = day_play_pv_list
-    feature_dict["day_play_users_list"] = day_play_users_list
-    feature_dict["day_return_users_list"] = day_return_users_list
-    feature_dict["day_share_pv_list"] = day_share_pv_list
-    feature_dict["day_view_pv_list"] = day_view_pv_list
-    feature_dict["day_view_users_list"] = day_view_users_list
-    feature_dict["day_share_users_list"] = day_share_users
+    # feature_dict["day_play_pv_list"] = day_play_pv_list
+    # feature_dict["day_play_users_list"] = day_play_users_list
+    # feature_dict["day_return_users_list"] = day_return_users_list
+    # feature_dict["day_share_pv_list"] = day_share_pv_list
+    # feature_dict["day_view_pv_list"] = day_view_pv_list
+    # feature_dict["day_view_users_list"] = day_view_users_list
+    # feature_dict["day_share_users_list"] = day_share_users
+    feature_dict["hour_rov_list"] = hour_rov_list
+    feature_dict["hour_share_return_score_list"] = hour_share_return_score_list
+    feature_dict["hour_share_score_list"] = hour_share_score_list
+    feature_dict["hour_return_rate_list"] = hour_return_rate_list
+    feature_dict["hour_ctr_score_list"] = hour_ctr_score_list
     return feature_dict, recall_list
 
 
@@ -143,13 +188,13 @@ def insert_static_default_fea(day_ctr_score_list, day_play_pv_list, day_play_use
     day_share_score_list.append(0.0)
     day_return_rate_list.append(0.0)
     day_ctr_score_list.append(0.0)
-    day_view_users_list.append(0)
-    day_view_pv_list.append(0)
-    day_play_users_list.append(0)
-    day_play_pv_list.append(0)
-    day_share_users.append(0)
-    day_share_pv_list.append(0)
-    day_return_users_list.append(0)
+    # day_view_users_list.append(0)
+    # day_view_pv_list.append(0)
+    # day_play_users_list.append(0)
+    # day_play_pv_list.append(0)
+    # day_share_users.append(0)
+    # day_share_pv_list.append(0)
+    # day_return_users_list.append(0)
 
 def get_tf_serving_sores(feature_dict):
     if not feature_dict or len(feature_dict)<22:
@@ -171,13 +216,18 @@ def get_tf_serving_sores(feature_dict):
                     "day_share_score": feature_dict["day_share_score_list"],
                     "day_return_rate": feature_dict["day_return_rate_list"],
                     "day_ctr_score": feature_dict["day_ctr_score_list"],
-                    "day_play_pv": feature_dict["day_play_pv_list"],
-                    "day_play_users": feature_dict["day_play_users_list"],
-                    "day_share_pv": feature_dict["day_share_pv_list"],
-                    "day_return_users": feature_dict["day_return_users_list"],
-                    "day_share_users": feature_dict["day_share_users_list"],
-                    "day_view_pv": feature_dict["day_view_pv_list"],
-                    "day_view_users":feature_dict["day_view_users_list"]
+                    # "day_play_pv": feature_dict["day_play_pv_list"],
+                    # "day_play_users": feature_dict["day_play_users_list"],
+                    # "day_share_pv": feature_dict["day_share_pv_list"],
+                    # "day_return_users": feature_dict["day_return_users_list"],
+                    # "day_share_users": feature_dict["day_share_users_list"],
+                    # "day_view_pv": feature_dict["day_view_pv_list"],
+                    # "day_view_users":feature_dict["day_view_users_list"],
+                    "hour_rov": feature_dict["hour_rov_list"],
+                    "hour_share_score": feature_dict["hour_share_score_list"],
+                    "hour_share_return_score": feature_dict["hour_share_return_score_list"],
+                    "hour_return_rate": feature_dict["hour_return_rate_list"],
+                    "hour_ctr_score": feature_dict["hour_ctr_score_list"]
     }
     request_data_dict= {}
     request_data_dict["inputs"] = inputs_data

+ 0 - 3
video_rank.py

@@ -744,8 +744,6 @@ def sup_rank(data, pre_str, recall_list, rov_recall_rank):
         vidKeys.append(pre_str + str(vid))
         recall_list.append(recall_item)
     video_scores = redisObj.get_batch_key(vidKeys)
-    # print("vidKeys:", video_scores, "\t", vidKeys)
-    # print(len(video_scores), len(recall_list))
     if video_scores and len(recall_list) > 0:
         for i in range(len(video_scores)):
             try:
@@ -758,7 +756,6 @@ def sup_rank(data, pre_str, recall_list, rov_recall_rank):
             except Exception:
                 recall_list[i]['sort_score'] = 0.0
         rov_recall_rank = sorted(recall_list, key=lambda k: k.get('sort_score', 0), reverse=True)
-        # print("rov_recall_rank:", rov_recall_rank)
     else:
         rov_recall_rank = recall_list
     return rov_recall_rank