Commit bb20c24e authored by 高雅喆's avatar 高雅喆

update

parent 29613813
...@@ -55,7 +55,7 @@ def get_discover_page_topic_ids(user_id, device_id, size, query_type=TopicPageTy ...@@ -55,7 +55,7 @@ def get_discover_page_topic_ids(user_id, device_id, size, query_type=TopicPageTy
def get_home_recommend_topic_ids(user_id, device_id, tag_id, offset, underexposure_lin_topic_count=0, size=0, query=None, def get_home_recommend_topic_ids(user_id, device_id, tag_id, offset, underexposure_lin_topic_count=0, size=0, query=None,
query_type=TopicPageType.HOME_RECOMMEND, promote_topic_list=[], disable_collpase=False, query_type=TopicPageType.HOME_RECOMMEND, promote_topic_list=[], disable_collpase=False,
usefulrecall=-1, useful_tag_list=[], has_score=False, gray_list=[]): usefulrecall=-1, useful_tag_list=[], has_score=False, gray_list=[1]):
try: try:
topic_star_routing = "6" topic_star_routing = "6"
index_type = "topic-high-star" index_type = "topic-high-star"
...@@ -276,7 +276,7 @@ def get_home_recommend_topic_ids(user_id, device_id, tag_id, offset, underexposu ...@@ -276,7 +276,7 @@ def get_home_recommend_topic_ids(user_id, device_id, tag_id, offset, underexposu
return [], [], [] return [], [], []
def get_home_recommend_pictorial_ids(user_id=-1, device_id="", size=4, gray_list=[]): def get_home_recommend_pictorial_ids(user_id=-1, device_id="", size=4, gray_list=[1]):
try: try:
if STRATEGY_TYPE.CTR_GRAY in gray_list: if STRATEGY_TYPE.CTR_GRAY in gray_list:
pictorial_recommend_redis_key = "ctr_physical:linucb:pictorial_recommend:device_id:" + str(device_id) pictorial_recommend_redis_key = "ctr_physical:linucb:pictorial_recommend:device_id:" + str(device_id)
...@@ -316,20 +316,22 @@ def get_home_recommend_pictorial_ids(user_id=-1, device_id="", size=4, gray_list ...@@ -316,20 +316,22 @@ def get_home_recommend_pictorial_ids(user_id=-1, device_id="", size=4, gray_list
return [] return []
def get_topic_and_pictorial_detail_for_debug(device_id="", linucb_topic_id_list=[], rank_topic_id_list=[], def get_topic_and_pictorial_detail_for_debug(device_id="", underexposure_lin_topic_ids=[], linucb_topic_id_list=[],
linucb_pictorial_id_list=[], rank_topic_score=[]): rank_topic_id_list=[], linucb_pictorial_id_list=[],
rank_topic_score=[], gray_list=[1]):
try: try:
linucb_tag_dict = get_device_linucb_tag(device_id, size=20, has_score=True) linucb_tag_dict = get_device_linucb_tag(device_id, size=20, has_score=True, gray_list=gray_list)
linucb_topic_results = dict() linucb_topic_results = dict()
linucb_pictorial_results = dict() linucb_pictorial_results = dict()
rank_topic_results = dict() rank_topic_results = dict()
if len(linucb_topic_id_list) > 0: linucb_topic_id_list_all = linucb_topic_id_list + underexposure_lin_topic_ids
linucb_topic_dict = TopicUtils.get_linucb_topic_info_for_debug(len(linucb_topic_id_list), underexposure_lin_topic_results = dict()
linucb_topic_list=linucb_topic_id_list) exposure_lin_topic_results = dict()
linucb_topic_results = dict() if len(linucb_topic_id_list_all) > 0:
linucb_topic_dict = TopicUtils.get_linucb_topic_info_for_debug(len(linucb_topic_id_list_all),
linucb_topic_list=linucb_topic_id_list_all)
if len(linucb_topic_dict) > 0: if len(linucb_topic_dict) > 0:
# num = 1 for topic_id in linucb_topic_id_list_all:
for topic_id in linucb_topic_id_list:
topic_id = topic_id topic_id = topic_id
edit_tag_List = linucb_topic_dict[topic_id]['edit_tag_list'] edit_tag_List = linucb_topic_dict[topic_id]['edit_tag_list']
content_level = linucb_topic_dict[topic_id]['content_level'] content_level = linucb_topic_dict[topic_id]['content_level']
...@@ -345,27 +347,24 @@ def get_topic_and_pictorial_detail_for_debug(device_id="", linucb_topic_id_list= ...@@ -345,27 +347,24 @@ def get_topic_and_pictorial_detail_for_debug(device_id="", linucb_topic_id_list=
{"id": edit_tag, "score": 0, "name": edit_tag_List_dict[edit_tag]}) {"id": edit_tag, "score": 0, "name": edit_tag_List_dict[edit_tag]})
linucb_topic_results.update({str(topic_id): {"id": topic_id, "content_level": content_level, linucb_topic_results.update({str(topic_id): {"id": topic_id, "content_level": content_level,
"edit_tags": edit_tag_name_score_list}}) "edit_tags": edit_tag_name_score_list}})
logging.info("linucb_topic:{}".format(linucb_topic_results)) # logging.info("linucb_topic:{}".format(linucb_topic_results))
# num += 1 underexposure_lin_topic_results = {k: v for k, v in linucb_topic_results if
k in underexposure_lin_topic_ids}
exposure_lin_topic_results = {k: v for k, v in linucb_topic_results if k in linucb_topic_id_list}
if len(rank_topic_id_list) > 0: if len(rank_topic_id_list) > 0:
rank_topic_dict = TopicUtils.get_linucb_topic_info_for_debug(len(rank_topic_id_list), rank_topic_dict = TopicUtils.get_linucb_topic_info_for_debug(len(rank_topic_id_list),
linucb_topic_list=rank_topic_id_list) linucb_topic_list=rank_topic_id_list)
rank_topic_results = dict()
if len(rank_topic_dict) > 0: if len(rank_topic_dict) > 0:
# num = 1
for i in range(len(rank_topic_id_list)): for i in range(len(rank_topic_id_list)):
topic_id = rank_topic_id_list[i] topic_id = rank_topic_id_list[i]
score = rank_topic_score[i] score = rank_topic_score[i]
rank_topic_results.update({str(topic_id): {"id": topic_id, "rank": score}}) rank_topic_results.update({str(topic_id): {"id": topic_id, "rank": score}})
# num += 1 # logging.info("rank_topic:{}".format(rank_topic_results))
logging.info("rank_topic:{}".format(rank_topic_results))
if len(linucb_pictorial_id_list) > 0: if len(linucb_pictorial_id_list) > 0:
if len(linucb_pictorial_id_list) > 0: if len(linucb_pictorial_id_list) > 0:
linucb_pictorial_dict = TopicUtils.get_linucb_pictorial_info_for_debug(len(linucb_pictorial_id_list), linucb_pictorial_dict = TopicUtils.get_linucb_pictorial_info_for_debug(len(linucb_pictorial_id_list),
linucb_pictorial_list=linucb_pictorial_id_list) linucb_pictorial_list=linucb_pictorial_id_list)
linucb_pictorial_results = dict()
if len(linucb_pictorial_dict) > 0: if len(linucb_pictorial_dict) > 0:
# num = 1
for pictorial_id in linucb_pictorial_id_list: for pictorial_id in linucb_pictorial_id_list:
pictorial_id = pictorial_id pictorial_id = pictorial_id
edit_tag_List = linucb_pictorial_dict[pictorial_id]['edit_tag_list'] edit_tag_List = linucb_pictorial_dict[pictorial_id]['edit_tag_list']
...@@ -381,15 +380,15 @@ def get_topic_and_pictorial_detail_for_debug(device_id="", linucb_topic_id_list= ...@@ -381,15 +380,15 @@ def get_topic_and_pictorial_detail_for_debug(device_id="", linucb_topic_id_list=
{"id": edit_tag, "score": 0, "name": edit_tag_List_dict[edit_tag]}) {"id": edit_tag, "score": 0, "name": edit_tag_List_dict[edit_tag]})
linucb_pictorial_results.update({str(pictorial_id): {"id": pictorial_id, linucb_pictorial_results.update({str(pictorial_id): {"id": pictorial_id,
"edit_tags": edit_tag_name_score_list}}) "edit_tags": edit_tag_name_score_list}})
logging.info("linucb_pictorial:{}".format(linucb_pictorial_results)) # logging.info("linucb_pictorial:{}".format(linucb_pictorial_results))
# num += 1 result = {"underexposure_lin_topic": underexposure_lin_topic_results,
result = {"linucb_topic": linucb_topic_results, "rank_topic": rank_topic_results, "exposure_lin_topic": exposure_lin_topic_results, "rank_topic": rank_topic_results,
"linucb_pictorial": linucb_pictorial_results} "linucb_pictorial": linucb_pictorial_results}
logging.info("get_topic_and_pictorial_detail_for_debug:result:{}:device_id:{}".format(result, device_id)) logging.info("get_topic_and_pictorial_detail_for_debug:result:{}:device_id:{}".format(result, device_id))
return result return result
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return {"linucb_topic": {}, "rank_topic": {}, "linucb_pictorial": {}} return {"underexposure_lin_topic": {}, "exposure_lin_topic": {}, "rank_topic": {}, "linucb_pictorial": {}}
@bind("physical/search/query_tag_id_by_topic") @bind("physical/search/query_tag_id_by_topic")
...@@ -403,7 +402,7 @@ def query_tag_id_by_topic(offset=0, size=10, topic_id_list=[], user_id=-1): ...@@ -403,7 +402,7 @@ def query_tag_id_by_topic(offset=0, size=10, topic_id_list=[], user_id=-1):
@bind("physical/search/home_recommend") @bind("physical/search/home_recommend")
def home_recommend(device_id="", user_id=-1, offset=0, underexposure_lin_topic_count =4, lin_pictorial_count=4, size=10, query_type=TopicPageType.HOME_RECOMMEND, def home_recommend(device_id="", user_id=-1, offset=0, underexposure_lin_topic_count =4, lin_pictorial_count=4, size=10, query_type=TopicPageType.HOME_RECOMMEND,
promote_topic_list=[], usefulrecall=-1, useful_tag_list=[], is_debug=False,gray_list=[]): promote_topic_list=[], usefulrecall=-1, useful_tag_list=[], is_debug=False,gray_list=[1]):
""" """
:remark:首页推荐,目前只推荐日记 :remark:首页推荐,目前只推荐日记
:param session_id: :param session_id:
...@@ -477,8 +476,8 @@ def home_recommend(device_id="", user_id=-1, offset=0, underexposure_lin_topic_c ...@@ -477,8 +476,8 @@ def home_recommend(device_id="", user_id=-1, offset=0, underexposure_lin_topic_c
return {"underexposure_lin_topic_ids": underexposure_lin_topic_ids, "linucb_topic_ids": recommend_topic_ids, "rank_topic_ids": rank_topic_ids, return {"underexposure_lin_topic_ids": underexposure_lin_topic_ids, "linucb_topic_ids": recommend_topic_ids, "rank_topic_ids": rank_topic_ids,
"useful_topic_ids": useful_topic_ids, "linucb_pictorial_ids": recommend_pictorial_ids} "useful_topic_ids": useful_topic_ids, "linucb_pictorial_ids": recommend_pictorial_ids}
else: else:
results = get_topic_and_pictorial_detail_for_debug(device_id, recommend_topic_ids, rank_topic_ids, results = get_topic_and_pictorial_detail_for_debug(device_id, underexposure_lin_topic_ids, recommend_topic_ids, rank_topic_ids,
recommend_pictorial_ids, rank_topic_score) recommend_pictorial_ids, rank_topic_score, gray_list)
return {"underexposure_lin_topic_ids": underexposure_lin_topic_ids, "linucb_topic_ids": recommend_topic_ids, "rank_topic_ids": rank_topic_ids, return {"underexposure_lin_topic_ids": underexposure_lin_topic_ids, "linucb_topic_ids": recommend_topic_ids, "rank_topic_ids": rank_topic_ids,
"useful_topic_ids": useful_topic_ids, "linucb_pictorial_ids": recommend_pictorial_ids, "useful_topic_ids": useful_topic_ids, "linucb_pictorial_ids": recommend_pictorial_ids,
"debug_model_data": results} "debug_model_data": results}
...@@ -515,8 +514,8 @@ def home_recommend(device_id="", user_id=-1, offset=0, underexposure_lin_topic_c ...@@ -515,8 +514,8 @@ def home_recommend(device_id="", user_id=-1, offset=0, underexposure_lin_topic_c
return {"underexposure_lin_topic_ids": underexposure_lin_topic_ids, "linucb_topic_ids": recommend_topic_ids, "rank_topic_ids": rank_topic_ids, return {"underexposure_lin_topic_ids": underexposure_lin_topic_ids, "linucb_topic_ids": recommend_topic_ids, "rank_topic_ids": rank_topic_ids,
"linucb_pictorial_ids": recommend_pictorial_ids} "linucb_pictorial_ids": recommend_pictorial_ids}
else: else:
results = get_topic_and_pictorial_detail_for_debug(device_id, recommend_topic_ids, rank_topic_ids, results = get_topic_and_pictorial_detail_for_debug(device_id, underexposure_lin_topic_ids, recommend_topic_ids, rank_topic_ids,
recommend_pictorial_ids, rank_topic_score) recommend_pictorial_ids, rank_topic_score, gray_list)
return {"underexposure_lin_topic_ids": underexposure_lin_topic_ids, "linucb_topic_ids": recommend_topic_ids, "rank_topic_ids": rank_topic_ids, return {"underexposure_lin_topic_ids": underexposure_lin_topic_ids, "linucb_topic_ids": recommend_topic_ids, "rank_topic_ids": rank_topic_ids,
"linucb_pictorial_ids": recommend_pictorial_ids, "debug_model_data": results} "linucb_pictorial_ids": recommend_pictorial_ids, "debug_model_data": results}
except: except:
...@@ -830,11 +829,7 @@ def clear_history(device_id=None, user_id=-1): ...@@ -830,11 +829,7 @@ def clear_history(device_id=None, user_id=-1):
return ['fail'] return ['fail']
def get_device_linucb_tag(device_id=None, size=20, has_score=False, gray_list=[]): def get_device_linucb_tag(device_id=None, size=20, has_score=False, gray_list=[1]):
# {
# "lincub": [{"id": 1, "name": 名字}, {"id": 2, "name": 名字}, {"id": 3, "name": 名字}, {"id": 5, "name": 名字},
# {"id": 6, "name": 名字}, ]
# }
try: try:
user_feature = [1, 1] user_feature = [1, 1]
if device_id: if device_id:
...@@ -884,11 +879,7 @@ def get_edit_tag_name(tag_lst): ...@@ -884,11 +879,7 @@ def get_edit_tag_name(tag_lst):
@bind("physical/search/device_linucb_tag_debug") @bind("physical/search/device_linucb_tag_debug")
def get_device_linucb_tag2(device_id=None, size=20, has_score=False, gray_list=[]): def get_device_linucb_tag2(device_id=None, size=20, has_score=False, gray_list=[1]):
# {
# "lincub": [{"id": 1, "name": 名字}, {"id": 2, "name": 名字}, {"id": 3, "name": 名字}, {"id": 5, "name": 名字},
# {"id": 6, "name": 名字}, ]
# }
try: try:
user_feature = [1, 1] user_feature = [1, 1]
if device_id: if device_id:
......
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