APP下载

Python数据挖掘在高校人才引进中的应用

2019-09-03陈镭张凡龙

中国教育信息化·高教职教 2019年8期
关键词:人才引进数据挖掘

陈镭 张凡龙

摘   要:随着大数据时代的来临、互联网技术的快速发展,如何从海量数据中挖掘出潜在的、有价值的信息,成为当下热门的研究和实践方向之一。Python因其强大的科学计算能力成为数据挖掘领域不可或缺的工具。基于Python语言对高校人事、科研及互联网数据进行挖掘和分析,构建人才发现系统,为高校引进高水平人才提供决策支持。

关键词:Python;Scrapy网络爬虫;数据挖掘;Sklearn;人才引进

中图分类号:TP311 文献标志码:A 文章编号:1673-8454(2019)15-0052-03

一、引言

大数据时代,数据的规模在不断扩大,数据呈现出体量大、多样性、价值密度变低、关系复杂的特点。从一般的信息系统中获取具有决策价值的信息变得越来越困难。如何做好高校人才队伍长期发展规划,满足高校快速发展当中对高水平人才的需要,人事管理部门迫切需要拥有智慧的信息系统,对目前掌握的大量人事、科研、教学信息进行分析、挖掘,对学校引进人才进行科学规划与评测,对在校人员进行科学培养与管理提供决策支持。

数据挖掘技术是一门涉及数理统计、人工智能以及知识工程等领域的新兴交叉学科,包含一套完整的过程。[1]该过程首先从数据库、数据仓库或大数据集中抽取潜在有价值的知识、模型或规则,然后使用这些知识做出决策。换一种说法,数据挖掘技术是通过多种复杂算法,在大量未加工数据中发现数据间潜在关系以及有效知识。近年来,数据挖掘技术在金融业、零售业、医疗和电信等多种行业都取得了显著成果。

Python语言是当今最热门的程序设计语言之一。它是一种面向对象的语言,拥有较好的交互性、解释性。Python发展势头迅猛,在2017年热门计算机语言排行中,Python已超过Java和C,排名第一。Python开源社区用户活跃,越来越多的支持数据挖掘各项技术的代码库被开发出来,使其拥有强大的科学计算能力。目前Python语言是数据挖掘领域中最热门的工具之一。本文详细介绍了Python语言在数据挖掘领域简易而强大的功能,在对大量科研人员成果数据进行挖掘分析的基础上,指导高校人才引进工作。

二、技术可行性

数据挖掘的一般步骤为问题定义、数据采集、数据存储、数据预处理、数据建模和模型评估。Python在数据挖掘中的关键步骤如图1所示。

数据来源有两处,一是从现有人事、科研系统导入,二是使用Scrapy框架爬取网络数据。然后把这些爬到的数据使用pymongo包存储到MongoDB 数据库,从而在后续分析中使用。在数据预处理及数据挖掘阶段常用的Python工具包,包含Numpy、Pandas、Matplotlib、Sklearn等。

1.数据采集[2]

通过爬虫技术,可以在指定网站上获取到想要的数据。Scrapy爬虫框架就是使用Python 语言开发并封装的一个强大的爬虫工具。首先创建Scrapy项目,然后编写定制的爬虫规则,运行Scrapy项目,爬虫自动运行,即可获得想要的网络数据。

2.数据存储

大多数传统意义上的关系型数据库,在存储非单一数据格式上有较大的困难。通常在爬虫数据中,既有关系型数据,也有非关系型数据,所以更适合使用NoSQL非关系型数据库存储。NoSQL数据库数据模型更加灵活,数据间不存在关系,从而数据读写更简易,数据扩展更方便。本文研究选择当前热门的MongoDB 数据库,对爬取的数据进行导入后存储,供后序操作使用。

3.数据预处理

数据预处理阶段首先对数据库中的各种数据进行清洗,填充空数据,更正无效数据,排除无关联属性数据等非正常数据。Python工具包的Numpy、Pandas、Matplotlib等工具提供了强大的数据处理及矩阵运算能力。数据预处理阶段一般对数据进行批量操作。利用以上Python工具包,结合数据预处理相关技术,就能够快速、大批量地对非法格式数据进行格式化操作。

4.数据挖掘建模

基于Python编写的Sklearn库在机器学习、数据挖掘领域具有很高的知名度,库中包含大量数据挖掘和机器学习的经典算法。同时库中也含有丰富的测试调试工具,对算法运行过程中所需参数进行调整和优化。Sklearn工具包中封装的经典算法有分类、回归、聚类、关联规则、降维等,另外还包含模型选择和模型评估等模块。

三、系统分析与设计

本文将人事、科研系统数据和知网科研论文数据集成,对这些数据进行深度挖掘和统计分析,构建人才发现系统,从而实现高校人才发现、人才科研评价和研究热点发现等功能,为高校职能部门和高层决策者提供多维度的智能分析功能。

1.人才发现[3]

数据采集模块使用Scrapy工具自动抓取知网已收录的中、外文论文数据,作为人才发现的基础数据。Web网页解析模块提取数据并按照指定格式存储到MongoDB数据库。数据预处理模块用于统一数据格式,清除重复样本,清除疑似错误异常的样本,清除偏离整体分布的样本,过滤无效样本。数据挖掘模块综合考虑论文标题、关键词、作者及其单位、合作者及其单位、发表时间、发表期刊、期刊级别、引用次数、下载次数、中图分类号等信息。科学分配权重,设计算法,建立挖掘模型,最终返回所关注学科的研究人员列表,对高层次人才引进工作起到辅助作用。

2.人才科研评价

主要对校内现有人员的科研论文发表情况进行分析。校内现有教学科研人员分为三类——科研为主型、科研教学并重型以及教学为主型。人事系统中包含教职工的详细信息。[4]在数据预处理的时候,首先去掉一些与分类、挖掘无关的字段,如姓名、手机号码、家庭住址等,保留与分类和规则挖掘相关字段,如职工编号,以区分各教职工。为了便于对被评测的教师进行挖掘分析,需对各字段离散化。职称分为“初级、中级、副高、正高”,分别用1、2、3、4代替;学科分类归并为人文社科、自然科学及其他,分别用1、2、3代替;学科详细分类用中图分类法代替;学历/学位用博士、硕士、其他代替,编码为1、2、3;年龄采用区间分类,用25-30、30-35、35-40、40-45、45-50、50-55六種区间代替,性别为男、女,编码为0、1。

3.研究热点发现

研究热点发现,以每年度数据为分析周期,根据学科分类号统计出各研究领域发表论文的数量及其变化趋势,同时提取论文的关键词,统计各关键词出现的词频,根据词频与研究领域对应文章数量综合评定研究热点,系统根据学科分类号自动推送研究热点和前沿方向。[5]系统还可以通过分析不同学科的相似研究主题,发掘交叉学科的研究方向,建立不同学科、不同院系之间有着相似研究主题的科研人员的学术交流圈子,提供科研圈和科研人员的推荐,帮助学校交叉方向科研人员碰撞出更多研究成果。

四、系统实现

开发环境采用:操作系统64位Win10企业版、CPU Intel Core i7-4790 3.6GHz、内存16G、开发语言Python3.7.2、开发工具PyCharm Community Edition 2018.3、阿里云服务器Ubuntu16.04 64位、数据库MongoDB  v3.6.3。

Scrapy 爬虫项目搭建:首先搭建 Scrapy 爬虫项目,获取知网论文数据。Scrapy项目搭建十分方便,首先确定所需爬取数据的网址或域名信息,然后通过 Scrapy内置命令,自动化生成项目框架。例如第一步完成项目搭建,执行以下指令:Scrapy startproject recruit;第二步生成自定义爬虫文件,执行以下指令:Scrapy genspider-t crawl cnki cnki.net。通过以上两条简单的命令,就完成了Scrapy爬虫项目搭建。从以上过程可以看出,基于Python语言的scrapy框架的强大功能及易用性。

对请求数据的处理,存入数据库的数据基本结构,其json数据格式如下:

{"paper_title ":"String",#论文标题

" keywords ":"String",#关键词

"author":"String",#作者

" author_affiliation":"String",#作者单位

" cooperator ":"String",#合作者

" cooperator_affiliation ":"String",#合作者单位

" publish_date ":"Date",#发表日期

" publisher ":"String",#发表期刊

" quote_number ":"Integer",#引用次数

"download_ number ":"Integer",#下载次数

" class_code":"String",#中图分类号}

以上数据结构确定以后,可以进行数据库连接操作。pymongo 是基于Python语言开发的连接MongoDB数据库的驱动。通过导入pymongo驱动包,进行数据的增、删、查、改操作。

在数据清洗的过程中,Numpy、Pandas、Matplotlib等工具提供了强大的数据处理及矩阵运算能力,利用以上Python工具包,就能够快速、大批量地对非法格式数据进行清洗操作。

导入Sklearn库,可以轻松实现数据挖掘及机器学习任务。在建模的过程中,数据分为训练集和测试集。将训练数据平分到相同大小的K份。在K折交叉验证中,将运行K次单独的学习实验,在每次实验中,将从K个子集中挑选一个作为验证集,剩下(K-1)个容器放在一起作为训练集,然后训练学习算法,最终返回这个测试结果的平均值。Sklearn库中的train_test_split函数可有效实现对数据集的划分操作。

五、结束语

目前大多数高校的人力资源管理系统仅实现了信息系统最初步、最基本、最原始的查询和统计功能。人事管理部门迫切需要智能信息系统,对学校引进人才进行科学规划与评测,对在校人员进行科学培养与管理提供决策支持。本文在已有人事数据、科研数据以及抓取的知网科研论文数据基础上,进行深度挖掘和统计分析,构建人才发现系统,从而实现高校人才发现、人才科研评价和研究热点发现等功能,为高校职能部门和高层决策者提供多维度的智能分析功能。如能加入教学成果数据以及在科研领域进一步包含外文期刊数据库(如IEEE)、科研基金项目等科研成果数据,则必将提高挖掘的精准度和实用性。

参考文献:

[1]白菲,孟超英.数据挖掘技术在高校人才引进中的应用[J].太原大学学报,2005(4):52-55.

[2]刘熠.基于python的Web数据挖掘技术研究与实现[D].荆州:长江大学,2018.

[3]王孟頔,邰泳,薛安荣.基于Hadoop平台的人才发现与推荐系统研究[J].软件导刊,2014(1):4-6.

[4]张维国.基于数据挖掘的高职师资管理系统的应用与实践[J].计算机时代,2018(1):86-89.

[5]薛云霞,陈宓宓,韩茜.大数据框架下高校人才服务平台架构研究[J].中国教育信息化,2018(14):27-30.

(編辑:王天鹏)

猜你喜欢

人才引进数据挖掘
基于并行计算的大数据挖掘在电网中的应用
一种基于Hadoop的大数据挖掘云服务及应用
基于GPGPU的离散数据挖掘研究