当前位置: 首页 > 专利查询>安徽大学专利>正文

一种基于异质信息网络的开发者推荐方法及装置制造方法及图纸

技术编号:24251629 阅读:45 留言:0更新日期:2020-05-22 23:37
本发明专利技术公开了一种基于异质信息网络的开发者推荐方法及装置,所述方法包括:建立关系矩阵,构建异质信息网络,获取异质信息网络中每条元路径下每个开发者的初始表示向量以及每条元路径下每个项目的初始表示向量;获取关联度矩阵;更新开发者的表示向量以及项目的表示向量;将各元路径下开发者的表示向量加权融合,将各元路径下项目的表示向量加权融合;获取预测关联度值并给每个开发者推荐项目;所述装置包括矩阵建立模块、初始化模块、关联度矩阵获取模块、更新模块、加权融合模块以及推荐模块;本发明专利技术的优点在于:推荐信息较为准确全面,推荐结果更加个性化。

A developer recommendation method and device based on heterogeneous information network

【技术实现步骤摘要】
一种基于异质信息网络的开发者推荐方法及装置
本专利技术涉及异质信息网络领域,更具体涉及一种基于异质信息网络的开发者推荐方法及装置。
技术介绍
开源软件生态系统为软件开发者提供了便利的技术合作和交流平台,大量的专家和开发者受到吸引并加入其中。当前的背景下,开发者一般寻找合适且感兴趣的项目去参与,因此他们往往花费了大量的时间去找寻这些项目;而在另一方面,如果开发者加入了不熟悉的项目,不仅对开发者产生消极影响,更容易对这个项目造成较为严重的后果(例如项目延期)。而开发者推荐旨在为开发者推荐其感兴趣的项目,也为项目寻找合适的开发者,很大程度上避免了上述问题的产生,在开源软件生态中应用较为广泛。中国专利公开号CN109032591A公开了一种基于神经网络的众包软件开发者推荐方法,所述方法中的模型总体包含三个主要组件,注册行为预测器,提交行为预测器,获胜行为预测器,所述提交行为预测器基于用户已经注册后的情况进行预测,获胜行为预测器基于用户已经提交后的情况进行预测,注册者预测器预测没有任何先决条件,在所述注册行为预测器对任务数据集进行学习中,如果输出本文档来自技高网...

【技术保护点】
1.一种基于异质信息网络的开发者推荐方法,其特征在于,所述方法包括:/n步骤一:提取github上开发者、开发者所属公司、开发者参与的项目、以及开发者参与项目所使用的编程语言之间的交互数据,建立关系矩阵;/n步骤二:构建异质信息网络,获取异质信息网络中每条元路径下每个开发者的初始表示向量以及每条元路径下每个项目的初始表示向量;/n步骤三:获取异质信息网络中每条元路径下开发者和项目的关联度矩阵;/n步骤四:更新开发者的表示向量以及项目的表示向量;/n步骤五:通过注意力机制将各元路径下开发者的表示向量加权融合,将各元路径下项目的表示向量加权融合;/n步骤六:获取每个开发者与每个项目的预测关联度值,...

【技术特征摘要】
1.一种基于异质信息网络的开发者推荐方法,其特征在于,所述方法包括:
步骤一:提取github上开发者、开发者所属公司、开发者参与的项目、以及开发者参与项目所使用的编程语言之间的交互数据,建立关系矩阵;
步骤二:构建异质信息网络,获取异质信息网络中每条元路径下每个开发者的初始表示向量以及每条元路径下每个项目的初始表示向量;
步骤三:获取异质信息网络中每条元路径下开发者和项目的关联度矩阵;
步骤四:更新开发者的表示向量以及项目的表示向量;
步骤五:通过注意力机制将各元路径下开发者的表示向量加权融合,将各元路径下项目的表示向量加权融合;
步骤六:获取每个开发者与每个项目的预测关联度值,根据预测关联度值给每个开发者推荐项目。


2.根据权利要求1所述的一种基于异质信息网络的开发者推荐方法,其特征在于,所述步骤一包括:
步骤101:根据github上公开的数据集获取包含开发者U、开发者所属公司C、开发者参与的项目P以及开发者参与项目所使用的编程语言L的矩阵信息数据的数据表;
步骤102:建立|U|×|C|的UC矩阵,其中|U|为数据表中的开发者的数量,|C|为数据表中的公司的数量,对开发者以及其所属公司,在UC矩阵对应位置置为1;
步骤103:建立|U|×|P|的UP矩阵,其中|P|为数据表中的开发者参与的项目的数量,对开发者ui所参与的项目pj,在UP矩阵对应位置置为r,r为开发者ui参加项目pj时所提交的commits数量;选取UP矩阵矩阵中非0元素构建开发者与项目的交互列表Q且Q=[[ui,pj],......];
步骤104:建立|P|×|L|的PL矩阵,其中,|L|为数据表中编程语言的数量,对每个项目所使用的语言,在PL矩阵对应位置置为1;
步骤105:建立|U|×|L|的UL矩阵,对于开发者ui所使用过的语言,在UL矩阵的对应位置置为c,c为开发者历史曾使用该语言参与的项目数量;
步骤106:建立|U|×|U|的UU矩阵,依据数据表,对于每个开发者所关注的其他开发者,在UU矩阵的对应位置置为1。


3.根据权利要求2所述的一种基于异质信息网络的开发者推荐方法,其特征在于,所述步骤二包括:
步骤201:根据开发者U、开发者所属公司C、开发者参与的项目P以及开发者参与项目所使用的编程语言L的矩阵信息数据构建元路径U→U→P、元路径U→L→P、元路径U→C→U→P和元路径U→C→U→U→P,由各元路径及其包含的异质节点组成了异质信息网络;
步骤202:对异质信息网络中每条元路径,通过高斯分布随机初始化开发者U的表示向量获得开发者ui的初始表示向量随机初始化项目P的表示向量获得项目pj的初始表示向量其中m表示元路径的索引。


4.根据权利要求3所述的一种基于异质信息网络的开发者推荐方法,其特征在于,所述步骤三包括:
通过邻接矩阵相乘的方式,得到不同元路径下的开发者U和项目P的关联度矩阵UPm,其中,对于元路径U→U→P,UP1=UU×UP;对于元路径U→L→P,UP2=UL×(PL)T;对于元路径U→C→U→P,UP3=UC×(UC)T×UP;对于元路径U→C→U→U→P,UP4=UC×(UC)T×UU×UP;()T表示矩阵的转置。


5.根据权利要求4所述的一种基于异质信息网络的开发者推荐方法,其特征在于,所述步骤四包括:
步骤401:在开发者与项目的交互列表Q加入交互项,获得新的交互列表其中表示在元路径m下关联度矩阵UPm中对应于开发者ui和项目pj的值;
步骤402:将开发者ui的初始表示向量作为开发者ui的当前表示向量,将项目pj的初始表示向量作为项目pj的当前表示向量;
步骤403:根据开发者ui的当前表示向量利用公式更新开发者当前表示向量,其中,为开发者ui的当前表示向量,为开发者ui更新后的表示向量,为预设的开发者ui的调整参数;
根据项目pj的当前表示向量利用公式



更新项目表示向量;其中,为项目pj的当前表示向量,为项目pj更新后的表示向量,为预设的项目pj的调整参数;
步骤404:将开发者ui更新后的表示向量作为开发者ui的初始表示向量,将项目pj更新后的表示向量作为项目pj的初始表示向量,返回执行步骤402和步骤403,直至新的交互列表Q'中所有的交互项遍历完毕;
步骤405:循环执行步骤402、步骤403以及步骤404共K次,K为预先设定的迭代次数;
步骤406:循环执行步骤401、步骤402、步骤403、步骤404以及步骤405,直至所有元路径都更新完毕。


6.根据权利要求5所述的一种基于异质信息网络的开发者推荐方法,其特征在于,所述步骤五包括:
步骤501:根据开发者ui更新后的表示向量利用公式计算各元路径下开发者ui的注意力得分,其中,为m元路径下开发者ui的注意力得分,σ()为sigmoid函数,表示开发者ui的初始化权重,表示开发者ui的初始化偏置向量;
根据项目pj更新后的表示向量利用公式计算各元路径下...

【专利技术属性】
技术研发人员:张以文谢文鑫颜登程田垚
申请(专利权)人:安徽大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1