预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN114282104A(43)申请公布日2022.04.05(21)申请号202111579889.XG06N3/08(2006.01)(22)申请日2021.12.22(71)申请人杭州电子科技大学地址310018浙江省杭州市钱塘区白杨街道2号大街(72)发明人李尤慧子袁宇宸殷昱煜周丽李玉梁婷婷(74)专利代理机构浙江千克知识产权代理有限公司33246代理人周雷雷(51)Int.Cl.G06F16/9535(2019.01)G06F16/35(2019.01)G06F40/289(2020.01)G06N3/04(2006.01)权利要求书1页说明书5页附图1页(54)发明名称一种基于深度学习的软件众包任务推荐方法(57)摘要本发明公开了一种基于深度学习的软件众包任务推荐方法。目前已有很多相关研究提出使用深度学习的方法对众包任务文本信息来进行众包任务推荐,但在现有的方法中,众包任务文本信息的提取方法缺乏通用性,且由于众包数据分布不平衡的特点,在推荐结果的指标上,命中率与多样性无法兼顾。本发明方法包含三部分的内容:基于预训练模型Bert提取众包文本特征、基于CNN+LSTM对众包文本特征进行进一步的特征学习和基于上述两个模型作用下的输出,能够自适应克服众包数据分布不平衡的损失函数。通过本发明可以在简单高效地针对特定软件众包平台实现开发者的推荐,同时也提高了推荐结果的命中率与多样性。CN114282104ACN114282104A权利要求书1/1页1.一种基于深度学习的软件众包任务推荐方法,其特征在于该方法包括以下步骤:步骤1.针对特定的众包平台,收集众包任务的文本信息及其对应完成的开发者id,并进行过滤;步骤2.对收集和过滤过的数据进行训练集与测试集的划分;步骤3.对众包任务的文本信息进行分词,从训练集中得出一个最大长度sequence_length;训练集中分词长度小于sequence_length的样本将其填充,测试集若出现分词长度大于sequence_length的样本将其截断;步骤4.将经过分词且填充的训练集样本先输入Bert预训练模型,生成下游任务需要的词向量;生成的词向量再交给由CNN+LSTM的深度学习模型进行进一步的特征学习,最后输出的结果为众包平台每个开发者的置信分数;步骤5.将每个开发者置信分数与其任务相对应的真实结果输入至损失函数计算损失并反向传播梯度;步骤6.循环步骤4到步骤5,直至模型收敛。2.根据权利要求1所述的一种基于深度学习的软件众包任务推荐方法,其特征在于:步骤1中,对于开发者,过滤掉完成任务数量少于设定值的开发者。3.根据权利要求1所述的一种基于深度学习的软件众包任务推荐方法,其特征在于:步骤2中,划分的原则是以开发者为中心,优先保证每个开发者都有相应的样本在训练集中。4.根据权利要求1所述的一种基于深度学习的软件众包任务推荐方法,其特征在于:步骤3中,对众包任务的文本信息利用nltk工具进行分词。2CN114282104A说明书1/5页一种基于深度学习的软件众包任务推荐方法技术领域[0001]本发明属于众包领域,涉及一种针对多类型软件众包任务的自适应推荐方法。背景技术[0002]近年来,随着软件复杂性的增加,将一个大的软件开发任务分成几个小的任务是一种常规方法。分离步骤可能包括:(1)将一个大型项目划分为一系列小模块,这些模块具有简单的需求、清晰的接口、明确的目标和全面的测试;(2)将所有这些模块组合成最终的工件。这一趋势为众包软件开发的出现奠定了坚实的基础。[0003]与传统的外包相比,众包强调的是以自由自愿的形式外包给非特定的大众志愿者的做法,他们被分配到特定项目的小部分。近年来,市场繁荣,出现了许多众包平台,如国内的码市、程序员客栈,国外的TopCoder等。[0004]在典型的软件众包过程中,首先,请求者将软件开发任务发布到平台上。任何开发人员都可以根据其个人兴趣和熟练程度注册为该特定开发任务的“注册人”。这一过程可能会持续一段时间。接着,如果所需的需求、规格等都清楚,“注册人”再被请求者或平台确认后就可开始工作。最后,在截止日期之前,开发人员应在完成其开发工作后将其最终作品上载到平台,然后等待审阅者或请求者根据几个评价指标确定采纳一个或几个注册者的作品。[0005]然而,请求者不得不浪费大量时间等待足够的开发人员注册并从他们中间挑选合适的开发人员。即使如此,被选定的开发人员也可能不是特定任务的最合适开发人员,因为“合适的开发人员”可能会因为大量可用任务而错过此任务。当大量开发人员对发布的任务进行注册时,注册者过滤的效率将更差,最终任务作品的质量将更不稳定。因此,为软件众包平台中的任务推荐目标开发人员是非常