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

CNN-LSTM开发者项目推荐方法技术

技术编号:25041549 阅读:35 留言:0更新日期:2020-07-29 05:32
本发明专利技术提供了一种CNN‑LSTM开发者项目推荐方法,包括:步骤1,收集敏捷开发者项目数据,进行敏捷开发者项目数据清洗与筛选,将敏捷开发者项目数据按照时间序列进行排序得到的开发者项目集作为整个模型的输入;步骤2,将获取的敏捷开发者项目数据通过Word2Vec模型确定敏捷开发者项目数据在项目空间中的位置,并将敏捷开发者项目数据转换为向量的形式,从而将输入的开发者项目集转换为开发者项目集矩阵的形式。本发明专利技术可以为敏捷开发模式的开发者们推荐合适的项目,提高开发者的项目开发效率,进而提高敏捷开发过程中的项目迭代效率,发现项目特征能力很强,提高了开发者项目的推荐准确率,可以帮助开发者高效地发现感兴趣的相似项目。

【技术实现步骤摘要】
CNN-LSTM开发者项目推荐方法
本专利技术涉及软件工程和数据挖掘
,特别涉及一种CNN-LSTM开发者项目推荐方法。
技术介绍
目前,敏捷模式已成为软件工程的主流项目开发模式,国内外各大互联网公司均采用敏捷开发模式,通过迭代的形式不断的去完善项目原型,以实现更多的项目功能,避免更大的耦合性,加快开发效率。在敏捷的每个迭代周期中,项目的Master都会把迭代的任务划分为任务列表,在项目的迭代启动会中进行任务评估,项目的开发团队人员则根据自身情况,选择合适的任务进行开发工作。但是,由于很多开发者们都可能会同时参与几个项目的迭代,而且在开发过程中因为沟通不及时导致可能多个开发者做了同一个任务,导致迭代的效率降低,影响开发进度,因此如何为开发者们推荐项目成为了近几年研究的热点问题。目前,为开发者推荐的方法多是采用项目相似度分析的方法,根据开发者历史项目的特征计算与新的项目的相似度为开发者推荐top-k个项目,现有的推荐模型多是从项目文本出发,忽略了开发者基于时间的项目特征。另外,深度学习方法在推荐算法中应用广泛,通过RBM、RNN、CNN等深度学习模型应用到推荐系统中并取得了较好推荐效果,但是现在深度学习方法在项目推荐中应用却相对较少。除此之外,现阶段的项目推荐方法普遍单一且没有考虑项目上下文关系,而且在将项目转化为向量的过程中少有考虑项目之间的关系。目前,为开发者推荐项目已成为软件工程的研究热点,针对相关技术中的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术提供了一种CNN-LSTM开发者项目推荐方法,其目的是为了解决存在于敏捷开发的迭代过程中开发者选择任务效率低下和开发者的项目推荐效率不高的问题。为了达到上述目的,本专利技术的实施例提供了一种CNN-LSTM开发者项目推荐方法,包括:步骤1,收集敏捷开发者项目数据,进行敏捷开发者项目数据清洗与筛选,将敏捷开发者项目数据按照时间序列进行排序得到的开发者项目集作为整个模型的输入;步骤2,将获取的敏捷开发者项目数据通过Word2Vec模型确定敏捷开发者项目数据在项目空间中的位置,并将敏捷开发者项目数据转换为向量的形式,从而将输入的开发者项目集转换为开发者项目集矩阵的形式;步骤3,将得到的开发者项目集矩阵输入CNN模型,通过卷积核卷积、池化操作得到敏捷开发者项目集空间特征矩阵;步骤4,将得到的敏捷开发者项目集空间特征矩阵作为LSTM模型的输入,通过LSTM模型获取基于上下文的开发者项目特征;步骤5,通过softmax函数将得到的开发者项目特征与开发者项目集进行比较,根据预测结果给开发者推荐top-k个项目,根据推荐准确率调整模型参数,不断优化模型直至推荐效果最佳。其中,所述步骤1具体包括:从某一个敏捷开发平台收集敏捷开发者项目数据,数据进行清洗、筛选后对敏捷开发者项目数据按照时间序列进行整理,筛选出敏捷开发者项目数据的项目数量超过200的开发者,选取开发者们最近的100个项目作为开发者项目集。其中,所述步骤2具体包括:通过选取基于Skip-Gram的Word2Vec模型,将得到的基于时间序列的敏捷开发者项目数据转化成基于历史访问特征的向量数据。其中,所述步骤3具体包括:将得到的向量数据输入CNN模型之中,通过卷积和最大池化方法获得开发者项目集空间特征作为初级特征。其中,所述步骤4具体包括:将得到的敏捷开发者项目集空间特征矩阵输入到LSTM模型之中,通过输入门、遗忘门和输出门的计算后得到开发者项目特征。其中,所述步骤5具体包括:将得到的开发者项目特征矩阵通过softmax方法,计算项目库的项目得分为开发者推荐合适的项目列表,通过推荐结果分析,不断调整模型参数、优化模型直至推荐效果最佳。本专利技术的上述方案有如下的有益效果:本专利技术的上述实施例所述的CNN-LSTM开发者项目推荐方法,可以为实际的敏捷开发者们在迭代过程中推荐合适的项目,通过特征提取与分析,为迭代中的开发者推荐项目列表中适合自己的项目,为Master提供了项目任务列表的分配参考,提升了开发者的开发效率,加快了迭代的进程,保障了项目通过敏捷模式顺利地进行。附图说明图1为本专利技术的基于Word2Vec的CNN-LSTM开发者项目推荐模型图;图2为本专利技术的基于Skip-Gram的Word2Vec模型图;图3为本专利技术的CNN-LSTM的项目预测模型图;图4为本专利技术的LSTM模型神经元结构图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。本专利技术针对现有的存在于敏捷开发的迭代过程中开发者选择任务效率低下和开发者的项目推荐效率不高的问题,提供了一种CNN-LSTM开发者项目推荐方法。如图1至图4所示,本专利技术的实施例提供了一种CNN-LSTM开发者项目推荐方法,包括:步骤1,收集敏捷开发者项目数据,进行敏捷开发者项目数据清洗与筛选,将敏捷开发者项目数据按照时间序列进行排序得到的开发者项目集作为整个模型的输入;步骤2,将获取的敏捷开发者项目数据通过Word2Vec模型确定敏捷开发者项目数据在项目空间中的位置,并将敏捷开发者项目数据转换为向量的形式,从而将输入的开发者项目集转换为开发者项目集矩阵的形式;步骤3,将得到的开发者项目集矩阵输入CNN模型,通过卷积核卷积、池化操作得到敏捷开发者项目集空间特征矩阵;步骤4,将得到的敏捷开发者项目集空间特征矩阵作为LSTM模型的输入,通过LSTM模型获取基于上下文的开发者项目特征;步骤5,通过softmax函数将得到的开发者项目特征与项目库进行比较,根据预测结果给开发者推荐top-k个项目,根据推荐准确率调整模型参数,不断优化模型直至推荐效果最佳。本专利技术的上述实施例所述的CNN-LSTM开发者项目推荐方法,首先通过Word2Vec模型将敏捷开发者项目数据转化为基于项目序列上下文的向量形式,再通过CNN-LSTM模型获取开发者们基于上下文的开发者项目特征,从而对开发者们可能关注的陌生项目进行预测,将获得的项目预测列表推荐给合适的开发者,提高开发者查找项目的效率。其中,所述步骤1具体包括:从某一个敏捷开发平台收集敏捷开发者项目数据,数据进行清洗、筛选后对敏捷开发者项目数据按照时间序列进行整理,筛选出敏捷开发者项目数据的项目数量超过200的开发者,选取开发者们最近的100个项目作为开发者项目集。本专利技术的上述实施例所述的CNN-LSTM开发者项目推荐方法,通过爬虫获取某平台上敏捷开发者项目数据或下载现有开发者-项目的数据集,对数据进行筛选清洗,将敏捷开发者项目数据基于时间序列进行排序得到最终的开发者项目集,将从某敏捷开发平台中收集敏捷开发者项目数据,LSTM模型要求序列的长短一致,故需要从众多敏捷开发者中筛选出完成任务量大于200个的开发者,并且选取他们最近参与的100个项目任务数据,分成测试集和训本文档来自技高网...

【技术保护点】
1.一种CNN-LSTM开发者项目推荐方法,其特征在于,包括:/n步骤1,收集敏捷开发者项目数据,进行敏捷开发者项目数据清洗与筛选,将敏捷开发者项目数据按照时间序列进行排序得到的开发者项目集作为整个模型的输入;/n步骤2,将获取的敏捷开发者项目数据通过Word2Vec模型确定敏捷开发者项目数据在项目空间中的位置,并将敏捷开发者项目数据转换为向量的形式,从而将输入的开发者项目集转换为开发者项目集矩阵的形式;/n步骤3,将得到的开发者项目集矩阵输入CNN模型,通过卷积核卷积、池化操作得到敏捷开发者项目集空间特征矩阵;/n步骤4,将得到的敏捷开发者项目集空间特征矩阵作为LSTM模型的输入,通过LSTM模型获取基于上下文的开发者项目特征;/n步骤5,通过softmax函数将得到的开发者项目特征与开发者项目集进行比较,根据预测结果给开发者推荐top-k个项目,根据推荐准确率调整模型参数,不断优化模型直至推荐效果最佳。/n

【技术特征摘要】
1.一种CNN-LSTM开发者项目推荐方法,其特征在于,包括:
步骤1,收集敏捷开发者项目数据,进行敏捷开发者项目数据清洗与筛选,将敏捷开发者项目数据按照时间序列进行排序得到的开发者项目集作为整个模型的输入;
步骤2,将获取的敏捷开发者项目数据通过Word2Vec模型确定敏捷开发者项目数据在项目空间中的位置,并将敏捷开发者项目数据转换为向量的形式,从而将输入的开发者项目集转换为开发者项目集矩阵的形式;
步骤3,将得到的开发者项目集矩阵输入CNN模型,通过卷积核卷积、池化操作得到敏捷开发者项目集空间特征矩阵;
步骤4,将得到的敏捷开发者项目集空间特征矩阵作为LSTM模型的输入,通过LSTM模型获取基于上下文的开发者项目特征;
步骤5,通过softmax函数将得到的开发者项目特征与开发者项目集进行比较,根据预测结果给开发者推荐top-k个项目,根据推荐准确率调整模型参数,不断优化模型直至推荐效果最佳。


2.根据权利要求1所述的CNN-LSTM开发者项目推荐系统方法,其特征在于,所述步骤1具体包括:
从某一个敏捷开发平台收集敏捷开发者项目数据,数据进行清洗、筛选后对敏捷开发者项目数据按照时间序列进行整理,筛选出敏捷开...

【专利技术属性】
技术研发人员:廖志芳杨洪瑜樊晓平宋天慧龙军郁松
申请(专利权)人:中南大学
类型:发明
国别省市:湖南;43

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

1