admin 管理员组文章数量: 1184232
2024年4月14日发(作者:heritor)
NO.19
科技资讯
2023
SCIENCE & TECHNOLOGY INFORMATION
DOI: 10.16661/.1672-3791.2306-5042-4316
信息与智能
基于Django的网络招聘数据可视化分析系统的
设计与实现
姜永成
(黔南民族职业技术学院 贵州都匀 558000)
摘要: 基于Django的网络招聘数据可视化分析系统主要为求职者提供实用的数据支持,帮助求职者更好
地了解招聘市场的情况,分析市场趋势。该系统主要包括用户登录、注册、数据上传、数据分析、数据可视化、
数据导出等功能,采用MySQL作为数据库,可以对招聘信息进行统计分析,并以报表或图表的形式呈现分析
结果,方便用户直观地了解数据,同时,系统还支持数据导出功能,用户可以将分析结果导出为Excel表格或
CSV文件进行后续处理或分享。
关键词: Django 网络招聘 数据分析 可视化分析系统
中图分类号: TP319文献标识码: A 文章编号: 1672-3791(2023)19-0057-04
Design and Implementation of the Visual Analysis System for
Online Recruitment Data Based on Django
JIANG Yongcheng
(Qiannan Polytechnic for Nationalities, Duyun, Guizhou Province, 558000 China)
Abstract: The visual analysis system for online recruitment data based on Django mainly provides practical data
support for job seekers to help them better understand the recruitment market and analyse market trends. The sys‐
tem mainly includes user login, registration, data upload, data analysis, data visualization, data export and other
functions. With MySQL as the database, it can perform statistical analysis of recruitment information and present
analysis results in the form of reports or charts, which is convenient for users to understand data intuitively. At the
same time, the system also supports data export function, and users can export analysis results into Excel tables or
CSV files for follow-up processing or sharing.
Key Words: Django; Online recruitment; Data analysis; Visual analysis system
当前,社会高速发展,已然从IT时代走向DT时
代。在此背景下,国外与国内企业相继开展人才争夺
战,如今人才已成为了最紧缺资源之一,企业为了吸引
人才、用好人才、留住人才,采取了一系列措施。在信
息化网络快速发展的今天,以往传统的招聘方式已经
不适应当今企业对人才招聘的需求。网络招聘由于具
有覆盖范围广、成本低、信息传播速度快以及信息甄别
优等特点受到广大企业的追捧,已经成为当下主流的
招聘方式。
1 网络招聘数据可视化分析系统需求分析
软件研发由多个部分构成,需求分析是非常重要
的部分,是在调查研究、分析和与用户交流之后对软件
具体需求有全面的掌握,再将具体需求制定成规范性
的、清晰完整的需求文档,对系统性能与功能等方面的
要求进行确定。系统需求分析也可以称为软件需求分
作者简介: 姜永成(1990—),男,硕士,讲师,研究方向为大数据技术、数据挖掘与分析。
科技资讯SCIENCE & TECHNOLOGY INFORMATION
57
Copyright©博看网. All Rights Reserved.
信息与智能
析或者需求分析工程等。本文首先进行调研分析,并
以网络招聘具体情况和需求为基础,完成系统功能性
需求的明确,具体包含数据获取、导入、处理、分析和可
视化5个模块。在开发网络招聘数据可视化分析系统
之前,开发相关人员需要对系统进行详细的调研,首先
经济可行性、技术可行性、应用可行性等方面介绍该系
统的可行性。
2023 NO.19
SCIENCE & TECHNOLOGY INFORMATION
科技资讯
2.2 数据导入模块设计
数据导入功能是将招聘数据文件导入系统中便于
后续的数据处理与数据分析,也使系统能够在数据发
生改变时及时将最新数据向系统进行导入,从而保证
分析结果的时效性。数据导入功能是由数据与模板的
钮,通过该按钮可以将所需文件进行上传,待确定上传
之后还需要根据系统中提供的模板文件将已经传递给
系统的文件与其匹配格式,对传递给系统的文件是否具
有正确格式进行确定。本系统数据库管理系统选择
MySQL关系型数据库,MySQL属于开源的数据库,使用
成本较低,并且开发人员对MySQL数据库比较易于入
手。其中招聘岗位信息表记录着岗位的信息,主要包括
岗位记录编号ID、岗位名称、最高工资、最低工资、岗位
所在城市、公司名称等12个数据项。
2.3 数据处理模块设计
可视化分析是以数据处理为基础的,数据分析通
过Python展开分析的过程中,如果与数据库直接相连,
就将所需模块导进Python中即可。不过由于获取到的
部分数据中存在很多问题,如噪声、完整性不好、一致
性不高、重复和遗失等,若不进行处理就进行可视化分
需要确定开发系统的可行性,本文主要从推广可行性、
下载与数据上传构成的。系统页面中有文件选择的按
2 网络招聘数据可视化分析系统设计
本文研发的系统运用的架构为B/S架构,研发平
台为Pycharm,语言选择Python,框架选择Django,同时
利用AdminLTE框架完成前台页面的设计与实现,该
框架是以JQuery与Bootstrap3为基础的。因为数据处
理与分析任务量非常大,Python内部含有的类库是非
常多的,并且高级数据结构也非常齐全,框架成熟度也
较高,使数据处理与分析更加便捷。因此本课题研发
的系统选择的编程语言为Python,Pycharm将Python研
发需要的特性和工具进行集成,对于Web研发框架给
予更好的支持。数据分析结果基本上是通过直观的图
标形式进行展现,因此系统还需要对ECharts图表库进
行运用。对于获取和分析数据等功能模块生成的文件
分析结果必然会受到很大程度的影响。因此,需要
在存储时基本上是以Excel和CSV为最主要的形式,
析,
CSV可看作简易的Excel。数据储存格式为CSV,读取
利用Python内部的pandas库将数据库内部的信息向
和写入都更加便捷,而且实现起来难度也很小,与
Excel文件相比占用空间更小。
2.1 数据获取模块设计
该功能模块是指利用Scrapy框架完成爬虫程序对
猎聘网和前程无忧两个招聘网站的职位数据进行爬
取。数据爬取以前利用浏览器对这两个招聘网站进行
访问,使用鼠标点击页面中的统一资源定位器(Uni‐
form Resource Locator,URL)等信息,对访问地址URL
的改变情况进行观看,同时对最后要访问的URL和爬
虫程序结束条件进行确定,接下来将要访问的URL在
使爬虫程序能够及时停止。将请求发送给URL,获取
到URL反馈结果后完成HTML分析,借助Xpath解析
库将可视化分析系统需要的信息进行解析并将其保存
到csv文件或直接保存到mysql数据库中,提取数据以
职位ID、地区、企业名称、学历、经验、职位描述以及薪
资福利等为主,可以在网页信息解析过程中完成职位
描述的url的动态构建,接下来对职位描述页面url继
续访问,进而将职位描述信息进行获取。
58
科技资讯SCIENCE & TECHNOLOGY INFORMATION
DataFrames写入,以实现数据清洗,完成清洗处理以后
再展开可视化分析。
2.4 数据分析模块设计
2.4.1 中文分词
在对获取的数据集进行分析时,可以采用分词、去
停用词等方式对非结构化的招聘信息文本进行处理。
本文选用的中文文本分词工具为jieba,jieba是中文自
然语言处理分词库,具有实用性强、使用简单等特点,
是一种概率语言分词模型。最大概率路径的查询是通
过动态规划来获取的,保证以词频为基础的最大切分
索引擎模式支持,并且繁体分词与自定义词典也都支
持
[1]
。基于向环形图(DAG)式,那些在字段里没有查
询到的字段组成新的短语,即“未登录词”,然后通过隐
马尔科夫模型(Hidden Markov Model,HMM)分词精确
率得到显著提升,通过Viterbi算法使最佳隐藏状态序
列获取到。对隐藏变量的马尔科夫随机的整个流程进
行描述,这个模型要应用到3个概率矩阵、2个序列,3
个概率矩阵分别为状态生成观测概率矩阵B、状态转
精确模式和搜
爬虫程序内部动态构建,同时对其结束条件进行设置,
组合能够顺利获取到。Jieba对全模式、
Copyright©博看网. All Rights Reserved.
NO.19
科技资讯
2023
SCIENCE & TECHNOLOGY INFORMATION
移概率矩阵A和初始状态概率矩阵π。
{0zΠABλ=
(ΠAB)}
可表示HMM,其模型可由
λ=(ΠAB)
进行决
Π
和
A
对观测序列有决定性作用,定,状态序列是由
B
信息与智能
接下来利用下面公式将TF与IDF相乘后就能够
得到结果。
TF-IDF=tf´idf
(4)
来决定的。训练、预测与分词是HMM的中文分词的具
体步骤。
2.4.2 文本表示
清洗、分词和清除停用词之后,数据分析还是不能
进行,其原因是招聘数据是以文本形式表示,而这种文
本都属于非结构化数据,但算法显然要求长度固定的
数值特征向量。所以文本数据长度并未保持统一,就
不能使用算法完成分析。因此要在数据原义维持不变
提取特征时Document是招聘信息,经过分词处理
和清除停用词后就是Term。接下来计算TF-IDF并按
从大到小排列计算得到的结果,抽取出招聘数据中的
新的特征词,并在此前提下利用TF-IDF加权词向量,
这样加权词矩阵就完成建立。
2.5 可视化模块设计
前台页面设计与可视化显示构成可视化模块,前
台页面中注册与登录功能是非常重要的,任何用户如
就要按照网页提
的前提下,对其向量化处理以满足计算机处理要求。
果要对招聘信息分析结果进行查看,
然后再进行登录,这种方式能够使平
本课题研发的系统选择以文档特征向量表示为基础的
醒完成注册操作,
向量空间模型实现文本的表示,英文简称是VSM,全称
为Vector Space Model。
台安全得到更好的保证。系统会将分析结果可视化展
现给用户,其中菜单栏主要包括总体信息概览、Java 职
前端开发岗位展示、Android岗位展示、数据分
这里采用TF-IDF作为权重确定的数值统计方法。
位展示、
C/C++职位展示。
该方法原旨在反映单词对集合或者语料库中文档的重
析工程师岗位展示、
要性,在信息检索、文本挖掘和用户建模的搜索中常用
作加权因子,其值与单词在文档中出现的次数成正比
地增加,并被包含该单词的语料库中的文档数量所抵
消
[2]
。文章赋权特征项是通过TF-IDF算法完成,文本
内容中特征项体现越显著权重越大,反之则权重就更
小,这样使关键词能够顺利抽取出来。该算法基本思
出现频次越少对应的重要程度越小
[3]
。
3 网络招聘数据可视化分析系统实现
3.1 系统实现环境
可视化分析系统的研发使用Python语言、scrapy
框架、Django框架,为实现研发效率的提升,研发环境
中操作系统选择应用最为普遍且更加熟悉的Win‐
dows。Python中内置了Python Shell和IDE,使程序开
3.2 实现过程
3.2.1 数据获取
系统需要的数据集通过scrapy框架进行获取,主要
收集的内容包括学历要求、薪资福利、工作地区、岗位名
以及企业名称等。新建scrapy项目,在项目下新建爬虫
文件。在项目文件中编写爬虫文件、items文件、管道文
件pipelines,配置settings。
3.2.2 数据导入
该模块负责将数据获取模块获取到的数据向系统
内部导入,使后续数据分析工作更加便捷。该模块的
功能包含两个方面:一为下载模块,二为上传数据的功
能。对于第一个功能来说,就是将数据格式文件存储
到保存静态文件的data目录中来,再在页面内利用 href="{% static 'upload/数据模板.xls' %}"
模板下载的链接实现模板下载的功能。该功能通过页
面文件中的input标签对文件进行选择,再在Django后
台与模板文件匹配格式。匹配完成以后在upload文件
科技资讯SCIENCE & TECHNOLOGY INFORMATION
想为文本中词出现频次越高对应的重要程度就越大,
发难度进一步降低。
TF
(Term Frequency)是指词频,用
d
表示文档,用
t
表示特征项,
TF
是指
d
中
t
出现频率,如果一个词语
t
i
在文档
d
j
中出现了
n
ij
次,那么
t
i
的词频可表示为
TF
ij
=
n
ij
å
k
n
kj
(1)
逆向文件频率简称IDF,可对一个字词在文档中
普遍重要性衡量,IDF为文档总数乘以全部包含该字
词的文档总数,然后获取的结果去对数后就是该字词
的IDF
[4]
。对应的计算公式为
IDF
i
=log
|
D
|
|
{j:t
Îd
}
ij
|
|
(2)
式(2)中,分子|
D
|为指语料库内文章总体数量,分
母表示含有此词组的文章数量,通常会将分母进行加
1,其目的是保证分母不会等于0,对应公式为
IDF
i
=log
|
D
|
1+{j:t
i
Îd
j
}
||
(3)
59
Copyright©博看网. All Rights Reserved.
信息与智能
夹中保存相应的文件,为以后数据分析和数据处理提
供依据。
3.2.3 数据处理
得到的数据基本上噪声偏多且规范性较差,因此
要进行重复数据、缺失数据和异常数据的处理。文章
对于此类数据的处理是通过Python内的pandas库来实
现的,处理过程如下。
(1)数据提取。创建数据库连接对象,从MYSQ提
取db=t(host='localhost',user='root',pass‐
word='',db='liepindb',charset='utf8')。连接数据库成功
后,对数据库中table数据表进行读取:data=db[col‐
lection].find(query)读取结束以后,通过pandas库使数
据库内部的数据向DataFrame形式进行转变:df=pd.
DataFrame(list(data))。
(2)数据去重。可以通过drop_duplicate方法对清除
DataFrame格式的重复数据,再将格式为DataFrame的数
据进行返回。重复数据的清除对应代码为DataFrame.
drop_duplicates(subset=None,keep='first',inplace=False)。
(3)填充数据。若数据缺失严重,完整性很低,就
要删除数据,不过如果数据缺失情况不是很严重,并且
缺失的数据并非重要数据,此时可通过填充方式来解
决。本课题中填充数据是通过()函数
来实现的。
3.2.4 数据分析
数据分析模块最开始是要从数据库中将已经处理
完成的文本读出来,还需要对其进行分词和清除停用词
等处理过程,使后续数据分析更加便捷。本系统中对于
分词预处理选择jieba分词工具,这种工具支持的分词
模式主要有精确模式、全模式以及搜索引擎模式
[5]
。使
用最大熵、支持向量机等多种经典机器学方法,逐步提
高分类准确率,通过对词语所在的语句的语境和该词语
与语句中其他词语的依赖关系进行分析,构建了文本表
示模型。其中,jieba部分核心源代码如下:
vectorizer=CountVectorizer()
transformer=TfidfTransformer()
tfidf=_transform(_trans‐
form(corpus))
word=_feature_names()
weight=y()
nfo = {}
for i in range(len(weight)):
2023 NO.19
SCIENCE & TECHNOLOGY INFORMATION
科技资讯
for j in range(len(word)):
nfo[word[j]]=int(weight[i][j]*1000)
return info
3.2.5 数据可视化
该系统首页设计是通过Bootstrap框架来完成的,
首页设计简洁大气且美观入眼,用户能够从首页中利
用相应的操作完成不同功能,如检索、登录或者注册
等。如分析职位描述以后,对各个岗位展开相似的研
究,提取关键词通过TF-IDF算法进行实现,生成词云
图是由Python内的Wordcloud模块来完成的,能够很容
易发现,技术岗位不同对应的专业技能需求也存在差
异,词云图涵盖很多个人素质方面的要求,将企业对员
工能力和素质方面等要求更直观地展现出来。总之,
Python作为大数据处理的主要操作语言,可以有效处
理海量数据,并将数据结果以直观图形显示,更易于数
据使用人的读取和理解
[6]
。
4 结语
近年来,这些技术被越来越多地应用于招聘就业
工作,以提高管理效率和就业质量。本文完成网络招
聘数据可视化分析系统的研发,前台和后台分离是通
过Django框架实现的,前台页面设计应用JQuery、CSS
和HTML等多种工具与技术。最后展现平台页面,具
体页面有系统首页、用户注册与登录页面、用户管理页
面,为求职者提供实用的数据支持,帮助他们更好地了
解招聘市场的情况、分析市场趋势。
参考文献
[1]祝永志,荆静.基于Python语言的中文分词技术的研
究[J].通信技术,2019,52(7):1612-1619.
[2]姚振民,邢家溧,承海,等.基于TF-IDF的食品风险分
析模型的构建与应用[J].中国食品学报,2022,22(12):
324-331.
[3]王瑞梅.网络招聘数据可视化分析系统的设计与实
现[D].保定:河北师范大学,2020.
[4]黄春梅,王松磊.基于词袋模型和 TF-IDF 的短文本
分类研究[J].软件工程,2020,23(3):1-3.
[5]高佳希,黄海燕.基于TF-IDF和多头注意力Trans‐
former模型的文本情感分析[J/OL].华东理工大学学
报(自然科学版):1-8[2023-06-20]./10.1
4135/.1006-3080.2.
[6]班妙璇.基于Python的财务数据可视化应用探究[J].
数字技术与应用,2023,41(5):29-31.
60
科技资讯SCIENCE & TECHNOLOGY INFORMATION
Copyright©博看网. All Rights Reserved.
版权声明:本文标题:基于Django的网络招聘数据可视化分析系统的设计与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713093027a619495.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论