基于Hadoop平台的微博热点事件提取
大纲 背景 相关定义 算法流程 实验设置与分析 总结
背景 微博的即时通讯功能强大,用户可利用各种手段在微博上实时、快捷地发布社会热点事件。 但是微博平台在短时间内发布大量信息的特点在一定程度上造成了信息的碎片化,而且迅速的信息更新速度易造成重要信息的不易检索。 像汶川地震,温州动车事故这些事件都是从微博上 第一时间被发布的。 传播受众群体的广泛性;传播途径的草根性以及传播内容的原创性。 对一段时间内的微博数据进行分析,提取在这段时间内的热点事件。
背景 热点话题发现与跟踪(topic detection and tracking,TDT)就是从网络文本集中识别出突发性热点话题,并跟踪话题的演变过程。 对热点话题的检测通常采用的方法有两种:(1)基于内容的热点话题检测;(2)基于时序特征的热点话题检测。 基于内容的话题检测技术可以有效地识别和跟踪具有相似内容的话题, 被广泛地运用在TDT和文本分析领域。 但是这类方法不适合微博这种短文本内容的数据。
大纲 背景 相关定义 算法流程 实验设置与分析 总结
微博标签(microblog tag) 每个MT由两部分组成,微博内容C和该微博内容发表的时间T,记为(T,C); 定义: 微博标签(microblog tag) 每个MT由两部分组成,微博内容C和该微博内容发表的时间T,记为(T,C); 单词序列(word seqence) 单词序列WS定义为(W,Fs)。其中W为单词,Fs={f1,f2,...fn}是单词W的词频序列,每个fi对应于一个单位时间内的词频。 用户名,用户ID
定义: 爆发度(butsty)假定每个单词的词频服从高斯分布,定义爆发度Bi为: 爆发序列(bursty sequence) 爆发序列BS定义为(W,Bs)。W为单词,Bs={b1,b2,...bn}是爆发序列,每个bi对应于一个词频的爆发度。
大纲 背景 相关定义 算法流程 实验设置与分析 总结
算法流程
ws的生成 1. 将MT作为Map端的输入,每次读入一条MT数据,用中文分词法将C分成不同的单词W; 2.创建一个时间数组TL,并初始化为0,数组长度等于总的时间片段个数。根据T计算相对应的数组下标j,令TL[j]=1; 3.将每个单词W作为key,数组TL作为value输出到Reduce端; 4.在Reduce端,将每个key的value值相加,得到一个总的svalue。然后将key和svalue作为键值对返回。经过这样处理就能得到WS。
WS生成流程 Reduce 10
BS的生成 Map端读入一条WS数据,对每个ti时间段的词频fi,将其作为value值分别发给ti后的W个时间段; key是由单词w和对应的要发给的时间段j,以及在时间段j的词频fj组成的字符串; 这样在Reduce端,除最前面的W个时间片段外,每个时间片段都能得到其前面的W个词频。 由前面的定义可知,要获得ti时刻的爆发度Bi,需要知道ti前W个时间段的词频fj(i-W<=j<i). 最后采用一个类K-MENSE的聚类算法,将单词的爆发度序列聚类生成热点事件。
爆发时间段检测
大纲 背景 相关定义 算法流程 实验设置与分析 总结
实验分析
时间爆发时间段检测
总结 利用微博数据跟踪社会热点事件; 利用Hadoop平台计算词频和爆发度; 检测热点事件的爆发时间段;
谢谢!
Q & A