医疗卫生行业互联网舆情监测预警系统设计及实现
2017-03-21,,,,,
,,,,,
医疗卫生行业是关乎家庭幸福的重大民生工程,医疗问题是网民最为关注的热点之一。在我国医疗卫生改革与发展的过程中,体制性矛盾、医疗纠纷和突发公共卫生事件都会引发大小不一、影响各异的舆情事件;同时,互联网技术的蓬勃发展以及网民数量剧增所致的信息快速、广泛传播,进一步加剧了医疗卫生事件在全国范围内的影响力和爆发力,使医疗卫生互联网舆情总体呈现触点多、燃点低、热度高的特点,更加多发易发[1]。尤其是一些负面舆情的持续发酵,激化了医患矛盾,引发了医药卫生行业的形象危机,进而屡陷舆论漩涡[2-3]。
在全国医疗卫生行业互联网舆情井喷、相关部门对互联网舆情管控难度剧增的态势下,除了需要在制度、管理等方面逐步完善以外,也需要充分利用现有的信息技术,及时地发现和处理这些舆情事件。做好互联网舆情信息的监测,及时、科学应对,已成为相关医疗机构和政府部门的工作重点[4-5]。基于此我们设计并开发了医疗卫生行业的互联网舆情监测预警信息系统,结合具有卫生行业背景的专业舆情分析师的人工处理分析和研判,开展行业舆情监测分析工作,为行政管理机构及医疗计生单位对互联网舆情的全面掌控和有效应对提供专业可信的依据。系统的架构和功能实现介绍如下。
1 系统需求
本项目开发的医疗卫生网络舆情监测系统主要实现互联网信息获取、互联网信息处理、舆情分析、辅助决策支持4个方面功能。其中互联网舆情信息获取的快与准、内容分析的确定性、舆情研判的准确性、舆情响应的及时性、信息跟踪的及时性等目标的实现,是本系统开发技术的关键点和舆情分析研究的主要着力点[6]。
1.1 网络信息获取
互联网舆情的来源十分复杂,包括新闻网站、论坛、博客等,主要表现形式为动态网页,具有主题发散、形式多样、时效性强等特点。互联网信息获取的目的就是要采集和提取这些动态网页中的非结构化信息。
1.2 网络信息处理
新闻、论坛帖子、博文等页面包含有效信息,同时也包含垃圾信息,因此在舆情分析前必须去伪存真。网络信息的处理目的是对页面内容进行过滤,并提炼成概要信息,便于查询和检索。再经过人工的二次审核,确保保留信息的准确性,以提升舆情分析的准确性和科学性。
1.3 舆情监测分析及预警
网民讨论的话题极为发散,如何从海量信息中找到热点、敏感话题,并对其趋势变化进行追踪,成为公共卫生网络舆情监测系统的重点。系统需要从实时采集到的数据中筛选出重要的敏感信息,及时推送给有关部门以达到预警的目的。对于持续追踪的舆情,系统可自动生成相应图表,并进行人工分析,最终形成准确、专业、全面的舆情分析报告。
1.4 辅助决策支持
医疗卫生互联网舆情监测系统需为相关部门的决策服务,因此需要将各种舆情分析结果接入个人工作平台,服务于实际工作。
2 系统架构
系统架构遵循先进性、可靠性、安全性、标准化、成熟性、适用性、可扩展性原则,按层次架构进行设计,每层之间通过松散藕合的方式相互通信,从下而上分别由采集模块、过滤模块、分析模块、应用系统组成(图1)。
图1 医疗卫生网络舆情监测系统架构
2.1 信息采集模块
网络舆情散布于网络的各个部分,如新闻、论坛、微信、微博、博客等。这些信息实时更新,动态变化。信息获取的目标是对相关信息进行采集,对已有数据进行周期性的更新以获取其最新的转发和评论状态。采集的信息源以及采集频率都可以根据用户需要,进行定制化配置,灵活性强。用户还可自定义特定主题或事件,如“莆田系”,从而对特定主题或事件进行专题监测和追踪,并由系统生成专题报道。由于不同数据源的格式千差万别,在获取信息前要对每个站点进行采集配置,以确保能够及时准确从网页中采集标题、内容、作者、发文时间等内容,并格式化存储以方便之后的量化统计分析。
2.2 信息过滤模块
由于互联网数据质量参差不齐,各种垃圾信息(如广告)充斥其中,智能的垃圾文识别算法可有效过滤广告等无用信息。然后,可根据每个角色自身业务需求,进一步将这些数据分门别类,最终实现根据不同的需求呈现不同的数据。
2.3 信息分析模块
信息分析模块能实现舆情信息自动提取摘要,自动识别与主题相关的内容并自动聚类,对信息内容进行正负面情感倾向性分析。除了及时筛选出重要的舆情信息之外,还要能识别出热点话题,并根据该话题事件舆情信息的各个维度,包括人群分布、媒体分布、时间趋势、地域分布、观点分类等的统计及对数据的有效组织、分类,从多方面分析舆情信息的具体分布情况,从而分析事件的整体发展趋势和现状,以及网民对事件的观点倾向。
3 模块功能实现
系统采用跨平台的JAVA技术,使采集系统可以在各种操作系统上运行。同时,为了解决数据量大引发的扩展性问题,底层数据的存储和分发采用hadoop的相关技术实现,机器学习相关的算法采用weka实现。
3.1 信息采集模块
采集器构架(图1)不但可以采集普通采集器所能实现的简单的网页采集,还可以执行网页上的动态脚本(如javascript,ajax等),以得到普通采集方式通过抓取静态页面无法获取的信息。
3.1.1 动态网页的采集
越来越多的网站采用了动态页面技术(即javascript、ajax等),典型的如博客、微博等网站,通过普通的静态页面只能采集到部分信息,甚至采集不到真正的页面内容。本系统的采集器内采用了页面动态构建技术,可以使采集到的页面执行页面动态脚本得到与普通浏览器完全一致的页面内容。
3.1.2 采集范围广泛
目前采集器的采集目标包括微信公众号、新闻、论坛、博客、微博、RSS等各种类型的站点。除了采集系统所设的目标网站外,还能获取各大搜索引擎的内容,以获取采集目标站点外的信息作为重要补充。由于系统包含各目标站点类型的配置信息,除了普通网络采集器能够采集到的网页标题、网页更新时间、网页内容外,最大特点是可以根据此配置信息自动解析出普通网页中舆情处理的结构化信息,如标题、内容、发表时间、阅读数、回复量、最新回复时间等。系统有定时的网站格式分析及监测,在网站结构改变时,能够及时调整系统针对站点的配置设定以及时获取正确的信息。采集系统除了采用常规的关键词采集外,还能够对指定的站点实现全采集,即地毯式搜索,不遗漏任何舆情信息。另外,系统也能够采集某些需要登录才能看到内容的网站,如某些论坛和微博站点,并且能够采取各种措施有效绕过网站的反爬虫技术实现舆情采集。
3.2 信息过滤模块
信息过滤模块主要包括文章去重,垃圾文过滤和舆情预警3个部分。
3.2.1 文章去重
互联网中存在大量的重复页面,统计表明系统所采集的数据中有超过50%的重复。检测重复页面对于减少重复工作量,提高数据质量至关重要。同时,由于每天采集的文章量巨大,要实时计算每篇文章是否是近似重复文章对算法的计算速度具有很高的要求。因此系统采用了TF-IDF,I-match[7-8],Shingling[9-10]和Jaccard Index相结合的方式计算,对每篇文档进行分词,找出所有的停用词,停用词后面的连续两个非停用词词串作为代表这篇文档的词串;计算所有这些词串的IDF,去掉IDF太大和太小的词串;利用I-match算法[7-8]计算和已经有的文档是否相似,如果相似则该篇文档的计算结束,如果不相似则对每篇文档计算其选取词串的TFIDF,然后根据LSH计算是否和已经有的文档相似;对每篇文档利用Shingling方法[9-10]计算其是否和已有文档相似;对于任何可能相似的情况进一步计算所有词串的Jaccard Index来过滤掉假阳性。
3.2.2 垃圾文过滤
网络所采集的大量文章中,很多都和医疗卫生不相关。本系统采用weka文本分类技术对每篇采集的文本进行分类,可以将和医疗相关的文章筛选出来,过滤掉垃圾文。这一步筛选至关重要,其准确性直接影响到后续数据分析中统计的正确性。
3.2.3 舆情预警
系统通过关键词匹配的方式从医疗卫生相关的信息中过滤出敏感的舆情事件。为此,我们收集整理了和医疗卫生相关的负面词库,其中包括诸如“医闹”“医患”“单独两孩”等词。然后在系统过滤的基础上,通过人工研判识别的方式筛选出重要信息,并根据信息的重要性和紧急程度,分成一般、重要、紧急3个级别,通过WEB端、PC端和手机客户端等方式推送预警,以确保用户能随时随地及时掌握最新重要舆情。
3.3 信息分析模块
围绕过滤之后的数据,系统会进行多方位的分析。其中分析技术包括热点识别、热词发现、倾向性分析、地域识别、趋势分析和媒体分析等。基于这些分析结果,系统可通过图形化的方式展示,具有较好的可视化效果。
3.3.1 热点事件
系统根据新闻热点、关键词、专题等信息进行热度分析,考虑了信息来源、所处网页位置、转载、点击、评论、回复和报道率等关键因素,对这些因素进行综合排名,并支持以半小时为间隔的任意时间段进行统计分析,同时提供1天、3天、7天等时间序列的符合用户精确度要求的分类热点排行。此外,系统还可以对热点信息进行持续追踪,并通过趋势分析图和传播链分析图等技术帮助用户了解热点事件的报道趋势以及来龙去脉,帮助用户更好地对舆情进行研判。
3.3.2 热词发现
系统在不断更新的信息中寻找一定时期热度较高的短语,如人名、地名、机构名和其他常见短语。很多网络热词是词典中未收录的新词语,因此计算热词的时候,系统主要考虑两个方面,一是出现的频率信息越多,热度越高;二是历史波动信息曲线越陡,热度越高。
3.3.3 倾向性分析
情感倾向性分析具有极强的行业领域依赖性[11]。本系统通过建立面向卫生行业领域的情感词典,对舆情进行观点倾向性分析,自动分析文章的倾向性为正面、负面还是中性,从而为舆情处理提供重要的分析依据。在实现上,本系统同样采用weka技术实现文本的倾向性分类。
3.3.4 地域识别
系统采用了实体名识别技术,对其中的地域名词进行识别,并且将每一个地域名词归类到全国的地域层级上,从而实现全国范围内的地域识别。
4 结论
我们设计开发的舆情监测系统可实现7×24小时不间断采集互联网信息,通过系统智能过滤、强大的分析功能配合人工精细化服务的研判分析,及时有效地从互联网上筛选出医疗卫生行业相关的舆情事件并进行预警、专题追踪和趋势分析,同时通过Web端、PC舆情助手和手机客户端,确保用户随时随地都能准确有效地掌握最新舆情动态并做出有效应对。和其他舆情分析系统相比,本系统采集的数据源更广,数据分类更智能,数据分析更完备,结合人工分析服务,使舆情研判和预警更加精准。但实际运行过程中尚存在一些需要完善的地方,主要包括以下3个方面。
一是舆情事件的分析。一件舆情事件可能涉及到几百至上百万的文章,如何将每篇文章自动准确地归类于某一事件尚需进一步探索。虽然通过关键词等方式可以解决大部分问题,但是有很多长尾文章不能简单地通过关键词的方式过滤。
二是倾向性分析。由于自然语言处理的复杂性,对于一个事件的正负面评价以及网民评论倾向性分析并不是一件容易的事情,需要不断完善系统中倾向性分类器的精度。
三是境外外语舆情监测功能欠缺[12]。主要存在联通不畅、语言不支持、抓取不及时等短板,需加强境外站点的配置、语种语料库等设置。