当前位置: 首页 > 专利查询>淮阴工学院专利>正文

一种基于SVD++和协同过滤的人力资源岗位推荐方法技术

技术编号:24171906 阅读:55 留言:0更新日期:2020-05-16 03:14
本发明专利技术公开了一种基于SVD++和协同过滤的人力资源岗位推荐方法,首先,收集数据并对数据进行预处理,建立用户岗位评分数据表;其次,生成用户与岗位之间的评分矩阵;在此,基于SVD++模型,对未评分的岗位进行评分,得到用户和岗位的最终评分矩阵;然后,利用余弦相似度对计算岗位与岗位相似度矩阵;最后,计算出最终用户岗位评分矩阵,进行岗位推荐。本发明专利技术结合用户的隐式反馈,缓解评分数据的稀疏,得到较为贴近用户的岗位偏好评分,为用户提供准确的岗位信息,提高推荐系统的准确率。

【技术实现步骤摘要】
一种基于SVD++和协同过滤的人力资源岗位推荐方法
本专利技术属于数据处理和推荐方法领域,特别涉及一种基于SVD++和协同过滤的人力资源岗位推荐方法。
技术介绍
SVD++是一种矩阵分解方法,是在BiasSVD的基础上引入隐式参数,其中显式反馈指的是用户的评分行为,隐式反馈指的是用户与岗位交互的其它行为(在人力资源中的隐式反馈为用户浏览的岗位信息、用户收藏的岗位信息等)。在隐式反馈中,和每个用户有过隐式交互的物品集合中,也都有一个k维隐向量与之相对应。这样一来就可以将与用户有过隐式交互的物品对应的隐向量都加起来,从一个新的维度来表示用户的兴趣偏好。随机梯度下降法(SGD)是通过每个样本来迭代更新一次,所有的样本来调整θ,对于最优化问题,虽然不是每次迭代得到的损失函数都向着全局最优方向,但是大的整体的方向是向全局最优解的,最终的结果往往是在全局最优解附近,这样的方法更快,更快收敛。余弦相似度,是通过计算两个向量的夹角余弦值来评估两者的相似度。余弦相似度在计算热门岗位时会造成误差,所以改进了余弦相似度的公式,降低热门岗位的权重。现有的推荐方法有利用线性加权计算公式计算预测评分,但是客观性较差且计算量比较大;也有把评论加入建模,但是这种方法这种应用于有评论字段的数据,很多地方不能覆盖,且若评论数较少,依旧会造成数据的稀疏。已有论文主要基于现有的用户和岗位之间的评分数据,其次主要考虑推荐岗位的特征等,但并未充分考虑到评分数据的稀疏性,加大了计算的误差。对此,本专利技术结合SVD++与协同过滤,合理应用了用户的隐性反馈,降低了数据的稀疏性,在一定程度上提高了推荐系统的准确性,对传统的人力资源推荐有重要的作用和意义。
技术实现思路
专利技术目的:为了解决现有技术存在的问题,本专利技术提供一种基于SVD++和协同过滤的人力资源岗位推荐方法,能缓解评分数据的稀疏,得到较为贴近用户的岗位偏好评分,为用户提供准确的岗位信息,提高推荐系统的准确率。技术方案:本专利技术提出一种基于SVD++和协同过滤的人力资源岗位推荐方法,包括以下步骤:(1)对用户数据进行预处理,得到用户岗位评分数据D1;(2)根据用户岗位评分数据D1生成用户岗位评分矩阵G1;(3)根据SVD++模型,对隐式反馈的岗位进行评分,得到用户和岗位的最终评分矩阵G2;(4)利用改进的余弦相似度对矩阵G2进行计算,得到岗位与岗位相似度矩阵S;(5)计算最终评分矩阵G3,进行岗位推荐。进一步地,所述步骤(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。进一步地,所述步骤(2)包括以下步骤:(201)定义新的矩阵df,定义循环变量i,循环变量i用来读取D1中数据,i∈[1,len(D1)],len(D1)为数据集D1中的用户数量;(202)获得m个用户id,n个岗位名称,生成一个m×n的矩阵df;(203)获取用户id,岗位的名称和评分并赋值;(204)形成用户岗位评分矩阵记为G1并保存到本地。进一步地,所述步骤(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按照用户分组,定义下一个待预测用户为next_id;(304)取出用户u,初始化该用户的隐式反馈,定义接下来的一条评分为next_rating;(305)取出用户u的对岗位m一条评分rating,根据SVD++公式预测出评分(306)误差值(307)按照SVD++迭代求解公式更新偏移向量bi、bu,特征因子qi、pu及隐式反馈,使用相关联最小正则化的平方误差函数:公式中R是已评分的数据集,rui是训练集中用户u对i的评分,λ是控制训练过程的参数,是防止过拟合的一个正则表达式,得到上述式子中的最小值,采用梯度下降法,进行多次迭代直至收敛;(308)(309)计算偏移向量bu:bu←bu+γ·(eui-λ1·bu);(310)计算偏移向量bi:bi←bi+γ·(eui-λ1·bi);(311)计算潜在特征因子pu:pu←pu+γ·(eui-λ·pu);(312)计算潜在特征因子qi:(313)计算隐式反馈yj:yj←yj+γ·(eui·qi·k-λ·yj);(314)逐条读取矩阵G1中的数据,若next_rating存在,执行(315),否则执行(316);(315)rating=next_rating,执行(305);(316)next_id存在,执行(317),否则执行(318);(317)id=next_id,执行(304);(318)计算并存储结果矩阵G2。进一步地,所述步骤(4)包括以下步骤:(401)确定n个最近邻岗位;(402)选取训练数据集train与测试数据集test;(403)利用改进的余弦相似度算法计算岗位之间相似度:公式中wij表示岗位i与岗位j的相似度,N(i)表示对岗位i有求职意向的用户数,N(j)表示对岗位j有求职意向的用户数,N(u)为用户u的求职意向数目,此时用户u为同时对岗位i和岗位j有求职意向的用户;(404)生成岗位之间相似度矩阵S。进一步地,所述步骤(5)包括以下步骤:(501)把矩阵S和矩阵G2相乘,即puj为用户u对j的评分,S(j,k)为与岗位j最相似的n个岗位的集合,N(u)为用户喜欢的岗位集合,得到用户-岗位的最终评分矩阵G3;(502)对最终评分矩阵G3中评分为1的元素置零;(503)选取评分最高的k个岗位对用户进行推荐。有益效果:与现有技术相比,本专利技术的有益效果:本专利技术通过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

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

1