基于大数据文本聚类关联的网络招聘信息挖掘_第1页
基于大数据文本聚类关联的网络招聘信息挖掘_第2页
基于大数据文本聚类关联的网络招聘信息挖掘_第3页
基于大数据文本聚类关联的网络招聘信息挖掘_第4页
基于大数据文本聚类关联的网络招聘信息挖掘_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、教学单位 湖北工程学院 学生学号 012301124127 本科毕业论文(设计) 题目 基于大数据文本聚类关联的网络招聘信息挖掘学生姓名 郑小乐          专业名称 统计学         指导教师 张学新          2016年4月5日目 录1、引言11、引言12、网络招聘信息挖掘综述12.1文本挖掘定义及特点1

2、2.1.1文本挖掘的定义12.1.2文本挖掘的特点12.2文本挖掘及其网络招聘信息挖掘的现状23、网络招聘信息挖掘步骤33.1读取网页招聘信息文本文件33.2招聘信息文本分词43.2.1分词43.2.2设置频繁出现的领域干扰词53.3词频统计与词云63.4招聘信息文本聚类分析73.4.1特征词权重73.4.2TF-IDF法计算关键词权重83.4.3相似度计算83.4.4创建文本词条矩阵93.4.5K-均值聚类94、招聘信息文本Web图分析125、建议13参考文献15附录16致谢18基于大数据文本聚类关联的网络招聘信息挖掘摘 要:随着计算机网络技术的迅速发展,网络招聘信息平台已成为招聘者发布信息

3、和应聘者获取职位的主要途径。大量的网络招聘信息蕴含着用人单位丰富的需求知识,诸如对人才的能力、素质等方面的要求。本文自行爬取2015年11月-2016年4月拉钩网24万5千多条企业招聘信息,使用R语言编程,通过中文分词,设置频繁出现的领域干扰词,词频统计,文本向量化,应用k-均值聚类及网状Web图方法分析社会各行业对人才的能力及素质要求,描绘企业基本信息、薪资水平、工作经验要求间的关联强度,给高校及时了解社会对人才的需求变化,有针对性的调整人才培养方案以及应届毕业生求职提出有益建议。关键词:大数据;网络招聘信息;聚类分析;Web图;R语言编程Online recruitment informa

4、tion mining by vast amounts of text clustering and associatingAbstract:Companying with computer network technology rapid development, network recruitment information platform has become a main way for recruiter to release information and for job seeker to get job. A large number of network recruitme

5、nt information contains the knowledge of demand of units for employees, such as the requirement of talents' ability and quality, etc. In this paper, more than 24, 5 thousands enterprises net recruitment information, from November 2015 to April 2016 in Lagou net are crawled out. through setting f

6、requent field disturbance terms, Chinese word segmentation, word frequency statistics, text vectorization, k-means clustering using R language programming and Web diagram method are applied to excavate ability and quality requirements from social various industries for talents, to describe the corre

7、lation strengths among enterprise basic information, wages, job experience requirements for employees .Finally, some beneficial suggestions are put forward for colleges and universities to timely understand of the social demand for talents and targeted adjust the talent training scheme ,and some ref

8、erence are provided for the fresh graduates to apply for a job.Key words: Big data; Network recruitment information; Clustering analysis; Web graph;R language programming1、引言随着互联网技术的迅速发展,网上信息呈爆发式增长,这种增长超过了创造机器的速度,甚至超过了人们的想象。数据库中以文本形式存储的信息越来越多,包含各种数据源的文本,如研究报告、研究论文、数字图书馆、电子邮件和页面等。这些信息的存储方式分为两大类:一是可以用

9、数字、符号等表示的结构化数据,另一类则是非结构化数据。其中非结构化数据的挖掘更难。当今,众多用户开始显示出对文本挖掘的兴趣,希望挖掘出有用的信息、规则。例如,企业把人才招聘信息越来越多的发布到互联网上,这些招聘信息含有用人单位对人才的需求及能力要求,在一定程度上代表了人才需求的未来走向。高校希望利用现代技术手段从互联网上获取有用信息,分析用人单位对人才的需求特点,及时了解社会对人才的需求变化情况,有针对性的调整人才培养方案和设置相关课程,培养出更多的优秀人才以满足社会的需求。应聘者也需要从网络招聘信息平台获取信息,做好求职前的准备工作。本文利用八爪鱼采集器自行爬取拉勾网24万多海量企业招聘信息

10、,应用R语言编程挖掘出一些有用的知识。 2、网络招聘信息挖掘综述2.1文本挖掘定义及特点2.1.1文本挖掘的定义网络招聘信息挖掘是一种文本挖掘。文本挖掘是指从大量文本数据中获取先前未知的模式,这种发现必须是可理解的、潜在有用的。分析文本数据,抽取文本信息,目标是发现文本知识 。文本挖掘的主要难点在于它必须处理那些本来就模糊而且非结构化的文本数据,是一个多学科混杂的领域,涵盖了统计学、机器学习、数据库技术以及专业软件使用等技术。2.1.2文本挖掘的特点1. 面对的是大量文本集合。2. 文本挖掘发现的知识是以前未发现的。3. 文本挖掘的知识具有潜在价值,是用户感兴趣的直接可用的。4. 文本挖掘算法

11、具有较高的复杂度。5. 文本挖掘涉及多个学科交叉,包括模式识别、统计学、自然语言处理、可视化技术、数据库技术等。2.2文本挖掘及其网络招聘信息挖掘的现状 文本挖掘最近几年在国外发展迅速,广泛应用于电子会议、邮件分类、垃圾信息过滤等多个方面1- 3。国内文本挖掘研究则较晚。早期主要是对Web文本挖掘技术研究的介绍 4。稍后主要聚焦于对各种改进的k-均值聚类算法的精度进行实验研究。王智勇5应用基于词条互信息的统计降维和Kohonen网络相结合的文本聚类算法,测试搜狐网下载的已知类别的486篇文本的聚类精度。李伯阳6在网格聚类算法基础上进行文本聚类,将其应用于14524个垃圾邮件的甄别。蔡坤7基于t

12、opN特征词的文本聚类算法,采用复旦大学国际数据库中心自然语言处理小组公开提供的测试语料,从中随机抽取了五大类共200篇文本实证聚类效果。现在的研究则关注中文分词及应用。曾路平8采用中科院开发的ICTCLAS2009共享版进行中文分词,利用单词间的语义相关性,对公安情报系统中的舆情信息聚类分析。钟晓旭9-10先后对2010年的3家招聘网站的78481条招聘信息及新安人才网上计算机类专业招聘信息进行聚类,统计各个职位的需求量,计算职位间的相关系数。王静11选择2011年的4家招聘网站,包括六种职业的2262个招聘网页,采用伪二维隐马尔可夫模型来分割,抽取其中的职位名、机构名等信息。马力12对30

13、2个浏览页面聚类分析,获得用户兴趣序列的频繁模式。王盛明,卢秉亮13从校图书馆读者借阅量表中抽取200名学生的记录,应用加权聚类算法划分读者群体。刘玉华等人14对某城市若干高校历年毕业生的就业数据进行聚类分析、关联分析,开发毕业生和企业间的双向推荐系统。总的来说,国内以上文本挖掘的研究深度有限,所用数据不是真正意义上的网络招聘数据,各种改进的聚类算法的精度可信度不高。鲜见对网页里大量非结构化的招聘数据的挖掘研究。统计分析方法简单,特别的,很少使用软件编程。本文自行爬取2015年11月-2016年4月拉勾网(2.3网络招聘信息挖掘的流程文本解析文本向量化文本预处理聚类与关联挖掘中文分词停用词处理

14、词频统计与词云TF-IDF计算权重文档-词条矩阵K-均值聚类网络招聘信息文本集合聚类结果分析Apriori关联挖掘Web图分析图1 网络招聘信息挖掘流程图3、网络招聘信息挖掘步骤3.1读取网页招聘信息文本文件本文首先通过八爪鱼采集器抓取拉钩网的招聘信息,然后汇总到一张csv表格,数据格式如图2所示:图2 网络招聘信息原始数据样例3.2招聘信息文本分词3.2.1分词为了统计分析,必须对获取的大量非结构化数据进行中文分词,提取有意义的中文单词。所谓中文分词指的是将一个汉字序列切分成单独的有意义的词条,以便为其建立索引。经过中文分词后,句子按照一定的规范重新组合成词序列。分词的准确性直接影响着文本挖

15、掘结果的有效性,词分的越准确,对文本的挖掘与分析越能有效提取文本中蕴含的有用信息。本文采用ICTCLAS分词软件包对csv文本中的文本数据进行中文分词。ICTCLAS的分词速度快,精度高,具有词性标注、未登录词识别等功能,是当前世界上最好的汉语词法分析器。为了提高切词的准确率,在分词之前需要导入一些与文本数据相关的自定义词典。本文中文分词示例图3:图3 网络招聘信息文本分词3.2.2设置频繁出现的领域干扰词在分词结果中存在很多连词、介词、助词、感叹词及标点符号,或者一些通用名称词,如“公司”、“描述”等,称做停用词,它们对区分文本没有作用,需要将其删除。首先创建一个停词表,添加招聘内容中出现的

16、停用词。然后,在程序里自定义删除停止词的函数,删除文本中无实际意义的词,得到结果如图4:图4 删除停用词后的分词 相比之前的分词结果,这次精简了很多,剔除了诸如“对”、“的”、“和”等无意义的词。3.3词频统计与词云对分词的结果做一个词频统计,计算出每个词出现的次数并排序,然后取排名前50的50个词语,用wordcloud()的方法来绘制词云。词云是现在很常见的一种分析图,把这些词语放在一张图中,按频次出现的多少来显示词语的大小。判断分词结果的好坏,最快捷的方法是绘制词云,从而可以清晰的查看哪些词不该出现或哪些词分割的不准确。图5 词频统计图6 词云从词云可以看出,除了少数无意义的词未被完全剔

17、除外,分词结果总体上还是比较令人满意的。此外,招聘信息的内容有很明显的特征,“工作”、“能力”、“开发”、“经验”出现的次数远大于其他词语;其次出现频率比较高的词语是“设计”、“负责”、“团队”、“熟悉”、“产品”等词语,可以看出现在的人才市场比较看重求职者的工作能力、工作经验、责任心、团结协作能力等。3.4招聘信息文本聚类分析文本聚类把所有文本文本按照某种相似性准则聚合为若干类别,同类文本尽可能相似,每一类别挖掘出一个主题。文本聚类是一种无监督的机器学习方法,不需要训练样本,自动化处理能力较高,是文本信息提取的主要手段 8。文本聚类算法要求变量是数值型的,为此,先将文本数据转换为文本词条矩阵

18、。3.4.1特征词权重设是一个包含个文本的集合,是第个文本的特征向量,为文本中第个特征项词条的权值,则;。3.4.2TF-IDF法计算关键词权重TF-IDF方法不仅用特征词在训练文本内的频数度量该词的重要性,而且也考虑包含该词的文本数量,如果包含该词的文本数量太多,那么该词识别不同文本的能力就差,需要把二者结合起来。对于给定文本,TF-IDF算法给出该文本中词条的权重公式 (1)其中表示第个特征词在文本中出现的频率;表示该词条在整个文本集中的分布情况,即包含该词条的文本数越少,则越大,说明该词语有较强的类别区分能力。 (2)其中的取值通过实验来确定(通常取0.01),为出现特征项的文本数,表示

19、总文本数目。3.4.3相似度计算通过上述方法将文本映射成向量,再选择某种距离度量文本间的相似度。本文用向量夹角的余弦值来度量。设第个和第个职位描述的特征向量分别为,定义为特征项词条在文本集合中出现的频率;给定文本向量与,选择它们的相似度指标为向量夹角的余弦值: (3)所有招聘信息文本向量化以后,获得结构化数据,再使用R语言编程。3.4.4创建文本词条矩阵将已分完词的列表导入为语料库,并进一步加工处理语料库,从而创建文本词条矩阵,图7展示了部分文本的向量化结果。图7 文本词条矩阵该文本词条矩阵实际上为稀疏矩阵,其中矩阵中非0元素有80985个,而0元素有9442015个,稀疏率达到99%;最后,

20、这9523个词中,最频繁的一个词出现在了24条招聘信息中。由于稀疏矩阵的稀疏率过高,我们再剔除一些出现频次极低的词语,结果见图8。 图8 精细化的文本词条矩阵精细化的文本词条矩阵中的列数大幅减少,当前矩阵只包含了28列,即28个词语。3.4.5K-均值聚类K-均值聚类的基本思想是通过迭代的方法,逐次更新各聚类中心的值,直至获得满意的结果。K-均值聚类算法的步骤:1.初始化聚类中心。设定指定聚类类数N,给出迭代中止条件。在文本集合中随机选取N个文本作为初始聚类中心。2.迭代。将文本与各个聚类中心进行比较,把它划入距离最近的聚类中心所在的类,形成新类。3.重新计算聚类中心。把新类的所有文本向量平均

21、后作为新的聚类中心。4.重复2-3步,直到类别的变动很小或不再变动为止,形成K个类14。将以上算法通过R语言编程实现,结果见表1。表1 网络招聘信息聚类结果 由表1可知,网络招聘信息可分为7类。详细分类见附件,聚类结果的可视化如图9.图9 聚类结果可视化图9中,不同颜色的点代表不同的类别,*表示聚类中心。分别提取聚类的7个类别的特征词,得到表2结果:表2 特征词排行第一类能力工作经验强以上团队客户良好相关优先第二类客户团队招聘工作负责管理经验开发完成分析第三类公司销售合作工作客户能力团队以上负责经验第四类产品设计能力负责经验工作用户以上需求分析第五类工作负责能力经验以上相关管理强开发优先第六类

22、熟悉开发经验工作设计以上能力技术系统优先第七类开发经验能力熟悉产品以上工作设计要求优先聚类结果依据词频重要性分成7类,第一类强调工作能力,第二类强调团队协作精神,第三类属于市场营销,强调沟通能力,第四类是产品设计,强调要从满足用户需求的角度来设计产品,第五类强调工作要认真负责,对工作经验和能力也有一定要求,第六类强调软件设计与开发能力,第七类强调产品设计与开发能力。4、招聘信息文本Web图分析Web图分析是一种用图的形式来描述关联规则结果的方法。关联规则的任务是从海量的数据中得到各指标间有价值的相互关系,其结果很容易被理解且能够使人有效地捕捉数据间联系。关联规则的一般形式。是规则的前项,可以是

23、一个项目或项目集合,是规则的后项,一般是一个项目。关联规则的核心算法是Apriori算法,其基本思想是设定最小支持度(一个规则支持度定义为前项与后项同时出现的概率),先找频繁集,然后在频繁集中产生较强的关联规则。本文选择Apriori算法挖掘关联规则,算法具体过程为:1. 从容量为1的频繁集开始扫描,将小于最小支持度的集合忽略不计;2. 接着通过归纳从容量为k-1的频繁集中生成容量为k的频繁集,同时修建其中的容量为k-1的非频繁集。3. 确定了修剪后的频繁集列表后,计算频繁集的所有子集和(容量为k-1),其中包含输入信息,包含输出信息。4. 计算规则的置信度,即在项目出现的条件下,项目出现的条

24、件概率。若不低于最小支持度,则列入相关规则。Web图中线条的粗细直观的表示了两者的关联强度,线条越粗,说明前项与后项的相关性越大。通过对网络招聘信息中的各个变量编码(具体见图10),然后做出Web图,见图10。由图10可以看出IndustryField_11(信息安全)与IndustryField_8(生活服务)、PositionType_13(高端设计职位)、PositionType_16(高端职能职位)、PositionType_29(投资)、PositionType_8(法务)之间有较强的关联;IndustryField_8(生活服务)与PositionType_29(投资)之间有较强的

25、关联;IndustryField_6(旅游)与PositionType_29(投资)之间有较强的关联等。表明信息安全领域的企业与生活服务类企业关联性较强,且这类企业比较倾向于招聘高端设计职位、高端职能职位、投资、法务类人才;生活服务和旅游领域的企业比较倾向于招聘投资类人才。图10 招聘信息关联Web图进一步,选择支持度10%、置信度80%可得如下结果: PositionFirstType_2(技术)与PositionType_24(前端开发)、PositionType_20(后端开发)、IndustryField_12(移动互联网)之间有较强的关联;PositionFirstType_5(市场

26、与销售)与PositionType_31(销售)之间有较强的关联;IndustryField_12(移动互联网)与FinanceStage_2(成长型)、WorkYear_5(3-5年)、Education_3(本科)之间有较强联系;FinanceStage_1(初创型)与CompanySize_2(15-50人)、IndustryField_12(移动互联网)之间有较强的关联;Education_3(本科)与FinanceStage_4(上市公司)、CompanySize_6(2000人以上)、Salary_5(20000以上)、PositionFirstType_2(技术)有较强的关联等。

27、表明移动互联网领域对技术类人才需求量较大,其中前端开发和后端开发领域的人才尤其受欢迎;此外,成长型公司大多存在于移动互联网领域,且对人才的工作经验和学历要求较高;初创型公司一般规模较小,且主要集中在移动互联网领域;而上市公司的公司规模一般较大,员工人数在2000人以上,上市公司对技术类人才需求量较大,对人才的学历要求主要集中在本科学历,对员工支付的薪水较高,普遍在20000元以上。5、建议从挖掘结果看,高校可有针对性的调整人才培养方案,开设R、Java、Python语言选修课程,提升学生应用相关软件的能力,积累解决实际问题的经验,学会团队协作。企业对市场营销、软件和产品的开发与设计类人才需求量

28、较大,应届毕业生要重视参加软件和产品的开发、设计等职业培训工作,适度利用业余时间做兼职,积累工作经验,在实践中学习与客户沟通的技巧。此外,我们不难看出移动互联网行业发展前景广阔,求职者若对移动互联网感兴趣,可优先考虑向技术类方向发展,并且要注意工作经验的积累。若求职者想去规模较大的上市公司,那么有较高学历的技术型人才有较大优势。参考文献1U.Fayyad,GPiatetsky Shapior,PSmythAn OverviewIn Advance in KnowledgeDiscovery and Data MiningMMIT Press,19962Rabiner LRA tutorial

29、on hidden Markov models and selected applications inspeech recognitionJProc IEEE,2007,77(2) :257-2863Amaud Sahuguet,Fabien AzavantBuilding intelligent Web applications using lightweight wrappersJ .Data Knowledge Engineering,2010,36(3):283-3164王继成,潘金贵,张福炎.Web文本挖掘技术研究J.计算机研究与发展,2000,37(5) :513-52.5王智勇

30、.基于统计降维和Kohonen网络的文本聚类和分类研究D.天津:天津大学,2005.6李伯阳.文本聚类方法研究及其应用D.厦门:厦门大学,2008.7蔡坤.基于特征词的文本聚类算法研究D.开封:河南大学,2009.8曾路平.基于相似度的文本聚类算法研究及应用D.镇江:江苏大学,2009.9钟晓旭.基于Web招聘信息的文本挖掘系统研究D.合肥:合肥工业大学,2010.10钟晓旭,胡学钢.基于数据挖掘的Web招聘信息相关性分析J.安徽建筑工业学院学报(自然学科版),2010,18(4):23-45.11王静.Web对象的信息抽取的关键技术研究D.西安:西安电子科技大学,2011.12马力.基于聚类

31、分析的网络用户兴趣挖掘方法研究D.西安:西安电子科技大学,2012.13王盛明,卢秉亮.加权聚类算法在图书馆中的应用研究J.微机处理,2015,(6):47-49.14刘玉华,陈建国,张春燕.基于数据挖掘的国内大学生就业信息双向推荐系统J.沈阳大学学报(自然科学版),2015,27(3):226-232.附录文本数据聚类程序:#读取数据mydata<-read.table(file=file.choose(),quote="",header=TRUE,sep="t",stringsAsFactors=FALSE)strstr(mydata)#添加自

32、定义字典installDict(dictpath='D:R财经金融词汇大全【官方推荐】.scel',+ dictname='caijing',dicttype='scel')installDict(dictpath='D:R旅游词汇大全【官方推荐】.scel',+ dictname='lvyou',dicttype='scel')installDict(dictpath='D:R电子商务专用词库【官方推荐】.scel',+ dictname='dianzishangwu

33、9;,dicttype='scel')installDict(dictpath='D:RIT计算机.scel',+ dictname='jisuanji',dicttype='scel') installDict(dictpath='D:RSEO 搜索引擎优化 专业词汇.scel',+ dictname='sousuoyinqing',dicttype='scel')installDict(dictpath='D:R医学词汇大全【官方推荐】.scel',+ dictn

34、ame='yixue',dicttype='scel')#查看已安装的词典listDict()#预处理mydata.res<-mydatamydata!=""#分词 segword<-segmentCN(strwords=mydata.res)#查看第一条招聘信息分词结果 segword1 #创建停止词 mystopwords<-read.table(file=file.choose(),stringsAsFactors=FALSE) head(mystopwords) cl

35、ass(mystopwords) #需要将数据框格式的数据转化为向量格式 mystopwords<-as.vector(mystopwords,1)head(mystopwords)#自定义删除停止词的函数 removewords<-function(target_words,stop_words) target_words=target_wordstarget_words%in%stop_words=FALSE return(target_words) segword2<-sapply(X=segword,FUN=

36、removewords,mystopwords) #查看已删除后的分词结果segword21#词频统计word_freq<-getWordFreq(string=unlist(segword2)#查看词频统计结果 word_freqopar<-par(no.readonly=TRUE) Par(bg=black)#绘制出现频率最高的前50个词wordcloud(words=word_freq$Word,freq=word_freq$Freq,+ max.words=50,random.color=TRUE,colors=rainbow(n=7)+ )par(opar) #将已分完词的列表导入为语料库,并进一步加工处理语料库 text_corpus<-Corpus(x=VectorSource(segword2)text_corpus #去除语料库中的数字 text_corpus<-tm_map(text_corpus,removeNumbers) #去除语料库中的多余空格text_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论