网络招聘信息的分析与挖掘.docx
- 文档编号:751554
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:22
- 大小:470.41KB
网络招聘信息的分析与挖掘.docx
《网络招聘信息的分析与挖掘.docx》由会员分享,可在线阅读,更多相关《网络招聘信息的分析与挖掘.docx(22页珍藏版)》请在冰豆网上搜索。
网络招聘信息的分析与挖掘
网络招聘信息的分析与挖掘
摘要
近年来,随着互联网的广泛应用和网络招聘的迅速发展,网络招聘信息平台已成为招聘者获取信息的主要渠道。
因此,运用网络文本分析和数据挖掘技术对网络招聘信息的研究具有重大的意义。
对于问题1,通过PositionId对招聘信息表、职位描述表进行去重,得到不重复的招聘职位信息。
利用jieba中文分词工具对岗位描述信息进行分词,并通
TF-IDF算法提取每个职位描述的前5个关键词。
再利用TF-IDF算法得到每个职位描述的TF-IDF权重向量,采用K-means对TF-IDF权重向量进行聚类,得到7个质心。
分别求出距离各个质心最近的5个职位,结合招聘信息表的PositionFirstType字段,根据KNN算法,为各个类加上行业性质标签。
再分别对各个职业类型的PositionName进行统计分析,得出各个职业类型对应的专业领域。
对于问题2,通过利用excel对去重后的招聘信息表对行业领域、工作地域、职位分类三个项目进行分类筛选,对各个项目的各类内容进行计数汇总统计,根
据计数多的内容去定于热门的行业、地域、职位。
对于问题3,根据数据挖掘与分析的职位特征,将新兴的职位定义为两大类并分别筛选出来。
利用发散性思维,再分别对筛选出来的结果按照城市(city)、公司阶段(financestage)、学历要求(Education)、薪资(Salary)四个方面对其进行多方面系统地统计,结合图表进行分析预测相关职位的需求。
对于问题4,通过寻找it职位对应的id的职业描述,并对其分词和it专业语义库构建,在此基础上筛选出所有的it职位。
对附件1进行数据预处理,在预处理得到的数据上进行数据初步筛选出it行业的职位。
对筛选出的it职位对应的职业id找到职位描述表的职位描述,对该描述构建it专业语义库。
判断职业描述表中职位是否符合it职业,通过判断与专业语义库的交集长度来确定是否为it职业并统计地域。
对于问题5,根据研究结果,通过分析目前的主要职业类型、职业要求、热门行业及地域、工作经验及就业现状等问题,给在校大学生的就业规划提出可行性的建议。
关键词:
去重中文分词K-means聚类KNN算法TF-IDF算法预测相关职位
1、挖掘目标
本次建模目标是利用网络信息平台系统发布的网络招聘信息数据,利用jieba中文分词工具对职位描述进行分词、K-means聚类的方法及KNN算法,达到以下三个目标:
1)利用文本分词和文本聚类的方法对非结构化的数据进行文本挖掘,根据聚类结果,结合招聘职位工作性质和内涵分析现阶段所需的职业类型、专业领域;结合招聘单位的特点分析目前热门行业走向。
2)根据新兴数据挖掘行业的职位体系的数据,预测未来的人才走向及相关的职
位要求。
分析IT行业人才市场的供求现状,了解其未来的发展趋势。
3)根据研究的目前人才情况、热门行业、未来人才需求走向等结果,给大学生的就业规划提供真实可靠的建议。
2、分析方法与过程
本用例主要包括如下步骤:
步骤一:
数据预处理,在题目给出的数据中,出现了很多重复的招聘数据,在原始的数据上进行去重处理,在此基础上进行中文分词。
步骤二:
数据分析,在对职位描述信息分词后,需要把这些词语转换为向量,以供挖掘分析使用。
这里采用TF-IDF算法,找出每个职位描述的关键词,把职位描述信息转换为权重向量。
采用K-means算法对职业进行分类,利用Knn算法找出与各中心相似的元素,根据个数多的判定所属类别。
步骤三:
数据筛选,统计相关数据,分类筛选汇总,预测热门行业的问题、人才需求走向和相关职业的需求情况等。
步骤四:
利用步骤一的结果构建专业语义库,通过计算与语义库的距离,找出对应的IT职业的ID,统计地域分布情况。
2.1问题1分析方法与过程
2.1.1流程图
2.1.2数据预处理
2.1.2.1招聘信息的去重、去空
在题目给出的数据中,出现了很多重复的招聘数据。
例如招聘信息表跟职位描述表中出现了很多重复的职位信息。
考虑到公司招聘人才时可能每天都会对要招聘的职位进行更新,因此在去重的时候应该取更新时间最晚的记录,去掉历史记录。
考虑到python中的字典在保存数据时,key相同的内容,value取值为最后更新的值。
因此在读取数据时,按时间升序把招聘信息的PositionId作为key,把整个招聘信息作为value保存在value中。
最后再将字典中的内容写入文本即可。
同时在职位描述表中出现了职位描述为空的记录,干扰了问题的分析,采取直接滤过方法,从文本中删除。
对招聘数据去重的python程序见附件duplicatedetection.py。
去重、去空后的数据分别保存在附件1去重.csv、附件2去重.csv、附件3去重.csv中。
2.1.2.2对职位信息表进行中文分词
在对招聘信息进行挖掘分析之前,先要把非结构化的文本信息转换为计算机能够识别的结构化信息。
在附件职位描述表中,以中文文本的方式给出了数据。
为了便于转换,先要对这些职位描述信息进行中文分词。
这里采用python的中文分词包jieba进行分词。
jieba采用了基于前缀词典实现的高效词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG),同时采用了动态规划查找最大概率路径,找出基于词频的最大切分组合,对于未登录词,采用了基于汉字成词能力的HMM模型,使得能更好的实现中文分词效果。
在分词的同时,采用了TF-IDF算法,抽取每个职位描述中的前5个关键词,这里采用jieba自带的语义库。
2.1.2.3TF-IDF算法
在对职位描述信息分词后,需要把这些词语转换为向量,以供挖掘分析使用。
这里采用TF-IDF算法,把职位描述信息转换为权重向量。
TF-IDF算法的具体原理如下:
第一步,计算词频,即TF权重(TermFrequency)。
词频(TF)=某个词在文本中出现的次数
(1)
考虑到文章有长短之分,为了便于不同文章的比较,进行"词频"标准化,除以文本的总词数或者除以该文本中出现次数最多的词的出现次数即:
词频(TF)=
某个词在文本中的出现次数
(2)
文本的总词数
或
词频(TF)=
某个词在文本中的出现次数
(3)
该文本出现次数最多的词的出现次数
第二步,计算IDF权重,即逆文档频率(InverseDocumentFrequency),需要建立一个语料库(corpus),用来模拟语言的使用环境。
IDF越大,此特征性在文本中的分布越集中,说明该分词在区分该文本内容属性能力越强。
逆文档频率(IDF)log(
语料库的文本总数
)
(4)
包含该词的文本数+1
第三步,计算TF-IDF值(TermFrequencyDocumentFrequency)。
TF-IDF=词频(TF)×逆文档频率(IDF)
(5)
实际分析得出TF-IDF值与一个词在职位描述表中文本出现的次数成正比,某个词文本的重要性越高,TF-IDF值越大。
计算文本中每个词的TF-IDF值,进行排序,次数最多的即为要提取的职位描述表中文本的关键词。
2.1.2.4生成TF-IDF向量
生成TF-IDF向量的具体步骤如下:
(1)使用TF-IDF算法,找出每个职位描述的前5个关键词;
(2)对每个岗位描述提取的5个关键词,合并成一个集合,计算每个岗位描述对于这个集合中词的词频,如果没有则记为0;
(3)生成各个岗位描述的TF-IDF权重向量,计算公式如下:
TF-IDF=词频(TF)×逆文档频率(IDF)(6)
2.1.3职业类型的分类
生成职位描述的TF-IDF权重向量后,根据每个职位的TF-IDF权重向量,对职业进行分类。
这里采用K-means算法把职业类型分成7类。
K-mean聚类的原理如下:
假设有一个包含n个d维数据点的数据集X={x1,x2,,xi,,xn},其中xi∈Rd,K-means聚类将数据集X组织为K个划分C={ck,i=1,2,,K}。
每个划分代表一个类ck,个类ck有一个类别中心μi。
选取欧式距离作为相似性和距离判断准则,计算该类内个点到聚类中心μi的距离平方和
J(ck)=∑
xi
-μk
2
(1)
聚类目标是使各类总的距离平方和J(C)=∑J(ck)最小,
k=1
K
K
2
Kn
2
J(C)=∑J(ck)=∑∑
xi-μi
=∑∑dki
xi-μi
(2)
k=1
k=1xi∈Ci
k=1i=1
⎧1,若x
其中,dki=⎨⎩0,若x
i∈ci,所以根据最小二乘法和拉格朗日原理,聚类中心μk
i∉ci
应该取为类别ck类各数据点的平均值。
K-mean聚类的算法步骤如下:
1、从X中随机取K个元素,作为K个簇的各自的中心。
2、分别计算剩下的元素到K个簇中心的相异度,将这些元素分别划归到相异度最低的簇。
3、根据聚类结果,重新计算K个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数。
4、将X中全部元素按照新的中心重新聚类。
5、重复第4步,直到聚类结果不再变化。
6、将结果输出。
K-mean聚类的算法流程如下:
1)选定数据空间中K个对象作为初始聚类中心,每个对象代表一个类别的中心
2)对于样品中的数据对象,则根据它们与这些聚类中心的欧氏距离,按距离最近的准则分别将它们分配给与其最相似的聚类中心所代表的类
3)计算每个类别中所有对象的均值作为该类别的新聚类中心,计算所有样本到其所在类别聚类中心的距离平方和,即J(C)值
是4)聚类中心和J(C)值发生改变?
由于职位描述表给出了539216条记录,去重后还有402727条记录,如果把所有的职位都用来挖掘分析,会占用很大的机器性能跟时间。
为了节省机器性能跟时间,获得结果。
从402727条记录数据中随机抽取40000条记录,抽样python程序见附件sampling.py,抽样结果保存在抽样样本.csv文件里面。
然后利用抽样样本进行分词、求TF-IDF向量,并利用K-mean聚类,把样本分成7类,程序见附件kmean.py,得出来的七个聚类中心保存在centroids.csv中(由于维度较高打开时请用文本编辑器打开),每步迭代的J(C)值保存在附件clusterAssment.csv中。
2.1.4Knn最邻近分类算法ë2û
K-Means分类得到聚类中心,利用Knn算法找出与各中心相似的元素,根据个数多的判定所属类别。
根据向量空间模型,将每一类别文本训练后得到类别的中心向量记为Cj(W1,W2,,Wn),将待分类文本T表示成n维向量的形式T(W1,W2,,W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 招聘 信息 分析 挖掘