一种面向众包任务处理的团队推荐方法技术

技术编号:19481504 阅读:18 留言:0更新日期:2018-11-17 10:42
一种面向众包任务处理的团队推荐方法,包括,先对开发者能力和开发者间亲密度进行建模;然后在团队协作意愿建模中,由开发者协作意愿影响因素处理方法,通过开发者历史协作记录,得到开发者在三个因素下的队友选择偏好,进而得到团队协作意愿模型;最后,为开发者推荐协作意愿最高的团队,最大化组队成功率使开发者能够组队成功参与开发,满足现有众包软件开发平台大规模开发者集合的场景需求。

【技术实现步骤摘要】
一种面向众包任务处理的团队推荐方法
本专利技术涉及一种推荐方法,尤其涉及一种面向众包任务处理的团队推荐方法。
技术介绍
自JeffHown提出众包概念以来,众包创新工作模式在各个行业得到广泛应用。其中,众包软件开发也呈现出流行的趋势,它将众包模式应用到软件开发领域,把企业内部由员工执行的开发任务,以自由自愿的形式外包给非特定的大众网络。相比传统的软件开发模式,众包软件开发有其明显的优势,给传统的软件开发带来了新的机遇和挑战。它可以组织整合有弹性的外部人力资源,降低内部雇员成本,利用分布式生产模式加速开发进程。随着众包软件开发的发展,国内外涌现众多商业软件开发平台,其中有包含完整软件开发流程的Topcoder、Upwork平台,小型任务发布平台AMT,软件测试平台Utest,以及国内的百度数据众包、阿里众包、腾讯众测等。在众包平台上,任务发布者发布任务、问题描述和期望指标等,开发者通过个人形式或者团队形式参与竞赛,其中,提交的任务结果符合指标并在开发者中排名topk,即可获得奖金。不同于传统的微型众包任务,众包软件开发任务往往比较复杂,开发者倾向于与其他开发人员组队协作完成任务。Kaggle平台中开发者因组队失败而放弃参与开发的现象普遍存在。调研分析了1987个寻找队友的开发者,其中,仅20.9%的开发者组队成功,58.5%的开发者因组队失败而未参与任务开发。众包软件开发平台没有为开发者提供团队推荐技术支持,导致许多开发者因找不到队友而放弃参与开发。现有的团队推荐算法大都是为任务推荐最优的开发团队来确保任务的成功完成,而不能为开发者寻找队友。这种团队推荐算法仅适用于管理者将任务指派给特定开发者团队的场景,不适用于众包软件开发任务场景,并不能根据开发者的队友选择偏好,为存在协作倾向的开发者推荐队友。现有的推荐技术主要面向两种推荐场景。第一个场景是为确保任务成功完成,推荐最优团队;第二个场景是为达特定指标,将一组开发者分配到不同团队中去完成一组任务。分别称之为单个任务最优团队推荐和多个任务团队人员分配。给定一个多技能任务(该任务的完成需开发者掌握多项技能),推荐最优团队,并且团队满足任务技能需求,问题模型如图1所示。现有技术是将该问题简单转化为集合覆盖问题,为任务推荐一个满足技能需求的团队,仅考虑任务的技能需求,未考虑团队成员之间能否进行有效的团队协作,存在明显的不合理性。任务的完成不仅受开发者技能的影响,还与开发者间关系密切相关。一种是提出一个基于团队能力模型的推荐框架。团队能力与成员个人特征、成员间能否有效沟通协作密切相关。其中,开发者个人特征包括个人经验、获胜项目数、获胜率、各技能下的技能值等;团队特征包括团队合作关系和团队社交关系等。利用历史项目数据学习各特征对于团队能力的重要性,通过特征权重学习,得到团队能力模型,然后根据启发式算法,为任务推荐能力最优的团队。另一种是将团队推荐问题转化为一个集合覆盖问题和开发者关系分析问题,为任务推荐满足技能要求并且团队成员沟通代价最小的开发者团队。其中,团队成员沟通代价有多种不同的定义方式,较常见的方法有关系子图最短直径、关系子图最小生成树等。给定一组待完成的任务和开发者集合,合理分配开发者去完成相应任务,并使特定指标达到最优,问题模型如图2所示。许多领域都涉及到团队人员的分配问题。比如在班级教学中,如何将学生划分到不同的学习小组,完成指定的教学目标;在公司员工培训中,如何将员工分配到不同的任务小组,完成指定的培训目标和开发任务。传统的手动人员分配方法效率较低,并且管理者无法全面地根据人员的个人表现以及他们在不同团队中的集体表现等多重标准进行比较分析,往往会导致团队人员分配的不合理。一种方式是研究协同学习中的学生分组问题,将学生分配到不同的学习小组,使学生的能力提升最大,这是一种典型的以开发者能力成长为指标的人员分配问题。该问题中,团队优劣衡量标准有以下两个,一是不相似目标,即同一团队中开发者的技能是异质的,团队成员间能力差异越大,从团队中获得的能力成长越大;二是收益最大目标,即最大化团队中开发者的平均能力成长。在不相似目标下,通过改进传统的K-Means聚类方法,将开发者根据能力特征划分到不同的类别中,然后分别从各个类别中选出一个开发者组成团队。通过改进的K-Means方法,可以确保团队成员能力的异质性。在收益最大目标下,首先对团队协作中开发者的能力成长进行建模,刻画开发者的能力收益,然后通过贪心算法,得到收益最大目标下的团队人员分配方案。另一种是研究企业员工培训中的员工分组问题,通过分配员工参与公司内部各项工程,更有效地培训员工,并保证项目成功完成。他们将该问题视为一个联合优化问题,目标函数需同时考虑开发者总体能力成长和团队沟通代价。为解决该联合优化问题,首先对团队中开发者的能力成长进行建模,然后通过社交关系分析得到团队沟通代价函数,通过两个指标的线性组合,得到代价函数。通过优化该代价函数,得到最优的团队人员分配方案。现有技术的团队推荐相关技术都是为任务推荐开发团队,而不能为开发者寻找队友,使其能够组队成功团队参与开发。这种团队推荐方法仅适用于管理者将任务指派给特定开发者团队的场景,不适用于众包软件开发任务场景,并不能根据开发者的队友选择偏好,为存在协作倾向的开发者推荐队友。
技术实现思路
本专利技术提出一个众包任务团队推荐的系统,包括开发者能力建模与开发者间亲密度建模模块、团队协作意愿建模模块、推荐算法模块,该模块适用于支持团队形式开发的众包软件开发平台,根据团队协作意愿优化推荐结果。团队协作意愿建模利用开发者的历史协作记录,分析开发者的队友选择偏好,然后利用开发者的队友选择偏好,建模团队的协作意愿,实现基于团队协作意愿的团队推荐算法,以满足现有众包软件开发平台大规模开发者集合的场景需求。附图说明图1为单个任务最优团队推荐;图2为多个任务团队人员分配;图3为本专利技术的整体框架图;具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。本专利技术提出一个众包任务团队推荐方法,所述推进方法中包括开发者能力建模与开发者间亲密度建模模块、团队协作意愿建模模块、推荐算法模块。首先,对开发者能力和开发者间亲密度进行建模,根据开发者的开发历史纪录,所述记录包括任务所需技能、成绩排名、开发形式、任务总开发人数,刻画开发者能力并进行归一化处理;利用开发者间的关系,所述关系包括协作关系、社交关系,刻画开发者间的亲密度,开发者间的亲密度关系可用有向加权图表示。然后,给出三个开发者协作意愿影响因素的公式表示,并通过开发者历史协作记录,得到开发者在三个因素下的队友选择偏好,通过开发者的队友选择偏好,建模团队协作意愿,最后,通过近似推荐处理过程,为开发者推荐协作意愿最高的团队,最大化组队成功率使开发者能够组队成功参与开发,并满足现有众包软件开发平台大规模开发者集合的场景需求。在团队协作意愿建模模块中用U={u1,u2,...,un}表示众包软件开发平台上的开发者集合,众包本文档来自技高网
...

【技术保护点】
1.一种面向众包任务处理的团队推荐方法,所述方法的步骤包括,先对开发者能力和开发者间亲密度进行建模;然后在团队协作意愿建模中,由开发者协作意愿影响因素处理方法,通过开发者历史协作记录,得到开发者在三个因素下的队友选择偏好,进而得到团队协作意愿模型;最后,为开发者推荐协作意愿最高的团队,最大化组队成功率使开发者能够组队成功参与开发,满足现有众包软件开发平台大规模开发者集合的场景需求。

【技术特征摘要】
1.一种面向众包任务处理的团队推荐方法,所述方法的步骤包括,先对开发者能力和开发者间亲密度进行建模;然后在团队协作意愿建模中,由开发者协作意愿影响因素处理方法,通过开发者历史协作记录,得到开发者在三个因素下的队友选择偏好,进而得到团队协作意愿模型;最后,为开发者推荐协作意愿最高的团队,最大化组队成功率使开发者能够组队成功参与开发,满足现有众包软件开发平台大规模开发者集合的场景需求。2.如权利要求1所述的方法,其特征在于,所述开发者能力建模与开发者间亲密度建模过程中,根据开发者的开发历史纪录刻画开发者能力并进行归一化处理,所述历史记录包括任务所需技能、成绩排名、开发形式、任务总开发人数等,利用开发者间的关系刻画开发者间的亲密度,开发者间的亲密度关系用有向加权图表示,所述关系包括协作关系、社交关系等。3.如权利要求2所述的方法,其特征在于,在所述团队协作意愿建模中,用U={u1,u2,...,un}表示众包软件开发平台上的开发者集合,众包平台涉及的技能集合为S={s1,s2,...,sm},由开发者能力建模与开发者间亲密度建模模块可得出开发者在各个技能下的能力和开发者间亲密度的有向加权图G=(U,R),其中U表示开发者集合,w(R(ui,uj))∈[0,1]表示ui对uj的亲密程度,T表示某个开发者团队,ui为T团队中的一个开发者,sk表示T团队开发任务的所需技能;所述开发者协作意愿的三个因素为开发者ui与队员间的亲密度C(ui,T):根据队员间的亲密度关系,可得出表示如下:开发者...

【专利技术属性】
技术研发人员:孙海龙王旭叶露婷刘旭东
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

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

1