基于Python语言的学术论文数据挖掘与分析
2021-07-27刘焕英
刘焕英
关键词 Python语言;数据挖掘;医疗人工智能;学术论文;期刊编辑
中图分类号 G232.1 文献标识码 A 文章编号 2096-0360(2021)05-0021-06
随着互联网技术的快速发展,大数据时代的来临,数据规模巨大,但数据存在多样性、价值密度低及关系复杂等特点。如何从海量的信息中获得有价值的信息变得越来越困难。近年来逐渐兴起的数据挖掘与分析可以很好地解决这个问题。数据挖掘技术通过多种复杂的算法在大量的元数据中发现数据间潜在的规律及有价值的信息。近年来在金融、医疗、社交及电信领域取得了显著成果,而在期刊出版领域应用较少。在已有的报道中,有编辑提出把数据挖掘应用在网络投稿系统中,可以对稿件进行分类送审、向作者定向征稿及相似文献推荐、对投稿流程及投稿系统进行质量评价及促进系统的改进[1]。也已有编辑部利用数据挖掘为期刊的选题策划、学者选择、专题策划、稿件筛选等提供更精准的数据依据,为期刊决策提供参考[2-5]。
在相关的研究中,编辑们更多的是利用HADOOP、ROST News Analysis Tool 4.5等数据挖掘工具,这些工具计算力及交互性不够强大。本文参考谭春林[6]的数据挖方法,利用Python语言进行数据挖掘及分析。Python语言是數据挖掘领域最热门的语言,具有较好的解释性及交互性,且拥有强大的科学计算能力,能对大量科研人员成果数据进行挖掘和分析,从而获得有用的价值。而期刊编辑可利用Python对某一领域的发文情况进行数据挖掘及分析,寻找热门选题,指导期刊的选题策划。在已有的研究中,期刊编辑领域利用Python来进行数据挖掘及分析的报道较少,本文提出利用Python语言对近年来的热点话题医疗人工智能相关的学术论文进行挖掘和分析,为期刊编辑从事学术研究提供新思路。
1 研究方法
1.1 系统架构
基于Python 3.7的医疗人工智能相关学术论文的信息挖掘分析系统,利用Selenuim来获取相关的期刊论文,将数据清理并分析后进行结果输出。该系统主要分为三个模块,第一个模块是数据获取,从中国知网选取相关的文本信息,其中包括作者、机构,关键词、期刊、发表时间、下载及被引用次数等信息。第二个模块是数据清洗及提取,把通知、办法、条例等非学术论文的文章删除。第三个模块是数据统计分析,提取清理后的元数据,并对元数据统计分析。见图1。
1.2 数据来源
利用中国知网数据库(https://www.cnki. net)对医疗人工智能相关题材发文情况进行大数据挖掘和数据分析。本文从中国知网数据库旧版入口,在“期刊”类目下进行“高级检索”,检索条件为“全文=人工智能+医疗/医学/医院/健康/中医;时间=2010-2019;来源=全部期刊“。(数据采集时间为2020年5月10日)
1.3 数据挖掘
从网页挖掘文献元数据步骤如下:
第1步:首先使用Selenuim的webdriver. get方法进入中国知网首页,然后使用Selenuim的element元素的send_keys自动输入【账号】与【密码】,并使用click方法以实现自动点击以登录系统。
第2步:首先使用Selenuim的webdriver.get方法进入中国知网期刊 的高级检索页,然后使用Selenuim的e lement元素的send_keys、select_ by_value自动输入【 人工智能】、【逻辑关系 and】、【医疗/医学/医院/健康/中医】click方法以实现自动点击以进行检索。
第3步:使用Selenuim元素的find_element_ by_class_name获检索结果
的标签,分别使用、find_element_by_ class_name与find_elements_by_xpath方法获取文章的【 主题】、【刊名】、【发表时间】、【被引】、【下载】信息。 第4步:循 环每行把【作者】、【机构】、【关键词】、【基金】、【分类】 存放在具体页面中,并使用Selenuim元素的click()进入具体页面,并使用find_element_by_class_name与find_elements_ by_xpath获取以上信息。 第5步:在循环完当前检索结果页后,便进入下一页,方法如下: # 循环结果集页面 同理,在进入下一页面时,使用方法获取上述数据,基本思路如下:循环检索结果->循环每页->循环每行(获取【主题】、【刊名】、【发表时间】、【被引】、【下载】)->进入每行具体页面(获取【作者】、【机构】、【关键词】、【基金】、【分类】) 第6步:获取上述信息后,便可以入库,在这里我们使用的数据库系统是MySQL 5.7。 t_article字段信息如表1所示。 |
1.4 数据清洗
把作者为空的文章,例如:通知,办法、条例等非学术论文删除,方法如下:
1.5 数据预处理
由于作者、 机构、关键词、基金与分类信息中含有多个属性,例如多名作者、多个关键词,需要使用Python的split函数把这1行数据拆分成2行或多行数据,然后使用 Python的pymysql模块写入MySQL,以利于我们接下来的统计。同理把机构、关键词、基金的属性也进行拆分,写入相应的表进行保存。见表2。
1.6 数据统计
使用Python的pymysql模块读取MySQL的表,并使用Python调用MySQL的SQL查询语言进行统计,统计方法如下:
# 获取文章开始、结束时间及文章总数
1.7 图片制作
使用Python的wordcloud模块制作云图,使用GraphPad Prism 7.0制作折线图。
2 结果与分析
通过Python数据挖掘共收集到2 253条原始数据,经数据清理后,得到1 706篇医疗人工智能相关的学术论文,来源于804种期刊,所有文章共被引用6 130次,共被下载634 050次。文章共有6 695位作者,2 218个机构参与,共有关键词1 392,其中有基金支持的文章661篇。属于自动化技术、计算机技术的有853篇,医药卫生类的有568篇。
2.1 作者及机构分析
1 706篇医疗人工智能学术论文中署名作者共有6 695位,去除重复后共3 951位不同的作者,其中独立作者的文章有348篇,合作作者文章为1 358篇。署名1次的作者共有3 546人,署名2次的作者有544人,署名3次的作者有267人,署名4~7次的作者共有252人。只看作者的署名次数反映不出作者的整体贡献情况,因此需要利用作者加权法进行统计分析。作者加权法是指如果一篇文章有多位作者,根据作者的排名顺序进行加权统计,即按作者的排名递减分配其权数,再进行统计分析。加权系数排名前10的作者为李灿东、于彤、李敬华、向运华、王浩、萧毅、孟祥锋、金征宇、谭铁牛、刘土远。从作者统计角度来看,此时域范围内期刊发文作者大多为医学或人工智能领域专家。
从摘要信息中,共挖掘到3 951位作者所在的机构,其中只出现了1次的机构有1 959个;1 706篇学术论文中,由独立作者机构完成的论文为1 121篇,机构合作完成的585篇,独立作者机构完成的文章较多。
根据作者及机构分析,可以得出80%的文章为多作者合作完成,53%的作者只署名一次,66%的文章为独立作者机构完成,其中中国中医科学院中医药信息研究所是参与完成最多的机构,见表3。医疗人工智能相关学术论文高产机构主要集中在研究所或者医学院校,这些机构为医疗人工智能领域的研究做出了较大的贡献。
2.2 关键词分析
对1 706篇医疗人工智能学术论文的关键词进行统计,共统计到关键词的数量为5 716个,平均每篇文章的关键词为3.35个,绘制出关键词云图(见图2)。其中高频关键词171个,排在前10位的的有:人工智能(627次)、學习(120次)、大数据(105次)、机器人(82次)、应用(55次)、深度学习(46次)、机器学习(42次)、医疗(35次)专家系统(34次)、医学影像(29次)。出现频次最高的关键词是“人工智能”,其次是“学习”和“大数据”,这三个关键词占所有关键词的14%,而且绝对数量比其他关键词要多。从图2可知,这些关键词有主题型关键词和内容型关键词,其中主题型关键词有人工智能,机器人,专家系统、医学影像等,反映了学科性质和研究领域;另外,内容型关键词有学习、应用、大数据、自然语语处理等,反映了学科的研究内容和研究工具。从关键词分析来看,期刊在此时域内载文关键词倾向于人工智能、大数据、机器人、医学影像、专家系统等。这是部分医疗人工智能相关的学术论文的研究热点之一。
2.3 刊物分析
1 706篇医疗人工智能相关学术论文分布在804种期刊上,分布较广泛,经过分析可知,这些期刊主要分为三类:一类是医学类,一类是自动化技术、计算机技术类,还有一类是综合类期刊。其中医学类期刊有218种,自动化技术、计算机技术类的有120种,综合类期刊有262种。另外,医学类期刊的载文量是462篇,自动化技术、计算机技术类的有362篇,综合类期刊的载文量是495篇,其他期刊载文量为387篇。见图3。
从图3可以看出,医学类期刊,自动化技术、计算机技术类及综合类期刊载文量相当,占总论文数的68%,这说明医疗人工智能领域的论文刊载在这三类期刊上,因为医疗人工智能带有很强的多学科交叉的性质,涉及医学、计算机学、语言学等学科,人工智能又是近几年的研究热点,因此在期刊上的分布是比较合理的。
医疗人工智能相关学术论文发文量排名前10的刊物为:中国数字医学(64篇)、电子技术与软件工程(29篇)、中国医疗设备(23篇)、中国新通信(23篇)、医学信息学杂志(16篇)、中华中医药杂志(15篇)、科技传播(14篇)、人工智能(13篇)、通讯世界(11篇)、第二军医大学学报(9篇)。从以上结果可以看出,刊文量较多的均为医学类期刊,其中《中华中医药杂志》及《第二军医大学学报》为核心期刊。
2.4 分类号
1 706篇医疗人工智能相关学术论文中,属于自动化技术、计算机技术的有853篇,医药卫生类的有568篇。其中医疗人工智能相关学术论文数量排行前10的文章类别有TP18(人工智能理论)、R-05(医学与其他学科的关系)、TP242(机器人)、R-4(临床医学)、F49(信息产业经济)、RTP391(计算机应用,信息处理(信息加工)图像识别及其装置、R2-03(中医现代化研究)、R319(医学一般科学,其他科学技术在医学上的应用)、R197.3(保健组织与事业(卫生事业管理))、TP311.13(计算机软件,程序设计方法)。还包括其他类别如语言文学、研究生教育、服务业、情报资料处理等。从分类号来看,医疗人工智能相关学术论文中,50%的文章属于自动化技术、计算机技术,33%的文章属于医药卫生类。
2.5 发表时间分析
通过数据挖掘统计出2010—2019年医疗人工智能相关学术论文的发文情况,见图4。由结果可知,2012—2016年医疗人工智能相关学术论文发文量较平稳上升,2017—2019年医疗人工智能相关的学术论文发文量大幅增加。从近10年来医疗人工智能相关学术论文的发文情况来看,2017—2019年发文量大幅增加,2017年的发文量为2016年的2倍,2018年发文量为2017年的2倍,2019的发文量跟2018年发文量相当。2017年国务院印发了《新一代人工智能发展规划》及《促进新一代人工智能产业发展三年行动计划(2018—2020)》,说明我国已在战略和行动层面部署人工智能的发展目标。标志着人工智能发展成为国家战略。故2017年起,医疗人工智能的发文量成倍增加。
3 结论
伴随着我国互联网的不断发展,网络数据资源越来越丰富,但因大部分数据以非结构形式存在着,信息的收集和分析非常困难,数据的利用率较低。在进行数据挖掘前,若使用传统的人工查询及收集的方法来对每篇论文的题目、作者、单位、期刊、关键词、引用次数、下载频次及分类号等相关信息,进行复制粘贴,不但效率低,也无可避免发生数据遗漏及错误数据等问题。而使用Python数据挖掘技术,数据采集及分析准确率高,速度快,具有人工收集无法比拟的优势。
本研究为期刊编辑提供了期刊数据的研究方法和总体思路,从而间接提升编辑部组稿约稿工作的科学性,同时也为作者提供该研究领域的研究热点及机构等重要学科信息。本文通过中国知网数据库,搭建了基于Python语言的医疗人工智能相关学术论文的数据挖掘及分析系统,对近10年来医疗人工智能相关学术论文进行数据挖掘,主要对题录信息中的题名、作者、关键词、机构,及对文章的发表时间、发表杂志、分类号等信息进行分析,得出了该主题的发文特征。医疗人工智能相关学术论文在大多发表医学类期刊,大部分属于自动化技术、计算机技术类或医药卫生类。该题材文章以多作者合作为独立作者机构完成居多,高频关键词有人工智能、大数据、机器人、机器人、医学影像、专家系统等。
期刊编辑可利用互联网技术,大数据思维进行编辑与出版学领域的研究,告别传统的手工检索的方式,可以大大提高检索效率。笔者借助Python语言对近10年来医疗人工智能相关学术论文进行题录分析,揭示该领域海量文章的内容特征,既可为期刊编辑及作者了解最新研究热点,也为期刊编辑从事编辑与出版学研究提供新技术,是一种值得推广的数据挖掘技术。
参考文献
[1]张晓倩.数据挖掘在网络在线投稿系统中的应用[J].办公自動化(学术版),2013,260(8):36-39.
[2]王秀芝,宋迎法.基于文本数据挖掘的学术期刊选题策划研究[J].煤炭高等教育,2016,34(5):122-126.
[3]侯丽珊.基于数据挖掘的精准化办刊策略[J].中国科技期刊研究,2018,29(5):515-519.
[4]王志鸿,杨松迎,郭敏,等.基于微信平台的科技期刊内容服务策略及实现[J].编辑学报,2018,30(5):522-524.
[5]李雪,王占坤,崔晓健,等.科技期刊编辑新媒体出版能力的培育[J].编辑学报,2016,28(6):602-605.
[6]谭春林,刘清海.期刊编辑发表论文情况的文本挖掘与分析[J].编辑学报,2019,31(4):407-410.