【技术实现步骤摘要】
一种基于SVD++和协同过滤的人力资源岗位推荐方法
本专利技术属于数据处理和推荐方法领域,特别涉及一种基于SVD++和协同过滤的人力资源岗位推荐方法。
技术介绍
SVD++是一种矩阵分解方法,是在BiasSVD的基础上引入隐式参数,其中显式反馈指的是用户的评分行为,隐式反馈指的是用户与岗位交互的其它行为(在人力资源中的隐式反馈为用户浏览的岗位信息、用户收藏的岗位信息等)。在隐式反馈中,和每个用户有过隐式交互的物品集合中,也都有一个k维隐向量与之相对应。这样一来就可以将与用户有过隐式交互的物品对应的隐向量都加起来,从一个新的维度来表示用户的兴趣偏好。随机梯度下降法(SGD)是通过每个样本来迭代更新一次,所有的样本来调整θ,对于最优化问题,虽然不是每次迭代得到的损失函数都向着全局最优方向,但是大的整体的方向是向全局最优解的,最终的结果往往是在全局最优解附近,这样的方法更快,更快收敛。余弦相似度,是通过计算两个向量的夹角余弦值来评估两者的相似度。余弦相似度在计算热门岗位时会造成误差,所以改进了余弦相似度的公式,降低热门岗位的权重。现有的推荐方法有利用线性加权计算公式计算预测评分,但是客观性较差且计算量比较大;也有把评论加入建模,但是这种方法这种应用于有评论字段的数据,很多地方不能覆盖,且若评论数较少,依旧会造成数据的稀疏。已有论文主要基于现有的用户和岗位之间的评分数据,其次主要考虑推荐岗位的特征等,但并未充分考虑到评分数据的稀疏性,加大了计算的误差。对此,本专利技术结合SVD++与协同过滤,合理应用了用户的 ...
【技术保护点】
1.一种基于SVD++和协同过滤的人力资源岗位推荐方法,其特征在于,包括如下步骤:/n(1)对用户数据进行预处理,得到用户岗位评分数据D1;/n(2)根据用户岗位评分数据D1生成用户岗位评分矩阵G1;/n(3)根据SVD++模型,对隐式反馈的岗位进行评分,得到用户和岗位的最终评分矩阵G2;/n(4)利用改进的余弦相似度对矩阵G2进行计算,得到岗位与岗位相似度矩阵S;/n(5)计算最终评分矩阵G3,进行岗位推荐。/n
【技术特征摘要】
1.一种基于SVD++和协同过滤的人力资源岗位推荐方法,其特征在于,包括如下步骤:
(1)对用户数据进行预处理,得到用户岗位评分数据D1;
(2)根据用户岗位评分数据D1生成用户岗位评分矩阵G1;
(3)根据SVD++模型,对隐式反馈的岗位进行评分,得到用户和岗位的最终评分矩阵G2;
(4)利用改进的余弦相似度对矩阵G2进行计算,得到岗位与岗位相似度矩阵S;
(5)计算最终评分矩阵G3,进行岗位推荐。
2.根据权利要求1所述的一种基于SVD++和协同过滤的人力资源岗位推荐方法,其特征在于,所述步骤(1)包括以下步骤:
(101)定义用户求职意向数据集为D,定义处理后的用户求职意向数据集为D1,定义id,prework,rating分别为用户序号、用户求职意向和岗位评分,并且满足关系D={id,prework,rating},D1={id,prework,rating};
(102)读取数据集D;
(103)如果id=null且prework=null,执行步骤(104),否则执行步骤(105);
(104)删除此行数据;
(105)在人力资源数据中,给予所有求职意向的岗位评分为1,即岗位评分rating=1;
(106)保存处理后的用户求职意向数据集D1。
3.根据权利要求1所述的一种基于SVD++和协同过滤的人力资源岗位推荐方法,其特征在于,所述步骤(2)包括以下步骤:
(201)定义新的矩阵df,定义循环变量i,循环变量i用来读取D1中数据,i∈[1,len(D1)],len(D1)为数据集D1中的用户数量;
(202)获得m个用户id,n个岗位名称,生成一个m×n的矩阵df;
(203)获取用户id,岗位的名称和评分并赋值;
(204)形成用户岗位评分矩阵记为G1并保存到本地。
4.根据权利要求1所述的一种基于SVD++和协同过滤的人力资源岗位推荐方法,其特征在于,所述步骤(3)包括以下步骤:
(301)引入隐式反馈,主要包括用户点击、收藏,选用SVD++模型,具体公式为:
式中,为用户u对岗位i的预测评分,ave为所有平均分,bi为岗位i的评分相对于平均评分的偏差,bu为用户u做出的评分相对于平均评分的偏差,qi为岗位i的潜在特征因子,pu为用户u的潜在特征因子,yj为隐性反馈为隐性反馈,N(u)为用户所有交互过的岗位数目;
(302)统计矩阵G1中所有的用户和岗位数,获取评分均值ave,初始化偏移向量bi、bu,特征因子qi、pu及隐式反馈;
(303)对矩阵G1按照用户分组,定...
【专利技术属性】
技术研发人员:陈晓兵,王甜,张昌,徐谦,吕如梦,高尚兵,
申请(专利权)人:淮阴工学院,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。