一种基于协同过滤算法的求职者招聘信息搜索方法转让专利

申请号 : CN201910336862.4

文献号 : CN110110180A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 佟帅辰周犇杨佳林杨泽群肖娜王彦芳

申请人 : 河海大学

摘要 :

本发明公开了一种基于协同过滤算法的求职者招聘信息搜索方法,包括如下步骤:通过WebMagic网络爬虫技术爬取现有各大招聘网站的岗位信息,存放在数据库中;搭建APP移动端以及电脑PC网络端搜素引擎平台,在平台内设定查询条件;用户打开APP或PC端进入平台后,进行注册登录并选择查询条件;搜素平台的系统后台根据查询条件返回合适的岗位信息,并进行排序展示;用户通过点击排序列表跳转到对应的招聘网站查看岗位信息;系统采集到用户点击的日志信息,对数据进行清洗;清洗后的数据使用基于求职者的协同过滤算法进行计算,生成实时推荐列表。本发明为用户提供方便准确的职位搜索体验服务,便于求职者快速找到合适的职位。

权利要求 :

1.一种基于协同过滤算法的求职者招聘信息搜索方法,其特征在于,包括如下步骤:(1)通过WebMagic网络爬虫技术爬取现有各大招聘网站的岗位信息,存放在数据库中;

(2)搭建APP移动端以及电脑PC网络端搜素引擎平台,在平台内设定查询条件;

(3)用户打开APP或PC端进入平台后,进行注册登录并选择查询条件;

(4)搜素平台的系统后台根据查询条件返回合适的岗位信息,并进行排序展示;

(5)用户通过点击排序列表跳转到对应的招聘网站查看岗位信息;

(6)系统采集到用户点击的日志信息,对数据进行清洗;

(7)清洗后的数据使用基于求职者的协同过滤算法进行计算,生成实时推荐列表。

2.如权利要求1所述的基于协同过滤算法的求职者招聘信息搜索方法,其特征在于,步骤(7)中,清洗后的数据使用基于求职者的协同过滤算法进行计算,生成实时推荐列表具体包括如下步骤:(71)在系统前端使用Javascript编写代码进行埋点,并将用户行为信息存放到nginx服务器上的.log文件中;

(72)使用flume框架将采集到的用户日志信息存放到HDFS中;

(73)使用HiveQL进行数据清洗将数据存放在Hbase数据库中;

(74)利用最新的spark集群计算引擎进行边缘计算大数据平台的搭建,将清洗后的数据使用基于求职者的协同过滤算法计算,结果存放在Hive仓库中,并通过Sqoop导入MySQL数据库;

(75)根据计算结果,生成推荐列表返回给用户。

3.如权利要求2所述的基于协同过滤算法的求职者招聘信息搜索方法,其特征在于,步骤(74)中,协同过滤算法具体包括如下步骤:(741)计算出基于用户的相似度矩阵如式1所示

其中:Suv为用户u与用户v的相似度得分,N(u)表示用户u有过浏览行为的岗位信息的集合;N(v)表示用户v有过浏览行为的岗位信息的集合;分子部分表示岗位信息的重合程度,显然重合程度越高,岗位信息越相似;分母部分做了一个归一化,减少了操作过多的用户与其他用户的相似程度;

(742)根据用户的行为点击完成岗位推荐

其中:Pui为用户u对岗位i的推荐度得分,Suv为用户u与用户v的相似度得分,k表示用户v是用户u的前k个相似用户,并保证用户v浏览过的岗位用户u并没有浏览过;rvi表示用户v对岗位i的行为得分,对于不同行为对用户行为的得分定义不同。

4.如权利要求3所述的基于协同过滤算法的求职者招聘信息搜索方法,其特征在于,步骤(741)中,基于用户的相似度矩阵改写为:其中:Suv为用户u与用户v的相似度得分,N(u)表示用户u有过浏览行为的岗位信息的集合;N(v)表示用户v有过浏览行为的岗位信息的集合;u(i)表示对岗位i有过行为的用户集合,如果一个岗位被很多的求职者浏览过,那么它在重合度的贡献将会变的越低。

5.如权利要求3所述的基于协同过滤算法的求职者招聘信息搜索方法,其特征在于,步骤(742)中,根据用户的行为点击完成岗位推荐改写为:其中:Suv为用户u与用户v的相似度得分,N(u)表示用户u有过浏览行为的岗位信息的集合;N(v)表示用户v有过浏览行为的岗位信息的集合;每一个重合的岗位信息贡献度得分均不相同,由函数f(Δti)决定,函数定义如下:其中:|tui-tvi|表示用户对同一个岗位的操作时间的差值,时间相隔越短函数的值就越高,响应的在重合度贡献中的权重就越高。

说明书 :

一种基于协同过滤算法的求职者招聘信息搜索方法

技术领域

[0001] 本发明涉及互联网搜索引擎技术领域,尤其是一种基于协同过滤算法的求职者招聘信息搜索方法。

背景技术

[0002] 目前互联网招聘网站越来越多,层出不穷,也彻底的改变了人们的求职方式以及企业的招聘方式,市场上已有的就有:51job、猎聘网、拉钩网和智联招聘等招聘网站。但是这些网站上的用户量相当庞大但不互通,求职者往往难以找到适合自己的岗位。除此之外,现有的招聘网站普遍具有招聘信息推荐功能,搜素结果往往是基于求职者的职位搜索条件筛选的,这种推荐方式推荐的岗位未必与求职者相契合。因此解决现有各大招聘网站的职位信息互不相通,返回的搜索结果与求职者不契合的问题从而解决大学生就业问题迫在眉睫。

发明内容

[0003] 本发明所要解决的技术问题在于,提供一种基于协同过滤算法的求职者招聘信息搜索方法,为用户提供方便准确的职位搜索体验服务,便于求职者快速找到合适的职位。
[0004] 为解决上述技术问题,本发明提供一种基于协同过滤算法的求职者招聘信息搜索方法,包括如下步骤:
[0005] (1)通过WebMagic网络爬虫技术爬取现有各大招聘网站的岗位信息,存放在数据库中;
[0006] (2)搭建APP移动端以及电脑PC网络端搜素引擎平台,在平台内设定查询条件;
[0007] (3)用户打开APP或PC端进入平台后,进行注册登录并选择查询条件;
[0008] (4)搜素平台的系统后台根据查询条件返回合适的岗位信息,并进行排序展示;
[0009] (5)用户通过点击排序列表跳转到对应的招聘网站查看岗位信息;
[0010] (6)系统采集到用户点击的日志信息,对数据进行清洗;
[0011] (7)清洗后的数据使用基于求职者的协同过滤算法进行计算,生成实时推荐列表。
[0012] 优选的,步骤(7)中,清洗后的数据使用基于求职者的协同过滤算法进行计算,生成实时推荐列表具体包括如下步骤:
[0013] (71)在系统前端使用Javascript编写代码进行埋点,并将用户行为信息存放到nginx服务器上的.log文件中;
[0014] (72)使用flume框架将采集到的用户日志信息存放到HDFS中;
[0015] (73)使用HiveQL进行数据清洗将数据存放在Hbase数据库中;
[0016] (74)利用最新的spark集群计算引擎进行边缘计算大数据平台的搭建,将清洗后的数据使用基于求职者的协同过滤算法计算,结果存放在Hive仓库中,并通过Sqoop导入MySQL数据库;
[0017] (75)根据计算结果,生成推荐列表返回给用户。
[0018] 优选的,步骤(74)中,协同过滤算法具体包括如下步骤:
[0019] (741)计算出基于用户的相似度矩阵如式1所示
[0020]
[0021] 其中:Suv为用户u与用户v的相似度得分,N(u)表示用户u有过浏览行为的岗位信息的集合;N(v)表示用户v有过浏览行为的岗位信息的集合;分子部分表示岗位信息的重合程度,显然重合程度越高,岗位信息越相似;分母部分做了一个归一化,减少了操作过多的用户与其他用户的相似程度;
[0022] (742)根据用户的行为点击完成岗位推荐
[0023]
[0024] 其中:Pui为用户u对岗位i的推荐度得分。Suv为用户u与用户v的相似度得分,k表示用户v是用户u的前k个相似用户,并保证用户v浏览过的岗位用户u并没有浏览过;rvi表示用户v对岗位i的行为得分,对于不同行为(如:浏览、投放简历、参与面试、入职等)对用户行为的得分定义不同。
[0025] 优选的,步骤(741)中,基于用户的相似度矩阵改写为:
[0026]
[0027] 其中:Suv为用户u与用户v的相似度得分,N(u)表示用户u有过浏览行为的岗位信息的集合;N(v)表示用户v有过浏览行为的岗位信息的集合;u(i)表示对岗位i有过行为的用户集合,如果一个岗位被很多的求职者浏览过,那么它在重合度的贡献将会变的越低。
[0028] 优选的,步骤(742)中,根据用户的行为点击完成岗位推荐改写为:
[0029]
[0030] 其中:Suv为用户u与用户v的相似度得分,N(u)表示用户u有过浏览行为的岗位信息的集合;N(v)表示用户v有过浏览行为的岗位信息的集合;每一个重合的岗位信息贡献度得分均不相同,由函数f(Δti)决定,函数定义如下:
[0031]
[0032] 其中:|tui-tvi|表示用户对同一个岗位的操作时间的差值,时间相隔越短函数的值就越高,响应的在重合度贡献中的权重就越高。
[0033] 本发明的有益效果为:本发明以搜索引擎的方式,借助网络爬虫技术整合了现有各大招聘网站的数据,为求职者求职提供便利;结合大数据技术,基于求职者的协同过滤算法等实现职位智能推荐,大大提高了用户求职效率,使用户能够更加快捷的找到适合自己的工作。

附图说明

[0034] 图1为本发明的方法流程示意图。
[0035] 图2为本发明的爬虫流程示意图。
[0036] 图3为本发明的系统架构示意图。

具体实施方式

[0037] 如图3所示,本发明的一种基于协同过滤算法的求职者招聘信息搜索引擎,包括数据采集模块1、数据分析模块2、数据展示模块3等三部分。
[0038] 如图1和图2所示,一种基于协同过滤算法的求职者招聘信息搜索方法,包括如下步骤:
[0039] 步骤一,通过WebMagic网络爬虫技术爬取现有各大招聘网站的岗位信息,存放在数据库中。
[0040] 步骤二,搭建APP移动端以及电脑PC网络端搜素引擎平台,在平台内设定查询条件。
[0041] 步骤三,用户打开APP或PC端进入平台后,进行注册登录并选择查询条件。
[0042] 步骤四,搜素平台的系统后台根据查询条件返回合适的岗位信息,并进行排序展示。
[0043] 步骤五,用户通过点击排序列表跳转到对应的招聘网站查看岗位信息。
[0044] 步骤六,系统采集到用户点击的日志信息,对数据进行清洗。
[0045] 步骤七,清洗后的数据使用基于求职者的协同过滤算法进行计算,生成实时推荐列表。
[0046] 在步骤七中我们使用基于协同过滤算法进行计算,生成推荐列表为:找到与目标用户具有相似兴趣的用户集合并将找到这个用户集合中用户浏览过的,但目标用户没有被推荐过的岗位信息生成离线推荐列表。由于基于用户的协同过滤算法(usercf)需要处理大量的数据,我们借助Hadoop框架进行计算。
[0047] Hadoop框架,是一个由Apache基金会所开发的分布式系统基础架构。具有三大组件mapreduce分布式运算框架yarn任务调度平台hdfs分布式文件系统。在本项目中我们就将用户的日志信息存放在HDFS中。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
[0048] 所述的步骤七中具体包括:
[0049] S7.1在系统前端使用Javascript编写代码进行埋点,并将用户行为信息存放到nginx服务器上的.log文件中。
[0050] S7.2使用flume框架将采集到的用户日志信息存放到HDFS(Hadoop分布式文件系统)中。
[0051] S7.3使用HiveQL进行数据清洗将数据存放在Hbase数据库中。
[0052] S7.4利用最新的spark集群计算引擎进行边缘计算大数据平台的搭建,将清洗后的数据使用基于求职者的协同过滤算法计算,结果存放在Hive仓库中,并通过Sqoop导入MySQL数据库。
[0053] S7.5根据计算结果,生成推荐列表返回给用户。
[0054] 所述的步骤S7.4中的协同过滤算法包括:
[0055] S7.4.1计算出基于用户的相似度矩阵如式1所示
[0056]
[0057] 其中:N(u)表示用户u有过浏览行为的岗位信息的集合;N(v)表示用户v有过浏览行为的岗位信息的集合。分子部分表示岗位信息的重合程度,显然重合程度越高,岗位信息越相似。分母部分做了一个归一化,减少了操作过多的用户与其他用户的相似程度。
[0058] S7.4.2根据用户的行为点击完成岗位推荐
[0059]
[0060] 其中:rvi表示用户v对岗位i的行为得分,对于不同行为(如:浏览、投放简历、参与面试、入职等)对用户行为的得分定义不同。Suv为用户u与用户v的相似度得分,用户v是用户u的前k个相似用户,并保证用户v浏览过的岗位用户u并没有浏览过。这样我们就可以得到了用户u对岗位i的推荐度得分。
[0061] 同时为了进行更加精准的推荐我们还可以对公式进行两处改进:
[0062] 1.降低异常热门职位对用户相似度的贡献
[0063]
[0064] 其中:Suv为用户u与用户v的相似度得分,N(u)表示用户u有过浏览行为的岗位信息的集合;N(v)表示用户v有过浏览行为的岗位信息的集合;u(i)表示对岗位i有过行为的用户集合,如果一个岗位被很多的求职者浏览过,那么它在重合度的贡献将会变的越低。
[0065] 2.不同求职者对同一岗位行为的时间段不同应当给予适当削减
[0066]
[0067] 其中:Suv为用户u与用户v的相似度得分,N(u)表示用户u有过浏览行为的岗位信息的集合;N(v)表示用户v有过浏览行为的岗位信息的集合;每一个重合的岗位信息贡献度得分均不相同,由函数f(Δti)决定。函数定义如下:
[0068]
[0069] 其中:|tui-tvi|表示用户对同一个岗位的操作时间的差值,时间相隔越短函数的值就越高,响应的在重合度贡献中的权重就越高。
[0070] 综上所述,本发明公开了一种基于协同过滤的求职者招聘信息搜索方法,整合了现有各大招聘网站的数据,解决了数据不互通的问题,使用户通过本系统可以查询全网的招聘信息;同时为了实现智能推荐,将协同过滤算法应用到招聘行业中,通过对公式的改进升级,为用户提供更加适合的岗位信息。