1突发事件判断算法
本文所提出的算法对传统的词频统计方法[4]进行了改进。首先根据用户定义及系统自动生成的指定网站以及关键词语定向抓取网页,随后通过计算词频的文档变化率,对超过文档变化率阈值的词汇进行预报警,同时进行多关键词组合后的文档变化率统计,得到突发事件的大致内容后,随后进行二次报警。
1.1相关概念(1)文档集合文档集合DocumentSe(tDocCount、WordCount、Doc?uments、WordStatTable)。其中,Doccount表示文档数量、wordCount表示总词汇量、documents表示以列表方式组织的DocItem(文档项),可对其中的文档项根据PangRank指标、日期等进行排序。WordStatTable表示集合内词汇统计表。每取出文档集的一篇文档(可以是帖子,也可以是新闻等),通过WordStatTable.Addword(w,num)对各文档的词汇进行统计。(2)词汇统计集合WordStatTableWordStaTable(wordStats,parentDocset,weight)信息,WordStats表示以Map形式组织的词汇统计项,此结构是一个“键-键值”的映射,其中键就是关键词,键值就是文档引用数,这样可以高效地找到某个词汇的计数项,weight表示词汇出现的权重,词汇出现在title、meta等部分的权重大于词汇出现在页面正文中的权重。ParentDocSet表示对所属文档集对象documentset的引用。(3)词汇文档引用数DFc(i)表示某个词汇i在不同文档中出现的频率,在一篇文档中多次出现只记1次。因为同一词汇在文档不同位置出现的权值不同,所以词汇文档引用数需要将文档出现次数跟出现权重结合在一起。计算方法是:其中,count表示词汇的文档引用数,w表示权值,只要该词出现在标题,网页的meta等关键位置,权值为1.5,若出现在文档正文中权值为1.c表示在c时间。(4)词汇文档引用变化率Fi单纯计算文档引用率不能体现突发事件由一般事件变化而来的特性,因此,这里引入了词汇文档引用变化率的概念。取同一词汇两个相邻时间的文档引用数进行计算,使词汇的文档引用数与前后时间结合在一起,将突发时间与热点事件进行区别。文档引用变化率计算方法是:
1.2算法基本流程(1)按设定时间间隔(例如C2-C1=1h,2h..),获取该时间段内的文档集合DocumentSet,将两个相邻时间段的文档集合临时保存(当获取C3时间文档集合时,C3时间的文档集合覆盖C1时间的文档集合,使得任何时间都只需要保存两个文档集合)。(2)对每个时间段的文档集合通过WordStatTable(词汇统计表)找到每个词汇在该时间段内文档集合中的文档引用数DF(w)。具体方法是:依次读每个元素,在wordstats中的Map中搜索其是否存在,若存在则记录其权重即所在位置,同时词频加1,如果不存在则添加这个词,并设置词频为1,并记录其所在位置的权重值。(3)计算每个词汇在两个时间段内的文档数变化率Fi,计算方法见公式(1)、(2)。(4)对Fi进行排序,若某个Fi的值超过了规定阈值U1,则确定可能有突发事件发生,进行预警。同时进入步骤(5)。若无超过阈值U1的词汇,则等待下个时间段获取文档集合,重新计算,返回步骤(1)。(5)获取C2时刻各词文档数变化率前10位的词汇。进行词汇的两两组合,三三组合得到若干词组,统计这些组合词组从C1时间到C2时间的文档变化率Fi(方法见步骤(2)、步骤(3))。将组合词汇文档变化率超过阈值U2的词汇组合作为突发事件关键词汇再次发往预警平台做确认报警。(6)预警平台根据得到的词汇组合,从documentSet中重新获取DocItem项,并从已缩小的信息范围中再次提出事件描述关键词,将词汇补充进关键词库中。
2实验
本实验对自行开发的舆情系统中的突发事件模块判断进行检测。由于该系统使用者为某教育部门,因而在前期系统配置时已经进行了行业设置,重点获取教育行业信息。以2012年某月某日数据信息为例,查看实验结果。(在此期间,14日晚22点左右,该家长就某幼儿园打人事件陆续在成都各大主流媒体网站上发帖,次日各大论坛、新闻媒体进行了普遍报道)实验结果从图中可以看出,系统检测词汇随时间的排名情况,以及组合词汇排名情况由表1可以看出,突发事件预测并不是以文档引用数作为判断标准,而是以文档引用变化率作为判断标准。该生家长在22:00-24:00在多家媒体发帖说明此事,并由部分朋友转发,由于事件是突发事件,因此在相邻时间内文档变化率会有小幅度高,达到阈值后会被报警。表2可以看出,多关键字的组合基本描述清楚了事件的主题,同样以文档引用变化率作为判断标准。图2是该事件从突发事件变为热点事件的曲线图,可以看出,当22:00时事件发生达到阈值,突发事件报警。但由于正值凌晨,所以事件反应较为平淡,但到次日8点后,逐步炒热,形成热点,但事件已经于热点前警。这也体现出突发事件与热点事件在分析和判断上的区别。
3总结
突发事件通常是短时间内从关注程度低的状态到高关注率的状态,此特性与一直处高关注率的热点事件有本质的区别。因此本文对突发事件的预测中并没有一味以词频数的高低作为判断依据,而是根据文档变化率作为判断依据,较好地区分了热点事件与突发事件。同时由于模型从数据获取开始就根据用户需求来进行捕获,因此从时间上和针对性上较一般常规模型有很大的改善,也易于实现。由于只对相邻两个时间的数据进行了判断,在判断过程中有可能出现重复判断的情况,也可能出现因为偶然事件导致的误报,后续工作中对时间设置进行分时段设置,并进行词性的判断。此外,本算法只是快速判断出突发事件以及突发事件的大致内容,对于事件发展趋势还需要通过趋势模型得到结果。
作者:王力洪 单位:四川广播电视大学 培训学院