[发明专利]一种基于稀疏自编码器的Github开源项目推荐方法有效
申请号: | 201710940238.6 | 申请日: | 2017-10-11 |
公开(公告)号: | CN107808278B | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 张鹏程;熊芳;张雷;程坤;周学武;金惠颖;贾旸旸;赵齐 | 申请(专利权)人: | 河海大学 |
主分类号: | G06Q10/10 | 分类号: | G06Q10/10;G06F16/9535;G06F16/35 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 李玉平 |
地址: | 210098 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 稀疏 编码器 github 项目 推荐 方法 | ||
本发明公开了一种基于稀疏自编码器的Github开源项目推荐方法,分别从项目、用户、项目‑用户三个维度进行数据预处理,得到用户关联度矩阵、项目关联度矩阵、用户‑项目关联度矩阵;对文本信息进行提取,通过分析文本相似度对项目进行聚类。结合协同过滤模型和稀疏自编码器帮助开发者找到合适的开源项目。将数据预处理所得的三个矩阵作为输入,通过神经网络迭代学习,得到两个潜在因子向量,通过潜在因子向量的内积预测出用户‑项目关联度矩阵中的缺失项,根据开源项目的聚类信息,将同一类中分值较高的前N项进行推荐。推荐合适的项目给开发者,节省了开发者在海量开源项目中寻找自己感兴趣的项目的时间,有效地提高了开发者参与开源项目的性能。
技术领域
本发明涉及一种基于稀疏自编码器的Github开源项目推荐方法,属于软件工程推荐系统及数据挖掘技术领域。
背景技术
Github是当今最大的面向开源及私有软件项目的托管平台,开发者通过它实现了社交化编程。Githhub的开放性与灵活性,使得越来越来的软件开发爱好者加入到这个社区,形成了巨大的软件生产力。在Github开源社区中,开发者可以关注其他开发者,收藏或关注自己感兴趣的开源项目,并且可以克隆项目到本地进行修改和更新。使得在不同时间不同区域也能实现代码的协同合作。随着开源资源的不断增长,为软件开发带来了许多的可复用软件。但同时带来了信息过载问题。因此,如何使开发者兴趣偏好与开源项目技术需求相吻合,成为了涉及软件工程的推荐系统领域中的一个重要问题。
目前,解决上述问题的一种有效途径是量化开发者与开源项目之间的网络关联关系,通过开发者之间的相似度或开源项目之间的相似度进行top-N推荐。但是没有进一步挖掘开发者之间的社交关联,对开发者与开源项目关联的特征属性的考虑也相对单一,没有充分利用用户历史行为数据中有价值的特征。
同时,利用传统的推荐算法来为开发者推荐合适的开源项目并不合适。首先,Github中的数据极度稀疏,就开源项目而言,大部分的开源项目仅仅有个别的开发者参与其中,许多开源项目难以被开发者发现;就开发者而言,由于时间和精力的限制,开发者能参与的开源项目也就非常有限,开发者需要花费大量的时间和精力从海量的开源项目中找到自己感兴趣的项目。其次,Github中的评论及描述等语义信息没有明显的情感倾向,难以通过语义信息来确定用户偏好,所以,单纯地通过语义信息来为开发者推荐开源项目是不可取的。
因此,本发明考虑了用户关联度、项目关联度、用户-项目关联度三个维度的特征属性。结合协同过滤模型和稀疏自编码器(SAE)帮助开发者找到合适的开源项目,一方面对数据进行处理及筛选得到三个维度的矩阵(用户-项目关联度矩阵、用户关联度、项目关联度矩阵);另一方面对文本信息进行提取,通过分析文本相似度对项目进行聚类。为了解决Github社区原始数据的稀疏性,本方法通过利用矩阵分解特性,构建了稀疏自动编码器对原始数据进行降维处理,降低原始数据稀疏性。通过梯度下降法对稀疏自编码器进行优化,得出最优的潜在因子特征向量,提高模型预测的准确率。通过神经网络不断的迭代学习,最后得到两个潜在因子向量,通过潜在因子向量的内积预测出用户-项目关联度矩阵中的缺失项,根据开源项目的聚类信息,将同一类中分值较高的前N项进行推荐。推荐合适的项目给开发者,节省了开发者在海量开源项目中寻找自己感兴趣的项目的时间,有效地提高了开发者参与开源项目的性能。
发明内容
发明目的:针对现有技术中存在的问题,为了提高开源项目推荐的准确率和召回率,考虑用户行为数据中的多维特征属性以及文本信息,提出了一种基于稀疏自编码器的Github开源项目推荐方法。
技术方案:一种基于稀疏自编码器的Github开源项目推荐方法,包括以下步骤:
步骤1:数据收集及数据预处理,构建用户关联度矩阵U、项目关联度矩阵I、用户-项目关联度矩阵R;
步骤2:根据开源项目描述信息,对项目进行聚类;
步骤3:建立基于稀疏自编码器的协同过滤模型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河海大学,未经河海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710940238.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电子商务平台生产管理系统
- 下一篇:一种采购信息管理系统
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理