摘要:网络舆情已成为社会情报的一种重要表现形式。关于性质恶劣(负面)的网络舆情信息,能否及时高效的发掘出来对网络舆情监控具有十分重要的含义。针对现在舆情发现的时效性不足的问题,该文提出根据查找引擎的要害词检索过滤算法,并在多线程环境下运转,充沛运用索引查询的高效性,大大进步了恶劣舆情过滤的功率。
要害词:查找引擎;舆情过滤;布尔模型;索引;lucene
中图分类号:TP311文献标识码:A文章编号:1009-3044(2014)06-1328-05
AResearchofAlgorithmaboutPublicOpinionKeywordsFilteringBasedonSearchEngine
FENGRu-xiao,LIUZhi-ming,LEILong-yan
(SchoolofComputerScienceandTechnology,UniversityofSouthChina,Hengyang421001,China)
Abstract:Net-mediatedpublicopinionhasbecomeoneformatofsocialinformation.Astoseverepublicopinioncontext,itisofsignificanceforpublicopinionmonitoringsystemtofindthatinformationtimelyandefficient.Todealwiththeproblemoflackingefficiencyoffindingsevereopinionatpresent,inthispaper,aalgorithmaboutkeywordsfilteringbasedonsearchengineisdesignedandruninmulti-threadenvironment.Thealgorithmmakesuseofindexsearchingefficiencyandimprovesproductivityobviouslyinpublicopinionfilteringsystem.
Keywords:searchengine;publicopinionfiltering;boolmodel;index;lucene
跟着网络成为继报纸、无线广播和电视三大传统的传达媒体之后的“第四媒体”,网络舆情对社会的影响日积月累。网络舆情成为最首要的社会舆情表述和传达办法之一。关于公司企事业单位,一些恶劣事件的披露很可能成为他们继续发展的拦路虎;关于社会,一些有损稳定,影响极为恶劣的言辞很可能对社会形成极为恶劣的负面影响。因为这些信息往往呈现爆破式添加,因而,舆情监控体系的一个重要方针便是及早的发现舆情发布源头,从而提示管理者及时对其进行恰当的操控。这就要求舆情监控体系最好可以做到在数小时乃至几十分钟之内可以抓取到新发布的舆论信息后立刻过滤出是否含有恶劣言辞,这对舆情监控体系具有十分重要的含义。
现在舆情发现的办法研讨可以根本归为两大类,一类是根据规则的文本内容要害词辨认的办法【1,2】,一类是根据计算的机器学习文本分类办法【3~6】。第一类办法可以最大极限的在舆情未分散之前的发掘出网络中明显直接的舆情信息,但因为语义方面的局限性使得舆情信息的发掘不够充沛,第二类办法一般需要在必定数量的相关舆情记载出现后才能被发掘,舆情信息的发掘较为全面。现在有许多舆情监控体系选用这两类办法相结合的办法进行舆情监控[7,8]。
关于第一类办法,较为遍及,简略而有用的一种办法是预存储一些职业恶劣情感词库,比方高校教育职业里可设定自杀、罢课、贪婪,猥亵等恶劣情感词,然后对从网络中抓取到的文本数据进行要害词字串正则匹配,匹配成功则过滤出一条舆情记载一同将匹配的要害词替换成高亮文本回来给用户。该办法尽管可行,但正则表达式的算法完结一篇文档的过滤需要对要害词会集每一个要害词进行循环匹配,时刻首要耗费在循环调用、字符串匹配和文本高亮替换之上,算法功率较为低下,在必定程度上影响了舆情发现的时效性。该文提出根据查找引擎的要害词查询过滤办法,可以最大极限的运用索引查询的高效性,把批量舆情信息过滤时刻操控在较短时刻内,较好的处理了恶劣舆情过滤的实时高效问题。
1根据查找引擎的要害词舆情过滤算法规划
在这一节中,先介绍查找引擎背后的根本原理,然后具体介绍根据查找引擎的要害词舆情过滤算法的规划与完结。
1.1索引与布尔代数
查找引擎可以在毫秒时刻内检索到不计其数的相关成果,其要害原理是索引和布尔代数运算。最简略的索引的结构是用一个很长的二进制数标明一个要害词是否出现在每篇文献中,有多少篇文献就有多少位数,每一位对应一篇文献,1代表相应的文献有这个要害词,0代表没有。比方“南华大学”的二进制数是010010001100001…,标明第二、第五、第九、第十、第十五篇文献包括这个要害词,“论坛”的二进制数是010001001000000…,检索一同包括“南华大学”和“论坛”的文献时,将这两个二进制代数进行AND布尔运算,就可以找到第二、第九篇文献满意要求。实际使用中的查找引擎的索引是一个只记载了等于1的位数的一张大表:表的每一行对应一个要害词,而每一个要害词后边跟着一组数字,是包括该要害词的文献序号。计算机做布尔运算是十分快的,现在最便宜的微机都可以在一个指令周期进行32位布尔运算,一秒钟进行数十亿次以上。
1.2舆情过滤算法规划
根据查找引擎的要害词舆情过滤算法充沛运用索引进行布尔运算所带来的高效性进行规划。其规划思路及流程如图1所示。先从爬虫抓取完结行列中取得现已下载好的网页文档,运用HTMLParser对其进行结构解析以取得URL、标题、作者、正文、宣布时刻等特点信息,然后将这些特点构成的文档目标插入数据库收集记载表,插入成功则获取插入记载的自增标识ID,然后进入分词索引程序,将需要分词的特点比方标题,正文进行分词,然后连同标识ID一同别离作为一个Lucene文档的域进行索引,索引完结之后即可对其进行过滤查询。将标识ID和用户设定的恶劣情感词集组合成布尔查询字符串之后对索引库进行检索,若能检索到仅有一条记载,则标明方才索引的那篇文档中包括有该用户关心的舆情信息,终究反馈给用户。以上是该过滤算法规划的根本思路流程,以下将对此过程中的要害问题进行具体介绍。
图1根据查找引擎的要害词舆情过滤规划流程
1.2.1仅有标识ID的生成
仅有标识ID的生成办法有多种,只须满意体系全局仅有标识一篇文档的要求,因而可以经过程序生成全局仅有标识符。在完结石鼓舆情监控体系的过程中,因为要收集每一篇文档的结构化数据,因而仅有标识ID是经过数据库收集记载数据插入后回来主键ID得到的,如图2中收集记载表主键收集记载ID。咱们运用网络爬虫对某些特定监控类型网站进行下载后做结构化解析,每个网页文档经过解析将得到如图2数据表所示的标题、作者、URL、宣布时刻、正文等元素信息,然后将此文档元素信息插入收集记载表和回复记载表(没有回复则不插入回复记载表),插入成功后程序将取得此记载的自增类型主键收集记载ID。此ID将成为后续进行索引的一个仅有标识域。
图2石鼓舆情监控体系部分数据库规划
1.2.2索引的树立
运用开源库lucene树立索引。上一步生成的仅有标识ID须作为索引的一个文档存储域。如无特殊要求,则可将文档解析出来的全部文本作为另一个域进行分词并索引。本舆情监控体系将之前解析出的标题、正文、回复内容作为索引域进行分词后,连同收集记载ID、URL、作者一同进行索引。
为了确保文本分词后预存储的一切恶劣情感词依旧还作为一个完好词出现在索引表中(假如待索引文本中包括预存储的恶劣情感词),需要将这些预存储的恶劣情感词参加分词器的用户自界说词典,分词器则不会将某情感词分解成两个或多个词项了。这样会确保后续的要害词检索不遗漏成果。本体系选用中科院分词体系ICTCLAS50,可将恶劣情感词参加词典文件userdict.txt中。
1.2.3舆情要害词查询过滤
索引表树立之后,则可循环将一切用户设定的恶劣情感词集合和仅有标识ID结构布尔查询字符串对索引表进行检索。结构的查询字符串实则是一个布尔算术表达式。比方查询串“收集记载IDAND(跳楼OR罢课OR贪婪OR猥亵)”,该表达式即可从刚索引的那篇文档中找到是否含有一个或多个恶劣情感词的记载,有则回来该记载文档,没有则回来零个文档。查询表达式中,一切恶劣情感词之间是或OR联系,它们形成一个整体与收集记载ID是与AND联系,形成的布尔运算要先检索到满意收集记载ID等于指定值的索引文档,然后在此文档中检索OR查询串中包括的至少一个情感词。本体系中假如查询回来了一条记载文档,则将该记载中匹配的要害词高亮后反馈给用户并入库。
1.3舆情过滤算法的完结
因为舆情监控体系面临的是众多信息的互联网,因而海量数据的处理功率是制约体系功能的要害要素。将该算法完结在根据生产者-消费者的多线程结构之上可大大进步体系功能,如图3所示。
将该算法的要害流程分拆到各个线程中别离完结,线程操控数据缓存池中数据流的走向,各线程自身的并发运转交由线程池进行统一管理。这样增大了体系的吞吐量,进步了体系资源的运用率,也大大的提升了体系的运转效能。
2试验成果对比剖析
开发环境:WindowsXP操作体系,英特尔酷睿双核T6600@2.20GHz处理器,4G存,JavaJDK1.7,MySql5.5,Myeclipse9.0,lucene3.0。服务器环境:WindowsServer2003,4核Intel?Xeon?CPUE5506@2.13GHz,16G内存,Tomcat7.0。
本体系算法的试验别离根据三类网站进行调查剖析。第一类是以大量回复内容为主的某BBS论坛网站,第二类是以大文本正文为主的新浪新闻网站,第三类是以小文本为主的腾讯微博(不要回复谈论内容)。得到的试验成果与在程序中运用正则表达式和在数据库中运用SQL正则表达式两种办法做对比剖析(这两种状况同样是在多线程架构之上进行试验)。一同计算根据查找引擎的过滤算法的查准率和查全率。因为本算法在完结一篇文档的查询过滤时,因为仅有标识ID的效果,每次只在特定的一篇文档中查询过滤,检索成果最多是回来一条记载,因而选用均匀查准率和查全率来衡量,剖析N篇文档时的界说如下:
运用根据查找引擎的舆情过滤算法在恶劣情感词数量和索引库巨细两个要素效果下监控100篇文档从下载到查询过滤完毕的运转时刻成果,一同计算它们的均匀查全率和均匀价查准率,并试验得到在java程序中运用正则表达式的运转时刻,在mysql中运用SQL正则表达式的运转时刻。绘图得到如图4,5,6。均匀查全率和均匀查准率如表1。
表1均匀查全率/均匀查准率
图4**(南华)BBS论坛试验成果
图5新浪新闻试验成果
图6腾讯微博试验成果
剖析图4,5,6,三大类型网站的试验图大同小异,成水平状况的4条曲线是根据查找引擎的过滤算法的运转时刻图,他们根本保持平稳但有跟着恶劣情感词个数添加呈略微上升趋势,当索引库增大时,运转时刻会有相应添加,但涨幅很小。根据Java正则和sql正则的运转时刻曲线都跟着恶劣情感词个数添加根本呈线性添加趋势,恶劣情感词的数量决定了他们的循环次数,当恶劣情感词较少的时分(10个左右),功能会优于根据查找引擎的过滤算法,但当词数添加时,特别是词数较多时,则没有一点点功能优势。而从工程上来看,因为要适应于多个用户,
宁波seo要害词数往往在几十乃至上百个以上。别的,根据sql正则的办法运转功率整体上比根据java正则有弱小优势。根据以上剖析,根据查找引擎要害词过滤算法能很好的适应于各大类型网站,且能取得良好的运转功率,达到恶劣舆情信息的发现实时高效的方针。
剖析表1,三大类型网站的均匀查准率较高,均匀查全率都偏低,腾讯微博的查全率和查准率都是三者中最低,这可能是用户在宣布微博这种短文本时随意性较大所致[9]。新浪新闻的查全率和查准率为三者中最高也与新闻介质自身规范性较强有关[10]。因而,根据查找引擎过滤算法的查全率有待进步。
3总结
根据查找引擎的要害词舆情过滤算法在履行功率上要比普通的正则匹配、高亮文本替换好得多,它十分适合于网页实时下载和内容解析的体系中,并且能运用开源查找引擎结构的高亮语法便利的生成舆情扼要文本,较好的处理了恶劣舆情信息的实时发掘问题。下一步的工作:一是将索引库尝试部署成分布式索引,构建运转高效而稳定的舆情过滤监控体系和查找引擎;二是结合机器学习的办法进行文本聚类以取得更高的查全率和查准率。
参考文献:
[1]李强.互联网有害信息实时过滤报警体系的完结[J].计算机工程与规划,2006(18):3419-3423.
[2]王俊.根据Web查找的舆情剖析体系的规划与完结[D].北京:北京邮电大学,2011.
[3]庞磊,李寿山,周国栋.根据情绪知识的中文微博情感分类办法[J].计算机工程,2012(13);156-158.
[4]邱云飞,程亮.微博突发论题检测办法研讨[J].计算机工程,2012(9);288-290.
[5]KimSoo-Min,HovyE.AutomaticDetectionofOpinionBearingWordsandSentences[C]//Proc.ofInternationalJointConferenceonNaturalLanguageProcessing.JejuIsland,Korea:[s.n.],2005.
[6]QiangY,ZiqiongZhang,RobLaw.Sentimentclassicationofonlinere-viewstotraveldestinationsbysupervisedmachinelearningapproaches[J].ExpertSystemswithApplications,2009,36:6527-6535.
[7]黄晓斌,赵超.文本发掘在网络舆情信息剖析中的使用[J].情报科学,2009(1):94-99.
[8]张伟.网络舆情监控体系的研讨与完结[D].天津:天津大学,2011.
[9]韩忠明,张玉沙,张慧,万月亮,黄今慧.有用的中文微博短文本倾向性分类算法[J].计算机使用与软件,2012(10):89-93.
[10]王贵斌,陈敏直.文明规范与新闻结构[J].今世传达,2005(3):18-20.
本文转载自
宁波seowww.leseo.net
补充词条:
宁波网站seo优化
宁波谷歌seo
宁波网站seo
宁波seo优化公司
宁波网络seo