作品编号:C8(特等奖)
作品名称:科技战疫·突发急性传染病多尺度智能监测预警系统
作者单位:滁州学院
小组成员:岳梓晨 袁晓阳 范立志 邓虎
指导老师:邓凯 杨灿灿
一、需求分析
1.1 社会需求
2020年,新型冠状病毒(COVID-19)爆发,短时间内肆虐全球,民众的生命受到威胁,生活出行受到限制,经济发展经历重创,很多国家甚至引发了社会动荡。而针对此次疫情暴露出来的各种问题,我们也意识到了突发急性传染病问题需要一个更加科学有效的解决方案,因此开发了突发急性传染病多尺度智能监测与预警系统,利用现有的大数据、云计算、AI智能算法、GIS等先进技术,实现了对突发急性传染病疫情、舆情的多维、多尺度查询、展示、监测、舆论分析、风险评估、传播过程分析、AI疫情预测等功能。
作品主要采用Hadoop分布式运算技术,结合GIS的空间分析功能,实现在大数据基础上的疫情时空分析。采用ArcGIS Server空间服务平台、spring+mybatis+vue开发框架,利用分布式爬虫获取疫情大数据和舆情大数据。实现多尺度下的疫情实时监控、查询。并通过TF-IDF算法、LDA主题模型进行舆情主题信息提取及情感分析,采用Hadoop集群环境处理大数据,进行并行高速运算,并以图表形式进行舆情可视化。将海量病例数据,构建病患关系图谱,精准筛选确诊人群、潜在感染人群的信息及其位置轨迹。并结合ARIMA时序分析,SEIR传播模型对疫情发展的可能情况进行态势推演,估算出城市内部的疫情危险系数,对疫情传播规律及其拐点进行模拟预测。总体实现多源疫情数据下的时空分析与城市计算。提供一套完整的疫情防控管理解决方案,以期为民众、政府疾控部门在疫情期间生活、疫情防控提供科学有力的参考。
1.2 问题需求
系统旨在现有的传染病时空预警技术基础上,利用ArcGIS平台体系的空间分析与可视化技术、自然语言处理(NLP)、机器学习预测和传染病时空分析相关理论对突发急性传染病智能监测预警研究进行了深入研究,并解决如下问题:
1)监测尺度问题:项目构建多尺度传染病时空分布监测体系,目前的传染病监测缺乏对空间多尺度研究。尺度过大,大量细节会被忽略;尺度过小,易陷入局部而不能把握整体态势;本研究提出一种面向多尺度的传染病时空分析体系。实现从全球到国家和县市传染病数据及时、高效、安全和可靠的网络传输,可视化展示,探索传染病在不同空间尺度下的时空变化模式和规律。
2)民众舆情问题:项目基于NLP自然语言处理技术实现传染病舆情挖掘分析模型,基于PMI点互信息计算方法对观点词的语义相似度及属向进行判读,实现了快速高效的舆论热门话题提取,结合机器学习的方法训练分类器进行舆情情感分类训练,以提高分析的准确率。满足了大数据量传染病突发事件数据的舆情计算需求,建立了传染病数据和空间数据的有机联系,为传染病事件舆情分析提供了支撑。
3)扩散预测问题:项目完善传染病时空预警模型,在现有SEIR传染病预测的基础上,将政府的控制措施作为影响疫情传播的因素,扩展了大数据维度下传染病预测方法,提出采用机器学习算法的ARIMA时间序列模型,对疫情的传播规律及其拐点进行预测分析,对传染病疫情的预防控制起到辅助判断作用。
4)时空分析问题:目前缺少合理准确的传染病数据空间分析方法。疫情爆发不仅与发病时间有关,而且与其空间位置有密切联系。面对每日大量的疫情数据空间化需求,传统的空间分析方法都不十分适用,项目集成ArcGIS GeoEvent 流服务,基于疫情的实时数据流集成为数据源,进行实时更新的空间分析,揭示传染病流行过程中的空间传播模式、传播中心的时空转移及其分异规律。
最终利用GIS服务、Hadoop大数据平台、SSM(Spring + SpringMVC + MyBatis)分层架构,设计实现了突发急性传染病智能监测预警系统,并将多空间尺度传染病时空预警的信息化流程融入系统之中,提高了全球范围内传染病预警的时效性、敏感性和准确性,满足了传染病预防控制工作的实际需求。
二、总体设计
2.1架构设计
图2-1 产品技术架构
突发急性传染病智能监测预警系统构建是本平台的展示门户与交互窗口,采用组件式开发模式,实现传染病病例数据和外环境监测数据实时上图、网络疫情事件舆情分析、疫情扩散智能预测模拟、疫情时空聚集性分析等功能,探索了可推广的风险评估模式,为急性传染病的预防控制和早期预警提供了有效的决策支持。
2.2功能设计
项目平台主要对突发急性传染病智能监测与预警进行研究,结合疫情时空大数据形成一套突发重大传染病疫情的应急管理机制,面向社会启用开放“疫情作战平台”,主要研究内容包括:1)多尺度下的传染病疫情时空分布监测;2)基于NLP自然语言处理的突发事件舆情分析;3)基于SEIR模型、ARIMA时间序列算法的扩散传播预测;4)基于ArcGIS的传染病疫情传播模式及分异规律时空分析;5)疫情智能监测预警Web服务平台构建;
产品集成GIS空间分析服务与后端服务开发突发传染病疫情监测、查询、预警的数据请求接口,并搭建Web项目平台,总体基于Hadoop大数据平台,WebGIS框架,SSM架构,构建完成一体化的突发急性传染病多尺度智能监测预警系统。
图2-2疫情智能监测预警Web平台
2.3数据库设计
标识符和状态
数据库软件:数据库管理系统为SQL Server云数据,版本号为11.0.4。
数据库名称:Sudden DIEASE
命名约定
数据库的设计应该符合并遵守以下原则:
1)对象名称一律采用大写字母,单词之间以下划线(“_”)分割。
2)属于相同模块的对象第二个单词应该相同。
3)字段必须采取和实际数据相符合的数据类型。
4)不要在对象名的字符之间留空格。
5)避免使用数据库特有的数据类型,尽量避免使用触发器、存储过程等。
6)避免使用动态创建表或者字段的设计。
7)每个表的字段最好不要超过30个。
8)对象命名都应该使用正确的英文单词,禁止使用汉语拼音。
9)小心保留词,要保证命名没有和保留词、数据库系统或者常用访问方法冲突。
设计约定
数据库的设计,采用面向对象的设计方法。首先进行对象实体的设计,最后将对象实体持久化到数据库中,所有的表和表之间的关联,这样能够将整个系统的设计和数据库设计有机的结合起来。
数据表结构设计
图2-3 系统逻辑设计图
2.3.5安全性设计
实施系统资源管理分配计划,SQL Server提供了Database Resource Manager(DRM,数据库资源管理器)来控制用户的资源分配,DBA可以用它分配用户类和作业类的系统资源百分比。在一个OLDP系统中,可给联机用户分配75%的CPU资源。另外,还可以进行CPU的多级分配。除了进行CPU资源分配外,DRM还可以对资源用户组执行并行操作的限制。使用最优的数据库连接和SQL优化方案。
2.4关键设计
机器学习
1)TensorFlow:TensorFlow是一个基于数据流编程的符号数学系统,被广泛应用于各类机器学习算法的编程实现,其前身是谷歌的神经网络算法库,其拥有多层级结构,可部署于各类服务器、PC终端和网页并支持GPU和TPU高性能数值计算,广泛应用于谷歌内部的产品开发和各领域的科学研究。
2)Adaptive Boosting:Boosting也称为增强学习或提升法,能够将预测精度仅比随机猜度略高的弱学习器增强为预测精度高的强学习器,为学习算法的设计提供了一种有效的新思路和新方法。作为一种元算法框架,Boosting几乎可以应用于所有目前流行的机器学习算法以进一步加强原算法的预测精度,应用十分广泛,产生了极大的影响。
知识图谱
1)Knowledge Graph:本项目通过该技术基于画像分析、知识图谱挖掘技术,通过疫情大数据实时采集、知识关联、融合分析,能够挖掘疫情新闻关系,高效分析人群流动方向和地点、挖掘可疑病毒携带者的行动轨迹、及时发现“高危群体”和“超级传播源”,帮助防控部门准确识别各阶段需要重点关注的关键节点(如重点防控区域),并能够生成内容丰富的可视化分析报告,支撑各疫情防控工作的跨域跨部门协同。
2)Neo4j:Neo4j是一个高性能的,NoSQL图形数据库,面向网络的数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
自然语言处理
文本情感分析是指利用自然语言处理和文本挖掘技术,对带有情感色彩的主观性文本进行分析、处理和抽取的过程。
分布式爬虫
SCARPY是适用于Python的一个快速、高层次的Web抓取框架,用于抓取站点并从页面中提取结构化的数据。SCARPY用途广泛,可以用于数据挖掘、监测和自动化测试。提供了多种类型爬虫的基类,如Base-Spider、Sitemap爬虫等。
生态可视化
图2-4 前端生态架构
其中基础框架采用Vue.js, Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,方便与第三方库或既有系统整合。结合node.js 启动http服务,前后端分离开发,通过npm包管理,处理JS依赖问题。通过Webpack + VUE-loader,处理前端资源打包,使用iView,基于Vue的前端UI框架,使用ArcGIS API 以及Cesium JS进行前端可视化渲染展示,并结合babel,进行Java代码转换。
2.4.6 后端服务
1)SpringBoot:SpringBoot是一个轻量级的Java开发框架,它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。
2)MyBatis:MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架,可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs(Plain、Old、Java、Objects)映射成数据库中的记录。在本系统中使用MyBatis框架,屏蔽底层数据库差异。
3)ArcSDE:作为服务器端产品,ArcSDE建立多级索引和R树的检索方式能够有效减少网络负载,迅速定位到查询目标,在多用户并发访问时大大提高访问效率。
4)SQL Server:SQL Server Database,是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。SQL Server数据库系统可移植性好、使用方便、功能强,适用于各类微机环境。
5)GIS Tools for Hadoop:Hadoop是一个适合大数据的分布式存储与计算平台,具有高可靠性、高扩展性、高效性、高容错性等优点。在时空数据的运算上,借助GIS Tools For Hadoop框架,它是由ESRI公司研发出的一套API,包括:Geometry API、Spatial Framework、Geoprocessing Tools等。通过这些API,可以对储存在Hadoop上的空间数据进行处理和分析,使Hadoop具有了空间数据处理和分析的能力。
)多尺度多视角监测疫情
疫情监测通过宏观和微观结合进行展示,宏观上,国家、省和直辖市的疫情信息,微观上,市和区的疫情信息。数据方面,通过使用分布式爬虫来实时获取国家、省和市卫健委发布的官方疫情数据,做到数据详细准确。将疫情数据、地图、统计图表、时间轴相结合的形式使人们更加直观的把握疫情状况,实现传染病病例数据和外环境监测数据实时上图,结合可视化技术构建疫情“智慧监测”体系。
2)分布爬虫采集多源数据
基于分布式爬虫采集网络疫情、舆情数据,并可对接当地部分获取来自社会、媒体的疑似传染病事件信息、学校缺课数据、工作场所缺勤数据、药店药物销售数据、传染病流行相关影响因素数据(人群免疫水平、人口流动、社交距离等)、医疗机构诊断的传染病相关症候群和病例数据、海关出入境检疫数据等。打破机构、部门间的信息壁垒,建立数据共享的工作机制和平台,提高传染病监测预警的能力。
)NLP技术分析民众舆情
通过众源数据爬取,将新闻门户,国家新闻机构,微博微信分类,针对大规模舆情数据分析与展示问题,可根据新闻事件评论、微博民众舆论情感值、观点信息的抽取,构建微博舆情热度评价指标体系,采用自然语言处理架构,对疫情话题相关的舆论进行情感分析,同时建立基于BP神经网络的突发传染病舆情热度趋势预测模型。
)AI算法助力疫情预测
研究基于SEIR传染病模型、时间序列预测ARIMA算法进行病毒扩散模拟,预测病毒的动态传播途径,将BP神经网络应用于可靠性增长试验中,提供突发传染病疫情扩散的发展趋势与预警服务。AI预测是根据事物以往和现今的大数据,通过人工智能,对事物未来发展的趋势做出预计、推测和判断,寻求事物的未来发展规律,为应对潜在危机提供相关信息。通过AI预测模型,预测病毒的动态传播途径,及感染疾病的人群是否可能在该地区导致疫情进一步扩散。
)云计算追踪病患轨迹
疫情防控之中,最重要的就是对人员轨迹的掌握,传染病传播大多通过人传人,传染源的活动轨迹上遇到的人都有可能被传染,所以病患轨迹是预防、监测的重点,项目采用Hadoop大数据平台发布病患轨迹数据,面对亿级数据量的轨迹信息,以云计算实现海量轨迹的筛查追踪、预警潜在患者、智能分析重点人群轨迹等作用,便于对政府、群众提供预警服务,为城市疫情防控筑起了安全屏障。
6)知识图谱挖掘病患关系
基于知识图谱构建传播者间人物关系网及传染路线树,运用地理知识语义网模型与时空分析模型进行协同分析,挖掘病患关联关系,分析病患时空分布,高危人群防控等功能,可达到“宏观态势把控”到“精准病患防控”的多级分析与应用,帮助医院对病患接触的重点疑似感染者进行筛查,追踪与挖掘病患间关系,快速识别和追踪可疑病毒携带者。