基于python django的混合推荐系统,采集计算机行业岗位信息,echart可视化+boostrap,有

摘  要

针对当前招聘市场信息不对称、数据利用率低导致的求职者职业决策盲目与企业人才匹配效率不足的问题,本研究构建了基于多维度招聘信息的智能分析系统。以BOSS直聘网数据为基础,后端采用Django,前端结合ECharts图表组件,以图表示薪资、企业、学历与融资情况。对于薪资这一维度,采用了柱状图、漏斗图等不同维度数据的图表,用户可通过维度的比较获取不同学识背景、工作经验的薪资比对分析;企业模块采用了饼图和折线图,以便获取企业行业、城市分布、规模分布的统计。福利词云以可视化形式得到一系列具有代表性标签;学历模块利用两个轴关联工作年限和薪水;采用随机森林算法实现企业应聘的薪水预测模型,并且用户可以根据自身需求进行学历、城市、企业是否获得融资条件组合,模型反馈结果。同时考虑了图表的交互性和模型的扩展性,通过可视化结果的筛选、数据的放大与缩小,以及结果下载;并使用响应式设计使得用户可随时随地访问应用。实验数据分析结果证明了本文工作能够在一定程度上揭示招聘信息中存在的隐含信息,为企业提升招聘效率、应聘者规划职业生涯带来好处。后续将引入实时流数据和模型可解释性,并融入一些智能推荐算法,以更好地服务于用户,更好地辅助用户决策。

目  录

摘  要

Abstract

1 绪论

1.1 研究的背景与意义

1.1.1研究背景

1.1.2研究目的

1.2 研究现状

1.2.1国内研究现状

1.2.2国外研究现状

1.3 研究的主要内容

2 相关技术介绍

2.1 系统技术简介

2.1.1 Django框架技术

2.1.2 Boostrap前端技术

2.2 随机森林算法

2.3 开发工具和开发环境

2.3.1 开发工具

2.3.2 开发环境

2.4 本章小结

3 系统设计

3.1 总体功能设计

3.2 数据库设计

3.2.1 数据库逻辑设计

3.2.2 物理设计

4 系统实现

4.1 前端功能实现

4.1.1 登录注册功能

4.1.2 信息汇总界面

4.1.3 岗位推荐实现

4.1.4 用户中心

4.1.5 数据展示实现

4.1.6 岗位收藏功能实现

4.1.7 可视化实现

4.1.8 预测实现

4.2 后端管理实现

4.2.1 岗位信息管理

4.2.2 用户管理

5 系统测试

6总结与展望

6.1总结

6.2展望

参考文献

致  谢

  1. 绪论
    1. 研究的背景与意义

1.1.1研究背景

随着互联网的发展和智能手机的普及,人们获取信息和交流的方式发生了根本改变,同时对招聘领域也产生了极其重要的影响,在线招聘由其无时间、无国界、方便快捷的特点成为企业招聘的主要渠道,专业招聘类网站的出现不仅提高了招聘效率,而且将传统招聘与现代互联网技术有机地结合在一起。

1.1.2研究目的

主要是为求职者和企业招聘中的各方面需求搭建一个可视化的计算机行业招聘信息采集及预测分析系统。系统能根据求职者招聘和企业招聘过程中出现的各类招聘信息需求从智联招聘等招聘网站上挖掘相关招聘信息,从互联网上获取各类专业的招聘信息,便于将每天大量的招聘信息进行集中汇总的招聘信息平台,实现对计算机行业的招聘海量信息查询,方便求职者短时间内获得全面的招聘信息,解决目前求职过程中招聘信息零碎且检索范围有限的问题。此外针对薪资水平模型预测问题,为了实现计算机行业不同岗位的工作经验以及地区差异等因素与薪资之间的预测模型,提高求职者对工资水平的认知,帮助求职者更好地认识自身行业待遇,在求职过程中,提供一份合适的薪酬规划及分析报告。

    1. 研究现状

1.2.1国内研究现状

因此,当下由于互联网的招聘方式的日益普遍,互联网招聘相关的研究也已深入到数据分析、数据可视化、薪资预测等不同方向,推动了求职者和企业在求职招聘效率上提高。

(1)数据分析方向

田书丽通过对互联网招聘是常态、求职者多通过招聘网站来获取工作的叙述,提出海量、冗杂的招聘信息使求职者无法快速获取所想要的信息,设计一个招聘数据分析与可视化系统,提出改善的中文分词方法,提高了词表的质量,使用聚类和关联规则算法对招聘数据进行深入分析

(2)可视化方向

(3)薪资预测方向

目前,国内对互联网招聘的研究愈加详尽,包括数据处理、展示以及薪资趋势预测等相关领域[7],虽已有大量的研究成果,但也存在数据处理效率低、分析方法片面、分词的准确度不够等方面的问题[8]。所以后续的研究可进一步优化数据处理过程[9],提高相关分析结果的有效性和准确性,从而能对求职者和企业面对日益严峻的招聘市场提供一个有效的解决方法[10]。

1.2.2国外研究现状

在计算机行业招聘领域,相关研究主要集中在文本分类、招聘源实践和设计模式选择等方面,涉及多种先进的技术和方法。

VesaPeltokorpi,FabianJintaeFroese的研究关注外国企业与本国企业招聘来源实践上出现的差异[12]。国外正在对各类技术与手段进行探寻,同时在发展道路上已做出诸多贡献,却面临着各类难点,如标注数据匮乏、求职信息难以识别以及不同企业不同招聘方式的不同性等[14],这些问题迫切需要更具高效的算法、更有效的数据分析与数据可视化手段才能达到更佳的求职过程效率与精准度[15],今后的研究可以进一步融合其他学科的技术,促进求职信息分析、预测系统的构建。

    1. 研究的主要内容

本文研究目标是构建一个求职信息处理系统,在采集、分析、算法优化的基础上,帮助求职者合理高效地找工作,降低其失败率。本文将采集由Python爬虫技术采集的智联招聘网站发布的计算机行业求职信息,如岗位、企业、薪资、待遇、地域、岗位数、候选人、建议等,并提供多种实践功能。

本研究的主要目标包括以下几个方面:

(1) 建立精确的薪资预测模型,利用XGBoost、支持向量机、随机森林等机器学习算法对影响薪资的影响因素进行数据分析,并为求职者建立相应的薪资预测标准,以提升求职者谈判能力;

(2) 开发薪资分析和福利分析功能,通过数据可视化展示各岗位薪资区间及福利待遇,帮助求职者做出更有价值的职业选择;

(3) 细化模糊搜索与岗位分析功能,实现对模糊信息的正确筛选,使信息检索精确有效,给用户提供精准的岗位推荐;同时,地域分析功能能够帮助求职者根据各地区岗位需求和待遇差异而优化选择;

(4) 对比各算法的分类准确率,提升系统推荐的准确性和可信度,从而增强用户对系统的信赖。

通过这些功能的综合应用,本研究不仅提升了求职者的使用体验,还为招聘市场提供了更加智能化的数据支持,推动招聘信息管理的创新发展。

  1. 相关技术介绍
    1. 系统技术简介
      1. Django框架技术

Django是流行的一种PythonWeb应用框架,它包含很多功能强大实用的工具,使开发者快速开发高效可伸缩的Web应用,Django的目标是帮助开发者专注于业务逻辑,而不关心实现细节,如图2-1。

图2-1django框架图

      1. Boostrap前端技术

Bootstrap除了作为一个CSS样式库还拥有JavaScript插件,如模态框、提示框、下拉菜单、标签页等等,它们具备了众多丰富的交互功能,这使得开发人员无需编写额外的JavaScript代码,只需进行业务逻辑代码的编码工作即可。

Bootstrap的第二个特点是可以自定义。可以根据自己的需求选用组件和功能,还可以通过修改SASS变量自定义颜色、间隔、字体等来实现页面的进一步风格定制。无论是新手,还是经验丰富的开发者,Bootstrap都为他们提供一个简易快速的平台来在其页面上实现复杂前端页面设计。

    1. 随机森林算法

随机森林是一种强化集成学习方式,它是将若干树的预测结果融合的决策树集合法,随机森林是基于bagging(自助采样法)和随机选择特征这两种关键技术。随机森林在决策树的训练过程中,对于每一棵决策树,在训练数据中抽取一个子集和对每一个分裂点随机选择一部分特征,“双重随机”使得决策树不容易过拟合。

    1. 开发工具和开发环境
      1. 开发工具

系统的设计与实现使用了多个开发工具,其中包括:

MySQL:能存储和管理数据,对web系统中实现数据的增删改查,并为可视化提供数据支持,起到数据引擎的作用。

PyCharm:可以快速编辑、调试Python语言代码。PyCharm将相关库进行高度的集成,同时实现错误查找和跟踪,帮助程序员解决错误问题。

      1. 开发环境

Python3.7及以上版本的Python,Windows11系统;数据库MySQL,管理工具Navicat,Django及部分机器学习库。

    1. 本章小结

本节主要介绍了开发该系统的技术选择和框架原因,以及所使用的开发工具和技术,最后介绍了完成系统开发要用到的工具和代码运行的编译环境。

  1. 系统设计
    1. 总体功能设计

本次研究的内容主要模块包括以下几点:

系统分为用户模块和管理员模块。用户首次登陆系统需要注册一个用户账号,用户在登录平台后,可以进行平台的操作。系统会提前通过python爬虫从boss招聘网站中采集计算机行业招聘信息,包括岗位名称、公司名、薪资、福利、地址、行业等信息。

用户功能

(1) 对于第一次登陆的用户要进行注册后进行登录,系统对注册的用户进行身份和管理信息的确认,以确保用户信息的安全性和使用上的方便快捷。注册用户可以登录平台之后,实现后面招聘工作的信息查询及分析处理。

(2) 模糊搜索:该系统设有此模块,它可以根据输入一些关键词来搜索职位信息,比如输入职位、企业、技术,系统会模糊匹配所有存在这些关键词的职位信息,方便用户对职位信息的查找。这样方便快速了解更符合用户需要的工作。

(3) 薪酬对比:计算不同岗位薪酬情况,显示图表,用户能直观清晰地看出每种岗位的薪资范围、岗位平均收入以及行业整体薪资水平,便于用户更直观地了解市场薪酬情况,并用数据说话,便于谈判。

(4) 地域:从招聘的数量及工资等方面进行不同地区的数据对比,用户就能了解各地市场的工资水平及岗位的市场需求量等,可以方便用户选择最优的地区,做出更合理的求职方案。

(5) 福利功能:能够分析当前工作福利,如工作休假、保险以及奖励等。通过对工作福利的了解与分析,能够更好地了解不同的工作的价值,并结合工作及福利选择高薪并且福利良好的工作。

(6) 岗位剖析:细化各个岗位的职能、需求和行业动向,为用户提供详细岗位剖析,帮助求职者把握目标岗位市场的动态,同时也能让求职者充分了解自身的求职方向是否符合自己的职业发展方向。

(7) 准确率分析算法准确率:用于分析各算法对招聘数据的分类准确率,如XGBoost算法、支持向量机(SVM)、随机森林等;通过算法准确率的分析,使用者可了解到哪些算法的预测薪资和岗位匹配具有较好效果,来提高推荐结果准确性。

(8) 收入预测:机器智能通过对过去信息进行建模,挖掘出影响薪资的各种因子,例如职业要求、工作特性及工作地点的不同因素,并用收入模型反映给用户,预测未来的薪资,从而为用户的求职提供一定依据。一方面给用户带来了职业决策的“福利”,提升职业选择的成功率。

管理员功能

(1) 数据管理:管理员可以添加、编辑或删除招聘数据,以确保招聘信息的及时更新和准确性,维护数据库的高质量。

(2) 用户管理:管理员负责用户信息的管理与维护,包括审核新用户注册、处理用户反馈等,确保系统的安全性和数据完整性。

(3) 系统设置:该功能支持系统参数配置,管理员可以根据需求调整系统设置,以优化系统的稳定运行和高效性。

整体功能如图3-1系统功能图所示:

图3-1  系统功能图

    1. 数据库设计
      1. 数据库逻辑设计

根据该系统的数据库表的设计,将系统的数据种类归分为用户、招聘信息2个实体。用户信息E-R图如图3-2所示。

表3-1 用户表(userinfo)

列名

字段类型

长度

是否为空

id

int

0

NO

username

varchar

255

YES

password

varchar

255

YES

avatar

varchar

100

YES

createTime

date

0

NO

address

varchar

255

educational

varchar

255

注:这个表是用来保存用户详细信息的

如表3-2为收藏表:该表记录用户对岗位信息的收藏数据,包括收藏的职位id、用户id,收藏数。

表3-2 收藏表

列名

字段类型

长度

是否为空

id

bigint

NO

user_id

varchar

30

NO

count

varchar

30

job_id

varchar

100

YES

如表3-3为岗位数据信息表:该表存储企业招聘岗位详细信息,包含职位名称、地点、学历要求、工作经验(必填)、薪资结构、公司属性(名称/性质/规模)及HR联系方式等字段,其中ID与工作经验不可为空,其他信息允许为空。

表3-3 岗位数据信息表

列名

字段类型

长度

是否为空

id

int

0

NO

title

varchar

255

YES

address

varchar

255

YES

type

varchar

255

YES

educational

varchar

255

YES

workExperience

varchar

255

NO

workTag

varchar

2555

YES

salary

varchar

255

YES

salaryMonth

varchar

255

YES

companyTags

varchar

2555

YES

hrWork

varchar

255

YES

hrName

varchar

255

YES

pratice

tinyint

1

YES

companyTitle

varchar

255

YES

companyAvatar

varchar

255

YES

companyNature

varchar

255

YES

companyStatus

varchar

255

YES

companyPeople

varchar

255

YES

detailUrl

varchar

2555

YES

companyUrl

varchar

2555

YES

  1. 系统实现
    1. 前端功能实现
      1. 登录注册功能

该系统所实现的登录和注册功能采用后端Django框架实现。当用户第一次访问系统时,可以选择使用账号登录系统或是使用用户名注册账号。其中注册采用GET请求渲染注册页面,当用户输入注册的信息,并发送POST请求,系统将会接收用户提交的用户名、密码和确认密码。如果用户名已经存在,将返回错误消息。登录注册实现界面如图4-1所示。

图4-1  登录界面示意图

      1. 信息汇总界面

招聘数据分析展示界面通过Django后端处理程序和前端模板渲染程序完成。前端渲染时,主页首先通过home函数获取当前登录用户,并通过getHomeData获取函数调用处理的每个函数来获取数据库中的各种数据具体信息汇总展示界面图如图4-2所示。

图4-2  信息汇总示意图

      1. 岗位推荐实现

岗位推荐模块是依据用户特征来进行推荐的系统,具体是由BOSS招聘数据可视化系统根据BOSS会话系统获取当前登录的用户名,在数据库中查询该用户信息,重点关注用户的丰富程度和学历程度,单页面信息部分如图4-3所示。

图4-3  岗位推荐示意图

      1. 用户中心

用户个人中心功能是BOSS招聘数据可视化系统为每一个用户提供的用户信息管理模块,用户登录后可在个人中心中查看、修改与完善自己的信息。,用户中心界面如图4-4所示。

图4-4 个人中心示意图

      1. 数据展示实现

可视化招聘数据应用系统为了实现BOSS用户方便地浏览招聘信息,在可视化展示模块中先通过会话取出用户名登录用户信息。具体可视化招聘数据应用系统数据展示界面如图4-5所示。

图4-5  数据展示示意图

      1. 岗位收藏功能实现

BOSS招聘数据可视化系统的职位收藏功能通过记录用户信息数据的思路设计实现个人用户收藏,BOSS招聘系统通过展示历史记录、添加收藏、删除收藏三个主要功能完成职位收藏体验。职位收藏界面图如图4-6所示。

图4-6  收藏界面示意图

      1. 可视化实现

(1)薪资情况

工资情况分析功能通过教育程度和工作年限选项动态查询对应的可视化图如图4-7工资情况分析。

图4-7  薪资情况分析界面示意图

(2)企业情况

企业状况模块用于展现企业和行业的分布和地点分析。视图模块根据用户的输入来选择企业所属类型进行筛选,行业分布通过柱形图形式体现,横坐标是行业名称,纵坐标是行业数目,柱状颜色随机区分以便于辨识。企业的地址以饼形图来展现,其中饼中内圈40%,外圈70%,标签隐藏便于展示,悬停时高亮显示比率。企业人数数量通过折线图呈现,横坐标为人数区间,纵坐标为人数数量,平滑连接的曲线显得更加趋势清晰,曲线上方的区域颜色填充增强了趋势的显现。如图4-8企业状况分析。

图4-8  企业情况界面示意图

(3)福利词云

福利词云指的是对出现频次较高的福利词生成词云的图片,利用静态图片在前端展示福利词的出现频次。如图4-9福利词云.

图4-9  福利情况界面示意图

(4)学历分布

学历分布中的两个图表分别用来显示学历与薪资、工作经验的数据。该视图函数接收用户筛选的学历参数,调用相关方法实时返回统计的薪水平均、人数统计数据。在折线图中,横坐标是经验,两个纵坐标分别表示薪水和人数,线的颜色标识不同的数据集合,打点表示峰值数据。在柱形图中,纵坐标是学历,横坐标是人数,柱子的颜色由对应数组的索引数进行索引固定颜色,表示对比。如图4-10所示学历分布.

图4-10  学历分布界面示意图

(5)企业融资

柱状图和玫瑰图展示的是企业的融资情况及企业技术排名。根据用户在表单中选择的职位类型生成图的柱状图数据与技术关键词统计字频,横轴是技术名字,纵轴是统计频次,背景显示蓝色渐变增强层次感,悬停鼠标缩放聚焦细节信息。玫瑰图是根据企业融资阶段分布生成的图表,其半径随比例不同而自适应调整,扇形区域由不同的颜色显示,标签的格式设置显示名称、人数以及占比。企业融资展示示意图如图4-11所示。

图4-11  企业融资界面示意图

      1. 预测实现

工资预测页面依据所填的不同参数输出不同的工资预测值。获取所需预测值,调用getYucheData函数获取用户学识、经验、城市、是否有融资经历以及职位等预测信息,未填值默认为用户的个人信息数据,用户点击下方的下拉按钮选择不同的数据填写,点击确定按钮,前端发送数据到后端,而后端对数据做处理,提取预测信息参数,调用算法对不同参数进行预测计算,算法采用随机森林算法,然后调用getYuche()函数发送用户所选择的数据(如用户所选择的学历为硕士、经验为5-10年、城市为北京),由于在数据库中训练过模型,所以使用得到的模型对数据进行推理,得到具体的工资信息值。如图4-12预测网页界面。

图4-12  预测界面示意图

    1. 后端管理实现
      1. 岗位信息管理

岗位信息管理功能通过该功能,管理员可实现岗位基本信息的录入、修改、查询,如岗位名称、学历、新增等信息,保证岗位信息的正确性与及时更新性,使用户在前台获得最新岗位信息。岗位管理的界面如图4-13所示。

图4-13  岗位管理示意图

      1. 用户管理

用户管理模块主要是对网站用户信息进行管理,包括对用户的账号添加、编辑、删除。系统管理者可以查看用户的注册信息,确保信息准确、安全。通过管理用户可以为其提供更具个性化服务,从而提升用户的满意度。用户管理如图4-14所示:

图4-14  用户管理示意图

  1.  系统测试

1.后台功能测试用例,如表5-1所示。

表5-1 后台功能测试用例

模块名称

测试内容

并发数

状态

登录首页

1)管理员登录到后台首页

100

正常

2)前端并发刷新后台首页

岗位信息管理

1)新增一条岗位信息

120

正常

2)删除一条岗位信息

用户管理列表

1)查看用户列表

100

正常

2)新增一个用户

3)删除一个用户

4)查询用户关键词

2.用户注册用例,如表5-2所示。

表5-2 用户注册测试用例

模块名称

测试内容

并发数

状态

登录

1)用户登录到前台首页

100

正常

2)并发刷新前台首页

注册

1)填写信息注册账号

100

正常

搜索

1)顶部输入内容并Enter

100

正常

2)顶部留空并Enter

3)刷新搜索页面

首页

1)刷新首页

100

正常

2)点击一个图片查看结果

3)点击一个岗位信息查看结果

4)点击一个跳转详情

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值