基于搜索引擎的关键词舆情过滤算法的技术分析_第1页
基于搜索引擎的关键词舆情过滤算法的技术分析_第2页
基于搜索引擎的关键词舆情过滤算法的技术分析_第3页
基于搜索引擎的关键词舆情过滤算法的技术分析_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于搜索引擎的关键词舆情过滤算法的技术分析随着网络成为继报纸、无线广播和电视三大传统的传播媒体之后的第四媒体;,网络舆情对社会的影响与日俱增。网络舆情成为最主要的社会舆情表述和传播方式之一。对于公司企事业单位,一些恶劣事件的披露很可能成为他们继续发展的绊脚石;对于社会,一些有损稳定,影响极为恶劣的言论很可能对社会造成极为恶劣的负面影响。由于这些信息往往呈现爆炸式增长,因此,舆情监控系统的一个重要目标即是及早的发现舆情发布源头,从而提醒管理者及时对其进行适当的控制。这就要求舆情监控系统最好能够做到在数小时甚至几十分钟之内能够抓取到新发布的舆论信息后立刻过滤出是否含有恶劣言论,这对舆情监控系统具有

2、十分重要的意义。目前舆情发现的方法研究可以基本归为两大类,一类是基于规则的文本内容关键词识别的方法【1,2】,一类是基于统计的机器学习文本分类方法【36】。第一类方法能够最大限度的在舆情未扩散之前的挖掘出网络中明显直接的舆情信息,但由于语义方面的局限性使得舆情信息的挖掘不够充分,第二类方法一般需要在一定数量的相关舆情记录出现后才能被挖掘,舆情信息的挖掘较为全面。目前有很多舆情监控系统采用这两类方法相结合的方式进行舆情监控。对于第一类方式,较为普遍,简单而有效的一种方式是预存储一些行业恶劣情感词库,比如高校教育行业里可设定自杀、罢课、贪污,猥亵等恶劣情感词,然后对从网络中抓取到的文本数据进行关键

3、词字串正则匹配,匹配成功则过滤出一条舆情记录同时将匹配的关键词替换成高亮文本返回给用户。该方法虽然可行,但正则表达式的算法完成一篇文档的过滤需要对关键词集中每一个关键词进行循环匹配,时间主要消耗在循环调用、字符串匹配和文本高亮替换之上,算法效率较为低下,在一定程度上影响了舆情发现的时效性。该文提出基于搜索引擎的关键词查询过滤方法,能够最大限度的利用索引查询的高效性,把批量舆情信息过滤时间控制在较短时间内,较好的解决了恶劣舆情过滤的实时高效问题。1 基于搜索引擎的关键词舆情过滤算法设计在这一节中,先介绍搜索引擎背后的基本原理,然后详细介绍基于搜索引擎的关键词舆情过滤算法的设计与实现。1.1 索引

4、与布尔代数搜索引擎能够在毫秒时间内检索到成千上万的相关结果,其关键原理是索引和布尔代数运算。最简单的索引的结构是用一个很长的二进制数表示一个关键词是否出现在每篇文献中,有多少篇文献就有多少位数,每一位对应一篇文献,1代表相应的文献有这个关键词,0代表没有。比如南华大学;的二进制数是010010001100001…,表示第二、第五、第九、第十、第十五篇文献包含这个关键词,论坛;的二进制数是010001001000000…,检索同时包含南华大学;和论坛;的文献时,将这两个二进制代数进行AND布尔运算,就可以找到第二、第九篇文献满足要求。实际应用中的搜索引擎的索引是一个只

5、记录了等于1的位数的一张大表:表的每一行对应一个关键词,而每一个关键词后面跟着一组数字,是包含该关键词的文献序号。计算机做布尔运算是非常快的,目前最便宜的微机都可以在一个指令周期进行32位布尔运算,一秒钟进行数十亿次以上。1.2 舆情过滤算法设计基于搜索引擎的关键词舆情过滤算法充分利用索引进行布尔运算所带来的高效性进行设计。其设计思路及流程如图1所示。先从爬虫抓取完成队列中获得已经下载好的网页文档,利用HTMLParser对其进行结构解析以获得URL、标题、作者、正文、发表时间等属性信息,然后将这些属性构成的文档对象插入数据库采集记录表,插入成功则获取插入记录的自增标识ID,然后进入分词索引程

6、序,将需要分词的属性比如标题,正文进行分词,然后连同标识ID一起分别作为一个Lucene文档的域进行索引,索引完成之后即可对其进行过滤查询。将标识ID和用户设定的恶劣情感词集组合成布尔查询字符串之后对索引库进行检索,若能检索到唯一一条记录,则表明刚才索引的那篇文档中包含有该用户关心的舆情信息,最终反馈给用户。以上是该过滤算法设计的基本思路流程,以下将对此过程中的关键问题进行详细介绍。图1 基于搜索引擎的关键词舆情过滤设计流程1.2.1 唯一标识ID的生成唯一标识ID的生成方式有多种,只须满足系统全局唯一标识一篇文档的要求,因此可以通过程序生成全局唯一标识符。在实现石鼓舆情监控系统的过程中,因为

7、要采集每一篇文档的结构化数据,因此唯一标识ID是通过数据库采集记录数据插入后返回主键ID得到的,如图2中采集记录表主键采集记录ID。我们利用网络爬虫对某些特定监控类型网站进行下载后做结构化解析,每个网页文档经过解析将得到如图2数据表所示的标题、作者、URL、发表时间、正文等元素信息,然后将此文档元素信息插入采集记录表和回复记录表(没有回复则不插入回复记录表),插入成功后程序将获得此记录的自增类型主键采集记录ID。此ID将成为后续进行索引的一个唯一标识域。图2 石鼓舆情监控系统部分数据库设计1.2.2 索引的建立使用开源库lucene建立索引。上一步生成的唯一标识ID须作为索引的一个文档存储域。

8、如无特殊要求,则可将文档解析出来的全部文本作为另一个域进行分词并索引。本舆情监控系统将之前解析出的标题、正文、回复内容作为索引域进行分词后,连同采集记录ID、URL、作者一起进行索引。为了保证文本分词后预存储的所有恶劣情感词仍旧还作为一个完整词出现在索引表中(如果待索引文本中包含预存储的恶劣情感词),需要将这些预存储的恶劣情感词加入分词器的用户自定义词典,分词器则不会将某情感词分解成两个或多个词项了。这样会保证后续的关键词检索不遗漏结果。本系统采用中科院分词系统ICTCLAS50,可将恶劣情感词加入词典文件userdict.txt中。1.2.3 舆情关键词查询过滤索引表建立之后,则可循环将所有

9、用户设定的恶劣情感词集合和唯一标识ID构造布尔查询字符串对索引表进行检索。构造的查询字符串实则是一个布尔算术表达式。比如查询串采集记录ID AND (跳楼OR 罢课 OR贪污 OR猥亵);,该表达式即可从刚索引的那篇文档中找到是否含有一个或多个恶劣情感词的记录,有则返回该记录文档,没有则返回零个文档。查询表达式中,所有恶劣情感词之间是或OR关系,它们形成一个整体与采集记录ID是与AND关系,形成的布尔运算要先检索到满足采集记录ID等于指定值的索引文档,然后在此文档中检索OR查询串中包含的至少一个情感词。本系统中如果查询返回了一条记录文档,则将该记录中匹配的关键词高亮后反馈给用户并入库。1.3

10、舆情过滤算法的实现由于舆情监控系统面对的是浩瀚信息的互联网,因此海量数据的处理效率是制约系统性能的关键因素。将该算法实现在基于生产者-消费者的多线程结构之上可大大提高系统性能,如图3所示。将该算法的关键流程分拆到各个线程中分别实现,线程控制数据缓存池中数据流的走向,各线程本身的并发运行交由线程池进行统一管理。这样增大了系统的吞吐量,提高了系统资源的利用率,也大大的提升了系统的运行效能。2 实验结果对比分析开发环境: Windows XP操作系统,英特尔酷睿双核T6600 2.20GHz处理器,4G存,Java JDK1.7,MySql5.5,Myeclipse9.0,lucene3.0。服务器

11、环境:Windows Server 2003,4核Intel? Xeon? CPU E5506 2.13GHz,16G内存,Tomcat7.0。本系统算法的实验分别基于三类网站进行观察分析。第一类是以大量回复内容为主的某BBS论坛网站,第二类是以大文本正文为主的新浪新闻网站,第三类是以小文本为主的腾讯微博(不要回复评论内容)。得到的实验结果与在程序中使用正则表达式和在数据库中使用SQL正则表达式两种方式做对比分析(这两种情况同样是在多线程架构之上进行试验)。同时计算基于搜索引擎的过滤算法的查准率和查全率。因为本算法在完成一篇文档的查询过滤时,由于唯一标识ID的作用,每次只在特定的一篇文档中查询

12、过滤,检索结果最多是返回一条记录,因此采用平均查准率和查全率来衡量,分析N篇文档时的定义如下:使用基于搜索引擎的舆情过滤算法在恶劣情感词数量和索引库大小两个因素作用下监控100篇文档从下载到查询过滤结束的运行时间结果,同时计算它们的平均查全率和平均价查准率,并实验得到在java程序中使用正则表达式的运行时间,在mysql中使用SQL正则表达式的运行时间。绘图得到如图4,5,6。平均查全率和平均查准率如表1。表1 平均查全率/平均查准率图4 *(南华)BBS论坛实验结果图5 新浪新闻实验结果图6 腾讯微博实验结果分析图4,5,6,三大类型网站的实验图大同小异,成水平状态的4条曲线是基于搜索引擎的

13、过滤算法的运行时间图,他们基本保持平稳但有随着恶劣情感词个数增加呈稍微上升趋势,当索引库增大时,运行时间会有相应增加,但涨幅很小。基于Java正则和sql正则的运行时间曲线都随着恶劣情感词个数增加基本呈线性增加趋势,恶劣情感词的数量决定了他们的循环次数,当恶劣情感词较少的时候(10个左右),性能会优于基于搜索引擎的过滤算法,但当词数增加时,特别是词数较多时,则没有丝毫性能优势。而从工程上来看,由于要适应于多个用户,关键词数往往在几十甚至上百个以上。另外,基于sql正则的方法运行效率整体上比基于java正则有微弱优势。基于以上分析,基于搜索引擎关键词过滤算法能很好的适应于各大类型网站,且能取得良

14、好的运行效率,达到恶劣舆情信息的发现实时高效的目标。分析表1,三大类型网站的平均查准率较高,平均查全率都偏低,腾讯微博的查全率和查准率都是三者中最低,这可能是用户在发表微博这种短文本时随意性较大所致。新浪新闻的查全率和查准率为三者中最高也与新闻介质本身规范性较强有关。因此,基于搜索引擎过滤算法的查全率有待提高。3 总结基于搜索引擎的关键词舆情过滤算法在执行效率上要比普通的正则匹配、高亮文本替换好得多,它非常适合于网页实时下载和内容解析的系统中,并且能利用开源搜索引擎框架的高亮语法方便的生成舆情简要文本,较好的解决了恶劣舆情信息的实时挖掘问题。下一步的工作:一是将索引库尝试部署成分布式索引,构建

15、运行高效而稳定的舆情过滤监控系统和搜索引擎;二是结合机器学习的方式进行文本聚类以获得更高的查全率和查准率。参考文献:【1】 李强.互联网有害信息实时过滤报警系统的实现.计算机工程与设计,2006(18):3419-3423.【2】 王俊.基于Web搜索的舆情分析系统的设计与实现.北京:北京邮电大学,2011.【3】 庞磊,李寿山,周国栋.基于情绪知识的中文微博情感分类方法.计算机工程,2012(13);156-158.【4】 邱云飞,程亮. 微博突发话题检测方法研究.计算机工程,2012(9);288-290.【5】 Kim Soo-Min, Hovy E.Automatic Detection of Opinion Bearing Words and Sentences/Proc. of International Joint Conference on Natural Language Processing. Jeju Island, Korea: , 2005.【6】 Qiang Y,Ziqiong Zhang,Rob Law.Sentiment classication of online re-views to travel de

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论