第34卷第2期 2016年4月 泉州师范学院学报 Journal of Quanzhou Normal University Vo1.34 NO.2 Apr.2016 基于文本相关性的高校网络舆情监控系统的设计与实现 刘丽员 ,杨昔阳 (1.泉州师范学院网络信息中心,福建泉州 362000;2.泉州师范学院数学与计算机科学学院,福建泉州 362000) 摘 要:随着互联网的发展,高校大学生通过网络对各个热点问题发表意见和评论,一些负面的舆情信息 会对高校造成巨大危害.为了实现校园网的公共安全,利用聚焦网络爬虫技术和聚类技术设计实现了一个基 于文本相关性的高校网络舆情监控系统.根据高校网络舆情的特点,对聚焦爬虫和聚类算法进行一些改进,以 提高热点话题发现的效率和精确度,从而有效增强对大学生网络舆情的监控. 关键词:聚焦网络爬虫;聚类;文本相关性;舆情信息;话题发现 中图分类号:TP393.o9 文献标识码:A 文章编号:1009—8224(2016)02—0050—05 随着互联网技术的飞速发展,特别是国家“互联网+”行动计划的提出和推进,互联网对于整体社会 的影响进入到新的阶段.据中国互联网络信息中心(cNNIC)统计显示E ,截至2015年12月,中国网民 规模达6.88亿,互联网普及率达到50.3%,半数中国人已接入互联网.在网民群体中,大学生有一个很 大的占比,这部分人群通过互联网的社交网站、博客、即时通讯对各个热点问题表达自己的思想和态度, 形成高校网络舆情信息[2].由于校园网络没有时间、空间的限制,是一个自由开放的公共平台,国际国内 校园发生的一些重大事件、热点问题、突发事件都会以最快的速度在校园网传播,常常引起学生的广泛 关注、热议和跟帖.大学生由于自身年龄、知识、价值观的限制,言论会有一定的从众、倾向性,如果形成 负面的网络舆论信息,会给高校的校园安全造成损害.为了构造和谐、安全和稳定的绿色校园网络环境, 建立高校网络舆情监控系统就成为一个应该引起重视和迫切需要的课题.高校舆情监控系统的主要任 务是利用互联网信息抓取技术和内容分析技术,通过对互联网相关信息数据进行抓取、分析判断、去重、 去噪形成初始数据,分析系统对收集到的信息进行内容分析,包括相似度分析、聚类分类、负面情绪分析 等一系列的文本处理,完成重组成舆情信息保存到本地系统中;最后生成简报、统计等信息,由Web管 理界面展示给舆情管理员,为掌握高校大学生的思想动态提供依据,并进行积极引领. 1 系统总体架构 高校网络舆情有多元性强、传播速度快、参与主体特殊性等特点 ].针对高校网络舆情的特点,本文 利用互联网信息抓取技术和内容分析技术等的高校网络舆情监控系统,通过对热点问题比较集中的网 站比如学校各博客、论坛和BBS等进行监控,随时监控这些网站发布的最新信息,实现对高校大学生舆 情信息的监管.本系统主要包括网络信息采集、舆情信息分析和舆情信息管理统计web模块等,系统的 架构如图1所示.舆情信息采集模块主要是利用定制的网络爬虫不断地读取事先设定网站的网页和 URLs,形成一个巨大的初始文本集.由于网站上的信息有些是广告或重复转载的无用信息,因此还要对 初始文本集进行过滤、去重等处理,生成有效的文本集保存到数据库中;舆情信息内容分析模块主要是 通过文本内容识别进行中文分词、文本聚类以发现热点话题、群体的情感倾向,识别负面的舆情信息,及 时掌握大学生的舆情趋势并入库;最后,舆情信息web管理端是向相关人员展示学校舆情信息报表,实 现对高校网络舆情信息的收集、预警和监控. 收稿日期:2016—0卜24 作者简介:刘丽员(1982一),女,福建晋江人,实验师,硕士,主要从事网络应用研究 基金项目:泉州师范学院校自选项目(2012KJ10) 第2期 刘丽员,等:基于文本相关性的高校网络舆情监控系统的设计与实现 51 数 据 库 图1 高校网络舆情监控系统架构 Fig.1 University network public opinion monitoring system architecture 2 系统主要功能模块设计 2.1舆情信息采集 舆情信息采集是高校网络舆情监控应用的第一个环节,所采集到的网页信息的全面性和效率会对 整个舆情监控系统性能产生至关重要的影响.由于高校的舆情信息针对性强,不需要采集所有网页,而 是根据主题定向抓取相关的网页信息.因此,本系统的舆情信息采集模块是通过主题爬虫技术 ],又称 聚焦式网络爬虫,面向特定的主题,将非结构化的舆情信息从网页中提取并转化为结构化数据存储到数 据库中.聚焦式网络爬虫从一个或若干个种子网页开始爬,根据系统预定的网页分析算法抓取主题相关 的链接URL,并放人待抓取URL队列中.URL队列是按照设定优先级排列,与主题相关度高的URL 优先级越高.然后,按照定制的搜索策略,从待抓取队列中选择下一个要抓取的URL,一直循环直到达 到指定条件终止.抓取的网页内容根据与主题相关度进行对应分析处理,把与主题不相关的网页或者重 复网页过滤,其余网页抽取最优的特征词表示网页内容,并分类存储到索引数据库中,以便后面模块的 使用.聚焦网络爬虫只爬那些与设定主题相关的网页和URLs,可以最大限度地节省网络和硬件资源, 存储的信息量也会相对传统的网络爬虫少得多,从而提高更新速度,可以很好地满足高校网络舆情信息 的采集.为了提高抓取效率,在某个单位时间内获取高质量的网页信息,聚焦网络爬虫需要解决的核心 问题是所爬行页面与设定主题的相关度算法和搜索策略. 聚焦网络爬虫中的搜索策略主要有深度优先、广度优先和最佳优先等L5].深度优先搜索策略是从初 始URL开始一直深入地搜索下一个URL,直到该分支没有URL再返回初始URL继续深入其他的 URL链接,直到没有任何URL可走结束搜索,优点是适合站内搜索,缺点是爬的深度大时容易造成资 源浪费;广度优先是在搜索过程中,先完成本层次的URL链接,再进入下一层次的URL链接,直到没 有任何URL可走结束搜索,优点是一般认为与初始URL距离越近的链接相关度越高,缺点是数据量 巨大造成空间浪费;最佳优先是按照预先设定的网页分析算法,预测URL与主题相关度,只抓取相关 度较高的URLs,优点是效率高,缺点是容易忽略相关网页,全面性降低.目前网页主题相关度分析算法 主要有基于网页内容、基于网络拓扑关系 引.基于网页内容选取特征码进行的网页评价;基于网络拓扑 是通过对已知的网页有直接或间接关系的链接作出评价.在综合分析高校舆情监控系统的特性后,决定 采用开源软件Heritrix进行聚焦网络爬虫的设计,采用深度优先搜索算法和基于网页内容的主题相关 分析算法,实现网络舆情信息采集功能. 开源软件Heritrix是基于JAVA开发的爬虫框架,由核心模块和插入模块组成,插入模块是可扩 展的,每个模块由一个控制器协调工作,通过http:/www.archiv.org下载后在Eclipse中配置.它的主 要工作过程如图2所示.Web控制台启动、调控整个抓取过程,设置初始配置包括选择抓取任务所需的 模块组合、抓取任务的种子文件、抓取的URL范围等;控制器获得web端的指令后,进行模块调度和各 个子模块的初始化;URL调度器中存放需要抓取的URL队列、抓取返回的URL队列,根据设定的算 法调度下一个需要抓取的URL,送到抓取工作线程中;抓取工作线程先进行初始化工作,获得初始 URL后抓取URL对应的网页,根据深度优先算法抽取网页的中主题相关的URL信息返回到调度器 52 泉州师范学院学报 2016年4月 的URL队列中,分析网页的信息保存网页到网页库中等待后续处理.每次的爬虫过程中,调度器和抓取 工作线程会形成一个环,调度器将需要抓取的URL放人工作线程,工作线程提取出新的URL再放回 调度器中. 图2 Heritrix爬虫主要工作过程 Fig.2 Heritrix crawler main work process 由于Heritrix的开源性和可扩展性,对它的一些模块做了部分改进和扩展.在整个抓取的过程中最 关键的是抽取网页中URL模块的解析器,对它进行部分改进,通过正则表达式对预抓取的URL进行 扩展.比如要抓取泉州师范学院论坛网时,为URL配置正则表达式http://www.bbs.qztc.edu.cn[0—9a— z]*/[0—9]*/[a—z]*/[0—9a—z],这样就可以抓取该域名下的所有网页信息.为了实现网页主题过滤功 能,要设计与实际主题相匹配的专用解析器,它不处理任何不含要抽取的结构化信息网页的URL且不 能集中抽取前者URI 的种子URL;从可以集中抽取结构化信息的种子URL中提取全部的结构化信 息的URL,并保存下来.如果单纯只用URL判断网页相关性会有所遗漏,还要加入页面内容相关性,本 文采用最常见的基于向量空间模型算法,将原有Web文本集合和待代处理的Web文本分别用同维度 的向量表示,利用夹角余弦公式计算出它们之间的相关性得出结论.具体的过程如下: (1)将原Web文本特征化,根据使用频率统计分析方法选取词条(t ,t。,…,t )和对应权值(叫 , 训2,…,叫 ),叫,对应为t,权值,故原页面的特征向量s一{(£ , 1),(£ ,叫1),…,(£ ,叫 )}; (2)将待处理Web文本特征化,选取词条( ’,t ’,…,t ’)和权值(叫 ’,叫:’,…,叫 ’),待处理网 页的特征向量d一( 1’,训1’),(£l’,叫1’),…,( ’, 值为0; ’)}; (3)根据原Web文本向量维度确定待处理Web文本向量维度,如果t,’在s中,权值不变,否则权 (4)利用向量夹角余弦公式计算相似度: 2 weight(s )×weight(d,) sim(s,d)一COS 0一—_二=兰三兰二=二二二==二===二二=二二二==二==二. (1) \J J=1 /(∑weight(s,)) (∑weight(d )) J—l (5)设定一个阀值K,K的大小根据抓取的需要,K值越小抓取的网页URL越多.如果sie(5,d)r >K,则将URL标题、摘要等基本信息存入URL库,Web文本存入原始网页库,以便后面进一步地分 析处理.