龙源期刊网基于若干技术的舆情监控系统的设计与实现作者:徐宁来源:《中国科技博览》2015年第05期[摘要]通过有针对性地对互联网信息进行过滤、整理、分析,及时发现危害国家安全、扰乱社会秩序、图谋实施犯罪等有价值的信息,从而及时预防、制止不法活动的发生,有效打击犯罪,为人民生活创造良好的社会环境。本文着重对舆情系统中相关技术进行细致的研究,实现网络舆情的系统监控,及时准确地有针对性的获取相关信息,从而发现、掌握特定的动态信息,为国家决策部署提供有力的依据。[关键词]爬虫;中文分词;信息指纹;信息抽取中图分类号:TP311.52文献标识码:A文章编号:1009-914X(2015)05-0128-01引言随着网络技术的推陈出新,除了网络新闻、网络论坛等传统应用外,又出现了博客(含微博)、维基、聚合新闻、等新形态的信息交互模式。范围广、交互性强、更新速度快的互联网传播从根本上改变了传播者与受传者之间的关系,是对传统新闻媒介的传播模式的解构和颠覆。互联网信息内容庞杂多样,既有大量进步、健康、有益的信息,也有不少反动、迷信、黄色的内容。互联网作为一块正在加速膨胀的思想阵地,加上其虚拟性、隐蔽性、发散性、渗透性和随意性等特点,越来越多的人们愿意通过这类渠道表达自己的个人想法,因此网络舆情的爆发将以“内容威胁”的形式逐渐对社会公共安全形成威胁。有关如何控制、规范互联网信息,成为技术难点。1.舆情监控系统架构设计1.1舆情监控系统工作流程1、给爬虫配置爬取网站的地址、爬虫参数,如:要爬取的网站入口、轮循间隔、爬取线程、爬取深度等参数。2、爬虫根据地址爬取数据,这时的数据缓存在爬虫服务器中,成为待处理数据。3、中文分词4、信息抽取5、提取信息指纹去重龙源期刊网、语意指纹提取7、摘要生成8、索引入库9、聚类、趋势分析10、提供WEB、提供客户检索服务1.2舆情监控系统架构信息层:分布在境内外的互联网信息。如:QQ群、动态网、新闻、博客、论坛。采集层:爬虫通过分布式并发采集、多线程采集快速采集互联网舆情信息。加工层:分词、信息抽取、提取信息指纹去重、语意指纹提取、摘要生成。数据存储中心:海量信息分布式存储和并发存取。用户层:提供模糊检索、高级检索等多种特征检索、智能检索方式、聚类和趋势分析。2.关键技术实现2.1爬虫策略的革新本系统采用多种机制革新爬虫工作方法,要求舆情能在网络舆情产生之后第一时间采集下来。同时采取多种机制保证爬虫爬取数据的完整性,保证采集数据的完整性,做到不漏采集、不重复采集、避免死链采集,从而保证及时采集。1、广度优先采集爬虫支持任意数量和深度的抓取,采用广度优先策略。广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。2、快速爬取爬虫根据网页链接爬取数据,通过精确配置爬虫抓取模板参数,只采集指定层级的网站链接,实现爬虫资源的最大优化。爬虫在数据爬取的过程当中,可以自定义针对特定站点的爬取多少及爬取的速度进行合理调配,这样,可以最大限度地使资源最大化。龙源期刊网、按照模板爬取要求爬虫针对常见的网站论坛使用不同的爬去模板进行爬取数据,有针对性的优化爬虫效率。为了更加合理地使爬虫爬取数据,针对各不同的站点,定义了不同级别的爬虫模板,可以根据站点的优先级,通过不同的模板设置更新频率,4、分布式爬取针对不同的类型的网站使用多个爬虫分别爬取数据,录入更多带宽和硬件资源,分配给更新比较快的负责爬取论坛的爬虫。5、优先级爬取不同类别的网站使用不同的优先级进行爬取数据。根据不同的站点设置紧急、较急、一般等级别,可以设置不同的站点抓取站点的导数,针对易发站点可以实时做到分钟级的更新。2.2中分分词现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于统计的分词方法和基于理解的分词方法。1、基于字符串匹配的分词方法基于字符串匹配的分词方法,又叫做机械分词方法,它是按照一定的策略将待切分的汉字串与分词词厍中的词条进行匹配,若在词厍中找到相应的词条,则匹配成功。按照扫描的方向不同,基于字符串匹配的分词方法可分为正向匹配分词方法和逆向匹配分词方法;按照不同长度优先匹配的情况,又可分为最大匹配和最小匹配。2、基于统计的分词方法基于统计的分词方法的基本原理:从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好地反映成词的可信度。3、基于理解的分词方法龙源期刊网基于理解的分词方法是通过计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。(1)信息抽取在互联网中,信息的数量很多,但是这些信息的数据质量相对较低,一般只能用于浏览或者搜索。我们需要把这些信息提取出来,构成结构化的信息,把他们变成高质量的信息数据。将信息按照无结构到有结构来分,大致可以分为Freetext-新闻组中的发帖(如寻友信息)或者是旅游记录-手工编写的HTML-CGI生成的HTML-XML-数据库。现有的针对Web进行信息抽取的方法进行分类,则大致可以分成四类:手工编写的IE系统,需要指导的IE系统、半指导的IE系统以及全自动的IE系统。(2)通过提取信息指纹去重信息指纹:就是提取全体文字信息内容,定义其关键字部分做为重点信息,通常是一组词或者是一组词加上一组词出现的频率做为特征码,然后根据这组词调用特别的算法,进行二次处理,得到相关结果,并将其定义成特征信息,做为信息指纹,信息指纹的历史很悠久,但真正的广泛应用是在有了互联网以后,这几年才渐渐热门起来。(3)语义指纹处理相似信息系统为了实现相似信息内容检索功能,通过语义指纹来处理相似信息的所有内容,语义指纹来检测相似网页的任何一段信息文字,都可以随机抽取一个不太长的随机数,作为区别它和其它信息的特征,定义为指纹信息。只要算法设计的好,任何两段信息的指纹都很难重复,主要取决于随机抽取的随机数的设计问题,就如同人类的指纹一样。只要产生随机数的算法足够好,可以保证几乎不可能有两个字符串的指纹相同,就如同不可能有两个人的指纹相同一样。由于指纹是固定的128位整数,因此查找的计算量比字符串小得多。(4)基于Lucene的倒排索引本系统为了快速提高检索效率,采用基于Lucene的倒排索引技术。正常的索引结构建立的是“文档到单词”的映射关系,在使用倒排索引技术后,建立的是“单词到文档”映射关系,即关键词对应所有拥有这个关键词的文档编号列表。其实可以这样理解,倒排索引就是描述一个词项集合(Terms)元素和一个文档集合(Docs)对应关系的数据结构,通常仅记录关键词在哪些文章中出现还不够,同时还需要记录关键词在文章中出现次数和出现的位置,这样做可以方便快速获取查询记录的数目和对查询结果进行排序。(5)采用Carrot2聚类龙源期刊网本系统为了监控敏感网站上都有哪些热点信息,采用聚类技术,技术实现上采用基于Carrot2的聚类算法。