Commit a707e407 authored by 赵威's avatar 赵威

get cpc result

parent 7cd08a93
......@@ -10,9 +10,9 @@ from models.esmm.fe import device_fe, diary_fe, tractate_fe
from models.esmm.tractate_model import model_predict_tractate
from utils.cache import get_essm_model_save_path, redis_client2
from utils.grey import recommed_service_category_device_id_by_tail
from utils.portrait import (get_cpc_diary_list, get_user_portrait_tag3_read_v2, user_portrait_tag3_get_candidate_dict,
from utils.portrait import (get_unread_cpc_diary_list, get_user_portrait_tag3_read_v2, user_portrait_tag3_get_candidate_dict,
user_portrait_tag3_get_candidate_unread_list, user_portrait_tag3_get_ctcvr_queue,
user_portrait_tag3_write_ctcvr_data)
user_portrait_tag3_write_cpc_ctcvr, user_portrait_tag3_write_ctcvr_data)
def user_portrait_scan_info(device_dict, diary_dict, tractate_dict, diary_predict_fn, tractate_predict_fn, tail_number):
......@@ -72,12 +72,22 @@ def user_portrait_increment_scan_info(device_dict, diary_dict, tractate_dict, di
def offline_predict_diary(device_id, device_dict, diary_dict, predict_fn, size=300):
time_begin = time.time()
diary_ids = user_portrait_tag3_get_candidate_unread_list(device_id, "diary", size=size)
print("diary_ids: " + str(len(diary_ids)))
res = model_predict_diary(device_id, diary_ids, device_dict, diary_dict, predict_fn)
print("res: " + str(len(res)))
# print("res: " + str(len(res)) + " " + str(res[:5]))
user_portrait_tag3_write_ctcvr_data(device_id, "diary", res[:500])
cpc_set = set(get_unread_cpc_diary_list(device_id, size=size))
diary_set_ids = set(user_portrait_tag3_get_candidate_unread_list(device_id, "diary", size=size))
content_diary_ids = list(diary_set_ids.difference(cpc_set))
cpc_diary_ids = list(diary_set_ids.intersection(cpc_set))
print("content_diary_ids: " + str(len(content_diary_ids)))
print("cpc_diary_ids: " + str(len(cpc_diary_ids)))
content_res = model_predict_diary(device_id, content_diary_ids, device_dict, diary_dict, predict_fn)
print("content res: " + str(len(content_res)))
user_portrait_tag3_write_ctcvr_data(device_id, "diary", content_res)
cpc_res = model_predict_diary(device_id, cpc_diary_ids, device_dict, diary_dict, predict_fn)
print("cpc res: " + str(len(cpc_res)))
user_portrait_tag3_write_cpc_ctcvr_data(device_id, cpc_res)
total_time = (time.time() - time_begin)
print("total cost {:.5f}s".format(total_time))
......@@ -142,8 +152,8 @@ if __name__ == "__main__":
# main()
lst = get_cpc_diary_list()
print(lst)
device_id = "androidid_a25a1129c0b38f7b"
offline_predict_diary(device_id, device_dict, diary_dict, diary_predict_fn, size=300)
total_time = (time.time() - time_begin) / 60
print("total cost {:.2f} mins at {}".format(total_time, datetime.datetime.now()))
......@@ -195,12 +195,14 @@ def user_portrait_tag3_get_candidate_unread_list(device_id, content_type, size=5
return queue
def get_cpc_diary_list():
def get_unread_cpc_diary_list(device_id, size=500):
key = "strategy:cpc_diary_list"
data = redis_client3.get(key)
read_list, _ = get_user_portrait_tag3_read_v2(device_id, "diary")
queue = []
if data:
return json.loads(data)
return []
queue = json.loads(data)
return get_n_unread_data_from_ids(queue, size, read_list)
def user_portrait_tag3_write_ctcvr_data(device_id, content_type, data):
......@@ -214,3 +216,16 @@ def user_portrait_tag3_write_ctcvr_data(device_id, content_type, data):
key = _user_portrait_tag3_get_ctcvr_candidate_key(device_id, content_type)
redis_client4.set(key, json.dumps(data))
redis_client4.expire(key, 60 * 60 * 24 * 30)
def user_portrait_tag3_write_cpc_ctcvr_data(device_id, data):
"""
device_id:
content_type: diary
data: [15420031, 15531030, 16049931, 15335637, 16443431]
return:
"""
if data:
key = "doris:user_portrait:tag3:ctcvr:candidate:cpc:diary:device_id:" + device_id
redis_client4.set(key, json.dumps(data))
redis_client4.expire(key, 60 * 60 * 24 * 30)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment