|
@@ -1,7 +1,7 @@
|
|
|
"""
|
|
|
@author: luojunhui
|
|
|
"""
|
|
|
-from applications.match_algorithm.recall import recall_videos
|
|
|
+from applications.match_algorithm.title_similarity import jcd_title_similarity
|
|
|
from applications.functions.log import logging
|
|
|
|
|
|
|
|
@@ -29,3 +29,31 @@ def jac_score(d1, d2):
|
|
|
score_3 = len(extra_keys_intersection) / len(extra_keys_union)
|
|
|
return score_1 * 0.4 + score_2 * 0.4 + score_3 * 0.2, d2['video_id']
|
|
|
|
|
|
+
|
|
|
+def title_similarity_rank(content_title, recall_list):
|
|
|
+ """
|
|
|
+
|
|
|
+ :param content_title:
|
|
|
+ :param recall_list:
|
|
|
+ :return:
|
|
|
+ """
|
|
|
+ include_title_list = []
|
|
|
+ for item in recall_list:
|
|
|
+ video_info = item['result']
|
|
|
+ platform = item['platform']
|
|
|
+ if platform in ['dy_search', 'baidu_search']:
|
|
|
+ title = video_info['title']
|
|
|
+ elif platform in ['xg_search']:
|
|
|
+ title = video_info['video_title']
|
|
|
+ else:
|
|
|
+ continue
|
|
|
+ item['title'] = title
|
|
|
+ include_title_list.append(item)
|
|
|
+ # include_title_list加上相似度分
|
|
|
+ title_score_list = [
|
|
|
+ {'score': jcd_title_similarity(content_title, item['title']), **item}
|
|
|
+ for item in
|
|
|
+ include_title_list
|
|
|
+ ]
|
|
|
+ sorted_list = sorted(title_score_list, key=lambda x: x['score'], reverse=True)
|
|
|
+ return sorted_list
|