基于复用网络的开源软件推荐技术研究
一、背景
找到软件后,快速便捷的复用,哪些搭配,哪些冲突
二、相关工作
数据挖掘领域,频繁项集发现三种算法算法,aprior、FP-growth、使用垂直格式挖掘
三、同现网络构造
由复用网络转化为同现网络,同现网络其实是2频繁项集,两顶点如果有边,则说明两顶点同现过。
四、同现网络分析
还没写,不知道用什么对这个网络进行分析,不知道分析的目标是什么,预期结果是什么。
五、同现关系量化模型
在网络图中依据路径计算项集的支持度和置信度
六、组合软件推荐方法
在网络图中用广度优先或深度优先,根据迭代或递归次数找n元环发现n项集,用项集的支持度和置信度去判断是否频繁
七、实验结果分析
还没写,不知道怎么筛选项目,也不知道怎么判断好坏
目前筛选是watch!=0 and star!=0 and fork!=0 and pom_number >10 的项目,如果最小支持度设为0.2,出现的频繁项集比较少,只能依次减小支持度。
还有没有其他好的方法筛选项目,缩小原始数据集?
主要内容
1、开源软件复用生态系统 (小论文)
构造 - 数据爬取、处理、建模为网络
分析 - 社交网络分析方法、复用网络分析结果
2、相似开源软件推荐
以依赖包为软件项目的特征
模拟TF-IDF模型构建项目空间向量 Project = {dependency1, dependency2,...,dependencyk}
利用余弦模型计算相似度
实验测试集
选取了watch !=0 and fork !=0 and star !=0 and 复用依赖包数量 >10 的软件项目,共 6652个
目前,实验结果分析还没有写。
没有想好怎么去对实验结果进行评测分析