CN111191882B - 一种识别异质信息网络中有影响力的开发者的方法及装置 - Google Patents
一种识别异质信息网络中有影响力的开发者的方法及装置 Download PDFInfo
- Publication number
- CN111191882B CN111191882B CN201911297254.3A CN201911297254A CN111191882B CN 111191882 B CN111191882 B CN 111191882B CN 201911297254 A CN201911297254 A CN 201911297254A CN 111191882 B CN111191882 B CN 111191882B
- Authority
- CN
- China
- Prior art keywords
- developer
- network
- influence
- sub
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06398—Performance of employee with respect to a job function
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种识别异质信息网络中有影响力的开发者的方法及装置,所述方法包括:提取GitHub上的公开数据集中所有与开发者相关的信息;构造异质信息网络;分别计算开发者子网络下的开发者的影响力值、项目子网络下的项目之间相互影响力值、开发者‑公司子网络下某公司中某开发者的影响力值以及开发者‑项目子网络下某项目中某开发者的影响力值,然后将每个网络下计算的影响力值融合形成最终的开发者影响力值;根据最终的开发者影响力值的大小推荐开发者;本发明的优点在于:能够获取开发者的影响力值且使推荐信息准确全面。
Description
技术领域
本发明涉及异质信息网络领域,更具体涉及一种识别异质信息网络中有影响力的开发者的方法及装置。
背景技术
随着异质信息网络的深入研究,作为网络中有影响力的节点越来越受到重视。尤其在与开发者相关的网络中,识别有影响力的开发人员在开发者子网络中具有重要意义。
中国专利公开号CN107767058A,公开了一种众包软件开发者推荐方法。首先,该算法对数据集进行预处理,选取信息较为完善的任务,并进一步提取选取的任务特征信息(如任务开发时间、报酬、需求描述、所需技能、发布时间、发布平台等)构造任务的特征向量;然后对任务进行聚类,将相似的任务聚集一起;然后,对于新的众包任务同样提取任务的特征,并得出与之相似的聚类任务,进一步在相似的任务间通过机器学习分类算法将获胜率高的开发者作为初步推荐的开发者候选集;最后,在开发者候选集中计算开发者的可靠性,并剔除部分可靠性低的开发者,根据开发者参与历史任务情况分析开发者之间的关联关系,建立开发者竞争网络。但是该发明针对众包软件进行开发者推荐,从要完成的任务出发最终进行开发者推荐,没有考虑开发者与公司以及开发者与项目之间的联系,推荐信息存在不够准确不够全面的问题。
发明内容
本发明所要解决的技术问题在于如何提供一种识别异质信息网络中有影响力的开发者的方法及装置,以获取开发者的影响力值且使推荐信息准确全面。
本发明通过以下技术手段实现解决上述技术问题的:一种识别异质信息网络中有影响力的开发者的方法,所述方法包括:
提取GitHub上的公开数据集中所有与开发者相关的信息;
通过开发者相关的信息构造开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络,开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络构成异质信息网络;
分别计算开发者子网络下的开发者的影响力值、项目子网络下的项目之间相互影响力值、开发者-公司子网络下某公司中某开发者的影响力值以及开发者-项目子网络下某项目中某开发者的影响力值,然后将每个网络下计算的影响力值融合形成最终的开发者影响力值;
根据最终的开发者影响力值的大小推荐开发者。
本发明综合考虑开发者之间、项目之间、开发者与公司之间、开发者与项目之间的联系,构建异质信息网络,获取多个子网络并构建异质信息网络,异质信息网络的每个子网络融入了语义信息,计算每个子网络中项目、开发者以及公司的影响力,最终将所有影响力融合得到最终的开发者影响力,利用每个子网络更好的结合了开发者的社交关系和项目的自身特征进行推荐,提高了推荐的精准度,并且考虑开发者的社交关系,推荐信息全面。
优选的,所述开发者子网络下的开发者的影响力值包括:对每一个开发者的影响力值赋予一个初始值n/ND,通过公式获取所述开发者子网络下的开发者的影响力值,在计算每一个开发者的影响力值时,与其共同合作的开发者的影响力值均是初始值,其中,W(Di)表示开发者子网络下的开发者Di的影响力值,ND表示开发者总的数量,d表示阻尼因子,Dj表示开发者Di的共同开发者,n表示开发者Dj的数量,S(Dj)表示与开发者Dj共同合作的开发者数量,W(Dj)表示开发者Dj影响力值。
优选的,所述项目子网络下的项目之间相互影响力值包括:对每一个项目的影响力值赋予一个初始值m/Np,通过公式获取所述项目子网络下的项目之间相互影响力值,在计算每一个项目的影响力值时,与其有关的项目的影响力值均是初始值,其中,W(Pi)表示项目子网络下的项目Pi的影响力值,NP表示项目总的数量,Pj表示与项目Pi有关的项目,m表示项目Pj的数量,S(Pj)表示与项目Pj有关的所有项目的数量,W(Pj)表示项目Pj的影响力值。
优选的,所述开发者-公司子网络下某公司中某开发者的影响力值包括:
步骤401:利用公司Ci中的开发者Dj的影响力值的初始值,根据公式计算公司Ci当前的影响力值;其中,R'(Ci)为公司Ci当前的影响力值,NC为开发者-公司子网络下所有公司的数量,K为公司Ci中开发者的数量,R(Dj)为公司Ci中的开发者Dj的影响力值的初始值;
步骤402:利用公司Ci的影响力值的初始值,根据公式计算公司Ci中的开发者Dj当前的影响力值;其中,每个公司的影响力值的初始值为1/NC,R'(Dj)为公司Ci中的开发者Dj当前的影响力值,t为开发者-公司子网络下与开发者Dj相关的公司数量;S(Ci)为公司Ci中的开发者数量;
步骤403:将开发者Dj当前的影响力值作为开发者Dj的影响力值的初始值,将公司Ci当前的影响力值作为公司Ci的影响力值的初始值,返回执行步骤401至步骤402,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001。
优选的,所述开发者-项目子网络下某项目中某开发者的影响力值包括:
步骤501:利用与项目Pi有关的开发者Dj的影响力值的初始值,根据公式计算项目Pi当前的影响力值;其中,L'(Pi)为项目Pi当前的影响力值,v为项目Pi中开发者的数量,L(Dj)为与项目Pi相关的开发者Dj的影响力值的初始值,S(Dj)为开发者Dj所参与的所有项目的数量;
步骤502:利用项目Pi的影响力值的初始值,根据公式计算与项目Pi相关的开发者Dj当前的影响力值;其中,L'(Dj)为与项目Pi相关的开发者Dj当前的影响力值,u为开发者-项目子网络下与开发者Dj相关的项目数量,S(Pi)为与项目Pi相关的开发者数量;
步骤503:将项目Pi当前的影响力值作为项目Pi的影响力值的初始值,将与项目Pi相关的开发者Dj当前的影响力值作为与项目Pi有关的开发者Dj的影响力值的初始值,返回执行步骤501至步骤502,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001。
优选的,所述将每个网络下计算的影响力值融合形成的开发者影响力值,包括:将开发者子网络下获取的开发者的影响力值作为初始开发者影响力值,初始开发者影响力值作为开发者-公司子网络下的开发者的影响力值的初始值获取次级开发者影响力值;将次级开发者影响力值作为开发者-项目子网络中开发者的影响力值的初始值,将项目子网络下的项目的影响力值作为开发者-项目子网络中项目的影响力值的初始值,计算获取最终的开发者影响力值。
本发明还提供一种识别异质信息网络中有影响力的开发者的装置,所述装置包括:
信息提取模块,用于提取GitHub上的公开数据集中所有与开发者相关的信息;
网络构建模块,用于通过开发者相关的信息构造开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络,开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络构成异质信息网络;
影响力获取模块,用于分别计算开发者子网络下的开发者的影响力值、项目子网络下的项目之间相互影响力值、开发者-公司子网络下某公司中某开发者的影响力值以及开发者-项目子网络下某项目中某开发者的影响力值,然后将每个网络下计算的影响力值融合形成最终的开发者影响力值;
推荐模块,用于根据最终的开发者影响力值的大小推荐开发者。
优选的,所述开发者子网络下的开发者的影响力值包括:对每一个开发者的影响力值赋予一个初始值n/ND,通过公式获取所述开发者子网络下的开发者的影响力值,在计算每一个开发者的影响力值时,与其共同合作的开发者的影响力值均是初始值,其中,W(Di)表示开发者子网络下的开发者Di的影响力值,ND表示开发者总的数量,d表示阻尼因子,Dj表示开发者Di的共同开发者,n表示开发者Dj的数量,S(Dj)表示与开发者Dj共同合作的开发者数量,W(Dj)表示开发者Dj影响力值。
优选的,所述项目子网络下的项目之间相互影响力值包括:对每一个项目的影响力值赋予一个初始值m/Np,通过公式获取所述项目子网络下的项目之间相互影响力值,在计算每一个项目的影响力值时,与其有关的项目的影响力值均是初始值,其中,W(Pi)表示项目子网络下的项目Pi的影响力值,NP表示项目总的数量,Pj表示与项目Pi有关的项目,m表示项目Pj的数量,S(Pj)表示与项目Pj有关的所有项目的数量,W(Pj)表示项目Pj的影响力值。
优选的,所述开发者-公司子网络下某公司中某开发者的影响力值包括:
步骤401:利用公司Ci中的开发者Dj的影响力值的初始值,根据公式计算公司Ci当前的影响力值;其中,R'(Ci)为公司Ci当前的影响力值,NC为开发者-公司子网络下所有公司的数量,K为公司Ci中开发者的数量,R(Dj)为公司Ci中的开发者Dj的影响力值的初始值;
步骤402:利用公司Ci的影响力值的初始值,根据公式计算公司Ci中的开发者Dj当前的影响力值;其中,每个公司的影响力值的初始值为1/NC,R'(Dj)为公司Ci中的开发者Dj当前的影响力值,t为开发者-公司子网络下与开发者Dj相关的公司数量;S(Ci)为公司Ci中的开发者数量;
步骤403:将开发者Dj当前的影响力值作为开发者Dj的影响力值的初始值,将公司Ci当前的影响力值作为公司Ci的影响力值的初始值,返回执行步骤401至步骤402,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001。
优选的,所述开发者-项目子网络下某项目中某开发者的影响力值包括:
步骤501:利用与项目Pi有关的开发者Dj的影响力值的初始值,根据公式计算项目Pi当前的影响力值;其中,L'(Pi)为项目Pi当前的影响力值,v为项目Pi中开发者的数量,L(Dj)为与项目Pi相关的开发者Dj的影响力值的初始值,S(Dj)为开发者Dj所参与的所有项目的数量;
步骤502:利用项目Pi的影响力值的初始值,根据公式计算与项目Pi相关的开发者Dj当前的影响力值;其中,L'(Dj)为与项目Pi相关的开发者Dj当前的影响力值,u为开发者-项目子网络下与开发者Dj相关的项目数量,S(Pi)为与项目Pi相关的开发者数量;
步骤503:将项目Pi当前的影响力值作为项目Pi的影响力值的初始值,将与项目Pi相关的开发者Dj当前的影响力值作为与项目Pi有关的开发者Dj的影响力值的初始值,返回执行步骤501至步骤502,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001。
优选的,所述将每个网络下计算的影响力值融合形成的开发者影响力值,包括:将开发者子网络下获取的开发者的影响力值作为初始开发者影响力值,初始开发者影响力值作为开发者-公司子网络下的开发者的影响力值的初始值获取次级开发者影响力值;将次级开发者影响力值作为开发者-项目子网络中开发者的影响力值的初始值,将项目子网络下的项目的影响力值作为开发者-项目子网络中项目的影响力值的初始值,计算获取最终的开发者影响力值。
本发明的优点在于:本发明综合考虑开发者之间、项目之间、开发者与公司之间、开发者与项目之间的联系,构建异质信息网络,获取多个子网络并构建异质信息网络,异质信息网络的每个子网络融入了语义信息,计算每个子网络中项目、开发者以及公司的影响力,最终将所有影响力融合得到最终的开发者影响力,通过结合几种对开发者产生影响的因素,利用每个子网络更好的结合了开发者的社交关系和项目的自身特征进行推荐,提高了推荐的精准度,并且考虑开发者的社交关系,推荐信息全面。
附图说明
图1为本发明实施例所公开的一种识别异质信息网络中有影响力的开发者的方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种识别异质信息网络中有影响力的开发者的方法,所述方法包括:
首先,提取GitHub上的公开数据集中所有与开发者相关的信息;具体过程为:在GitHub上的公开数据集中选取user、project、company等表格的内容作为原始数据集并进行相应的处理,相应处理指后续步骤涉及的处理过程,筛选出符合要求的数据集,获得与开发者以及项目之间相关的一系列信息,对于project表格,将参与同一项目的所有user的id分为一组,并将在同一组中的user两两之间建立一个连边,将所有user之间的关系存在一个矩阵中;同样在project表格中,若一个项目模仿或借鉴了其它项目,则两个项目之间也建立一个连边,并将所有project之间的关系存入一个矩阵中;在user表格中,找到每个user所属的company,将所有user以及其所属公司的关系存入一个矩阵中;同样在user表格中,找到每个user所参与的project,将所有的user及其所参与的项目之间的关系存入一个矩阵中。需要注意的是,GitHub是一个面向开源及私有软件项目的托管平台,以上涉及的各种英文名称的表格以及表格中的行和列均为GitHub的数据集中的内容。根据以上获取的矩阵建立各类子网络。User为原始数据集中开发者对应的列,Project是为原始数据集中项目对应的列,company为原始数据集中公司对应的列。
接着,通过开发者相关的信息构造开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络,开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络构成异质信息网络;
分别计算开发者子网络下的开发者的影响力值、项目子网络下的项目之间相互影响力值、开发者-公司子网络下某公司中某开发者的影响力值以及开发者-项目子网络下某项目中某开发者的影响力值,然后将每个网络下计算的影响力值融合形成最终的开发者影响力值;根据最终的开发者影响力值的大小推荐开发者。
同一个项目中,共同合作的开发者的影响力对开发者自身也有很大的影响,若一个开发者经常与一些影响力较大的开发者进行合作,那么此开发者自身也应该具有较强的影响力;若开发者在同一个项目中进行合作,则开发者之间存在一个连边,所以开发者子网络下的开发者的影响力值的计算过程为:对每一个开发者的影响力值赋予一个初始值n/ND,通过公式获取所述开发者子网络下的开发者的影响力值,在计算每一个开发者的影响力值时,与其共同合作的开发者的影响力值均是初始值,其中,W(Di)表示开发者子网络下的开发者Di的影响力值,ND表示开发者总的数量,d表示阻尼因子,Dj表示开发者Di的共同开发者,n表示开发者Dj的数量,S(Dj)表示与开发者Dj共同合作的开发者数量,W(Dj)表示开发者Dj影响力值。
在两个项目中,如果一个项目吸取或借鉴另一个项目的优越之处,那么这两个项目之间也是相互影响的。若两个项目之间存在一定的相关性,则两者之间便存在一条连边,所述项目子网络下的项目之间相互影响力值的计算过程为:对每一个项目的影响力值赋予一个初始值m/Np,通过公式获取所述项目子网络下的项目之间相互影响力值,在计算每一个项目的影响力值时,与其有关的项目的影响力值均是初始值,其中,W(Pi)表示项目子网络下的项目Pi的影响力值,NP表示项目总的数量,Pj表示与项目Pi有关的项目,m表示项目Pj的数量,S(Pj)表示与项目Pj有关的所有项目的数量,W(Pj)表示项目Pj的影响力值。
开发者的影响力不仅与其所合作的开发者影响力的大小有关,通常与其所属公司也有很大的关系。一些比较厉害的开发者往往会选择比较有著名的公司,同样,一些比较好的企业公司在招聘人才的时候也会选择有能力的人;因此,在开发者-公司网络中,包含两种类型的节点,分别是开发者和公司节点,同时也包含一种关系,即开发者与公司之间的关系。这样便构成了一个两者之间相互影响的网络;为了捕捉开发者-公司之间相互强化的过程,通过迭代更新的方式计算两者之间的影响力。所述开发者-公司子网络下某公司中某开发者的影响力值的计算过程为:
步骤401:利用公司Ci中的开发者Dj的影响力值的初始值,根据公式计算公司Ci当前的影响力值;其中,R'(Ci)为公司Ci当前的影响力值,NC为开发者-公司子网络下所有公司的数量,K为公司Ci中开发者的数量,R(Dj)为公司Ci中的开发者Dj的影响力值的初始值;
步骤402:利用公司Ci的影响力值的初始值,根据公式计算公司Ci中的开发者Dj当前的影响力值;其中,每个公司的影响力值的初始值为1/NC,R'(Dj)为公司Ci中的开发者Dj当前的影响力值,t为开发者-公司子网络下与开发者Dj相关的公司数量;S(Ci)为公司Ci中的开发者数量;
步骤403:将开发者Dj当前的影响力值作为开发者Dj的影响力值的初始值,将公司Ci当前的影响力值作为公司Ci的影响力值的初始值,返回执行步骤401至步骤402,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001。
在开发者-项目网络中,提出了一个对开发者影响力大小至关重要的因素,就是开发者所参与的项目。正常情况下,一些影响力较高的开发者所参与的项目十分重要,而参与一个重要项目开发的人员通常也有较高的影响力;相比开发者的共同开发人员以及开发者所在的公司而言,项目更加能反应出一个开发者的影响力。且对于项目而言,开发者对项目的影响程度要比项目之间的影响程度更高;同样,在开发者-项目网络中,也包含了两种类型的节点,分别是开发者和项目节点,以及这两者之间所存在的一种相互影响的关系。为了更加准确的描述开发者和项目之间相互影响的关系,建立一种详细的迭代更新规则来计算两者之间的相互影响程度。所述开发者-项目子网络下某项目中某开发者的影响力值的计算过程为:
步骤501:利用与项目Pi有关的开发者Dj的影响力值的初始值,根据公式计算项目Pi当前的影响力值;其中,L'(Pi)为项目Pi当前的影响力值,v为项目Pi中开发者的数量,L(Dj)为与项目Pi相关的开发者Dj的影响力值的初始值,S(Dj)为开发者Dj所参与的所有项目的数量;
步骤502:利用项目Pi的影响力值的初始值,根据公式计算与项目Pi相关的开发者Dj当前的影响力值;其中,L'(Dj)为与项目Pi相关的开发者Dj当前的影响力值,u为开发者-项目子网络下与开发者Dj相关的项目数量,S(Pi)为与项目Pi相关的开发者数量;
步骤503:将项目Pi当前的影响力值作为项目Pi的影响力值的初始值,将与项目Pi相关的开发者Dj当前的影响力值作为与项目Pi有关的开发者Dj的影响力值的初始值,返回执行步骤501至步骤502,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001。
最后,将每个网络下计算的影响力值融合形成的开发者影响力值,融合方法为:将开发者子网络下获取的开发者的影响力值作为初始开发者影响力值,初始开发者影响力值作为开发者-公司子网络下的开发者的影响力值的初始值获取次级开发者影响力值;将次级开发者影响力值作为开发者-项目子网络中开发者的影响力值的初始值,将项目子网络下的项目的影响力值作为开发者-项目子网络中项目的影响力值的初始值,计算获取最终的开发者影响力值。
本发明综合考虑开发者之间、项目之间、开发者与公司之间、开发者与项目之间的联系,构建异质信息网络,获取多个子网络并构建异质信息网络,异质信息网络的每个子网络融入了语义信息,计算每个子网络中项目、开发者以及公司的影响力,最终将所有影响力融合得到最终的开发者影响力,利用每个子网络更好的结合了开发者的社交关系和项目的自身特征进行推荐,提高了推荐的精准度,并且考虑开发者的社交关系,推荐信息全面。
实施例2
与本发明实施例1相对应的,本发明实施例2还提供一种识别异质信息网络中有影响力的开发者的装置,所述装置包括:
信息提取模块,用于提取GitHub上的公开数据集中所有与开发者相关的信息;
网络构建模块,用于通过开发者相关的信息构造开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络,开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络构成异质信息网络;
影响力获取模块,用于分别计算开发者子网络下的开发者的影响力值、项目子网络下的项目之间相互影响力值、开发者-公司子网络下某公司中某开发者的影响力值以及开发者-项目子网络下某项目中某开发者的影响力值,然后将每个网络下计算的影响力值融合形成最终的开发者影响力值;
推荐模块,用于根据最终的开发者影响力值的大小推荐开发者。
具体的,所述开发者子网络下的开发者的影响力值包括:对每一个开发者的影响力值赋予一个初始值n/ND,通过公式获取所述开发者子网络下的开发者的影响力值,在计算每一个开发者的影响力值时,与其共同合作的开发者的影响力值均是初始值,其中,W(Di)表示开发者子网络下的开发者Di的影响力值,ND表示开发者总的数量,d表示阻尼因子,Dj表示开发者Di的共同开发者,n表示开发者Dj的数量,S(Dj)表示与开发者Dj共同合作的开发者数量,W(Dj)表示开发者Dj影响力值。
具体的,所述项目子网络下的项目之间相互影响力值包括:对每一个项目的影响力值赋予一个初始值m/Np,通过公式获取所述项目子网络下的项目之间相互影响力值,在计算每一个项目的影响力值时,与其有关的项目的影响力值均是初始值,其中,W(Pi)表示项目子网络下的项目Pi的影响力值,NP表示项目总的数量,Pj表示与项目Pi有关的项目,m表示项目Pj的数量,S(Pj)表示与项目Pj有关的所有项目的数量,W(Pj)表示项目Pj的影响力值。
具体的,所述开发者-公司子网络下某公司中某开发者的影响力值包括:
步骤401:利用公司Ci中的开发者Dj的影响力值的初始值,根据公式计算公司Ci当前的影响力值;其中,R'(Ci)为公司Ci当前的影响力值,NC为开发者-公司子网络下所有公司的数量,K为公司Ci中开发者的数量,R(Dj)为公司Ci中的开发者Dj的影响力值的初始值;
步骤402:利用公司Ci的影响力值的初始值,根据公式计算公司Ci中的开发者Dj当前的影响力值;其中,每个公司的影响力值的初始值为1/NC,R'(Dj)为公司Ci中的开发者Dj当前的影响力值,t为开发者-公司子网络下与开发者Dj相关的公司数量;S(Ci)为公司Ci中的开发者数量;
步骤403:将开发者Dj当前的影响力值作为开发者Dj的影响力值的初始值,将公司Ci当前的影响力值作为公司Ci的影响力值的初始值,返回执行步骤401至步骤402,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001。
具体的,所述开发者-项目子网络下某项目中某开发者的影响力值包括:
步骤501:利用与项目Pi有关的开发者Dj的影响力值的初始值,根据公式计算项目Pi当前的影响力值;其中,L'(Pi)为项目Pi当前的影响力值,v为项目Pi中开发者的数量,L(Dj)为与项目Pi相关的开发者Dj的影响力值的初始值,S(Dj)为开发者Dj所参与的所有项目的数量;
步骤502:利用项目Pi的影响力值的初始值,根据公式计算与项目Pi相关的开发者Dj当前的影响力值;其中,L'(Dj)为与项目Pi相关的开发者Dj当前的影响力值,u为开发者-项目子网络下与开发者Dj相关的项目数量,S(Pi)为与项目Pi相关的开发者数量;
步骤503:将项目Pi当前的影响力值作为项目Pi的影响力值的初始值,将与项目Pi相关的开发者Dj当前的影响力值作为与项目Pi有关的开发者Dj的影响力值的初始值,返回执行步骤501至步骤502,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001。
具体的,所述将每个网络下计算的影响力值融合形成的开发者影响力值,包括:将开发者子网络下获取的开发者的影响力值作为初始开发者影响力值,初始开发者影响力值作为开发者-公司子网络下的开发者的影响力值的初始值获取次级开发者影响力值;将次级开发者影响力值作为开发者-项目子网络中开发者的影响力值的初始值,将项目子网络下的项目的影响力值作为开发者-项目子网络中项目的影响力值的初始值,计算获取最终的开发者影响力值。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (2)
1.一种识别异质信息网络中有影响力的开发者的方法,其特征在于,所述方法包括:
提取GitHub上的公开数据集中所有与开发者相关的信息;
通过开发者相关的信息构造开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络,开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络构成异质信息网络;
分别计算开发者子网络下的开发者的影响力值、项目子网络下的项目之间相互影响力值、开发者-公司子网络下某公司中某开发者的影响力值以及开发者-项目子网络下某项目中某开发者的影响力值,然后将每个网络下计算的影响力值融合形成最终的开发者影响力值;
根据最终的开发者影响力值的大小推荐开发者;
所述开发者子网络下的开发者的影响力值包括:对每一个开发者的影响力值赋予一个初始值n/ND,通过公式获取所述开发者子网络下的开发者的影响力值,在计算每一个开发者的影响力值时,与其共同合作的开发者的影响力值均是初始值,其中,W(Di)表示开发者子网络下的开发者Di的影响力值,ND表示开发者总的数量,d表示阻尼因子,Dj表示开发者Di的共同开发者,n表示开发者Dj的数量,S(Dj)表示与开发者Dj共同合作的开发者数量,W(Dj)表示开发者Dj影响力值;
所述项目子网络下的项目之间相互影响力值包括:对每一个项目的影响力值赋予一个初始值m/Np,通过公式获取所述项目子网络下的项目之间相互影响力值,在计算每一个项目的影响力值时,与其有关的项目的影响力值均是初始值,其中,W(Pi)表示项目子网络下的项目Pi的影响力值,NP表示项目总的数量,Pj表示与项目Pi有关的项目,m表示项目Pj的数量,S(Pj)表示与项目Pj有关的所有项目的数量,W(Pj)表示项目Pj的影响力值;
所述开发者-公司子网络下某公司中某开发者的影响力值包括:
步骤401:利用公司Ci中的开发者Dj的影响力值的初始值,根据公式计算公司Ci当前的影响力值;其中,R'(Ci)为公司Ci当前的影响力值,NC为开发者-公司子网络下所有公司的数量,K为公司Ci中开发者的数量,R(Dj)为公司Ci中的开发者Dj的影响力值的初始值;
步骤402:利用公司Ci的影响力值的初始值,根据公式计算公司Ci中的开发者Dj当前的影响力值;其中,每个公司的影响力值的初始值为1/NC,R'(Dj)为公司Ci中的开发者Dj当前的影响力值,t为开发者-公司子网络下与开发者Dj相关的公司数量;S(Ci)为公司Ci中的开发者数量;
步骤403:将开发者Dj当前的影响力值作为开发者Dj的影响力值的初始值,将公司Ci当前的影响力值作为公司Ci的影响力值的初始值,返回执行步骤401至步骤402,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001;
所述开发者-项目子网络下某项目中某开发者的影响力值包括:
步骤501:利用与项目Pi有关的开发者Dj的影响力值的初始值,根据公式计算项目Pi当前的影响力值;其中,L'(Pi)为项目Pi当前的影响力值,v为项目Pi中开发者的数量,L(Dj)为与项目Pi相关的开发者Dj的影响力值的初始值,S(Dj)为开发者Dj所参与的所有项目的数量;
步骤502:利用项目Pi的影响力值的初始值,根据公式计算与项目Pi相关的开发者Dj当前的影响力值;其中,L'(Dj)为与项目Pi相关的开发者Dj当前的影响力值,u为开发者-项目子网络下与开发者Dj相关的项目数量,S(Pi)为与项目Pi相关的开发者数量;
步骤503:将项目Pi当前的影响力值作为项目Pi的影响力值的初始值,将与项目Pi相关的开发者Dj当前的影响力值作为与项目Pi有关的开发者Dj的影响力值的初始值,返回执行步骤501至步骤502,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001;
所述将每个网络下计算的影响力值融合形成的开发者影响力值,包括:将开发者子网络下获取的开发者的影响力值作为初始开发者影响力值,初始开发者影响力值作为开发者-公司子网络下的开发者的影响力值的初始值获取次级开发者影响力值;将次级开发者影响力值作为开发者-项目子网络中开发者的影响力值的初始值,将项目子网络下的项目的影响力值作为开发者-项目子网络中项目的影响力值的初始值,计算获取最终的开发者影响力值。
2.一种识别异质信息网络中有影响力的开发者的装置,其特征在于,所述装置包括:
信息提取模块,用于提取GitHub上的公开数据集中所有与开发者相关的信息;
网络构建模块,用于通过开发者相关的信息构造开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络,开发者子网络、项目子网络、开发者-公司子网络以及开发者-项目子网络构成异质信息网络;
影响力获取模块,用于分别计算开发者子网络下的开发者的影响力值、项目子网络下的项目之间相互影响力值、开发者-公司子网络下某公司中某开发者的影响力值以及开发者-项目子网络下某项目中某开发者的影响力值,然后将每个网络下计算的影响力值融合形成最终的开发者影响力值;
推荐模块,用于根据最终的开发者影响力值的大小推荐开发者;
所述开发者子网络下的开发者的影响力值包括:对每一个开发者的影响力值赋予一个初始值n/ND,通过公式获取所述开发者子网络下的开发者的影响力值,在计算每一个开发者的影响力值时,与其共同合作的开发者的影响力值均是初始值,其中,W(Di)表示开发者子网络下的开发者Di的影响力值,ND表示开发者总的数量,d表示阻尼因子,Dj表示开发者Di的共同开发者,n表示开发者Dj的数量,S(Dj)表示与开发者Dj共同合作的开发者数量,W(Dj)表示开发者Dj影响力值;
所述项目子网络下的项目之间相互影响力值包括:对每一个项目的影响力值赋予一个初始值m/Np,通过公式获取所述项目子网络下的项目之间相互影响力值,在计算每一个项目的影响力值时,与其有关的项目的影响力值均是初始值,其中,W(Pi)表示项目子网络下的项目Pi的影响力值,NP表示项目总的数量,Pj表示与项目Pi有关的项目,m表示项目Pj的数量,S(Pj)表示与项目Pj有关的所有项目的数量,W(Pj)表示项目Pj的影响力值;
所述开发者-公司子网络下某公司中某开发者的影响力值包括:
步骤401:利用公司Ci中的开发者Dj的影响力值的初始值,根据公式计算公司Ci当前的影响力值;其中,R'(Ci)为公司Ci当前的影响力值,NC为开发者-公司子网络下所有公司的数量,K为公司Ci中开发者的数量,R(Dj)为公司Ci中的开发者Dj的影响力值的初始值;
步骤402:利用公司Ci的影响力值的初始值,根据公式计算公司Ci中的开发者Dj当前的影响力值;其中,每个公司的影响力值的初始值为1/NC,R'(Dj)为公司Ci中的开发者Dj当前的影响力值,t为开发者-公司子网络下与开发者Dj相关的公司数量;S(Ci)为公司Ci中的开发者数量;
步骤403:将开发者Dj当前的影响力值作为开发者Dj的影响力值的初始值,将公司Ci当前的影响力值作为公司Ci的影响力值的初始值,返回执行步骤401至步骤402,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001;
所述开发者-项目子网络下某项目中某开发者的影响力值包括:
步骤501:利用与项目Pi有关的开发者Dj的影响力值的初始值,根据公式计算项目Pi当前的影响力值;其中,L'(Pi)为项目Pi当前的影响力值,v为项目Pi中开发者的数量,L(Dj)为与项目Pi相关的开发者Dj的影响力值的初始值,S(Dj)为开发者Dj所参与的所有项目的数量;
步骤502:利用项目Pi的影响力值的初始值,根据公式计算与项目Pi相关的开发者Dj当前的影响力值;其中,L'(Dj)为与项目Pi相关的开发者Dj当前的影响力值,u为开发者-项目子网络下与开发者Dj相关的项目数量,S(Pi)为与项目Pi相关的开发者数量;
步骤503:将项目Pi当前的影响力值作为项目Pi的影响力值的初始值,将与项目Pi相关的开发者Dj当前的影响力值作为与项目Pi有关的开发者Dj的影响力值的初始值,返回执行步骤501至步骤502,直至相邻两次迭代中,所有开发者的影响力值之和的差小于0.00001;
所述将每个网络下计算的影响力值融合形成的开发者影响力值,包括:将开发者子网络下获取的开发者的影响力值作为初始开发者影响力值,初始开发者影响力值作为开发者-公司子网络下的开发者的影响力值的初始值获取次级开发者影响力值;将次级开发者影响力值作为开发者-项目子网络中开发者的影响力值的初始值,将项目子网络下的项目的影响力值作为开发者-项目子网络中项目的影响力值的初始值,计算获取最终的开发者影响力值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911297254.3A CN111191882B (zh) | 2019-12-17 | 2019-12-17 | 一种识别异质信息网络中有影响力的开发者的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911297254.3A CN111191882B (zh) | 2019-12-17 | 2019-12-17 | 一种识别异质信息网络中有影响力的开发者的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111191882A CN111191882A (zh) | 2020-05-22 |
CN111191882B true CN111191882B (zh) | 2022-11-25 |
Family
ID=70709803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911297254.3A Active CN111191882B (zh) | 2019-12-17 | 2019-12-17 | 一种识别异质信息网络中有影响力的开发者的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111191882B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020116A (zh) * | 2012-11-13 | 2013-04-03 | 中国科学院自动化研究所 | 在社交媒体网络上自动筛选有影响力用户的方法 |
CN103530428A (zh) * | 2013-11-04 | 2014-01-22 | 武汉大学 | 一种基于开发者实践技能相似性的同行推荐方法 |
CN105095267A (zh) * | 2014-05-09 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种用于用户参与项目的推荐方法及装置 |
CN107767058A (zh) * | 2017-10-26 | 2018-03-06 | 北京航空航天大学 | 一种众包软件开发者推荐方法 |
CN108809697A (zh) * | 2018-05-18 | 2018-11-13 | 中国矿业大学 | 基于影响力最大化的社交网络关键节点识别方法及系统 |
CN109241399A (zh) * | 2018-07-11 | 2019-01-18 | 杭州电子科技大学 | 一种基于信任和影响力结合的个性化推荐方法 |
CN109272228A (zh) * | 2018-09-12 | 2019-01-25 | 石家庄铁道大学 | 基于科研团队合作网络的科研影响力分析方法 |
CN109921939A (zh) * | 2019-03-18 | 2019-06-21 | 中电科大数据研究院有限公司 | 一种通信网络中关键节点的选取方法及系统 |
CN110362738A (zh) * | 2018-11-06 | 2019-10-22 | 杭州电子科技大学 | 一种基于深度学习的结合信任和影响力的个性化推荐方法 |
CN110442674A (zh) * | 2019-06-11 | 2019-11-12 | 中南民族大学 | 标签传播的聚类方法、终端设备、存储介质及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706647B2 (en) * | 2010-12-17 | 2014-04-22 | University Of Southern California | Estimating value of user's social influence on other users of computer network system |
-
2019
- 2019-12-17 CN CN201911297254.3A patent/CN111191882B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020116A (zh) * | 2012-11-13 | 2013-04-03 | 中国科学院自动化研究所 | 在社交媒体网络上自动筛选有影响力用户的方法 |
CN103530428A (zh) * | 2013-11-04 | 2014-01-22 | 武汉大学 | 一种基于开发者实践技能相似性的同行推荐方法 |
CN105095267A (zh) * | 2014-05-09 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种用于用户参与项目的推荐方法及装置 |
CN107767058A (zh) * | 2017-10-26 | 2018-03-06 | 北京航空航天大学 | 一种众包软件开发者推荐方法 |
CN108809697A (zh) * | 2018-05-18 | 2018-11-13 | 中国矿业大学 | 基于影响力最大化的社交网络关键节点识别方法及系统 |
CN109241399A (zh) * | 2018-07-11 | 2019-01-18 | 杭州电子科技大学 | 一种基于信任和影响力结合的个性化推荐方法 |
CN109272228A (zh) * | 2018-09-12 | 2019-01-25 | 石家庄铁道大学 | 基于科研团队合作网络的科研影响力分析方法 |
CN110362738A (zh) * | 2018-11-06 | 2019-10-22 | 杭州电子科技大学 | 一种基于深度学习的结合信任和影响力的个性化推荐方法 |
CN109921939A (zh) * | 2019-03-18 | 2019-06-21 | 中电科大数据研究院有限公司 | 一种通信网络中关键节点的选取方法及系统 |
CN110442674A (zh) * | 2019-06-11 | 2019-11-12 | 中南民族大学 | 标签传播的聚类方法、终端设备、存储介质及装置 |
Non-Patent Citations (3)
Title |
---|
Mining heterogeneous information networks: a structural analysis approach;Yizhou Sun;《ACM SIGKDD Explorations Newsletter》;20130430;第14卷(第2期);全文 * |
tsk-shell:一种话题敏感的高影响力传播者发现算法;笱程成等;《计算机研究与发展》;20170215(第02期);全文 * |
复杂网络中Top-k影响力节点的识别算法;宋甲秀等;《计算机科学与探索》;20180119(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111191882A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Disambiguation and co-authorship networks of the US patent inventor database (1975–2010) | |
US8874616B1 (en) | Method and apparatus for fusion of multi-modal interaction data | |
WO2017211051A1 (zh) | 目标对象的社交账号挖掘方法、服务器和存储介质 | |
CN109299090B (zh) | 基金中心度计算方法、系统、计算机设备和存储介质 | |
CN110569369A (zh) | 银行金融系统知识图谱的生成方法及装置、应用方法及装置 | |
JP6488753B2 (ja) | 情報処理方法 | |
CN112052404A (zh) | 多源异构关系网络的群体发现方法、系统、设备及介质 | |
CN113609345B (zh) | 目标对象关联方法和装置、计算设备以及存储介质 | |
CN109285024B (zh) | 在线特征确定方法、装置、电子设备及存储介质 | |
CN103838857A (zh) | 一种基于语义的自动服务组合系统及方法 | |
Athanasopoulos et al. | Extracting REST resource models from procedure-oriented service interfaces | |
KR101625124B1 (ko) | 특허 정량분석을 이용한 기술평가 방법 | |
JP2016153998A (ja) | サービスの評価装置及びサービスの評価方法 | |
CN109977131A (zh) | 一种房型匹配系统 | |
JP2020529777A (ja) | 大規模、高密度、高ノイズネットワークから構造を抽出するためのシステム及び方法 | |
CN117236624A (zh) | 一种基于动态图的Issue修复者推荐方法与装置 | |
CN111191882B (zh) | 一种识别异质信息网络中有影响力的开发者的方法及装置 | |
US20180011945A1 (en) | Inferring graph topologies | |
CN115329078B (zh) | 文本数据处理方法、装置、设备以及存储介质 | |
US11782923B2 (en) | Optimizing breakeven points for enhancing system performance | |
CN107402984B (zh) | 一种基于主题的分类方法及装置 | |
Alwahaishi et al. | Analysis of the dblp publication classification using concept lattices | |
Esmaeili et al. | Conformance checking of the activity network with the social relationships structure in the context of social commerce | |
CN111552846B (zh) | 识别可疑关系的方法以及装置 | |
US20120130998A1 (en) | System and Method for Comparing Universities Based on Their University Model Graphs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |