原有规则
- CCS分类的相似度
- reference的相似程度
- 在该子空间上的文本中关键词的相似度
增添规则
- keywords的杰卡德相似度
代码
import config
paperID_list=[]
with open(config.ARTICLES, 'r') as f:
for index, line in enumerate(f.readlines()):
line = line.strip('\n').split("\t")
paperId=int(line[-1])
paperID_list.append(paperId)
paperId_keywords_dict={}
index=0
with open(config.KEYWORDS,'r') as f:
for line in f:
line=line.strip('\n').split("\t")
line=line[:-1]
paperId=paperID_list[index]
index=index+1
paperId_keywords_dict[paperId]=line
def PaperId2KeywordsJaccard(paperId1,paperId2):
temp_list1=paperId_keywords_dict[int(paperId1)]
temp_list2=paperId_keywords_dict[int(paperId2)]
temp_set=set(temp_list1+temp_list2)
fenmu=len(temp_set)
fenzi=len(temp_list1)+len(temp_list2)-fenmu
return fenzi/fenmu
总结
接下来的主要工作就是代码的整合,以及测试数据的处理等等。