[发明专利]一种基于开发者实践技能相似性的同行推荐方法有效
申请号: | 201310538491.0 | 申请日: | 2013-11-04 |
公开(公告)号: | CN103530428A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 李兵;何鹏;杨习辉;汪文娟 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 张火春 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于开发者实践技能相似性的同行推荐方法,本发明通过结合Sourceforge.net社区开发者的实践技能相似性与共同开发者数,计算两个开发者之间的得分,并通过对实践技能与共同开发者数之间的比重系数,以及表示开发者实践技能的各属性的比重系数分配情况进行分析,最终确定为社区开发者提供潜在合作同行推荐的最佳方案。本方法具有如下优点:(1)没有局限于单个开源项目下开发者社区推荐,而是以整个社区为推荐对象(如sourceforge.net),从一个更大的视角审视知识共享与群体智能优势;(2)不仅考虑了共同开发者数,还引入了开发者的实践技能相似性,确保在具有相同的共同开发者数情况下,实践技能越相似的开发者优先推荐。 | ||
搜索关键词: | 一种 基于 开发者 实践 技能 相似性 同行 推荐 方法 | ||
【主权项】:
一种基于开发者实践技能相似性的同行推荐方法,其特征在于,包括以下步骤:步骤1:计算开发者间的实践技能相似性,其具体实现包括以下子步骤,步骤1.1:根据获得的社区数据,从中提取用于表示开发者实践技能的各种属性信息,将开发者实践技能Expertise表示为由开发者在项目中担任的角色ATp、项目的状态ATs、项目的主题ATt、项目的开发语言ATlan、项目的目标受众ATia和项目的认证ATlic六个属性构成的向量,即Expertise=(ATp,ATs,ATt,ATlan,ATia,ATlic),其中每一个属性又表示为ATi=(wi1,wi2,wi3,...,win),n为每个属性中所涉及的元素个数,wij为第i个属性的第j个元素的权值;步骤1.2:采用文本挖掘方法中的TF‑IDF公式,经对数变换处理得到一个开发者d在第i个属性的元素j上的权重wdij与属性向量|AT|标准化的表达式为: w dij = ( log f dij + 1 ) log # devs # dev j | AT | = 1 Σ j ∈ d i ( ( log f dij + 1 ) · log # devs # dev j ) 2 对于开发者d,如果第i个属性的第j个元素在他参与的项目中出现的次数fdij越多,且参与含有属性元素j的项目开发的开发者数#devj与总开发者数#devs的比值越小,则这个开发者在该属性元素上的实践技能越高;步骤1.3:采用余弦相似性计算两个开发者A和B的实践技能相似性Sim(A,B),则开发者A和B在第i个属性上的实践技能相似性为: cos ( A A T i , B AT i ) = Σ j ∈ AT i ∩ BT i ( log f Aij + 1 ) ( log f Bij + 1 ) ( log # devs # dev j ) 2 Σ j ∈ AT i ( ( log f Aij + 1 ) · log # devs # dev j ) 2 · Σ j ∈ BT i ( ( log f Bij + 1 ) · log # devs # dev j ) 2 因此,两个开发者A和B的实践技能相似性Sim(A,B)为: Sim ( A , B ) = Σ i = 1 n α i cos ( A AT i , B AT i ) , n = 6 其中,αi依次为六个属性对应的比重系数,且αi满足∑αi=1,(i=1,2,...6);步骤2:计算开发者间共同开发者数,其具体实现包括以下子步骤,步骤2.1:根据开发者与项目的隶属关系,构建开发者‑项目二分网络BDEV_Net=(Nd,Np,Edp),Nd表示开发者的节点集,Np表示项目的节点集,Edp为开发者与项目之间的隶属关系集;步骤2.2:根据上述的BDEV_Net网络投影得到开发者合作网络DEV_Net=(Nd,Ed),即如果两个开发者参与了同一个项目的开发,则视为他们之间存在一条合作连边,Nd表示开发者的节点集,Ed为开发者合作连边集;步骤2.3:基于开发者合作网络DEV_Net,网络中最短路径为2的两个开发者A,B之间存在共同的合作同行,路径条数便为开发者间共同开发者数CDAB;步骤2.4:为标准化开发者间共同开发者数的影响,采用平方根函数处理CDAB,得到标准化后的两个开发者A和B的共同开发者数: F ( CD AB ) = 1 - 1 CD AB + 1 ; 步骤3:开发者潜在合作同行推荐,其具体实现包括以下子步骤,步骤3.1:给定任意一个开发者,结合该开发者与其他开发者的实践技能相似性与共同开发者数,计算开发者之间的得分Score(A,B): Score ( A , B ) = ( 1 - E ab ) ( βSim ( A,B ) + ( 1 - β ) F ( CD AB ) ) = ( 1 - E ab ) ( β Σ i = 1 n α i cos ( A AT i , B AT i ) + ( 1 - β ) ( 1 - 1 CD AB + 1 ) ) 其中,β用来权衡实践技能相似性与共同开发者数的影响比重,β满足0≤β≤1;在开发者合作网络DEV_Net的Ed集中,若开发者A,B有合作,则Eab=1,否则为Eab=0;步骤3.2:根据开发者间的得分情况,对潜在的合作同行按照得分降序排列,最后为开发者返回前10个最可能建立合作的同行;步骤3.3:将推荐的结果与之后一年内开发者的实际合作情况进行对比,推荐的十个同行中,开发者只要与其中的任何一个建立了合作,则推荐成功,然后采用平均排序倒数MRR 和平均准确率MAP进行评价推荐效果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310538491.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种基于模拟器的关键路径分析方法
- 下一篇:票据专用防伪印刷处理装备