期刊信息
Navigation

刊名:地质科技通报
曾用名:地质科技情报
主办:中国地质大学(武汉)
主管:中华人民共和国教育部
ISSN:1000-7849
CN:42-1904/P
语言:中文
周期:双月
影响因子:0
数据库收录:
文摘杂志;北大核心期刊(1992版);北大核心期刊(1996版);北大核心期刊(2000版);北大核心期刊(2004版);北大核心期刊(2008版);北大核心期刊(2011版);北大核心期刊(2014版);北大核心期刊(2017版);化学文摘(网络版);中国科学引文数据库(2011-2012);中国科学引文数据库(2013-2014);中国科学引文数据库(2015-2016);中国科学引文数据库(2017-2018);中国科学引文数据库(2019-2020);日本科学技术振兴机构数据库;文摘与引文数据库;中国科技核心期刊;期刊分类:地质学
期刊热词:
环境地质工程

现在的位置:主页 > 期刊导读 >

基于Python的科技情报智能化识别检索系统的研(3)

来源:地质科技通报 【在线投稿】 栏目:期刊导读 时间:2020-10-01

【作者】网站采编

【关键词】

【摘要】:[1]张志强.论科技情报研究新范式[J].情报学报,2012,31(8):788-797. [2]肖旻,陈行.基于Python 语言编程特点及应用之探讨[J].电脑知识与技术,2014(12):8177-8178. [

[1]张志强.论科技情报研究新范式[J].情报学报,2012,31(8):788-797.

[2]肖旻,陈行.基于Python 语言编程特点及应用之探讨[J].电脑知识与技术,2014(12):8177-8178.

[3]魏冬梅,何忠秀,唐建梅.基于Python 的Web 信息获取方法研究[J].软件导刊,2018,17(1):41-42.

[4]Leonard Soup [EB/OL].

[5]David Gourley, Brian Totty Reddy, Ansbu 权威指南[M].北京:人民邮电出版社,2012:68-69.

[6]韦嵘晖.大型央企集团技术竞争情报系统一体化管理运维研究[J].图书情报知识,2012(2):95-99.

近年来,各个领域的企业都积极地开展对大数据的挖掘和利用。随着物联网、智能设备与互联网+的概念不断普及,每天在互联网上产生的数据已经超过2.5 万亿字节,致使这些巨量的数据无法在短时间内被捕捉和处理,提炼成为我们日常有用的数据。大数据与信息技术的应用融合,将科技情报研究工作转变为一种基于海量数据的知识发现和知识分析过程,科技情报研究已经向"数据密集型科学"这一新的研究范式演进[1]。企业的科技研发部门肩负着企业科技创新与成果转化的重担,科研人员每年必须积极参与国家及地方各部委发布的科研课题从而获得科研经费的支撑。在海量数据的环境下,真正需要的有价值的知识被淹没,准确的科技情报收集工作不但占用了科研人员宝贵的时间,不能很好地为企业的科研工作提供保障。作为国家知识库的概念,中国知网(CNKI)拥有世界上最大的中文知识信息资源数据库,每天提供数千种信息检索服务,且其平台KBase 服务于包括欧美、日本在内的发达国家,并取得了成功。在全球5,000 个机构用户中,其卓越的性能和稳定性深受用户欢迎。此外,在调查了美国的兰德公司(RAND)、加拿大科技情报研究所(CISTI)、日本科学技术政策研究所(NISTEP)等几家国际著名情报机构的情报分析方法后发现,国外典型科技情报机构的情报分析与应用呈现出工具化、系统化与平台化的特征。综上分析,企业情报部门及科研人员需要获得粒度更细更精准的科技情报服务,亟需设计开发一套符合企业实际情况、开发灵活、简单易用、具备科技情报收集与分析功能的软件平台系统。Python 语言是一种功能强大的具有解释性、交互性和面向对象的第四代计算机编程语言,它开发代码的效率非常高,具有强大和丰富实用的第三方标准库,使得编程变得简洁快速并支持广泛的应用程序开发,从简单的文字处理到基于Web 的开发及游戏设计的应用[2]。使用基于Python的网络爬虫应用,不仅可以实时监控提供科技情报的网站发布的所有信息,并且还能进行关键字等的过滤,无需人工干预,就能向指定的用户提供有效信息的推送。1 系统的主要功能及目标根据前期对企业科研部门调研,本文所研究的基于Python 的科技情报智能化识别检索系统需要实现以下功能: 定时从系统预设的网络渠道获取最新发布的科研情报; 建立可视化科技情报智能化识别检索系统,用户还可自行订阅相关类型或关键字的情报。系统建设完成后,能推广至集团及下属子集团各科研单位进行使用。2 系统的功能设计2.1 系统的设计本系统程序设计分为两大模块:(1)通过Python 网络爬虫程序抓取可自定义类型及关键字的科技情报,将非结构化数据按指定格式保存到数据库中;(2)建立基于B/S 架构的可视化管理平台,可实现包括用户管理、信息检索、内容订阅、数据维护、日志管理等功能。程序设计功能框架如图1 所示。图1 程序设计功能框架图2.2 基于Python的网络爬虫程序网络爬虫是一种按照规则对Web 信息进行遍历,自动抓取万维网信息的程序或脚本[3]。网络爬虫的主要原理是从预置的URL 地址集合中遍历HTML 页面所有的内容,并根据不同的需求采集当前页面或者下N 级子页面中的有效信息,最后把网页中的非结构化数据转存到结构化数据库中。简单可描述为:预置URL 地址->遍历HTML 页面->获取有效信息->结构化存储。urllib 包为Python3 中提供了十分强大的能够操作URL 功能的库。例如,使用 能够打开并爬取一个网页,具体实现的方法为: 打开某个指定URL 地址, 获取HttpResponse 返回对象并读取其ResposneBody,然后通过预置的算法对返回对象进行精细化加工。在实际爬虫程序从网页抓取数据的过程中,可以使用Beautiful Soup 这一Python 的第三方库,Beautiful Soup 功能包括解析HTML、XML 文档、修复含有未闭合标签等错误的文档 (此种文档常被称为tag soup)。这个扩展包为待解析的页面创建一棵树,以便提取其中的数据,这在网络数据采集时非常有用[4]。举一个简单例子:soup=BeautifulSoup(html)//初始化其中得到的soup 可以理解为把HTML 页面中的树状结构的所有节点按照一定方式保存到Python 程序可以解析的对象。Beautiful Soup 提供了强大的API 用来解析这个soup 对象,采集其中有用的信息。紧接着上面的代码段:lists = _all('div',class_='page-link')for li in lists:()lists 这个变量获取了soup 对象中所有的css 的值为"page-link"的div 标签,并通过for 循环语句将所有的HTML 链接的名字以字符串类型赋值给了titles 变量。爬虫程序另一个重要的功能是把从网页中采集到的信息,保存为文本文件,并作为附件通过电子邮件发送给科研人员进行阅读。这个功能就是把网页中的非结构化或半结构化数据保存为结构化数据。本节之前提到的ResposneBody 是一个json 或者xml 格式的半结构化数据对象,数据无法让读者直观读懂,而将文件保存到数据库表以及excel 文件这类结构化数据,将大大增加数据的可读性 消息订阅模块本文2.2 中叙述的网络爬虫程序将所获新的科技情报保存进数据库后,系统后台会定时发起一个Python 定时抽取数据的任务,并与系统中用户订阅信息相互匹配,将最新情报生成一个word 文件并通过电子邮件的形式发送给订阅过该类信息的科研人员。为了提高消息订阅的实时性,将来可设计从微信公众号绑定此定时任务,用户可实时查看最新科技情报 可视化管理平台为使科研人员能够在PC、移动端检索科技情报信息,必须建立基于HTML5 的跨平台可视化管理系统。科研人员在登录系统后,可使用信息检索、信息订阅服务;系统管理员可以堆URL 列表、用户账号进行维护,对系统异常日志进行分析和处理。系统用户可通过关键字、情报来源、发布日期的范围对数据库中的科技情报进行检索并可通过导出excel文件的形式把情报列表导出至PC 或移动端。除此之外,用户可以对新情报的关键字、情报来源进行订阅,后台将会通过定时任务实时推送至用户设定的邮箱。系统管理人员除了可对用户进行管理之外,还可以对情报来源的URL 进行维护,对信息来源的URL 进行开关设定。Python 作为一种网络爬虫,使用的是网络层的http 协议,即发送请求' 相应请求' 返回结果,在这个过程中由于网络状况的不稳定,以及对方服务器的自身问题,经常会返回"404 Bad Request:用于告知客户端发送了一个错误的请求",或者"500 Internal Server Error: 服务器遇到一个妨碍它为请求提供服务的错误"等状态码[5]。因此在系统日志中某个URL 集中发现同类错误状态码时,需要亲自验证该URL 是否已经更改,并提交系统开发人员更新相应URL 的爬虫程序 案例实现以抓取国家科技部的某项信息为例,Python 程序实现方式如以下步骤:(1) 构造浏览器头文件,模拟浏览器访问指定URL:url=" = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36'}(2) 分析页面源代码,找出具有唯一性的HTML 结构,此案例中数据列表的特征为所有a 标签中class='title'的代码行。然后构造指定通知列表的数据结果集,包括通知公告名称、通知公告链接、发布时间等信息:h1s = _all ('h1',limit=12)# 查找所有a 标签中class='title' 的语句for h1 in h1s:if h1.a ! = None:(str())(h1.a.get('href'))()(3) 把得到的结果集以结构化数据的方式保存至数据库中:for i in range(10):item_result = []item_result = (titles [i],links [i],dates [i],dates [i],10,titles[i])(item_result)insert_(result)(4)搭建可视化管理平台,通过预设的关键字、信息来源、时间范围等过滤条件,显示在用户界面,如图2 所示:图2 情报检索界面3 结束语本文结合科研工作实际情况,研究并设计了一套科技情报智能化识别检索系统。该系统的数据来源于Python 编写的网络爬虫程序,通过对指定的URL 列表进行数据的抓取,把提取的科技情报保存到数据库并推送给订阅过相关内容的科研人员。利用跨平台可视化的系统界面方便科研人员主动检索科技情报,系统不仅减轻了科研人员获取科研情报的工作压力,还一定程度上提升了企业的科技研发能力。当然,对大型企业来说,该系统的使用仅仅是对大数据挖掘使用的冰山一角,随着信息技术的发展,企业科技情报服务的远景目标是建立基于数据中心的知识服务平台。这种企业数据中心化的服务平台不仅能提供稳定、高效、持续的科技情报检索服务,智能化的技术情报推送,高效的科技创新课题研究,还能提供各项科技指标的统计分析、行业对标服务与咨询服务[6]。【参考文献】[1]张志强.论科技情报研究新范式[J].情报学报,2012,31(8):788-797.[2]肖旻,陈行.基于Python 语言编程特点及应用之探讨[J].电脑知识与技术,2014(12):8177-8178.[3]魏冬梅,何忠秀,唐建梅.基于Python 的Web 信息获取方法研究[J].软件导刊,2018,17(1):41-42.[4]Leonard Soup [EB/OL].[5]David Gourley, Brian Totty Reddy, Ansbu 权威指南[M].北京:人民邮电出版社,2012:68-69.[6]韦嵘晖.大型央企集团技术竞争情报系统一体化管理运维研究[J].图书情报知识,2012(2):95-99.


文章来源:《地质科技通报》 网址: http://www.dzkjqbzz.cn/qikandaodu/2020/1001/399.html


上一篇:《无线互联科技》征稿启事(2019)
下一篇:基于人工智能的科技情报需求自动感知研究<sup