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

一种基于开发者特征的群智化软件任务推荐方法技术

技术编号:23933109 阅读:37 留言:0更新日期:2020-04-25 02:10
群智化软件开发是一种利用世界各地开发人员资源,基于竞争或协作的方式来完成复杂开发任务的新型软件开发模式。但是,目前该软件开发模式存在着信息过载、挑选任务困难,任务复杂、质量难以保证的问题。为有效解决上述问题,本发明专利技术基于群智化软件开发者的特征给其推荐适合完成的任务,从而提高软件开发的效率与质量。开发者特征主要从两个方面来衡量,分别是开发者的动态偏好和开发者的竞争力。首先,我们使用基于注意力机制的长短期记忆神经网络来获取开发者动态变化的偏好并筛选出符合开发者偏好的前N个任务。然后,针对开发者的竞争力,采用基于差分进化算法改进的XGBoost模型预测开发者在待推荐任务上的评分。最后按照预测评分的高低向该开发者推荐Top‑K任务。

A task recommendation method of swarm intelligence software based on the characteristics of developers

【技术实现步骤摘要】
一种基于开发者特征的群智化软件任务推荐方法
本专利技术涉及一种利用开发者的动态偏好和竞争力来对开发者进行群智化软件任务推荐的技术,属于推荐

技术介绍
近些年来,群智化软件开发已经受到了学术界和工业界的广泛关注。作为一种新型的软件开发方式,群智化软件开发充分利用了“群智化”的思想。相比于传统的软件开发,群智化软件开发可以最大限度地利用分布在世界各地的开发人员的资源,采用群体竞争或协作的方式来完成复杂的开发任务,能够有效降低开发的成本,提高开发的效率。目前,互联网上已经有了许多群智化的平台,供需求方发布任务以及大众来获取并完成任务。如AmazonMechanicalTurk、CrowdFlower、TopCoder、AppStori和uTest等等。虽然群智化软件开发模式已经取得了一定的成功,但是存在着一些问题。一方面,信息过载,挑选任务困难。目前群智化平台上存在着大量请求者发布的任务,开发者往往需要花费大量的时间在选择任务上。另一方面,任务复杂,质量难以保证。软件开发任务相比于一些数据标注的小任务要复杂得多,因此需要具有专业知识本文档来自技高网...

【技术保护点】
1.一种基于开发者特征的群智化软件任务推荐方法,其特征在于,所述方法包括如下步骤:/n(1)、分析群智化软件开发者的历史数据,针对开发者所参加的历史任务进行特征提取,获取其两种特征,分别为开发者的偏好信息和竞争力信息;/n(2)、对于开发者的历史任务偏好信息,将其按照时间进行划分,得到多个历史任务偏好序列,并用基于注意力机制的长短期记忆神经网络进行训练,预测出开发者的当前偏好;/n(3)、将开发者的偏好与所有待推荐的任务通过距离公式进行相似性对比,筛选出前N个感兴趣的任务,其中N主要取决于所有开发者在一个月内的平均报名任务数,并通过实验以确定最佳数值;/n(4)、对于开发者的历史任务竞争力信息...

【技术特征摘要】
1.一种基于开发者特征的群智化软件任务推荐方法,其特征在于,所述方法包括如下步骤:
(1)、分析群智化软件开发者的历史数据,针对开发者所参加的历史任务进行特征提取,获取其两种特征,分别为开发者的偏好信息和竞争力信息;
(2)、对于开发者的历史任务偏好信息,将其按照时间进行划分,得到多个历史任务偏好序列,并用基于注意力机制的长短期记忆神经网络进行训练,预测出开发者的当前偏好;
(3)、将开发者的偏好与所有待推荐的任务通过距离公式进行相似性对比,筛选出前N个感兴趣的任务,其中N主要取决于所有开发者在一个月内的平均报名任务数,并通过实验以确定最佳数值;
(4)、对于开发者的历史任务竞争力信息,通过基于差分进化算法改进的XGBoost模型对开发者在一项任务上的预测评分进行训练;
(5)、针对筛选出的前N个感兴趣的任务,输入训练好的预测评分模型来得到其评分,并将预测评分最高的K个任务推荐给开发者,其中K主要取决于所有开发者在一个月内的平均任务获胜次数,并通过实验以确定最佳数值,从而完成整个推荐流程。


2.根据权利要求1所述的一种基于开发者特征的群智化软件任务推荐方法,其特征在于,所述的长短期记忆神经网络由输入层、隐藏层和输出层组成,是一种适用于处理时序数据的神经网络模型,它能够充分利用数据的顺序信息,引入记忆单元来保存历史信息、长期状态,...

【专利技术属性】
技术研发人员:王红兵严嘉
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

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

1