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

文档序号:8543759阅读:来源:国知局
人的方法,用于获取微博话题的趋势制造者和趋势推动 者,完成趋势发起人的挖掘,其特征在于:包括以下步骤: 步骤一、针对某一话题微博,以天为时间粒度,构建参与该话题讨论的微博数量的时间 趋势图; 步骤二、获取时间趋势图中的波峰点; 步骤201、将时间趋势图中所有离散点组成数组tc,将数组tc中的所有极大值点降序 排列,前N1个点构成第一极大值点数组X 1; X1 = ,…·\},&为正整数,表示数组X i中元素个数; 步骤202、在极大值点数组X1中,筛选连续的波峰点,得到第二极大值点数组X 2; 对于数组X1中相邻的两个元素 X "与X μ,判断元素 xn对应的微博发布量是否与X μ中 的微博发布量相同,如果相同,将Xn从数组X i中删除,否则,不进行删除操作;将数组X :中 所有元素判断完毕后,得到第二极大值点数组不;队为正整数,表示数组 X2中元素个数; 步骤203、筛选掉数组X2中小于差值平均值并且在相邻的前后各点中不是值最大的点, 将剩下的点组成第三极大值点数组X3; 步骤a、对数组tc中离散点分组,获取各组中心点Ct与同组最小值差值的平均值mean_ VS ; 步骤b、将数组&中各极大值点与平均值mean_vs比较,依次标记数组X 2中各极大值 点的第一属性fm; 将数组X2中极大值X m在数组tc中对应的离散点用气表示,如果、.,标记点 xm的第一属性fm为〇,否则,标记第一属性fm为1 ; 步骤C、将点气与其在数组tc中相邻前后各点比较,依次标记数组&中极大值点第二 属性gm; 判断气是否为数组tc中相邻前后各k个点中的最大值,如果是,标记点Xm的第二属性 gj 1,否则标记点X m的第二属性为g 〇 ;其中,k为正整数; 步骤d、依次筛选数组X2中极大值点X m的属性,当第一属性f m= 0且第二属性g m =〇时,则将点xm从数组X 2中移除;数组X2经过移除操作后形成第三极大值点数组 Z3 },队为正整数,表示数组X 3中元素个数; 步骤204、删除数组X3中差距较小的相邻极大值点,组成波峰点数组X 4; 对于数组X3中的各极大值进行如下处理:设数组X3中极大值点Xj在数组tc中 对应的点为S,将S与数组t c中S相邻的前后各k个点中的最小值作差,设得到 差值tSi,i = 1,2,... N3;所有差值组成数组TS,将TS中点降序排列后形成数组 /\<75' =丨"(、_1."卜.../叫,..."^\.|,针对每一个ntsp依次判断Iitsi在数组tc中对应的极大 值点七之后的相邻极大值点,··"·%是否都存在于数组&中,并且相邻极大值点 'Y1,···,λΑ对应的微博发布量是否小于气对应的微博发布量,如果是,依次将相邻极大 值点'VxW…,·τ/ν,筛掉,否则保留' I,…,xZiV3,剩下的极大值点组成最终的波峰点数组 JT4 = ,队为正整数,表示数组X 4中元素个数; 步骤三、获取时间趋势图中的波谷点; 步骤301、将时间趋势图中所有离散点组成数组tc,将数组tc中的所有极小值点升序 排列,前M1个点构成第一极小值点数组Y 1; X = {ji,乃…JV..JW1M1S正整数,表示数组Y i中元素个数; 步骤302、在极小值点数组Y1中,筛选连续的波谷点,得到第二极小值点数组Y 2; 对于数组Y1中相邻的两个元素 y "与y n_i,判断元素 yn对应的微博发布量是否与y n_i对 应的微博发布量相同,如果相同,将yn从数组Y i中删除,否则,不进行删除操作;将数组Y i 中所有元素判断完毕后,得到第二极小值点数组K =[>\,乃…凡; M2S正整数,表示数 组Y2中元素个数; 步骤303、筛选掉数组¥2中大于等于平均值且在相邻的前后各点中不为最小值的点,数 组Y2中剩下的点组成第三极小值点数组Y 3; 步骤I、对数组tc中离散点分组,获取各组中心点Ct与同组最大值差值的平均值mean_ WS ; 步骤II、将数组1中各极小值点与平均值mean_ws比较,依次标记数组Y 2中各极小值 点的第一属性fm; 将数组Y2中极小值7">在数组tc中对应的点用气表示,当& 时,标记极小值 点ym的第一属性f m为1,否贝1J,标记第一属性f m为〇 ; 步骤III、将点气与其在数组tc中相邻前后各点比较,依次标记数组Y2中极小值点第 二属性gm; 判断&对应的微博发布量是否为数组tc中相邻前后各k个点对应的微博发布量最小 值,如果是,标记点*^表示的极小值ym的第二属性gj 1,否则标记点ym的第二属性g A 〇 ; 步骤IV、依次筛选数组Y2中的极小值点ym的属性,当第一属性fm= 0且第二属性 gm= 〇时,则将点ym从数组Y 2中移除;数组Y2经过移除操作后形成第三极小值点数组 K 2,,]?3为正整数,表示数组Y 3中元素个数; 步骤304、删除数组Y3中差距较小的相邻极小值点,组成波谷点数组Y 4; 对于数组Y3中的各极小值进行如下处理:设数组Y3中极小值点yj在数组tc中 对应的点为\,将点与数组t c中\相邻的前后各1^个点中的最大值作差,得到 差值ksp i = 1,2,... M3;所有差值组成数组KS,将KS中点升序排列后形成数组 「5* =卜&11,《^512,.」命,...,#%3},针对每一个]11^,依次判断111^在数组1:(3中对应的极小 值点八之后的相邻极小值点,···,、是否都存在于数组乙中,,并且相邻极小值点 I,···,>、对应的微博发布量是否大于极小值点心对应的微博发布量,如果是,依次将 相邻极小值点M筛掉,否则保留JV1 Ik,···,3、,剩下的极小值点组成最终的波 谷点数组& = [)'1,》..)?、},]?4为正整数,表示数组¥4中元素个数 ; 步骤四、根据波峰点数组X4和波谷点数组Y 4,选用第一个波谷点到第一个波峰点之间 作为趋势的时间范围; 步骤五、在波峰点与波谷点确定的趋势时间范围内,进行微博关键词的提取; 微博关键词的提取是指对高频词进行提取; 步骤六、根据关键词,对微博内容相关度排序,提取趋势制造者; 以单条微博关键词对整体关键词的覆盖程度作为内容相关度,降序排序后取排名在前 的微博发布用户为趋势制造者; 步骤七、根据波峰点与波谷点确定的时间范围获取增速最快的时间段; 将时间趋势图中波谷点与波峰点之间的时间段内,以小时为时间粒度构造数量变化 图,所有小时组成时间趋势变化序列t = It1, t2,... tN},从该序列选取m组,计算每组的平 均值组成数组,然后依次计算数组中两点间的斜率,获取斜率最大的两点作为增速最快的 时间段; 步骤八、对增速最快的时间范围内微博进行转发量排序,提取趋势推动者。
2. 根据权利要求1所述的一种挖掘微博话题趋势发起人的方法,其特征在于:步骤a 具体为:数组tc中以第t个点Ct为中心,选取C t相邻的前后各k个点,共2k+l个点为一组 进行分组,计算每组数组中心点Ct与该组最小值的差值vs t,依次选取t为1~N,N为自然 数;构成该组中心点与最小值的差值集合:VS = Ivs1, vs2, ...,vsN},计算该差值集合的平 均值 mean_vs〇
3. 根据权利要求1所述的一种挖掘微博话题趋势发起人的方法,其特征在于:步骤I 具体为:在数组tc中以第t个点ct为中心,选取相邻的前后各k个点,共2k+l个点为一组 进行分组,每组数组中的最大值设为ma X_numt;计算每组数组中心点c t与该组最大值的差 值为wst= ct-max_numt,构成该组中心点与最大值的差值集合:WS = (Ws1, ws2,. . .,wsN},计 算该差值集合的平均值mean_ws。
4. 根据权利要求1所述的一种挖掘微博话题趋势发起人的方法,其特征在于:步骤五 具体为: 步骤501、对波峰点和波谷点确定的趋势时间范围内,对微博数据集进行文本分词; 步骤502、剔除文本分词中的低频词和超高频词; 步骤503、对剩下的文本分词根据词频进行降序排列,获取高频词作为微博关键词。
【专利摘要】本发明公开了一种挖掘微博话题趋势发起人的方法,属于数据挖掘领域。首先针对某一话题微博,以天为时间粒度,构造微博量随时间变化的趋势图,获取波峰点和波谷点,确定趋势的时间范围,提取微博高频词代表趋势主要内容,以趋势早期参与微博高频词的数量作为该条微博的内容相关度,降序排序后提取趋势制造者。根据趋势变化,以小时为时间粒度,构造趋势时间范围的微博数量变化图,获取斜率最大的时间范围作为增速最大的时间段,并对微博转发量降序排序,确定趋势推动者。本发明利用微博数据平台,具有高效性、鲁棒性和简洁性等优点,适用于对话题微博趋势发起人方面的分析,在社会舆情监控和信息传播分析等领域具有重要的应用价值。
【IPC分类】G06F17-30
【公开号】CN104866561
【申请号】CN201510255994
【发明人】程工, 刘春阳, 李雄, 王卿, 张旭, 庞琳, 吴俊杰, 胡晓倩
【申请人】国家计算机网络与信息安全管理中心
【公开日】2015年8月26日
【申请日】2015年5月19日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1