CN112396092B - 一种众包开发者推荐方法和装置 - Google Patents

一种众包开发者推荐方法和装置 Download PDF

Info

Publication number
CN112396092B
CN112396092B CN202011156133.XA CN202011156133A CN112396092B CN 112396092 B CN112396092 B CN 112396092B CN 202011156133 A CN202011156133 A CN 202011156133A CN 112396092 B CN112396092 B CN 112396092B
Authority
CN
China
Prior art keywords
developer
task
crowdsourcing
data
tasks
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
Application number
CN202011156133.XA
Other languages
English (en)
Other versions
CN112396092A (zh
Inventor
蒋竞
吴秋迪
张莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN202011156133.XA priority Critical patent/CN112396092B/zh
Publication of CN112396092A publication Critical patent/CN112396092A/zh
Application granted granted Critical
Publication of CN112396092B publication Critical patent/CN112396092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Artificial Intelligence (AREA)
  • Accounting & Taxation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Strategic Management (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Evolutionary Computation (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种众包开发者推荐方法和装置,属于计算机技术领域,解决了现有技术中的相关信息少,对开发人员预测的准确率低的问题。众包开发者推荐方法包括:从开源社区的众包平台中获取多个众包任务数据,其中,多个众包任务数据包括:任务特征数据、开发者特征数据、开发者在开源社区中的数据以及开发者与任务的历史关系数据;将多个众包任务数据转换为输入矩阵;根据输入矩阵和众包任务与开发者的标记构建LGBM模型,并对LGBM模型进行训练,以获得LGBM预测模型;以及利用LGBM预测模型对待推荐任务进行开发者预测,以确定待推荐的开发者列表。通过完整全面的众包任务数据提高了人员推荐的正确率。

Description

一种众包开发者推荐方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种众包开发者推荐方法和装置。
背景技术
现有的人员推荐的方法通常是基于平台通过以下两种方法来完成推荐任务:基于人员历史活动的数据构建预测模型。基于任务文本特征建模的方法通过任务的标题、正文、图像等信息构建预测模型,进行人员推荐。
因此,现有人员预测方法具有以下缺点:
1、现有人员推荐方法没有考虑众包任务与开发人员之间的关系,忽略了人员与任务之间的一些潜在联系;以及
2、用于人员推荐的相关信息较少,导致人员推荐的准确度低。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种众包开发者推荐方法和装置,用以解决现有人员预测方法未考虑众包任务与开发人员之间的关系以及人员的相关信息少导致的预测准确度低的问题。
一方面,本发明实施例提供了一种众包开发者推荐方法,包括:从开源社区的众包平台中获取多个众包任务数据,其中,所述多个众包任务数据包括:任务特征数据、开发者特征数据、开发者在开源社区中的数据以及开发者与任务的历史关系数据;将所述多个众包任务数据转换为输入矩阵;根据所述输入矩阵和众包任务与开发者的标记构建LGBM模型,并对所述LGBM模型进行训练,以获得LGBM预测模型;以及利用所述LGBM预测模型对待推荐任务进行开发者预测,以确定待推荐的开发者列表。
上述技术方案的有益效果如下:通过多个众包任务数据包括开发人员的特征数据、任务的特征数据、开发人员在开源社区中的特征数据、开发人员与任务的历史关系数据,使得这样完整全面的众包任务数据能够提高人员推荐的正确率。基于这样完整全面的众包任务数据所构建的LGBM预测模型能够提高人员推荐的精度。
基于上述方法的进一步改进,所述任务特征数据包括:任务持续时间、任务所需的技能、任务的标题、任务的文本描述、任务的难度、任务预计消耗时间、任务的虚拟货币奖励、任务的美元奖励。
基于上述方法的进一步改进,所述开发者特征数据包括:开发者的注册任务总数、开发者最近一次注册时间、开发者影响关系图排名、最近三个月开发者注册的任务数、开发者注册但尚未完成的任务数、最近的十次任务开发者注册的任务数。
基于上述方法的进一步改进,所述开发者影响关系图排名的获取步骤进一步包括:构建开发者影响关系图,其中,当所述开发者影响关系图中的边从第一开发者指向第二开发者时,所述边的值为所述第一开发者和所述第二开发者都注册的任务数量除以所述第二开发者的任务数量;根据PageRank算法,所述开发者关系影响图中当前节点的PageRank值等于所述当前节点对其他节点的影响之和;以及根据所述PageRank值的大小进行排序,获取所述开发者影响关系图排名。
基于上述方法的进一步改进,所述开发者在开源社区中的数据包括:开发者在开源社区中的注册时间、粉丝数、关注者数、发布开源项目数和参与开源项目数。
基于上述方法的进一步改进,所述开发者与任务的历史关系数据进一步包括:开发者与任务所需的技能的匹配度、时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度、开发者历史注册任务的类型与当前任务的类型的匹配程度、时间衰减的开发者与任务发布者的历史关系以及开发者历史注册任务的技能与当前任务的技能的匹配程度,其中,所述时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度S的计算公式如下:
U为开发者,C为当前任务,tc为任务C的创建时间,USetc为开发者在时间tc之前注册的任务集合。tcj为对于任务Cj∈USetc,获取Cj创建时间,并通过Word2Vec计算Cj与C的文本向量,Scj为利用向量的余弦距离计算文本相似度;
所述时间衰减的开发者与任务发布者的历史关系L的计算公式如下:
其中,U为开发者,C为当前任务,tc为任务C的创建时间,RSetc为发布者R在时间tc之前发布的任务集合,USetc为开发者U在时间tc之前注册的任务集合,则RSetc∩USetc为R与U在tc之前的任务交集,所述任务交集反映U对于R发布的任务的兴趣度。
基于上述方法的进一步改进,将所述多个众包任务数据转换为输入矩阵进一步包括:将每个众包任务和每个开发者的所述开发者特征数据、所述任务特征数据、所述开发者在开源社区中的数据和所述开发者与任务的历史关系数据分别作为特征向量中的元素,以生成特征向量列;以及利用所述多个众包任务和多个开发者的多列特征向量构成所述输入矩阵,所述输入矩阵包括x*y行和z列,其中,x对应于众包任务的数量,y对应于开发者的数量,z对应于所述特征向量列中的元素数量。
基于上述方法的进一步改进,根据所述输入矩阵和众包任务与开发者的标记构建LGBM模型,并对所述LGBM模型进行训练以获得LGBM预测模型进一步包括:根据所述任一众包任务的最终注册开发者,确定开发者是否参与所述众包任务并进行标记,其中,对于所述输入矩阵的某行,当开发者注册了所述任一众包任务,标记为1,否则标记为0;以及将所述输入矩阵和所述标记导入所述LGBM模型并对所述LGBM模型进行训练以获得LGBM预测模型。
另一方面,本发明实施例提供了一种众包开发者推荐装置,包括:众包任务数据获取模块,用于从开源社区的众包平台中获取多个众包任务数据,其中,所述多个众包任务数据包括:任务特征数据、开发者特征数据、开发者在开源社区中的数据以及开发者与任务的历史关系数据;转换模块,用于将所述多个众包任务数据转换为输入矩阵;LGBM预测模型获取模块,用于根据所述输入矩阵和众包任务与开发者的标记构建LGBM模型,并对所述LGBM模型进行训练,以获得LGBM预测模型;以及预测模块,用于利用所述LGBM预测模型对待推荐任务进行开发者预测,以确定待推荐的开发者列表。
基于上述装置的进一步改进,所述任务特征数据包括:任务持续时间、任务所需的技能、任务的标题、任务的文本描述、任务的难度、任务预计消耗时间、任务的虚拟货币奖励、任务的美元奖励;所述开发者特征数据包括:开发者的注册任务总数、开发者最近一次注册时间、开发者影响关系图排名、最近三个月开发者注册的任务数、开发者注册但尚未完成的任务数、最近的十次任务开发者注册的任务数;所述开发者在开源社区中的数据包括:开发者在开源社区中的注册时间、粉丝数、关注者数、发布开源项目数和参与开源项目数;以及所述开发者与任务的历史关系数据进一步包括:开发者与任务所需的技能的匹配度、时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度、开发者历史注册任务的类型与当前任务的类型的匹配程度、时间衰减的开发者与任务发布者的历史关系以及开发者历史注册任务的技能与当前任务的技能的匹配程度。
与现有技术相比,本发明至少可实现如下有益效果之一:
1、基于开源社区的众包平台获取的用于人员推荐的属性数据比较全面,包括开发人员的特征数据、任务的特征数据、开发人员在开源社区中的特征数据、开发人员与任务的历史关系数据,因此这样完整全面的众包任务数据能够提高人员推荐的准确率;
2、考虑了人员与任务之间的一些潜在联系,在进行人员推荐时,能够提高精度;以及
3、根据上述属性数据构建的LGBM预测模型,能够提高识别热门问题的精度。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为根据本发明实施例的众包开发者推荐方法的流程图。
图2为根据本发明实施例的开发者影响关系图。
图3为根据本发明实施例的Word2Vec示意图。
图4为根据本发明实施例的IGBM的Leaf-wise生长算法的示意图。
图5为根据本发明实施例的众包开发者推荐装置的框图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
传统的众包平台是根据要求完成一个独立的项目。基于开源社区的众包平台是在现有开源项目的基础上发布的任务,主要是对现有项目的改进和完善。
本发明的一个具体实施例,公开了一种众包开发者推荐方法。参考图1,众包开发者推荐方法包括:步骤S102,从开源社区的众包平台中获取多个众包任务数据,其中,多个众包任务数据包括:任务特征数据、开发者特征数据、开发者在开源社区中的数据以及开发者与任务的历史关系数据;步骤S104,将多个众包任务数据转换为输入矩阵;步骤S106,根据输入矩阵和众包任务与开发者的标记构建LGBM模型,并对LGBM模型进行训练,以获得LGBM预测模型;以及步骤S108,利用LGBM预测模型对待推荐任务进行开发者预测,以确定待推荐的开发者列表。
与现有技术相比,本实施例提供的众包开发者推荐方法,通过多个众包任务数据包括开发人员的特征数据、任务的特征数据、开发人员在开源社区中的特征数据、开发人员与任务的历史关系数据,使得这样完整全面的众包任务数据能够提高人员推荐的正确率。基于这样完整全面的众包任务数据所构建的LGBM预测模型能够提高人员推荐的精度。
下文中,将参考图1至图4,对众包开发者推荐方法进行详细描述。众包开发者推荐方法包括以下四个步骤。
步骤S102,从开源社区的众包平台中获取多个众包任务数据,其中,多个众包任务数据包括:任务特征数据、开发者特征数据、开发者在开源社区中的数据以及开发者与任务的历史关系数据。下文中,分别对这些数据进行详细描述。
任务特征数据可以包括任务持续时间、任务所需的技能、任务的标题、任务的文本描述、任务的难度、任务预计消耗时间、任务的虚拟货币奖励、任务的美元奖励。具体地,任务持续时间为任务从发布到结束所持续的天数。任务所需的技能为任务发布时,会写明任务所涉及到的技术和编程语言,比如Python、Web等关键字。本文采用one-hot编码,将技能的类型转换成数字编码。任务的文本描述是任务页面的文字描述,包含了任务需要解决的具体问题,任务的需求文档,任务的注意事项等。任务的难度即任务的难易程度。Gitcoin上将任务难度划分成Beginner、Intermediate、Advanced、Mittlere几个档次。本申请分别用1、2、3、4来代表这四种不同难度。任务预计消耗时间是任务在发布的时候,任务发布者对于工作量的一个估计,预计开发者要花多长时间来完成任务。Gitcoin上预计耗时分为hours、days、weeks三种。本文分别用1、2、3来代表三种不同的任务耗时。任务的标题、任务的文本描述是词向量形式的文本属性数据,本申请采用了Word2Vec技术将任务的标题和文本描述转换成了段向量。参考图3,Word2Vec是用神经网络技术,将所有训练的词语投射到一个N维的向量空间,其中每个词语都可以映射成一个N维的向量。
开发者特征数据可以包括开发者的注册任务总数、开发者最近一次注册时间、开发者影响关系图排名、最近三个月开发者注册的任务数、开发者注册但尚未完成的任务数、最近的十次任务开发者注册的任务数。具体地,开发者影响关系图排名的获取步骤进一步包括:构建开发者影响关系图,其中,当开发者影响关系图中的边从第一开发者指向第二开发者时,边的值为第一开发者和第二开发者都注册的任务数量除以第二开发者的任务数量;根据PageRank算法,开发者关系影响图中当前节点的PageRank值等于当前节点对其他节点的影响之和;以及根据PageRank值的大小进行排序,获取开发者影响关系图排名。具体地,开发者影响关系图排名是根据PageRank算法计算而获得的排名:首先构建开发者影响关系图,图中的边IR(A,B)代表开发开发者A对开发开发者B的影响。例如,参考图2,边IR(A,B)等于A和B都注册的任务数量除以B注册的任务数量;边IR(A,C)等于A和C都注册的任务数量除以C注册的任务数量;边IR(B,A)等于A和B都注册的任务数量除以A注册的任务数量;边IR(B,C)等于B和C都注册的任务数量除以C注册的任务数量;边IR(C,A)等于A和C都注册的任务数量除以A注册的任务数量;以及边IR(C,B)等于B和C都注册的任务数量除以B注册的任务数量。根据PageRank算法,开发者关系影响图里每个节点的PageRank值等于当前节点对其他节点的影响之和。例如,节点A的PageRank值等于当前节点A对其他节点B和C的影响之和;节点B的PageRank值等于当前节点B对其他节点A和C的影响之和;以及节点C的PageRank值等于当前节点C对其他节点A和B的影响之和。然后根据节点的PageRank值进行排序,得到每个节点的排名,PageRank值越大,排名越靠前。
开发者在开源社区中的数据可以包括:开发者在开源社区中的注册时间、粉丝数、关注者数、发布开源项目数和参与开源项目数。
开发者与任务的历史关系数据可以进一步包括:开发者与任务所需的技能的匹配度、时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度、开发者历史注册任务的类型与当前任务的类型的匹配程度、时间衰减的开发者与任务发布者的历史关系以及开发者历史注册任务的技能与当前任务的技能的匹配程度。下文中,将分别对这些数据进行详细描述。
开发者与任务所需的技能的匹配度指的是开发者在注册账号时,可以写明自己擅长的领域和能力。计算开发者自身编程语言和技能与任务所需的编程语言和技能的匹配程度。比如任务所需技能为Web和Java,开发者自身编程技能为C++、Java、Python,那么和任务的匹配度就是1/2。
时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度S的计算公式如下:
其中,U为开发者,C为当前任务,tc为任务C的创建时间,USetc为开发者在时间tc之前注册的任务集合。tcj为对于任务Cj∈USetc,获取Cj创建时间,并通过Word2Vec计算Cj与C的文本向量,Scj为利用向量的余弦距离计算文本相似度。开发者历史注册任务的类型与现在任务的类型的匹配程度:开发者历史完成的任务的类型,与当前任务类型的相似度。任务的类型分为Bug、Feature、Security三种。定义当前任务C和开发者U,任务C的类型为Typec,开发者U的历史注册任务集合为USetc,USetc里每个任务的类型组成了开发者U的历史注册任务类型集合TSetu。本指标的定义为集合TSetu里Typec的比例。比如任务C的类型为Bug,TSetu集合为{Bug,Bug,Feature,Security},那么匹配程度为2/4=0.5。
如果开发者历史上曾经注册过当前任务发布者发布的任务,那么开发者更有可能注册当前任务。时间衰减的开发者与任务发布者的历史关系L的计算公式如下:
其中,U为开发者,C为当前任务,tc为任务C的创建时间,RSetc为发布者R在时间tc之前发布的任务集合,USetc为开发者U在时间tc之前注册的任务集合,则RSetc∩USetc为R与U在tc之前的任务交集,任务交集反映U对于R发布的任务的兴趣度。
开发者历史注册任务的技能与现在任务的技能的匹配程度:开发者历史完成任务所需的技能,与当前任务所需技能的相似度。定义当前任务C和开发者U,任务C的所需的技能集合为LSetc,开发者U的历史注册任务集合为USetc,USetc里每个任务所需的技能组成了开发者U的历史注册任务所需技能的集合LSetu。本指标的定义为LSetu对LSetc的覆盖比例。比如LSetc集合为{Java,C,Web,Doc},LSetu集合为{Java,Web},那么匹配程度为2/4=0.5。
在从开源社区的众包平台中获取多个众包任务数据之后,进入步骤S104,将多个众包任务数据转换为输入矩阵。将多个众包任务数据转换为输入矩阵进一步包括:将每个众包任务和每个开发者的开发者特征数据、任务特征数据、开发者在开源社区中的数据和开发者与任务的历史关系数据分别作为特征向量中的元素,以生成特征向量列;以及利用多个众包任务和多个开发者的多列特征向量构成输入矩阵,输入矩阵包括x*y行和z列,其中,x对应于众包任务的数量,y对应于开发者的数量,z对应于特征向量列中的元素数量。
在将多个众包任务数据转换为输入矩阵之后,进入步骤S106,根据输入矩阵和众包任务与开发者的标记构建LGBM模型,并对LGBM模型进行训练,以获得LGBM预测模型。根据输入矩阵和众包任务与开发者的标记构建LGBM模型,并对LGBM模型进行训练以获得LGBM预测模型进一步包括:根据任一众包任务的最终注册开发者,确定开发者是否参与众包任务并进行标记,其中,对于输入矩阵的某行,当开发者注册了任一众包任务,标记为1,否则标记为0;以及将输入矩阵和标记导入LGBM模型并对LGBM模型进行训练以获得LGBM预测模型。
在获得LGBM预测模型之后,进入步骤S108,利用LGBM预测模型对待推荐任务进行开发者预测,以确定待推荐的开发者列表。LGBM是一种基于决策树的学习算法的梯度提升框架,采用带有深度限制的按叶子生长(leaf-wise)算法。参考图4,决策树就是根据特征的不同取值生成的一棵树。因为有很多特征,所以这棵树会生成若干层的分支节点,直到叶节点。因为每个特征至少有两个取值,所以生成子节点的时候至少要分成两叉。在使用决策树模型对样本类型进行判别的时候,从根节点出发,根据样本的特征取值,根据在每个子节点的分裂增益决定下一步走向,直到达到叶节点,然后把样本归为该叶节点所标记的类别。
本发明的另一个具体实施例,公开了一种众包开发者推荐装置。参考图5,众包开发者推荐装置包括:众包任务数据获取模块502,用于从开源社区的众包平台中获取多个众包任务数据,其中,多个众包任务数据包括:任务特征数据、开发者特征数据、开发者在开源社区中的数据以及开发者与任务的历史关系数据;转换模块504,用于将多个众包任务数据转换为输入矩阵;LGBM预测模型获取模块506,用于根据输入矩阵和众包任务与开发者的标记构建LGBM模型,并对LGBM模型进行训练,以获得LGBM预测模型;以及预测模块508,用于利用LGBM预测模型对待推荐任务进行开发者预测,以确定待推荐的开发者列表。
任务特征数据包括:任务持续时间、任务所需的技能、任务的标题、任务的文本描述、任务的难度、任务预计消耗时间、任务的虚拟货币奖励、任务的美元奖励。开发者特征数据包括:开发者的注册任务总数、开发者最近一次注册时间、开发者影响关系图排名、最近三个月开发者注册的任务数、开发者注册但尚未完成的任务数、最近的十次任务开发者注册的任务数。开发者在开源社区中的数据包括:开发者在开源社区中的注册时间、粉丝数、关注者数、发布开源项目数和参与开源项目数。开发者与任务的历史关系数据进一步包括:开发者与任务所需的技能的匹配度、时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度、开发者历史注册任务的类型与当前任务的类型的匹配程度、时间衰减的开发者与任务发布者的历史关系以及开发者历史注册任务的技能与当前任务的技能的匹配程度。
与现有技术相比,本发明至少可实现如下有益效果之一:
1、基于开源社区的众包平台获取的用于人员推荐的属性数据比较全面,包括开发人员的特征数据、任务的特征数据、开发人员在开源社区中的特征数据、开发人员与任务的历史关系数据,因此这样完整全面的众包任务数据能够提高人员推荐的准确率;
2、考虑了人员与任务之间的一些潜在联系,在进行人员推荐时,能够提高精度;以及
3、根据上述属性数据构建的LGBM预测模型,能够提高识别热门问题的精度。
本领域技术开发者可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术开发者在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (7)

1.一种众包开发者推荐方法,其特征在于,包括:
从开源社区的众包平台中获取多个众包任务数据,其中,所述多个众包任务数据包括:任务特征数据、开发者特征数据、开发者在开源社区中的数据以及开发者与任务的历史关系数据,所述开发者特征数据包括:开发者的注册任务总数、开发者最近一次注册时间、开发者影响关系图排名、最近三个月开发者注册的任务数、开发者注册但尚未完成的任务数、最近的十次任务开发者注册的任务数,所述开发者影响关系图排名的获取步骤进一步包括:构建开发者影响关系图,其中,当所述开发者影响关系图中的边从第一开发者指向第二开发者时,所述边的值为所述第一开发者和所述第二开发者都注册的任务数量除以所述第二开发者的任务数量;根据PageRank算法,所述开发者关系影响图中当前节点的PageRank值等于所述当前节点对其他节点的影响之和;以及根据所述PageRank值的大小进行排序,获取所述开发者影响关系图排名;
将所述多个众包任务数据转换为输入矩阵;
根据所述输入矩阵和众包任务与开发者的标记构建LGBM模型,并对所述LGBM模型进行训练,以获得LGBM预测模型;以及
利用所述LGBM预测模型对待推荐任务进行开发者预测,以确定待推荐的开发者列表,其中,所述开发者与任务的历史关系数据进一步包括:开发者与任务所需的技能的匹配度、时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度、开发者历史注册任务的类型与当前任务的类型的匹配程度、时间衰减的开发者与任务发布者的历史关系以及开发者历史注册任务的技能与当前任务的技能的匹配程度,其中,
所述时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度S的计算公式如下:
U为开发者,C为当前任务,tc为任务C的创建时间,USetc为开发者在时间tc之前注册的任务集合,tcj为对于任务Cj∈USetc,获取Cj创建时间,并通过Word2Vec计算Cj与C的文本向量,Scj为利用向量的余弦距离计算文本相似度;以及
所述时间衰减的开发者与任务发布者的历史关系L的计算公式如下:
其中,U为开发者,C为当前任务,tc为任务C的创建时间,RSetc为发布者R在时间tc之前发布的任务集合,USetc为开发者U在时间tc之前注册的任务集合,则RSetc∩USetc为R与U在tc之前的任务交集,所述任务交集反映U对于R发布的任务的兴趣度。
2.根据权利要求1所述的众包开发者推荐方法,其特征在于,所述任务特征数据包括:任务持续时间、任务所需的技能、任务的标题、任务的文本描述、任务的难度、任务预计消耗时间、任务的虚拟货币奖励、任务的美元奖励。
3.根据权利要求1所述的众包开发者推荐方法,其特征在于,所述开发者在开源社区中的数据包括:开发者在开源社区中的注册时间、粉丝数、关注者数、发布开源项目数和参与开源项目数。
4.根据权利要求1至3中的任一项所述的众包开发者推荐方法,其特征在于,将所述多个众包任务数据转换为输入矩阵进一步包括:
将每个众包任务和每个开发者的所述开发者特征数据、所述任务特征数据、所述开发者在开源社区中的数据和所述开发者与任务的历史关系数据分别作为特征向量中的元素,以生成特征向量列;以及
利用所述多个众包任务和多个开发者的多列特征向量构成所述输入矩阵,所述输入矩阵包括x*y行和z列,其中,x对应于众包任务的数量,y对应于开发者的数量,z对应于所述特征向量列中的元素数量。
5.根据权利要求4所述的众包开发者推荐方法,其特征在于,根据所述输入矩阵和众包任务与开发者的标记构建LGBM模型,并对所述LGBM模型进行训练以获得LGBM预测模型进一步包括:
根据任一众包任务的最终注册开发者,确定开发者是否参与所述众包任务并进行标记,其中,对于所述输入矩阵的某行,当开发者注册了所述任一众包任务,标记为1,否则标记为0;以及
将所述输入矩阵和所述标记导入所述LGBM模型并对所述LGBM模型进行训练以获得LGBM预测模型。
6.一种众包开发者推荐装置,其特征在于,包括:
众包任务数据获取模块,用于从开源社区的众包平台中获取多个众包任务数据,其中,所述多个众包任务数据包括:任务特征数据、开发者特征数据、开发者在开源社区中的数据以及开发者与任务的历史关系数据,所述开发者特征数据包括:开发者的注册任务总数、开发者最近一次注册时间、开发者影响关系图排名、最近三个月开发者注册的任务数、开发者注册但尚未完成的任务数、最近的十次任务开发者注册的任务数,所述开发者影响关系图排名的获取步骤进一步包括:构建开发者影响关系图,其中,当所述开发者影响关系图中的边从第一开发者指向第二开发者时,所述边的值为所述第一开发者和所述第二开发者都注册的任务数量除以所述第二开发者的任务数量;根据PageRank算法,所述开发者关系影响图中当前节点的PageRank值等于所述当前节点对其他节点的影响之和;以及根据所述PageRank值的大小进行排序,获取所述开发者影响关系图排名;
转换模块,用于将所述多个众包任务数据转换为输入矩阵;
LGBM预测模型获取模块,用于根据所述输入矩阵和众包任务与开发者的标记构建LGBM模型,并对所述LGBM模型进行训练,以获得LGBM预测模型;以及
预测模块,用于利用所述LGBM预测模型对待推荐任务进行开发者预测,以确定待推荐的开发者列表,其中,所述开发者与任务的历史关系数据进一步包括:开发者与任务所需的技能的匹配度、时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度、开发者历史注册任务的类型与当前任务的类型的匹配程度、时间衰减的开发者与任务发布者的历史关系以及开发者历史注册任务的技能与当前任务的技能的匹配程度,其中,
所述时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度S的计算公式如下:
U为开发者,C为当前任务,tc为任务C的创建时间,USetc为开发者在时间tc之前注册的任务集合,tcj为对于任务Cj∈USetc,获取Cj创建时间,并通过Word2Vec计算Cj与C的文本向量,Scj为利用向量的余弦距离计算文本相似度;以及
所述时间衰减的开发者与任务发布者的历史关系L的计算公式如下:
其中,U为开发者,C为当前任务,tc为任务C的创建时间,RSetc为发布者R在时间tc之前发布的任务集合,USetc为开发者U在时间tc之前注册的任务集合,则RSetc∩USetc为R与U在tc之前的任务交集,所述任务交集反映U对于R发布的任务的兴趣度。
7.根据权利要求6所述的众包开发者推荐装置,其特征在于,
所述任务特征数据包括:任务持续时间、任务所需的技能、任务的标题、任务的文本描述、任务的难度、任务预计消耗时间、任务的虚拟货币奖励、任务的美元奖励;
所述开发者特征数据包括:开发者的注册任务总数、开发者最近一次注册时间、开发者影响关系图排名、最近三个月开发者注册的任务数、开发者注册但尚未完成的任务数、最近的十次任务开发者注册的任务数;
所述开发者在开源社区中的数据包括:开发者在开源社区中的注册时间、粉丝数、关注者数、发布开源项目数和参与开源项目数;以及
所述开发者与任务的历史关系数据进一步包括:开发者与任务所需的技能的匹配度、时间衰减的开发者历史注册任务的文本与当前任务的文本之间的相似度、开发者历史注册任务的类型与当前任务的类型的匹配程度、时间衰减的开发者与任务发布者的历史关系以及开发者历史注册任务的技能与当前任务的技能的匹配程度。
CN202011156133.XA 2020-10-26 2020-10-26 一种众包开发者推荐方法和装置 Active CN112396092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011156133.XA CN112396092B (zh) 2020-10-26 2020-10-26 一种众包开发者推荐方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011156133.XA CN112396092B (zh) 2020-10-26 2020-10-26 一种众包开发者推荐方法和装置

Publications (2)

Publication Number Publication Date
CN112396092A CN112396092A (zh) 2021-02-23
CN112396092B true CN112396092B (zh) 2023-09-29

Family

ID=74597068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011156133.XA Active CN112396092B (zh) 2020-10-26 2020-10-26 一种众包开发者推荐方法和装置

Country Status (1)

Country Link
CN (1) CN112396092B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113256108A (zh) * 2021-05-24 2021-08-13 平安普惠企业管理有限公司 人力资源分配方法、装置、电子设备及存储介质
CN113393056B (zh) * 2021-07-08 2022-11-25 山东大学 基于时间序列的众包服务供需缺口预测方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647216A (zh) * 2017-03-16 2018-10-12 上海交通大学 基于开发人员社交网络的软件众包任务推荐系统及方法
CN110020121A (zh) * 2017-10-16 2019-07-16 上海交通大学 基于迁移学习的软件众包项目推荐方法及系统
CN111191108A (zh) * 2018-10-26 2020-05-22 上海交通大学 基于增强学习的软件众包项目推荐方法及系统
CN111626616A (zh) * 2020-05-27 2020-09-04 深圳莫比嗨客数据智能科技有限公司 一种众包任务推荐方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157847B2 (en) * 2017-10-20 2021-10-26 Accenture Global Solutions Limited Intelligent crowdsourced resource assistant

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647216A (zh) * 2017-03-16 2018-10-12 上海交通大学 基于开发人员社交网络的软件众包任务推荐系统及方法
CN110020121A (zh) * 2017-10-16 2019-07-16 上海交通大学 基于迁移学习的软件众包项目推荐方法及系统
CN111191108A (zh) * 2018-10-26 2020-05-22 上海交通大学 基于增强学习的软件众包项目推荐方法及系统
CN111626616A (zh) * 2020-05-27 2020-09-04 深圳莫比嗨客数据智能科技有限公司 一种众包任务推荐方法

Also Published As

Publication number Publication date
CN112396092A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
Donoho 50 years of data science
Hedges et al. Academic crowdsourcing in the humanities: Crowds, communities and co-production
CN107230174B (zh) 一种基于网络的在线互动学习系统和方法
Aizaki et al. Stated preference methods using R
David et al. Neurotree: A collaborative, graphical database of the academic genealogy of neuroscience
US11381651B2 (en) Interpretable user modeling from unstructured user data
CN112396092B (zh) 一种众包开发者推荐方法和装置
KR20200047006A (ko) 머신 러닝 기반의 근사모델 구축 방법 및 시스템
Smith et al. FeatureHub: Towards collaborative data science
KR20210082114A (ko) 저변동성 시계열 데이터의 이중 학습 장치
US20190385100A1 (en) System And Method For Predicting Organizational Outcomes
Xu et al. CET-4 score analysis based on data mining technology
CN110310012B (zh) 数据分析方法、装置、设备及计算机可读存储介质
Sándor et al. A multi-dimensional model to the digital maturity life-cycle for SMEs
Timbers et al. Data science: A first introduction
TW202046193A (zh) 計劃制定輔助裝置和計劃制定輔助方法
Fotheringham et al. Multiscale Geographically Weighted Regression: Theory and Practice
Su The study of physical education evaluation based on a fuzzy stochastic algorithm
D’Urso et al. Cross sectional and longitudinal fuzzy clustering of the nuts and positioning of the Italian regions with respect to the regional competitiveness index (RCI) indicators with contiguity constraints
Miller et al. Mastering Predictive Analytics with R
CN116226404A (zh) 一种针对肠-脑轴的知识图谱构建方法及知识图谱系统
CN115526315A (zh) 评分卡模型的生成方法和装置
CN115392769A (zh) 一种评价模型训练方法、绩效评价方法及装置
Lin et al. Practitioner’s Guide to Data Science
Shao et al. A Combinatorial optimization framework for scoring students in University Admissions

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