1 引言
随着智能互联网的快速发展和一系列的技术变革,从而推动全国各行业进行政策的调整、资源的共享、产业的升级和信息的创新。结合国家的战略,政府明确的指出,建设国家大数据池意义重大。通过海量数据的支持与算法优化后的计算能力,可以满足企业、社会、教育等不同领域对数据中心应用的需求。大数据是数据的集合,涵盖了所有的数据类型和混合的真实数据。现有的工具无法提取、存储或共享它。在信息处理能力和技术不断提高的过程中,人们基于大数据定理(在不断实验、多次重复实验、随机结果近似不可避免的条件下),对增长速度惊人、时效性短的大量数据进行集成优化和决策分析,以预测现象和行为的发生,并提供个性化的详细推荐和服务。基于有限理性决策的特点,大数据无疑扩大了人们理性判断的基础,但并不意味着要关注自动管理和智能。目前,大数据的研究和应用主要集中在营销活动中消费者行为和偏好的研究,而在人力资源管理领域,还没有明确应用到招聘中。但近年来,网络招聘以其范围广、信息量大、及时性高、流程简单、效果显著等优点,成为企业招聘的核心方式。随着互联网的发展进入一个新的阶段,大数据带来了管理路线和招聘思维的变化需求,探索互联网企业招聘面临的巨大挑战和机遇具有现实意义。在以人为本的管理理念下,考虑到互联网环境中从定量变化到定性变化的过渡,考察网络招聘和企业商业模式将发生的变化,也具有理论意义。
2 数据获取与研究方法
2.1 数据来源与数据采集
本文的数据来源主要为两大类:已有的计算机类岗位招聘信息数据集和主要基于前程无忧招聘网站的计算机岗位信息以及各大招聘网站的计算机类岗位的招聘信息。IT行业是新兴行业,全球IT行业的发展迅猛,使得IT企业之间的竞争越来越激烈,因此,计算机类人才对于企业的发展和生存来说取得了决定性的作用,故而随着行业的发展,企业对于人才有了更高的要求和定义。根据中国知网《基于大数据的计算机专业学生就业方向研究》[4]和《以IT企业需求为导向的计算机人才培养模式研究》[5],从当前疫情下的就业形式以及就业环境来看,IT行业的发展非常迅猛和快速,在该领域内,新的知识,新的技术更新换代迅速,并且在疫情这个大环境的影响下,近些年IT行业对计算机人才的需求相比以前来说在不断的增多,并且由于IT行业对计算机类人才的重新定义,企业对计算机类人才的要求也在不断增高。就从软件人才举例来说,依据价值工程发表的期刊《简论计算机软件人才结构》[6],目前我国的软件企业的人才结构为中间大两头小的橄榄型结构,软件高端人才,例如系统分析师,项目经理和技术主管等软件人才和软件低端人才,如编码程序员等从事基础软件开发的人员都十分稀缺,而中间人才却过剩。从当前的IT行业的发展前景来看,IT行业下还潜藏着众多广泛的平行产业,就按照当前IT行业的发展情势来看,IT行业下的平行产业距完全的充斥着我们生活方方面面还存在着一定的距离。所以对目前IT行业的就业形势来说,人们竞争很大,而对于企业来讲,高端人才是现在企业的首要选择。通过结合用人单位的实际,IT企业对人才的需求可分为三个方面,专业能力,方法能力以及社会能力。其中专业能力包括:①对专业知识的掌握情况;②对项目实践操作技能的专业水平;③对新工作的适应能力;④自身掌握的外语水平等。方法能力包括:①对专业知识的掌握情况;②对项目实践操作技能的专业水平;③对新工作的适应能力;④外语水平等。社会能力包括:①具有职业道德及素养;②富有社会责任感;③语言及文字表达能力等。但从个人角度的长远发展来看,IT行业最突出的,并且显而易见的特点是吃年轻饭,高薪和门槛低。而这一特点恰好是十分符合现在的计算机专业的大学生的,但是计算机专业的大学生想要更好的就业,就必需要有学校,竞赛,项目以及实习等一方甚至多方的加持,这其中工作经验往往是企业最看重的。因为企业一般首要看重的是应聘者的技术能力,而学校的教学普遍缺乏实战和实习的经验。从调查的数据以及现实中的现象来看同样支撑着这一观点,数据表明百分之六十的企业招聘看重的事实习时间和工作经验。所以不同的企业对于不同岗位有着不同的需求,根据艾瑞咨询公司发布的《2022年中国网络招聘市场发展研究报告》[7]显示,2021年中国网络招聘市场规模为160亿,这一数据较2020年增长了约48.2%,为近五年同比增长率最高的一年,体现出网络在线招聘行业从疫情中复苏的强烈迹象,经过研究未来的几年里,网络招聘行业市场仍然会保持着高速发展。在众多的网络招聘平台中,前程无忧维持市占率第一地位,从2021年的营收上来看,市占率达到27.61%,从利润上来看,前程无忧2021年归母净利润约为6.4亿元,利润率达到14.5%,大幅度领先上市招聘平台整体表现。就此基于前程无忧做前程无忧网络招聘平台提供的信息能反映出企业对求职者的需求条件,包括学历、能力和工作时间等方面的要求。同时求职者可以通过平台上的信息了解到与工作岗位相关的福利薪酬等方面的信息。网络招聘以其便利性优于传统人才招聘市场已成为毕业生求职就业渠道的首选。故而笔者将根据已有的数据源以及根据以程无忧招聘网站为基础和各大招聘网站对于计算机类岗位对人才的需求作为数据源。
文本的数据采集过程如下:A:使用Python语言编写程序,读取和查看计算机类岗位招聘信息数据集的数据。为了方便后期的统一处理,主要从数据中选取职位名称,职位描述,岗位描述,岗位职责等字段。B:对以获取的数据进行预处理,主要处理数据的重复值和缺失值以及去除职位描述中的无效信息等。C:对数据进行分词统计与可视化,主要是将csv文件中的文本逐行取出,得到新的txt文件,以及对文本进行分词处理,以及词频统计,然后对词频统计结果进行处理,得出情感分析用词,最后使用Dreamweaver软件工具对学历数据和编程语言数据进行可视化。D:对文本进行词性标注,TF-IDF提取关键字,及主题分析,例如对工作描述文本去重以及长度统计等。
2.2 研究思路与方法
本文的研究思路主要分为以下四个步骤。第一,选取相对合适并且完整的数据源;通过编写网络爬虫程序采集已选取数据源中的数据;第二,对获取到的数据集进行数据预处理,其中包括数据的清洗、集成与变换等步骤,以满足后期中文分词的需要;第三,通过预处理的数据集进行分词处理,根据分词后的文本,制作词云图并且使用spark对分词后的数据进行词频统计及处理;第四以可视化的方式展示分词结果。
图1 基于中文分词的数据类岗位需求特征挖掘流程图
2.2.1 数据预处理
前面利用网络爬虫技术获取了已有的数据集以及各网络招聘网站的计算机类岗位招聘信息,但是不同的企业之间对岗位的需求在一定的程度上有着各类型的杂志,并且不同职位描述的文本结构也不尽相同,因此需要对数据进行预处理。
在主要招聘网站上发布的招聘广告中,求职者的工作职责和大多数工作的要求都有明确的区别。但是有一些关于招聘公司职位的信息,职位的职责和职位的要求是混合的,不同的公司之间的职位描述,也有相同的地方。因此,对于所获取的数据需要进行归纳与整理。对数据进行预处理的具体过程如下:
①从前面将以获取的数据进行探索可知,源数据中包含大量的重复值,所以要将其去除。
②判断数据中是否存在缺失值,通过对空值的判断和去除缺失值前后的形状对比,判断数据的缺失值,如果数据集中有缺失的数据就将这些数据去除。
③查看工作描述中是否存在“\n”换行符等其他无效信息,所以通过正则表达式定义函数,将无效信息替换为空值,然后将这类无效信息剔除
④考虑到工作描述中有数字,会影响分词结果,所以通过正则表达式定义函数将其去除
⑤将工作描述的无效信息和数字去除后,再根据工作描述进行去重,得到最终处理后的数据,并且存储数据结果。
2.2.2 数据分词统计与可视化
为了统计分析,必须对获取的大量非结构化数据进行中文分词,提取有意义的中文单词。所谓中文分词指的是将一个汉字序列切分成单独的有意义的词条,以便为其建立索引。中文分词是中文信息处理中的一个重要的部分,目前为止,歧义和登录词识别是分词处理的两大问题[8]。经过中文分词后,句子按照一定的规范重新组合成词序列。分词的准确性直接影响着文本挖掘结果的有效性,词分的越准确,对文本的挖掘与分析越能有效提取文本中蕴含的有用信息。接着根据分词后的文本制作词云图,其中词云是现在很常见的一种分析图,把这些词语放在一图中,按频次出现的多少来显示词语的大小。判断分词结果的好坏,最快捷的方法是绘制词云,从而可以清晰的查看哪些词不该出现或哪些词分割的不准确,因此云图可以用来令数据分词更加准确。接着使用spark对分词后的数据进行词频统计及处理,最后使用Dreamweaver对学历和编程语言进行可视化。
3 数据预处理
3.1 数据字段说明
职位描述数据表结构如表1所示:
表1. 职位描述数据表结构
表名 字段 含义
职位描述 Job_Description 工作描述
PositionId 职位ID
职位描述的数据格式如图2所示:
图2数据格式图
3.2 处理数据重复值、缺失值
在源数据中查看,PositionId数据中包含大量的重复值,需要将其去除。判断数据中是否存在缺失值:通过对空值的判断和去除缺失值前后的形状对比,从而删除数据的缺失值。
图3 去重后数据值图
如图3,处理数据重复值前记录数为539215次,利用PositionId去重后记录数为402627次。
3.3 去除职位描述中的无效信息
工作描述中存在“\n”换行符等其他无效信息等,通过正则表达式定义函数,将无效信息替换为空值。
图4 去除职位描述无效信息图
如图4,数据缺失数据职业描述的无效信息有64459条,进行数据去除后剩余0条。
3.4 去除职位描述中的数字,处理Job_Description字段数据重复值
考虑到工作描述中有数字,会影响分词结果,所以通过正则表达式定义函数将其去除。
将工作描述的无效信息和数字去除后,再根据工作描述进行去重,得到最终处理后的数据,并且存储数据结果。如图5为最终效果图:
在这里插入图片描述
图5 去除重复值和数字后效果图
4 招聘信息分析
4.1 分词统计
随着信息时代的飞速发展,我们获取到的信息量越来越多,所以如何在众多信息中找出自己想要的信息变得越来越重要,而中文分词作为中文自然语言处理的基础,故而受到越来越多的关注。其中中文分词作为中文信息处理的一个重要组成部分,其是否能够快速而准确的识别出数据中语句的词语对于有效的解读和获取数据以及后续对已经获取的数据进行分析处理有着重大并且深刻的意义。然而由于文本中的语句本身具有的复杂性,所以对文本进行精准的中文分词是本文本实验的重要步骤之一。对于汉语的自然语言的处理来说,汉语自动分词是对文本进行分析的第一个步骤,根据目前的中文分词方法,主要有三种分词方法,第一种是基于理解的分词方法,第二种是基于词典的分词方法,第三种是基于统计的分词方法。而本文本的数据分词统计操作是基于统计学习中的中文方法来进行数据的分词统计,也就是上述方法中的基于统计的分词方法。通过基于统计学习中的中文方法来训练分词模型,并采用分词模型来预测未知语句中的词位标记从而达到识别语句中语词边界,从而将数据中的语句进行定位,分析,提取的。所以本文的数据分词统计操作主要分为以下几个步骤:
a.首先将经过预处理后得来的数据集csv文件中的职业描述文本逐行取出,写入到新的文本文件中。
b.接着对文本文件进行文本分词处理,通过对文本进行准确分词,得到新的分词后的文本文件。
c.根据对文本文件进行分词后得到的文本制作词云图,依靠词云来判断分词结果的好坏,判断对文本的分词是否足够精确。以此,绘制词云图也是判断分词结果如何的最快捷的一种方法。
d.使用spark对分词后的数据进行词频统计及处理,并且对词频统计结果进行处理,得出情感分析用词,如图6,再根据图6的数据作出词云图图7,能够更直观的看出数据的特点。
图6 词频统计图
图7 词云图
从词频统计和词云图的结果看:排在前三位的是,工作、能力、经验,说明当下公司和企业比较需要有工作经验,有一定的学习能力,能快速上手工作的人才。
4.2 数据可视化
在数据信息遍地走的今天,依靠传统的数据分析已经不能满足大数据时代的需求,所以对数据进行可视化分析,对于从海量数据中发现规律,增强数据的表现能力,提升交互效率具有非常重要作用。其中在本文实验中对数据进行可视化,对于分析网络招聘信息的人才需求的做用是不言而喻的,对前文所做的数据分词做可视化,能够直观的看出数据集所表现出来的信息,再此基础上,人们也可以利用这些信息进行计划的可行性分析,并且做出决策。为了能够对数据进行更有效的分析并且获得良好的视觉效果,帮助用户更好的降低理解难度,高效分析数据和洞察数据价值,通常需要注意色彩的调配,突出数据的核心,防止数据过载,防止思维过度发散等技术要点,而Dreamweaver能够很好的突出以上的要点,所以利用拥有强大绘图功能的Dreamweaver语言处理数据可视化是十分便捷的。故而本文对以下学历和需要掌握的编程语言两种数据进行可视化操作。
4.2.1 学历要求
使用Dreamweaver以学历为基础进行可视化操作:
通过获取的各类需求信息中可发现,在各大网站招聘信息的人才需求分析中,各大企业或者公司对于学历都有一定程度的要求,所以本文以学历为实验基础进行可视化分析。通过前文利用spark对词频统计的结果,创建高频词表,并且生成excel表,通过这个数据表生成如图8所示的学历柱状图和图9所示的学历饼图。
对学历进行可视化分析的步骤如下:
1)通过前文运用spark对词频统计的结果,自定义过滤词表。
2)根据自定义的过滤词表过滤掉无意义的词,从而形成高频词表,并且生成excel数据表。
3)对数据表进行可视化,生成柱状图和饼图。
图8学历要求柱状图
图9学历占比饼图
其中从学历柱状图可以看出,专科和本科生需求比较多,高中,中专,硕士和 博士需求 比较少,其中专科需求1879人,本科2818人,硕士112人,高中65人,博士51人。从学历饼图可以看出本科占比最多,达到56.46%;博士占比最少,才占1.02%。所以可以直观的得出结论,计算机类岗位招聘需求最多的是本科,但是专科也占了很大一部分,可见计算机的相关岗位还是非常友好的,对于其他行业,门槛还是相对比较低的。
4.2.2 技能要求
使用Dreamweaver以需要掌握的编程语言为基础进行可视化操作:
基于前文中获取的点数据集的数据分析可以大概看出,在各大招聘网站对于计算机岗位的人才需求中对于需要掌握的编程语言技术不尽相同,不同的企业或者公司的岗位有着不同的需求,所以本文也以需要掌握的编程语言技术为实验基础做可视化分析。同上文一样,通过前文利用spark对词频统计的结果,创建高频词表,并且生成excel表,通过excel数据表,进行编程语言的可视化,生成如图10所示的柱状图和图11所示的南丁格尔图。
图10 技能要求柱状图
图11 技能要求南丁格尔图
从以上图可以看出掌握JAVA语言是在各大招聘网站中要求最多的,由于我国信息化人才培养还处于发展阶段,数以万计的中小企业急需全面系统掌握Java软件开发基础技能与知识的软件工程师。所以说Java软件工程师的就业前景是非常好的,再加上Java软件工程师不仅仅是IT专业企业需要,现实中广大的非IT企业也在被大量需要,所以掌握Java语言的就业和发展前景是非常乐观的。同时像javascript和Linux等这些我们大众经常见到和运用的语言也在前几名,所以大家不用担心自己的学习和掌握的语言是不是会被淘汰。依照目前计算机行业的发展情况来看大众用的语言依旧是在他们的领域占有很重要的地位。
4.3 TF-IDF算法提取特征词与基于LDA的文本主题分析
4.3.1 对职业描述的文本文件进行去重及长度统计
文本去重是为了让数据更加具有真实性,对数据文本进行处理。
有些工作描述可能会出现重复词语,重复数量大于2时才进行压缩,因为出现“滔滔不绝”、“美的的确好”、“容我思考思考”、“这真的真的好看”等不好归为冗余的情况。但当出现3次及以上时基本就是冗余了。 所以需要先去重复词,去除一些没有意义的词语或句子。为此,自定义一个去重复词函数,编辑好去重复词函数的代码后,运用函数对工作描述文本进行去重复词以及长度统计,如图12。
图12 职业描述文本长度图
从图12的运行结果可以看出,去重复词前文本总字符长度为:90255081,去除重复词后文本总长度为90135043。
4.3.2 筛选长度大于50的工作描述
从多年的招聘经验来看,每日的面试量、实际面试到约率、月度实际到岗量等信息能够在一定的程度上反映招聘的效果,同时能够预测招聘需求及人才市场的变化[9]。
求职者投递简历,第一眼会先看标题是招聘什么岗位,然后几乎都会点进去看一下该岗位的职位描述,再决定是否投递简历。所以职位描述写得好,不仅可以防止人才被挡在门外,还可以在很大程度上吸引人才。但是职位描述如果有出现以下情况的,是不好的,第一,上班地址模糊不清;第二,职位描述过少,导致职责与实际岗位工作出入太大;第三,薪资轻描淡写,没有明确写明薪资组成规则和职位晋升规则。针对这种情况,为了更直观看出职业描述,采用Python语言中的matplotlib库,对职位描述的文本长度数据进行可视化,如图13。
图13 职业描述长度直方图
从图13 职业描述直方图可看出,职业描述信息长度少于50的有5000条左右,说明可能存在一部分的公司或者小企业虚假招聘或者是为了刷知名度。如果求职者遇到表面招聘的和实际招聘的不一致,去面试了,才会发现招聘的是另外一个岗位,属于“挂羊头卖狗肉”。那么对于应聘者来说,不仅要浪费时间,浪费精力,还要浪费准备面试和了解该公司情况的时间。
4.3.3 TF-IDF 算法的特征词提取
基本单位是词重在自然语言处理中,TF-IDF(term frequency–inverse document frequency)是一种信息检索和数据挖掘的常用技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。TF-IDF的核心思想是:一个词是否是重要的、关键的词汇,需要从该词汇出现的次数和该词汇在整个文档中的代表性这两个方面来体现重要程度[10]。
由于文本的特征选择的基本单位是词,需要对文本进行预处理之后进行特征词提取。本文首先用分词接口,对输入的岗位信息进行分词处理,即可得到需要分词;然后将分词结果依次遍历,若词长度小于 2 则跳过;最后将满足条件的词添加到词频词典中,并且将 出现的次数加 1。其次遍历词频词典,根据IDF词典得到每个词的 IDF 值,并除以词频词典中的次数总和,得到每个词的 TF-IDF 值; 若设置了权重标志位,则根据 TF-IDF 值对词频词典中的词进行倒序排序,最后输出前i个词作为关键词[11]。
基于TF-IDF(term frequency–inverse document frequency)算法的关键词提取,并且输出对应关键词的关键度。部分结果如图14所示。
图14 关键词图(部分)
在 TD-IDF 算法建立了基于统计的文本表示模型,得出的特征词较为直观的展现了文本的核心内容。由图14提取出来的关键词和对应词的关键度可以看出,招聘信息上更看重求职者有没有相关经验、编程能力、技术要求、团队合作能力等。
4.3.4 文本主题分析
LDA是由Blei于2003年提出的对文本信息特征进行建模的三层贝叶斯概率模型,通过无监督学习方法发现隐含在文本中的主题信息,目的是要以没有指导的学习方法从文本中发现隐含的语义,包括词、主题 、文档三层结构,能够有效地对文本进行建模分析,挖掘出数据集中的潜在主题词,进而分析出数据的相关特征词及其集中关注点[12]。
借鉴蔺怡如[99]的方法,由上一步TF-IDF算法提取出的关键词,建立词典和语料库,最后输出基于LDA模型的主题分析结果如图15。
图15 主题词图
基于LDA模型主题分析得出三个主题,第一类强调工作能力,强调软件设计与开发能力、产品设计等。第二类对工作经验和能力也有一定要求,强调技术,开发等。第一类主题和第二类主题面向有扎实的计算机理论知识和有较强的学习能力、逻辑思维能力的人。 第三类属于市场营销,强调沟通能力,产品设计,强调要从满足用户需求的角度来设计产品。第三类主题更倾向于外向型、对人热心、喜欢倾听、善于沟通的人。
5 总结
为了能够解决广大求职者找工作难,计算机相关应届生毕业就失业的问题,帮助求职者找出求职时应重点关注的问题是本文研究关注的重点。因此,本文以前程无忧网上的计算机相关专业的招聘信息作出分析:对岗位信息描述进行分词统计,对学历和技能要求进行可视化,分析企业对人才的工具技能要求和综合素质等,最后再根据TF-IDF算法提取了文本的关键词和基于LDA模型的主题分析。结论如下:
1、工作、能力、经验是招聘企业最为关注的重点从分词统计和词云图看,这三个词排在十大热词:工作、能力、经验、产品、负责、熟悉、开发、公司、设计、相关的前三位,说明招聘企业对求职者需要更强的工作能力和丰富的工作经验。
2、本科和专科学历能满足大部分企业的学历需求。从可视化方面看,博士占比 1.02%,硕士占比2.45%,本科占比 56.46%,专科占比 37.65%,高中学历占比1.3%中专学历占1.12%,仅从求职角度来看如果是本科或专科学历,是可以满足大部分招聘方对求职者学历的要求的。当然,想要更好的发展机会,还是要注重提升学历,提升个人竞争力,丰富自己的阅历和知识。
提出技术、沟通、责任心等要求。从图14的特征词和图15的主题词来看,都强调沟通能力,产品设计,负责任,要从满足用户需求的角度来设计产品等。求职者要重视软件和产品的开发、设计等相关知识的学习,积累工作经验,多学习与人沟通的技巧。