一种基于开发者实践技能相似性的同行推荐方法

文档序号:6517793阅读:108来源:国知局
一种基于开发者实践技能相似性的同行推荐方法
【专利摘要】本发明公开了一种基于开发者实践技能相似性的同行推荐方法,本发明通过结合Sourceforge.net社区开发者的实践技能相似性与共同开发者数,计算两个开发者之间的得分,并通过对实践技能与共同开发者数之间的比重系数,以及表示开发者实践技能的各属性的比重系数分配情况进行分析,最终确定为社区开发者提供潜在合作同行推荐的最佳方案。本方法具有如下优点:(1)没有局限于单个开源项目下开发者社区推荐,而是以整个社区为推荐对象(如sourceforge.net),从一个更大的视角审视知识共享与群体智能优势;(2)不仅考虑了共同开发者数,还引入了开发者的实践技能相似性,确保在具有相同的共同开发者数情况下,实践技能越相似的开发者优先推荐。
【专利说明】一种基于开发者实践技能相似性的同行推荐方法
【技术领域】
[0001]本发明属于群体软件工程领域,涉及一种基于开发者实践技能相似性的同行推荐方法,尤其涉及一种基于开发者实践技能相似性与共同开发者数的潜在合作同行推荐方法。
【背景技术】
[0002]信息推荐是一种支持在大量信息中为用户提供可供决策参考的有用信息。它根据用户的历史数据或用户的偏好向用户推荐可能感兴趣的人或物,已经被广泛应用于不同领域。常见的推荐系统例如Amazon、Netflix、淘宝、Movielens等。随着社交网络的流行,人-人推荐也备受关注。通过朋友推荐用户可以结识更多的新朋友,扩大自己的交际圈,如国内的微博、朋友网、人人网;国外的Facebook、MySpace、LinkedIn等。
[0003]电子商务推荐系统的目的是为用户推送最可能感兴趣的产品,而社交网络推荐系统主要是为用户推荐最可能发生交互的其他用户。各种推荐系统都有助于用户在缺乏经验或无法考虑周全手上所有数据的情况下获取所需信息,做出相应决策。人们在大量信息空间中导航所面临的挑战,在群体软件开发过程中同样存在,尤其是当前流行的开源社区,对于一个软件开发团队,领导者更希望知道“谁知道什么”,有利于他们寻找合适的团队成员。一个开发者遇到问题时,更想知道“谁能帮忙处理这个问题”。如果缺乏这些信息,开发者需要花费精力在大量的人员中进行查找,这无疑是软件工程实践中需要极力避免的情况。为协助开发者从代码重用到合作关系选择的各种行为,提出软件工程推荐系统(Recommendation Systems for Software Engineering,简称 RSSE)。
[0004]开源社区(SourceForge.net)作为一类典型的在线虚拟群体开发社区,它是一个自组织的合作网络,有着成千上百万来自不同国家,不同文化与专业知识背景的开发者。开发者自愿加入社区与其他开发者建立互惠合作关系,不断地相互学习,共享知识,加强团队开发管理经验,提高自身的专业技能或丰富业余时间,且这些开源开发者在现实生活中往往很少能够面对面的交流。然而,据统计在SourceForge.net社区中,90%以上的项目只有不足5个开发者,其中很多项目因未能及时找到合适的开发人选而被延时或停滞;同时,95%以上的开发者也只参与了不超过5个项目,大量的人力处于空闲状态,整个社区开发者的合作关系表现为一个稀疏的网络。为此,我们提出一种为开发者推荐潜在合作对象的方法。

【发明内容】

[0005]本发明主要是针对各大开源社区(如SourceForge.net)中开发者合作稀疏性,开发者实践技能的表示,人力资源和项目资源的有效利用等问题,提出一种基于开发者实践技能相似性的同行推荐方法。
[0006]本发明所采用的技术方案是:一种基于开发者实践技能相似性的同行推荐方法,其特征在于,包括以下步骤:[0007]步骤1:计算开发者间实践技能相似性,其具体实现包括以下子步骤,
[0008]步骤1.1:根据获得的社区数据,从中提取用于表示开发者实践技能的各种属性信息,将开发者实践技能Expertise表示为由开发者在项目中担任的角色ATpJ目的状态AT-项目的主题ATt、项目的开发语言ATlan、项目的目标受众ATia和项目的认证ATlic;六个属性构成的向量,即Expertise= (ATP,ATs, ATt, ATlan, ATia, ATlic),其中每一个属性又表示为ATi= (wn, wi2, wi3,...,win), η为每个属性中所涉及的元素个数,Wij为第i个属性的第j个元素的权值;
[0009]步骤1.2:采用文本挖掘方法中的TF-1DF公式,经对数变换处理得到一个开发者d在第i个属性的元素j上的权重Wdij与属性向量IatI标准化的表达式为:
[0010]
【权利要求】
1.一种基于开发者实践技能相似性的同行推荐方法,其特征在于,包括以下步骤: 步骤1:计算开发者间的实践技能相似性,其具体实现包括以下子步骤, 步骤1.1:根据获得的社区数据,从中提取用于表示开发者实践技能的各种属性信息,将开发者实践技能Expertise表示为由开发者在项目中担任的角色ATp、项目的状态AT-项目的主题ATt、项目的开发语言ATlan、项目的目标受众ATia和项目的认证ATlic;六个属性构成的向量,即Expertise= (ATP,ATs, ATt, ATlan, ATia, ATlic),其中每一个属性又表示为ATi= (wn, wi2, wi3,...,win), η为每个属性中所涉及的元素个数,Wij为第i个属性的第j个元素的权值; 步骤1.2:采用文本挖掘方法中的TF-1DF公式,经对数变换处理得到一个开发者d在第i个属性的元素j上的权重Wdij与属性向量IATl标准化的表达式为:
2.根据权利要求1所述基于开发者实践技能相似性的同行推荐方法,其特征在于:步骤3.1所述的β用来权衡实践技能相似性与共同开发者数的影响比重,其具体实现包括以下子步骤: 步骤3.1.1:首先,设定属性的比重系数分布如下:
(1)比重系数平均分配,即aj= α 2= α 3= α 4= α 5= α 6=16 ; (2)比重系数非平均分配,设定主题的属性系数Ci3=0.4,其他5个属性的系数a j= α 2= α 4= α 5= α 6=0.12 ; (3)比重系数独立分配,设Cii=I,^,#=0,即每次只考虑一个属性与共同开发者数的作用; 步骤3.1.2:对比三种情况下,β在[0,I]变化时推荐成功的开发者数与平均排序倒数MRR,平均准确率MAP精度; 步骤3.1.3:根据步骤Cl.2得知项目主题比重系数α 3与目标受众比重系数《 5在β =0.2或0.3时,推荐效果最好,进一步分析当β =0.2或0.3时,两者比重系数在满足α 3+α 5=1的何种情况能使推荐效果最佳。
【文档编号】G06F17/30GK103530428SQ201310538491
【公开日】2014年1月22日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】李兵, 何鹏, 杨习辉, 汪文娟 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1