去重优化:
1. 去重算法特别耗时
a.扫全表问题,查询相同homepage,相同名称及别名。
解决方案:扫表时加入判断字段,减少查询量。
b. 数据库查询字符串的时候,索引失效问题, 比较耗时。mysql在使用like查询的时候只有不以%开头的时候,才会使用到索引。
c. 实验计量其他耗时模块。
2. 通过项目之间相似度比较的算法还需改进,准确率不高。目前的算法是先比较tag信息,如果没有比较则描述信息。tag比照是直接计算相同tag的数目,描述信息是用TF/IDF算法计算相似度,阈值设定也有问题。后续探索如何综合名称、标签及描述信息来比较。
3. 项目别名的提取模块化。
目前的算法是通过别名查找相关软件项目。如果别名越来越精简(只要简称和全称),可能会漏掉一些重复项目,但是计算效率会有很大提高。或者使用相关词(区别于别名)进行相关项目查询,但是会加大计算量,但是覆盖更全面。具体需要进行实验比较,综合算法功能性和时间复杂度多方面考量。将之前算法得到的具有重复关系的数据作为测试集,后续将对程序进行改善。感谢湛大哥@湛云(zhanyun) 的提点,后续会和坤坤@李乾坤(kevinli) 一起改进算法。