一种挖掘微博话题趋势发起人的方法_3

文档序号:8543759阅读:来源:国知局
话题微博数量随时间的变化趋势图上进一步筛选波谷点的具体步骤,如图4所 示:
[0097] 步骤301、将时间趋势图中所有离散点组成数组tc,将数组tc中的所有极小值点 升序排列,前Ml个点构成第一极小值点数组Y1;
[009引时间趋势图中,包括起始点和终止点,同时小于等于前后两点的点为极小值 点,将数组tc中的所有极小值点升序排列的前Ml个点加入极小值点数组Y冲,形成 };=[);1,托...乂,。.乂,本实施例中取Mi= 10。
[009引步骤302、在极小值点数组Y冲,筛选连续的波谷点,得到第二极小值点数组Y2。
[0100] 筛选连续波谷点:对于数组Yi中相邻的两个元素y。与7。_1,极小值点数组 X={_>'一'2.一'。...>^,}中判断元素y。对应的微博发布量是否与y。_1对应的微博发布量相同,如 果相同,将y。从数组Y1中删除。n依次取1~M1,将数组Yi中所有元素判断完毕,得到新的 第二极小值点数组^2 =[>'1,片..义,,.一'.1/=},该数组的长度为M2。
[0101] 步骤303、筛选掉数组Y2中大于等于平均值且在相邻的前后各点中不为最小值的 点,数组Y2中剩下的点组成第S极小值点数组Y3;
[0102] 如图5所示,具体步骤如下:
[0103] 步骤I、对数组tc中离散点分组,获取各组中屯、点Ct与同组最大值差值的平均值 me过打_师8 ;
[0104] 在数组tc中W第t个点Ct为中屯、,选取相邻的前后各k个点,共化+1个点为一 组进行分组,本实施例中k= 3,当t-k<l时,从Cl开始,当t+k〉N时,最大为CW。每组数组{Ct_k,. . .C。. . . 中的最大值设为max_numt,t为 1~N;
[0105]计算每组数组中屯、点Ct与该组最大值的差值为WSt=Ct-max_numt。依次选取t为 1~N,构成该组中屯、点与最大值的差值集合;WS= {wsi,WS2,. . .,wsJ,长度为N;计算该差 值集合的平均值mean_ws。
[010引步骤II、将数组Y2中极小值点与平均值mean_ws比较,依次标记数组Y2中各极小 值点的第一属性fm;
[0107] 数组Y2中极小值y。在数组tc中对应的点用Cf。表示,即数组Y2中第n个极大值在 数组tc中是位于第t。个。比如极小值y2在数组tc中对应的点为C8,则t2为8。当极小值y。在数组tc中对应的点Cf,小于差值集合的平均值时,即胃时,标记极小值Ym的 束一属性fm二1,否则fm二0。
[010引步骤III、将点Cf,与其在数组tc中相邻前后各点比较,依次标记数组Y2中极小值 点第二属性gm;
[0109] 进一步将步骤II中的离散点,取其在数组tc中相邻的前后各k个点对应的微 博发布量进行比较,Wft。为中心相邻的前后各k个点共化+1个点为一组进行分组,本实施 例中k= 6。当t-k<l时,从Cl开始;当t+k〉N时,最大为Cw;判断对应的微博发布量是 否为该组{ct_k,. . .C。. . .Ct+J中的最小值,如果是,标记点^<,表示的极小值y。的第二属性gm =1,否则gm= 0。
[0110] 步骤IV、依次筛选数组Y2中的极小值点ym的属性,当fm= 0且gm= 0时,则将点 y。从数组Y2中移除;数组Y2经过移除操作后形成第S极小值点数组Y3。
[01 川 ^={义,>'2,..斬...乃/;},长度为13。
[0112] 步骤304、删除数组Ys中差距较小的相邻极小值点,组成波谷点数组Y4;
[011引对于数组Ys中的各极小值进行如下处理;设数组Y3中极小值点5S.在数组tc中对 应的点f*,,We*,为中屯、,选取相邻的前后各1^个点为一组进行分组,本实施例中1^ = 3,计算 每组数组中屯、点e*,与该组最大值的差值为kSi,其中j分别取1~Ms,所有差值得到数组
[0114]你= {/"!。对数组KS中元素ks巧序排列,得到新的数组 \KS = I?/?|,"/a.,,...打/a',',,"心.U.I〇
[01巧]点nkSi为数组Ys中的极小值点,与其前后各k个点中形成的分组中最大值的差。 数组Ys中极小值点y,在数组tc中对应的点用表示,即数组Ys中第ji个极小值数在数组 tc中是位于第个。
[011引 W极小值点>';,为中心在数组tc中前后各取k个点形成新的数组,本实施例中k =6,循环取nkSi为"/"i,"/"2,..."b,,...,nA3w,,针对每一个nkSi,依次判断对应的极小值点y;,之 后的相邻极小值点…,是否存在数组tc形成的新的数组中,并且同时对应的微 博发布量是否大于极小值点对应的微博发布量,如果是,将极小值点心…,yy%依次 筛掉,否则保留。剩下的极小值点组成最终的波峰点数组^4 = [)\,乃,…知.相}。
[0117] 步骤四、根据波峰点数组X4和波谷点数组Y4,选用第一个波谷点到第一个波峰点 之间作为趋势的时间范围。
[011引根据步骤202到步骤210得到了系列波峰点和波谷点,由于波峰波谷相间出现,形 成多个波动。在话题发展后期,微博的发布数量会受到很多外部因素影响,如电视媒体的播 报等。而话题发展初期的变动,更多是受到早期参与微博的内容影响。所W选用第一个波 谷点到第一个波峰点之间为趋势,构成了趋势的时间范围。如果第一个波谷点没有在波峰 点之前,W话题开始时间与第一个波峰点构成趋势的时间范围。
[0119] 步骤五、在波峰点与波谷点确定的趋势时间范围内,进行微博关键词的提取;
[0120] 微博关键词的是指对高频词进行提取。
[0121] 高频词在一定程度上反映了用户讨论的主要信息。本发明选用排名前50的高频 词代表趋势的主要内容。
[0122] 具体的提取过程,如图6所示;
[0123] 步骤501、对波峰点和波谷点确定的趋势时间范围内,对微博数据集进行文本分 词;
[0124] 话题讨论趋势的主要内容由文本决定,对趋势时间范围内的微博数据集进行文本 分词。使用简易中文分词系统SCWS(SimpleQiineseWordsSegmentation的缩写),采用 自行采集的词频词典,并辅W-定程度上的专有名称、人名、地点、数字年代等规则集。针对 每条微博进行分词,得到每条微博的代表性词语集合。
[0125] 步骤502、剔除文本分词中的低频词和超高频词;
[0126] 低频词仅在少量微博中出现,不能代表大量用户的观点。超高频词可能是由分词 产生的碎片,或者是人们进行表述时必须用的词,超高频词都对表示用户主流观点没有意 义,所W也将其剔除。
[0127] 此处剔除掉词频小于S的低频词和词频比例占0. 8W上的超高频词。
[0128] 步骤503、对剩下的文本分词根据词频进行降序排列,获取高频词作为微博关键 词。
[0129] 经过步骤502处理后,对剩下的文本分词根据词频进行降序排列,获取词频前50 的高频词作为趋势的主要内容。
[0130] 步骤六、根据关键词,对微博内容相关度排序,提取趋势制造者;
[0131] 趋势制造者即为波谷波峰确定的时间范围早期参与话题讨论,并且发表内容对趋 势后续讨论产生重要影响的用户。
[0132] 对趋势开始初期的微博,进行分词和词性筛选,将单条微博的关键词集合,对排列 前50高频词的命中个数作为其内容相关度。然后依据内容相关度降序排序,从而提取趋势 审。造者。
[0133] 步骤走、根据波峰点与波谷点确定的时间范围获取增速最快的时间段。
[0134] 在趋势产生初期,虽然一些用户产生了对后续讨论中较为重要的内容。但是是否 能够广泛传播并不能够确定。趋势推动者即为在趋势发展过程中,起到推动趋势发展,扩大 信息传播范围的关键用户。根据上述确定的趋势时间范围,W小时为时间粒度构造趋势事 件范围内的数量变化图,统计参与讨论的微博数量构成时间趋势变化的序列。
[01巧]考虑到数据的频繁变动,W指数平滑法对序列进行处理。即将波谷点与波峰点 之间的时间段内所有小时组成时间趋势变化序列t= {ti,*2,... ,从该序列中W3为 单位,选取m组,m取1~N-2,计算每组的平均值*,,,=一'"'^+^,由此组成数组k= 也,k,,...kw_2},然后依次计算ki,k,两点间的斜率,斜率值即为两点的微博发布量对应的 差值;获取斜率最大的两点kp,k。。
[0136] 步骤八、对增速最快的时间范围内微博进行转发量排序,提取趋势推动者。
[0137] 由kp,k。两点确定的时间范围即为趋势推动者所处的时间范围。利用该时间范围 内微博的转发量进行降序排序,获取转发量前20的微博发布者作为趋势推动者。
[013引上述计算方法同样可W应用于新闻的趋势发起人计算。其中新闻的趋势推动者计 算,可W将评论数替换转发量进行排序,由此可W将该方法应用于话题新闻趋势推动媒体 的计算。
【主权项】
1. 一种挖掘微博话题趋势发起
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1