1.一种基于深度学习的软件众包任务推荐方法,其特征在于该方法包括以下步骤:步骤1. 针对众包平台,收集众包任务的文本信息及其对应完成的开发者id,并进行过滤;
步骤2. 对收集和过滤过的数据进行训练集与测试集的划分;
步骤3. 对众包任务的文本信息进行分词,从训练集中得出一个最大长度sequence_length;训练集中分词长度小于sequence_length的样本将其填充,测试集若出现分词长度大于sequence_length的样本将其截断;
步骤4. 将经过分词且填充的训练集样本先输入Bert预训练模型,生成下游任务需要的词向量;生成的词向量再交给由CNN+LSTM的深度学习模型进行进一步的特征学习,最后输出的结果为众包平台每个开发者的置信分数;具体是:CNN初步特征提取:将众包任务文本的词向量矩阵输入CNN,通过不同尺寸的卷积核滑动提取局部n‑gram特征,经ReLU激活和动态最大池化后,拼接多通道输出,形成文本的高级特征表示;
LSTM最终特征提取:将CNN输出的高级特征输入LSTM,利用其门控机制捕捉文本的长程依赖关系,综合上下文语义,最终取LSTM最后一个时间步的隐藏状态作为全局特征,通过全连接层生成各开发者的置信分数;
步骤5. 将每个开发者置信分数与其任务相对应的真实结果输入至损失函数计算损失并反向传播梯度;所述损失函数表达为:其中, 表示第i个标签置信分数, 分别表示第j个标签置信分数;
步骤6. 循环步骤4到步骤5,直至模型收敛。
2.根据权利要求1所述的一种基于深度学习的软件众包任务推荐方法,其特征在于:步骤1中,对于开发者,过滤掉完成任务数量少于设定值的开发者。
3.根据权利要求1所述的一种基于深度学习的软件众包任务推荐方法,其特征在于:步骤2中,划分的原则是以开发者为中心,优先保证每个开发者都有相应的样本在训练集中。
4.根据权利要求1所述的一种基于深度学习的软件众包任务推荐方法,其特征在于:步骤3中, 对众包任务的文本信息利用nltk工具进行分词。