def computeSimilarScores(RelatedSrcfileinfo_dict, allAPI_info_list, weights, APIinfo_list): #text0_list:类名 方法名 参数名 因为相似度计算是 列表存的words #text1_list:注释 SimilarScores_dict = {} text0_list = [] text1_list = [] for key in RelatedSrcfileinfo_dict: text0_list = text0_list + RelatedSrcfileinfo_dict[key][0] text1_list = text1_list + RelatedSrcfileinfo_dict[key][1] text0_result = getStrucCmptScors.Half_computeSimilarity( text0_list, APIinfo_list) text1_result = getStrucCmptScors.Half_computeSimilarity( text1_list, APIinfo_list) if len(text0_result) > len(text1_result): text0_result = text0_result[:len(text1_result)] if len(text1_result) > len(text0_result): text1_result = text1_result[:len(text0_result)] for i in range(len(allAPI_info_list)): API = allAPI_info_list[i][0] + '.' + allAPI_info_list[i][1] try: score = text0_result[i] * weights[0] + text1_result[i] * weights[1] except IndexError: break if SimilarScores_dict.has_key( API) and SimilarScores_dict[API] >= score: pass else: SimilarScores_dict[API] = score return SimilarScores_dict
def computeSimilarScores( RelatedSrcfileinfo_dict , allAPI_info_list ): #text0_list:类名 方法名 参数名 因为相似度计算是 列表存的words #text1_list:注释 text0_list = [] text1_list = [] for key in RelatedSrcfileinfo_dict: text0_list = text0_list + RelatedSrcfileinfo_dict[key][0] text1_list = text1_list + RelatedSrcfileinfo_dict[key][1] text0_result = getStrucCmptScors.Half_computeSimilarity(text0_list,APIinfo_list) text1_result = getStrucCmptScors.Half_computeSimilarity(text1_list,APIinfo_list) return text0_result,text1_result