-
面对地震灾害多发的基本国情和防震减灾综合能力相对薄弱的客观事实,迫切需要提升防震减灾能力,夯实防震减灾事业基础。习近平总书记指出,防灾减灾救灾事关人民生命财产安全,事关社会和谐稳定,应当坚持以防为主,防抗救相结合,应注重“建立防灾减灾救灾宣传教育长效机制”。随着科学技术的高速发展,科普传播载体也发生了变化。近年来新媒体技术的广泛运用,对传统科普观念和形式造成了巨大的冲击。《全民科学素质行动计划纲要(2006—2010—2020)》明确要求研究开发实时、交互、动态等特点的网络科普新途径,云技术、大数据等技术的成熟运用也为防震减灾科普工作提供了新的思路。
在实际工作和走访调研中发现,防震减灾科普宣传教育工作还存在许多问题。一方面,虽然通过网络检索能够得到图片、文字、视频等大量资源,但信息重复率高,资料质量难以保证,权威科普教育资源相对缺乏[1],这导致不具备专业知识的科普工作人员难以甄别有效信息,从而影响科普宣传效果,甚至可能会出现具有误导性的错误信息;另一方面,相关科普宣传教育资源具有分散性,在实际应用中存在收集难、存储难、管理难、筛选难等一系列问题,一定程度上增加了科普宣传工作的时间成本和人力资源成本。学校、社区、基层政府、防震减灾科普馆等机构大多缺少防震减灾专业人员指导,却又承担着大量的防震减灾科普宣传教育任务,防震减灾科普教育工作任重道远。
本文从防震减灾法律法规、三大工作体系、科普宣传形式等内容出发,设计了科普资源库搜索指标和资源库架构,通过网络爬虫、数据挖掘等技术,对科普资源搜索指标数据源进行搜集、分析、分类等处理,设计基于web的防震减灾科普资源管理平台架构,为学校、社区、基层政府、防震减灾相关部门的科普宣传提供科学的、便捷的资料获取渠道,提升科普宣传教育工作的便捷度和科学性。
-
随着信息技术的发展和新媒体的兴起,科普宣传的宣传形式、宣传内容等各方面都发生了巨大变化。越来越多的人,尤其是年轻人更愿意通过移动App、门户网站等来获取防震减灾科普资源,这也造成了传播形式呈现出碎片化、即时性、形象化的特点[2]。但无论宣传形式如何变化,科普信息资源始终是各类型宣传产品制作开发的基础。因此,从防震减灾涵盖的基本内容出发,设计了科普资源搜索指标,旨在为网络爬虫爬取及人工上传的科普资源划分确定基本分类模式。搜索指标主要分为2级,具体划分见表1。
表 1 防震减灾科普资源搜索指标
一级搜索指标 二级搜索指标 地震基础知识 ①地球构造介绍;②地震发展史介绍;③地震专业名词定义;④地震灾害特点;⑤防震减灾知识;⑥重点省份地震志;⑦其他 地震法律法规 ①地震工作法律法规知识;②中华人民共和国防震减灾法;③地震监测管理条例;④地震监测设施和地震观测环境保护条例;⑤地震行政复议规定;⑥地震预报管理条例;⑦震后地震趋势判定公告规定;⑧破坏性地震应急条例;⑨其他 地震应急预案 ①国家级地震应急预案;②省级地震应急预案;③较大市市级地震应急预案;④重点部门专项地震应急预案推荐;⑤其他 地震监测预报 ①地震监测;②地震预报;③地震前兆;④地震谣言识别;⑤地震监测预报学术研究及成果;⑥其他 地震灾害防御 ①工程抗震理论;②防震减灾规划理论;③普通房屋抗震;④家庭防震准备;⑤公共场所防震;⑥地震灾害防御学术研究及成果;⑦其他 地震应急救援 ①地震应急工作;②大震预警;③紧急避震;④自救互救;⑤灾后注意事项;⑥过渡性安置;⑦灾后心理干预;⑧专业救援队伍介绍;⑨志愿者管理;⑩地震应急救援学术研究及成果;⑪其他 典型灾害案例资料 ①海城地震;②汶川地震;③玉树地震;④芦山地震;⑤鲁甸地震;⑥康定地震;⑦美国卡特里娜飓风;⑧印尼海啸;⑨美国地铁爆炸案;⑩日本3·11地震;⑪智利地震;⑫台湾9·21地震;⑬其他 其他国家先进经验介绍 ①美国FEMA联邦应急管理署;②日本国土交通厅;③俄罗斯紧急情况部;④其他 “七进”活动资料 ①进企业;②进校园;③进机关;④进社区;⑤进农村;⑥进家庭;⑦进公共场所 -
通过专家咨询、走访调研、网民搜索行为研究等方式,确定了本平台应用方向及用户需求。平台设计从功能需求出发,确定平台功能模块,完成整体架构设计和Hadoop架构设计,实现防震减灾科普资源的科学管理,为个人、学校、企业、单位等的防震减灾科普教育工作提供搜索渠道,为科普宣传教育产品、应用开发提供数据资源。
-
该平台功能整体分为三大模块:普通用户模块、管理员模块和系统模块(图1)。
通过网络爬虫及人工输入,结合ETL技术,实现对Internet或Intranet中与防震减灾科普相关数据源的数据采集、清洗、转换、合并及储存,同时提供在线编辑、接口注册、Excel表格导入、文件上传等人工操作方式。基于Hadoop架构设计防震减灾科普资源库,实现防震减灾科普数据资源的统一注册、统一分析、统一监控的全生命周期管理。
在资源库构建的过程中,结合防震减灾业务架构,划分业务关键词,通过设计层次聚类模型,挖掘数据资源之间的关联,实现防震减灾科普数据资源的自动分类和聚合。同时提供基于资源库的各类应用服务,如面向各类用户的防震减灾科普资源检索,提供统一Web界面,用户可输入关键字查询相关的科普资源,对得到的查询结果进行自定义清洗、对需要的资源进行下载及收藏,用户同样可以通过在线编辑、接口注册、Excel导入、文件上传等人工注册的方式,实现数据上传。后台管理员负责对整个系统的运行进行管理,包括用户管理、资源分类管理、爬虫设置、数据资源管理、日志管理等,同时加入专家评判功能,使资源管理更加科学准确。整个系统功能结构图如图2所示。
平台采用自顶而下的模块化设计,各模块具有一定的独立性,在具体划分时,既考虑了模块的凝聚和耦合2个指标,也考虑了整个平台层次结构及功能的合并。其中,高凝聚:一个处理功能划分为一个模块,由于相关因素少,易于理解,独立性强,便于设计,从而提高系统的灵活性、可修改性和可维护性;低耦合:尽量减少各模块间的数据传输,以提高模块的独立性,从整体上提高平台的稳定性。
-
平台采用了分层的设计思路,可支持科普资源采集、传输、存储、计算、分析及推荐展示等多种功能。其架构设计包括:
1)源数据层:通过本地上传和爬虫抓取等方法完成原始数据的采集。
2)数据传输层:建立各种数据传输适配器,接收源数据层的数据存储到本地目录;同时,ETL适配器接收通过ESB服务总线下发的控制命令,执行数据ETL操作,将清洗后的数据传递到存储层。
3)存储层:分类存储各种资源数据,包括实时数据、历史数据、元数据、结构化数据及非结构化数据等,能够通过数据访问服务将资源数据提交计算层进行分析和计算。
4)计算层:能够对存储层中的各类资源数据执行分析计算等处理。
5)服务层:主要包括ESB服务总线。ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,从而实现了不同服务之间的通信与整合[3]。
6)应用层:通过ESB服务总线实现对资源大数据的访问和控制命令的下发等功能,主要包括平台应用、系统应用及基础服务等(图3)。
-
Hadoop是一种分析和处理大数据的软件平台,能实现海量数据的分布式计算,其架构的核心设计为分布式文件系统(HDFS,Hadoop Distributed File System)和分布式计算模型MapReduce[4]。HDFS具有高容错性的特点,而且它提供高吞吐量来访问应用程序的数据,适合有着超大数据集的应用程序,为海量的数据提供了存储。MapReduce是面向大数据并行处理的计算模型、框架和平台,用于大规模数据集的并行运算。因此,本平台采用Hadoop架构实现平台的设计功能。
本平台Hadoop架构分为数据获取层、数据清洗层、数据存储层和数据处理层(图4)。数据获取层利用爬虫和人工上传2种方式获取数据文件;数据清洗层对获取得到的数据文件进行筛选,去除不需要的文件,并将需要的数据文件保存;数据存储层在HDFS建立存储目录,在分布式的、面向列的开源数据库HBase中建立表单,为信息的存储提供存储空间;数据处理层对数据文件进行处理,建立索引,并将索引存储在HBase中,以便外部应用对数据文件的快速获取。
-
数据获取层的功能是获取数据文件,其数据文件的来源为爬虫爬取和人工上传2种途径。
1)爬虫爬取
利用基于Scrapy[5]框架的分布式结构爬虫对目标网站URL进行数据爬取,从而达到迅速处理完成数据文件爬取任务的目的。爬虫工作步骤如下:
① 读取数据库
将包含目标URL、爬取深度以及爬取文件类型等设置的配置文件加载至爬虫配置中,采用逐层(网页层数)爬取的方式,首层爬取完毕后判断配置是否加载完成,根据配置内容加载情况判断是否进入下一层工作。
② 爬取数据文件
爬虫按照配置文件中的预设条件,对各个网站URL进行循环爬取,直至完成配置文件中的配置加载和数据爬取,爬取后的文件存放在本地的Source文件夹中(图5)。
③ 保存文件信息
在爬取数据文件后,对数据文件的来源URL、类型、大小、爬取日期等信息进行保存,并存储至MySQL数据库的表中(图6)。
2)人工上传
利用Web管理页面直接将数据文件分类上传至HDFS对应文件夹中。
-
在网络爬取信息资源的过程中,同一关键词会出现许多重复的、不相关的信息数据,因此需要采用数据清洗技术对数据进行过滤、筛选[6]。在文本过滤领域,向量空间模型VSM已成为最简便高效的文本表示模型之一[7]。采用基于VSM的文本内容过滤算法提取出来的文本类文件内容相似度来对数据进行清洗,过滤内容相似度较低的数据。数据清洗层从Source文件中的日期文件夹中获取爬虫爬取或人工上传的网页、文本、图片视频等类型的信息资源,根据信息资源类型的不同,提取文本内容、文件名称内容进行清洗,将需要的数据文件保存至HDFS文件夹下的相应类型目录下,以便数据存储层和数据处理层的使用。
在文本清洗过程中,采用IKAnalyzer分词技术对提取的文本内容进行切分[8-10],得到能够代表该文件文本内容特征的字、词等,用t表示。同时去除无用的停用词,组成一个特征向量(t1,t2,···,tn),其中,n表示特征项的数量。
通过关键词提取算法TF-IDF(term frequency–inverse document frequency)计算输入文本的特征权重,当某个特征在一篇文本中出现概率(TF)高,而在别的文本出现概率(IDF,即逆文档频率)低,则该特征具备较好的文本区分能力,具体公式如下:
$$TFID{F_{i,j}} = T{F_{i,j}} \cdot ID{F_i}$$ (1) $$T{F_{i,j}} = \frac{{{h_{i,j}}}}{{\mathop \sum \nolimits_1^m {h_{k,j}}}}$$ (2) $$ID{F_i} = \log \frac{{\left| D \right|}}{{\left| {\left\{ {j:{t_i} \in {d_j}} \right\}} \right|}}$$ (3) 式中:
$TFID{F_{i,j}}$ 为字词ti相对于文档j的权重wi;$T{F_{i,j}}$ 为某个给定字词ti在指定文档中出现的次数占比,这个数字可以对词数归一化,防止偏向长文本;${h_{i,j}}$ 为该字词在文本dj中出现的次数;$\mathop \sum \nolimits_1^m {h_{k,j}}$ 为文本dj中所有字词出现的次数之和;$k \in \left[ {1,m} \right]$ 为去除重复后的字词索引;m表示去除重复后的关键词总数;IDFi为字词ti的逆文档频率,|D|为文档总数量;$\left| {\left\{ {j:{t_i} \in {d_j}} \right\}} \right|$ 为包含字词ti的文档数量。读取数据库清洗设置表中的关键词和权重列表,将该权重列表作为模板权重向量。由于wi为字词ti在文本中的权重,那么输入文本就可以表示为一个以特征项
$({t_1},{t_2},{t_3}, \ldots ,{t_n})$ 为坐标系的n维空间中的向量(${w_1},w,{w_3}, \ldots ,{w_n}$ )。通过计算2个不同文本向量之间的余弦相似度得到2个文本之间内容的相似度:$$similarity = \frac{{\mathop \sum \nolimits_{i = 1}^n {{ W}_{1i}} \times {{ W}_{2i}}}}{{\sqrt {\left( {\mathop \sum \nolimits_{i = 1}^n {{ W}_{1i}}^2} \right)\left( {\mathop \sum \nolimits_{i = 1}^n {{ W}_{2i}}^2} \right)} }}{\text{。}}$$ (4) 式中:
${{ W}_{1i}}$ 表示输入文本的权重向量,${{ W}_{2i}}$ 表示模板权重向量。清洗过程如图7所示。
-
HDFS中的文件在物理上是分块(block)存储的,客户端上传文件时文件会被切分成多个数据块,这些数据块存储在若干个datanode服务节点中,且每一个block在集群中会存储多个副本,这样可以提高数据的可靠性及访问的吞吐量(图8)。
HDFS文件系统会给客户端提供一个统一的虚拟目录树,客户端通过路径来访问文件,目录结构及文件分块位置信息(元数据)由namenode节点来管理,namenode是HDFS集群主节点,负责维护整个HDFS文件系统的目录树,以及每一个路径(文件)所对应的数据块信息(block_id及所在的datanode服务器)。读取文件时通过访问namenode节点中的映射关系来查找所有的数据块。文件上传后,提取每个文件的属性信息,包括文件名称、文件URL、文件目录、文件内容关键字、文件内容、文件类型、文件来源、文件生成时间、文件大小、文件访问权限以及文件删除标识等,并将这些属性信息封装成一个文件对象存储至HBase中。
-
数据处理层的任务主要是根据需要对保存的数据文件进行处理并生成文档对象,通过合理定义文档的索引方式来确定文档存储位置,同时建立倒排索引,以便数据的快速查找和外部应用的快速使用。
根据数据清洗层记录的数据文件的存储地址,利用文件解释API(Application Programming Interface,应用程序编程接口)进行循环读取和解析数据文件,提取文件属性信息,将每个文件的属性信息封装成一个文档对象,通过倒排索引保存至HBase中。在HBase中建立主表、索引表。主表用于存储数据文件的相关属性信息(数据文件的名称、关键词、内容、大小以及类型等),索引表用于存储倒排索引(图9)。这种储存数据的方式是为了便于数据的快速查找,以及外部应用的快速使用,如全文检索、统计分析、资源管理等。
-
平台界面设计主要针对软件的交互管理界面,使其具备清晰的交互逻辑、友好的操作方式和简洁的呈现效果,从而方便管理员对系统进行管理操作,提升其良好的用户体验。图10~11展示的为登陆界面及爬虫设置管理界面。
-
在平台可靠性方面,项目组在爬取网址(URL)的选择上优先选取了国内权威的防震减灾部门、科普机构、政府、新闻媒体等官方网站,以保证爬取信息的准确性;其次,通过数据清洗技术将爬取信息做更进一步的过滤、筛选,提高搜索内容的相关性;最后,加入专家评判功能,用户可通过向专家发起信息咨询确定资料的准确性,从而提高平台整体可靠性。
项目组通过开源的轻量级压力对平台进行测试,采用Jmeter工具测试平台对用户并发访问的承载能力。多次模拟并发量为3 000个用户时,请求响应平均耗时在300 ms左右,错误率为0;当并发量为4 000个用户时,请求平均耗时400 m左右,错误率接近30%。图12与图13分别是并发量为3 000和4 000时的测试结果。
在提高平台搜索精度与效率方面,在全文检索的过程中,搜索精度按照分类检索和文件类型检索2种方式,采用全字段匹配进行精确查找,搜索结果精确度可达100%;而关键词检索是基于底层倒排索引及TFIDF算法进行相似度运算,全文检索结果的精确度亦可达100%,全文检索从发送请求至返回结果的平均响应效率为835 ms/次(图14)。
-
随着信息化时代的到来,信息数据的重要性愈发突显,防震减灾科普教育资源亟需有效整合、管理,提高科普资源科学性和创新科普宣传方式、方法。本文提出并设计了防震减灾科普资源搜索指标,以此为基础通过数据挖掘技术建立了防震减灾科普资源管理平台。该平台主要实现了信息检索、收藏、上传、下载等功能,可用于支持科普场馆、学校和相关部门了解防震减灾科普宣传工作相关信息,确定科普宣传主题,更快速地收集所需素材,并将其制作成宣传资料,协助开展科普宣传工作。为满足海量数据的筛选、分类、搜索等管理要求,本文主要采用了网络爬虫、IKAnalyzer中文分词、VSM算法、倒排索引等技术,实现防震减灾科普资源的科学管理。
下一步,项目组继续优化系统功能与平台承载能力,降低多用户访问时的出错率。同时,为了提高科普资源库的利用率和科普资源的高效分类,计划采用神经网络技术优化资源分类目录,并结合用户对科普资源关键词的搜索频次,实现科普资源的智能化推送,完善资源库功能。
Public Science Resource Management Platform for Earthquake Prevention and Disaster Reduction Based on Data Mining Techniques
-
摘要: 鉴于防震减灾科普资料存在数据类型多、管理难度大,海量数据检索困难、利用率低,资料科学性难以保证等问题,设计了基于Hadoop架构的防震减灾科普资源管理平台架构,设定了防震减灾科普资源搜索指标,通过网络爬虫及人工输入等方式,对相关数据进行采集、清洗、转换及合并,实现不同类型数据资源的分类,为防震减灾科普资源的管理提供科学方法。Abstract: In view of the problems existing in the public science resources of earthquake prevention and disaster reduction, such as multiple data types, difficulty in management and massive data retrieval, low utilization rate and uncertain accuracy of publicity materials, this paper designs a public science resources management platform based on Hadoop architecture. By means of web crawler and manual entry under the searching index catalog, the platform supports collecting relevant data of earthquake prevention and disaster reduction that enables classification of different data types and scientific methods for the management of public science resources.
-
Key words:
- earthquake prevention and disaster reduction /
- public science /
- data mining /
- Hadoop /
- web crawler
-
表 1 防震减灾科普资源搜索指标
一级搜索指标 二级搜索指标 地震基础知识 ①地球构造介绍;②地震发展史介绍;③地震专业名词定义;④地震灾害特点;⑤防震减灾知识;⑥重点省份地震志;⑦其他 地震法律法规 ①地震工作法律法规知识;②中华人民共和国防震减灾法;③地震监测管理条例;④地震监测设施和地震观测环境保护条例;⑤地震行政复议规定;⑥地震预报管理条例;⑦震后地震趋势判定公告规定;⑧破坏性地震应急条例;⑨其他 地震应急预案 ①国家级地震应急预案;②省级地震应急预案;③较大市市级地震应急预案;④重点部门专项地震应急预案推荐;⑤其他 地震监测预报 ①地震监测;②地震预报;③地震前兆;④地震谣言识别;⑤地震监测预报学术研究及成果;⑥其他 地震灾害防御 ①工程抗震理论;②防震减灾规划理论;③普通房屋抗震;④家庭防震准备;⑤公共场所防震;⑥地震灾害防御学术研究及成果;⑦其他 地震应急救援 ①地震应急工作;②大震预警;③紧急避震;④自救互救;⑤灾后注意事项;⑥过渡性安置;⑦灾后心理干预;⑧专业救援队伍介绍;⑨志愿者管理;⑩地震应急救援学术研究及成果;⑪其他 典型灾害案例资料 ①海城地震;②汶川地震;③玉树地震;④芦山地震;⑤鲁甸地震;⑥康定地震;⑦美国卡特里娜飓风;⑧印尼海啸;⑨美国地铁爆炸案;⑩日本3·11地震;⑪智利地震;⑫台湾9·21地震;⑬其他 其他国家先进经验介绍 ①美国FEMA联邦应急管理署;②日本国土交通厅;③俄罗斯紧急情况部;④其他 “七进”活动资料 ①进企业;②进校园;③进机关;④进社区;⑤进农村;⑥进家庭;⑦进公共场所 -
[1] 孟凡馨, 王婧颖. 地震现场科普宣传对策研究[J]. 科学大众(科学教育), 2018(12): 191-192. [2] 兰思萱. “互联网+”时代防震减灾科普宣传工作的重要性思考[J]. 科技传播, 2018, 10(20): 171-172. doi: 10.3969/j.issn.1674-6708.2018.20.086 [3] 曾文英, 赵跃龙, 齐德昱. ESB原理、构架、实现及应用[J]. 计算机工程与应用, 2008, 44(25): 225-228. doi: 10.3778/j.issn.1002-8331.2008.25.068 [4] 颜巍. 基于云平台的数据挖掘算法的研究与实现[D]. 成都: 电子科技大学, 2013. [5] 安子建. 基于Scrapy框架的网络爬虫实现与数据抓取分析[D]. 长春: 吉林大学, 2017. [6] 杨东华, 李宁宁, 王宏志, 等. 基于任务合并的并行大数据清洗过程优化[J]. 计算机学报, 2016, 39(1): 97-108. doi: 10.11897/SP.J.1016.2016.00097 [7] 郭正凯. 基于VSM的中文Web文本聚类算法的研究与实现[D]. 广州: 华南理工大学, 2013. [8] 郑翠仙, 孙文强, 邓创兴, 等. 基于IKAnalyzer及VSM的人大代表议案建议相似度计算[J]. 信息通信, 2016(8): 48-50. doi: 10.3969/j.issn.1673-1131.2016.08.024 [9] 朱朝勇. 基于本体的知识库分类研究[D]. 合肥: 中国科学技术大学, 2013. [10] 孙润志. 基于语义理解的文本相似度计算研究与实现[D]. 沈阳: 中国科学院研究生院(沈阳计算技术研究所), 2015. -