Commit 01696d82 authored by 段英荣's avatar 段英荣

tiaoshi

parent b05a8671
......@@ -172,13 +172,21 @@ class LinUCB:
return False
@classmethod
def update_linucb_info(cls,reward, content_id, redis_name_linucb_matrix,redis_cli,user_features=None,user_features_array=None):
def update_linucb_info(cls,reward, content_id, redis_name_linucb_matrix,redis_cli,user_features=None,
user_features_array=None,content_level_str=-1):
try:
if reward == -1:
logging.warning("reward val error!")
elif reward == 1 or reward == 0:
if reward == 1:
r = cls.r1
if content_level_str == "6":
r = cls.r1 * 10
elif content_level_str == "5":
r = cls.r1 * 8
elif content_level_str == "4":
r = cls.r1 * 6
elif content_level_str == "3.5":
r = cls.r1 * 4
else:
r = cls.r0
......
......@@ -140,7 +140,7 @@ class Generate_Feature_Info(object):
try:
tag_label = label_encoder.transform(offi_tags_v3)[0]
# diary_feature_list = onehot_encoder.transform([[tag_label]]).toarray().tolist()
diary_feature_list = [tag_label]
diary_feature_list = [tag_label,content_level]
redis_client.hset(redis_name_content_linucb_feature, diary_id,
json.dumps(diary_feature_list))
except:
......@@ -225,33 +225,35 @@ if __name__ == "__main__":
linucb_matrix_redis_name = "strategy:linucb:matrix:content_type:diary"
# diary_click_file = "/data/log/duan_test/feed_query_data/feed_click_info.txt"
# diary_fd = open(diary_click_file,"r")
#
# for line in diary_fd.readlines():
# line = line.strip()
# line = line.strip("\n")
# line = line.strip("\r")
# line = line.strip(" ")
#
# item_list = line.split(",")
# device_id = item_list[3]
# diary_id = item_list[4]
# # Generate_Feature_Info.generate_user_feature_to_redis(device_id, label_encoder,onehot_encoder)
#
# user_feature_list = Generate_Feature_Info.get_user_feature_by_device_id(device_id)
# content_feature_list = Generate_Feature_Info.get_content_feature(diary_id)
#
# offi_context_feature_list = []
# if len(user_feature_list)>0 and len(content_feature_list)>0:
# offi_context_feature_list.append(user_feature_list[0])
# offi_context_feature_list.append(content_feature_list[0])
#
# print(offi_context_feature_list)
# print("*"*50)
# LinUCB.update_linucb_info(user_features=offi_context_feature_list,reward=1,content_id=diary_id,
# redis_name_linucb_matrix=linucb_matrix_redis_name,redis_cli=redis_client)
# diary_fd.close()
diary_click_file = "/data/log/duan_test/feed_query_data/feed_click_info.txt"
diary_fd = open(diary_click_file,"r")
for line in diary_fd.readlines():
line = line.strip()
line = line.strip("\n")
line = line.strip("\r")
line = line.strip(" ")
item_list = line.split(",")
device_id = item_list[3]
diary_id = item_list[4]
# Generate_Feature_Info.generate_user_feature_to_redis(device_id, label_encoder,onehot_encoder)
user_feature_list = Generate_Feature_Info.get_user_feature_by_device_id(device_id)
content_feature_list = Generate_Feature_Info.get_content_feature(diary_id)
offi_context_feature_list = []
if len(user_feature_list)>0 and len(content_feature_list)>0:
offi_context_feature_list.append(user_feature_list[0])
offi_context_feature_list.append(content_feature_list[0])
diary_content_level = str(content_feature_list[1])
print(offi_context_feature_list)
print("*"*50)
LinUCB.update_linucb_info(user_features=offi_context_feature_list,reward=1,content_id=diary_id,
redis_name_linucb_matrix=linucb_matrix_redis_name,redis_cli=redis_client,
content_level=diary_content_level)
diary_fd.close()
duan_device_id="868771031984211"
......
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