CN104866561B - 一种挖掘微博话题趋势发起人的方法 - Google Patents
一种挖掘微博话题趋势发起人的方法 Download PDFInfo
- Publication number
- CN104866561B CN104866561B CN201510255994.6A CN201510255994A CN104866561B CN 104866561 B CN104866561 B CN 104866561B CN 201510255994 A CN201510255994 A CN 201510255994A CN 104866561 B CN104866561 B CN 104866561B
- Authority
- CN
- China
- Prior art keywords
- point
- array
- trend
- maximum
- minimum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种挖掘微博话题趋势发起人的方法,属于数据挖掘领域。首先针对某一话题微博,以天为时间粒度,构造微博量随时间变化的趋势图,获取波峰点和波谷点,确定趋势的时间范围,提取微博高频词代表趋势主要内容,以趋势早期参与微博高频词的数量作为该条微博的内容相关度,降序排序后提取趋势制造者。根据趋势变化,以小时为时间粒度,构造趋势时间范围的微博数量变化图,获取斜率最大的时间范围作为增速最大的时间段,并对微博转发量降序排序,确定趋势推动者。本发明利用微博数据平台,具有高效性、鲁棒性和简洁性等优点,适用于对话题微博趋势发起人方面的分析,在社会舆情监控和信息传播分析等领域具有重要的应用价值。
Description
技术领域
本发明属于数据挖掘领域,具体涉及一种挖掘微博话题趋势发起人的方法。
背景技术
随着社交媒体的不断发展,人们对于微博、微信等社交媒体的使用越来越广泛,社交网络结构的作用也越来越重要,基于社交网络结构,信息的传播更迅速,波及范围更广。人们基于某一话题或事件在社交媒体中进行讨论,针对话题或事件的讨论,会产生大量文本数据,通过对该海量数据的分析使人们了解社交网络中该事件的主要内容以及讨论趋势变化。
而某些人物的参与,对话题趋势的变化以及事件的推动起到关键作用,对于这些关键人物的微博昵称和UID信息的提取,能为社交媒体舆情监控提供重要线索;所以,挖掘话题的趋势发起人成为当前的一个研究热点。
发明内容
本发明的目的是为了深入了解对微博中某话题信息传播产生重要影响的人物,构建了一种挖掘微博话题趋势发起人的方法,基于某个话题事件,利用参与微博话题讨论人数的时间变化图提取话题事件趋势,然后结合微博文本内容和传播广度,对其中趋势的制造者和趋势的推动者进行提取。具体包括如下步骤:
步骤一、针对某一话题微博,以天为时间粒度,构建参与该话题讨论的微博数量的时间趋势图;
时间趋势图中以时间为横轴,单位为天;以当天的微博发布量为纵轴。
步骤二、获取时间趋势图中的波峰点;
步骤201、将时间趋势图中所有离散点组成数组tc,将数组tc中的所有极大值点降序排列,前N1个点构成第一极大值点数组X1;
时间趋势图中,包括起始点和终止点,同时大于等于前后两点的点为极大值点,将数组tc中的所有极大值点降序排列的前N1个点加入极大值点数组X1中,形成
步骤202、在极大值点数组X1中,筛选连续的波峰点,得到第二极大值点数组X2。
步骤203、筛选掉数组X2中小于差值平均值并且在相邻的前后各点中不是值最大的点,将剩下的点组成第三极大值点数组X3。
步骤a、对数组tc中离散点分组,获取各组中心点ct与同组最小值差值的平均值mean_vs;
在数组tc中以第t个点ct为中心,选取相邻的前后各k个点,共2k+1个点为一组进行分组,计算每组数组中心点ct与该组最小值的差值为vst,依次选取t为1~N,构成该组中心点与最小值的差值集合:VS={vs1,vs2,...,vsN},计算该差值集合的平均值mean_vs。
步骤b、将数组X2中各极大值点与平均值mean_vs比较,依次标记数组X2中各极大值点的第一属性fm;
数组X2中极大值点xm在数组tc中对应的离散点与平均值mean_vs比较,
如果标记点xm第一属性fm=0,否则第一属性fm=1。
步骤c、将点与其在数组tc中相邻前后各点比较,依次标记数组X2中极大值点第二属性gm;
将离散点与其在数组tc中相邻的前后各k个点进行比较,判断是否为最大值,如果是,标记点xm的第二属性gm=1,否则第二属性gm=0。
步骤d、依次筛选数组X2中极大值点xm的属性,当第一属性fm=0且第二属性gm=0时,则将点xm从数组X2中移除;数组X2经过移除操作后形成第三极大值点数组X3。
步骤204、删除数组X3中差距较小的相邻极大值点,组成波峰点数组X4;
对于数组X3中的各极大值进行如下处理:设数组中极大值点xj对应的点与数组tc中相邻的前后各k个点中最小值作差,得到的差值为tsi,i=1,2,...;所有差值组成数组TS。对TS中点tsi降序排列后形成数组点ntsi对应的极大值点为
循环取ntsi为针对每一个ntsi,依次判断ntsi对应的极大值点之后的相邻极大值点是否存在数组X3中,并且相邻极大值点对应的微博发布量是否小于极大值点xji对应的微博发布量,如果是,依次将极大值点筛掉,否则保留剩下的极大值点组成最终的波峰点数组
步骤三、获取时间趋势图中的波谷点;
步骤301、将时间趋势图中所有离散点组成数组tc,将数组tc中的所有极小值点升序排列,前M1个点构成第一极小值点数组Y1;
时间趋势图中,包括起始点和终止点,同时小于等于前后两点的点为极小值点,将数组tc中的所有极小值点升序排列的前M1个点加入极小值点数组Y1中,形成
步骤302、在极小值点数组Y1中,筛选连续的波谷点,得到第二极小值点数组Y2。
对于数组Y1中相邻的两个元素yn与yn-1,判断极小值点数组Y1中元素yn对应的微博发布量是否与yn-1对应的微博发布量相同,如果相同,将yn从数组Y1中删除,n依次取1~M1,,否则,不进行删除操作;将数组Y1中所有元素判断完毕,得到第二极小值点数组
步骤303、筛选掉数组Y2中大于等于平均值且在相邻的前后各点中不为最小值的点,数组Y2中剩下的点组成第三极小值点数组Y3;
步骤I、对数组tc中离散点分组,获取各组中心点ct与同组最大值差值的平均值mean_ws;
在数组tc中以第t个点ct为中心,选取相邻的前后各k个点,共2k+1个点为一组进行分组,计算每组数组中心点ct与该组最大值的差值为wst,依次选取t为1~N,构成该组中心点与最大值的差值集合:WS={ws1,ws2,...,wsN},长度为N;计算该差值集合的平均值mean_ws。
步骤II、将数组Y2中极小值点与平均值mean_ws比较,依次标记数组Y2中各极小值点的第一属性fm;
数组Y2中极小值点ym在数组tc中对应的离散点与平均值mean_ws比较,
如果标记点ym第一属性fm=1,否则第一属性fm=0。
步骤III、将点与其在数组tc中相邻前后各点比较,依次标记数组Y2中极小值点第二属性gm;
进一步将离散点与其在数组tc中相邻的前后各k个点进行比较,判断是否为最小值,如果是,标记点ym的第二属性gm=1,否则第二属性gm=0。
步骤IV、依次筛选数组Y2中的极小值点ym的属性,当fm=0且gm=0时,则将点ym从数组Y2中移除;数组Y2经过移除操作后形成第三极小值点数组Y3。
步骤304、删除数组Y3中差距较小的相邻极小值点,组成波谷点数组Y4;
对于数组Y3中的各极小值进行如下处理:设数组中极小值点yj对应的点将与数组tc相邻的前后各k个点中最大值作差,得到差值为ksi,i=1,2,...;所有差值组成数组KS。将KS中点ksi升序排列后形成数组
点nksi对应的极小值点
循环取nksi为针对每一个nksi,依次判断对应的极小值点之后的相邻极小值点是否在同一数组Y3中,并且相邻极小值点对应的微博发布量是否大于极小值点对应的微博发布量,如果是,依次将极小值点筛掉,否则保留剩下的极小值点组成最终的波峰点数组
步骤四、根据波峰点数组X4和波谷点数组Y4,选用第一个波谷点到第一个波峰点之间作为趋势的时间范围。
步骤五、在波峰点与波谷点确定的趋势时间范围内,进行微博关键词的提取;
微博关键词的提取是指对高频词进行提取。
步骤501、对波峰点和波谷点确定的趋势时间范围内,对微博数据集进行文本分词;
步骤502、剔除文本分词中的低频词和超高频词;
步骤503、对剩下的文本分词根据词频进行降序排列,获取高频词作为微博关键词。
步骤六、根据关键词,对微博内容相关度排序,提取趋势制造者;
趋势制造者即为波谷波峰确定的时间范围早期参与话题讨论,并且发表内容对趋势后续讨论产生重要影响的用户。
以单条微博关键词对整体关键词的覆盖程度作为内容相关度,进行降序排序,取排名在前的微博发布用户为趋势制造者。
步骤七、根据波峰点与波谷点确定的时间范围获取增速最快的时间段。
将时间趋势图中波谷点与波峰点之间的时间段内,以小时为时间粒度构造数量变化图,所有小时组成时间趋势变化序列t={t1,t2,...tN},从该序列选取m组,计算每组的平均值组成数组,然后依次计算数组中两点间的斜率,获取斜率最大的两点作为增速最快的时间段。
步骤八、对增速最快的时间范围内微博进行转发量排序,提取趋势推动者。
对增速最快的时间段内的微博转发量进行降序排序,取排名在前的微博的发布用户为趋势推动者。
本发明的优点在于:
(1)本发明一种挖掘微博话题趋势发起人的方法,利用微博数据平台,具有高效性、易用性,鲁棒性和简洁性等优点。
(2)本发明一种挖掘微博话题趋势发起人的方法,适用于对话题微博趋势发起人方面的分析,在社会舆情监控和信息传播分析等领域具有重要的应用价值。
(3)本发明一种挖掘微博话题趋势发起人的方法,综合考虑了时间特征、文本关键内容和传播效果对微博话题趋势中起到关键作用的人物进行了提取。
附图说明
图1是本发明一种挖掘微博话题趋势发起人的方法流程图;
图2是本发明获取时间趋势图中的波峰点的方法流程图;
图3是本发明筛选极大值点数组X3的方法流程图;
图4是本发明获取时间趋势图中的波谷点的方法流程图;
图5是本发明筛选极小值点数组Y3的方法流程图;
图6是本发明提取微博关键词的方法流程图。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
微博话题趋势发起人包括微博话题趋势制造者和微博话题趋势推动者两种,微博话题趋势发起人信息包括:微博MID,微博信息内容,微博创建时间,博主UID,博主注册地址,博主昵称,关注数,粉丝数和微博转发数。
本发明一种挖掘微博话题趋势发起人的方法,首先针对某一话题微博,以天为时间粒度统计每天参与讨论的微博量,构造微博量随时间变化的趋势图,利用微博数量变化序列获取波峰点和波谷点,进一步确定趋势的时间范围。在该趋势时间范围内对微博进行分词,提取高频词代表趋势主要内容。以趋势早期参与微博高频词的数量作为该条微博的内容相关度,根据内容相关度降序排序,提取内容相关度高的微博作为趋势制造者。同时,根据趋势变化,以小时为时间粒度统计每小时参与讨论的微博量,构造趋势时间范围的微博数量变化图,利用该数量变化序列中斜率最大的时间范围,获取参与的微博增速最大的时间段,并对该时间段内的微博转发量进行降序排序,确定转发量较大的用户作为趋势推动者。
具体步骤如图1所示:
步骤一、针对某一话题微博,以天为时间粒度,构建参与该话题讨论的微博数量的时间趋势图;
由于用户发布微博的时间主要集中于白天,当天内发布微博数量的趋势具有一定的规律性。为规避时间的影响,设定以天为时间粒度,统计每一天当天内参与话题讨论的微博数量,然后以时间为横轴,单位为天;以当天的微博发布量为纵轴,绘制时间趋势图。
步骤二、获取时间趋势图中的波峰点;
在话题微博数量随时间的变化趋势图上进一步筛选波峰点的具体步骤,如图2所示,
步骤201、将时间趋势图中所有离散点组成数组tc,将数组tc中的所有极大值点降序排列,前N1个点构成第一极大值点数组X1;
时间趋势图中所有离散点组成数组tc={c1,c2,...ct,...cN},N为该话题持续的天数,为自然数;由于数据的频繁小范围变动会导致离散点中的极值点很多,若极值点对于其他点的变化并不明显,该极值点不能表现出趋势的形成,进一步筛选该类极值点。
时间趋势图中,包括起始点和终止点,同时大于等于前后两点的点为极大值点,将数组tc中的所有极大值点降序排列的前N1个点加入极大值点数组X1中,形成本实施例中取N1=10。
步骤202、在极大值点数组X1中,筛选连续的波峰点,得到第二极大值点数组X2。
筛选连续波峰点:极大值点数组中判断元素xn对应的微博发布量是否与xn-1对应的微博发布量相同,如果相同,将xn从数组X1中删除。n依次取1~N1,将数组X1中所有元素判断完毕,得到新的极大值点数组该数组的长度为N2。
步骤203、筛选掉数组X2中小于差值平均值并且在相邻的前后各点中不是值最大的点,将剩下的点组成第三极大值点数组X3。
如图3所示,具体步骤如下:
步骤a、对数组tc中离散点分组,获取各组中心点ct与同组最小值差值的平均值mean_vs;
在数组tc中以第t个点ct为中心,选取相邻的前后各k个点,共2k+1个点为一组进行分组,本实施例中k=3。如果t-k<1时,从c1开始,取{c1,c2,...ct,...ct+k};当t+k>N时,最大为cN,取{ct-k,...ct,...cN},每组数组{ct-k,...ct,...ct+k}中的最小值点设为min_numt,t为1~N;
计算每组数组中心点ct与该组最小值点的差值为vst=ct-min_numt。依次选取t为1~N,构成该组中心点与最小值的差值集合:VS={vs1,vs2,...,vsN},长度为N;计算该差值集合的平均值mean_vs。
步骤b、将数组X2中各极大值点与平均值mean_vs比较,依次标记数组X2中各极大值点的第一属性fm;
数组X2中极大值点xm在数组tc中对应的离散点与平均值mean_vs比较,
如果标记点xm第一属性fm=0,否则第一属性fm=1。
数组X2中极大值xm在数组tc中对应的点用表示,即数组X2中第m个极大值在数组tc中是位于第tm个。比如极大值x2在序列tc中对应的点为c8,则t2为8。当极大值xm小于差值集合的平均值时,即时,标记极大值xm的第一属性fm=0,否则fm=1。
步骤c、将点与点在数组tc中相邻的前后各点比较,依次标记数组X2中极大值点第二属性gm;
针对步骤b中点取其在数组tc中相邻的前后各k个点对应的微博发布量进行比较,以点为中心,相邻的前后各k个点共2k+1个点为一组进行分组,本实施例中k=6,当t-k<1时,从c1开始,取{c1,c2,...ct,...ct+k};当t+k>N时,最大为cN取{ct-k,...ct,...cN}。
判断对应的微博发布量是否为该组{ct-k,...ct,...ct+k}中的最大值,如果是,标记点表示的极大值xm的第二属性gm=1,否则gm=0。
步骤d、依次筛选数组X2中极大值点xm的属性,当fm=0且gm=0时,则将点xm从数组X2中移除;数组X2经过移除操作后形成第三极大值点数组X3。
数组长度为N3。
步骤204、删除数组X3中差距较小的相邻极大值点,组成波峰点数组X4;
对于数组X3中的各极大值进行如下处理:设数组X3中极大值点xj在数组tc中对应的点为以为中心,选取相邻的前后各k个点为一组进行分组,本实施例中k=3,计算每组数组中心点与该组最小值的差值为tsi,所有差值得到数组其中j分别取1~N3。对数组TS中的元素tsi降序排列,得到新的数组点ntsi为数组X3中的极大值点与前后各k个点中形成的分组中最小值之间的差。
数组X3中极大值点在数组tc中对应的点用表示,即数组X3中第ji个极大值在数组tc中是位于第个。以极大值点为中心,在数组tc中前后各取k个点形成新的数组,本实施例中k=6,循环取ntsi为针对每一个ntsi,依次判断对应的极大值点之后的相邻极大值点是否存在数组tc形成的新的数组中,并且同时对应的微博发布量是否小于极大值点对应的微博发布量,如果是,将极大值点依次筛掉,否则保留剩下的极大值点组成最终的波峰点数组
步骤三、获取时间趋势图中的波谷点;
在话题微博数量随时间的变化趋势图上进一步筛选波谷点的具体步骤,如图4所示:
步骤301、将时间趋势图中所有离散点组成数组tc,将数组tc中的所有极小值点升序排列,前M1个点构成第一极小值点数组Y1;
时间趋势图中,包括起始点和终止点,同时小于等于前后两点的点为极小值点,将数组tc中的所有极小值点升序排列的前M1个点加入极小值点数组Y1中,形成本实施例中取M1=10。
步骤302、在极小值点数组Y1中,筛选连续的波谷点,得到第二极小值点数组Y2。
筛选连续波谷点:对于数组Y1中相邻的两个元素yn与yn-1,极小值点数组中判断元素yn对应的微博发布量是否与yn-1对应的微博发布量相同,如果相同,将yn从数组Y1中删除。n依次取1~M1,将数组Y1中所有元素判断完毕,得到新的第二极小值点数组该数组的长度为M2。
步骤303、筛选掉数组Y2中大于等于平均值且在相邻的前后各点中不为最小值的点,数组Y2中剩下的点组成第三极小值点数组Y3;
如图5所示,具体步骤如下:
步骤I、对数组tc中离散点分组,获取各组中心点ct与同组最大值差值的平均值mean_ws;
在数组tc中以第t个点ct为中心,选取相邻的前后各k个点,共2k+1个点为一组进行分组,本实施例中k=3,当t-k<1时,从c1开始,当t+k>N时,最大为cN。每组数组{ct-k,...ct,...ct+k}中的最大值设为max_numt,t为1~N;
计算每组数组中心点ct与该组最大值的差值为wst=ct-max_numt。依次选取t为1~N,构成该组中心点与最大值的差值集合:WS={ws1,ws2,...,wsN},长度为N;计算该差值集合的平均值mean_ws。
步骤II、将数组Y2中极小值点与平均值mean_ws比较,依次标记数组Y2中各极小值点的第一属性fm;
数组Y2中极小值ym在数组tc中对应的点用表示,即数组Y2中第n个极大值在数组tc中是位于第tn个。比如极小值y2在数组tc中对应的点为c8,则t2为8。当极小值ym在数组tc中对应的点小于差值集合的平均值时,即时,标记极小值ym的第一属性fm=1,否则fm=0。
步骤III、将点与其在数组tc中相邻前后各点比较,依次标记数组Y2中极小值点第二属性gm;
进一步将步骤II中的离散点取其在数组tc中相邻的前后各k个点对应的微博发布量进行比较,以为中心,相邻的前后各k个点共2k+1个点为一组进行分组,本实施例中k=6。当t-k<1时,从c1开始;当t+k>N时,最大为cN;判断对应的微博发布量是否为该组{ct-k,...ct,...ct+k}中的最小值,如果是,标记点表示的极小值ym的第二属性gm=1,否则gm=0。
步骤IV、依次筛选数组Y2中的极小值点ym的属性,当fm=0且gm=0时,则将点ym从数组Y2中移除;数组Y2经过移除操作后形成第三极小值点数组Y3。
步骤304、删除数组Y3中差距较小的相邻极小值点,组成波谷点数组Y4;
对于数组Y3中的各极小值进行如下处理:设数组Y3中极小值点yj在数组tc中对应的点以为中心,选取相邻的前后各k个点为一组进行分组,本实施例中k=3,计算每组数组中心点与该组最大值的差值为ksi,其中j分别取1~M3,所有差值得到数组
点nksi为数组Y3中的极小值点与其前后各k个点中形成的分组中最大值的差。数组Y3中极小值点在数组tc中对应的点用表示,即数组Y3中第ji个极小值数在数组tc中是位于第个。
以极小值点为中心,在数组tc中前后各取k个点形成新的数组,本实施例中k=6,循环取nksi为针对每一个nksi,依次判断对应的极小值点之后的相邻极小值点是否存在数组tc形成的新的数组中,并且同时对应的微博发布量是否大于极小值点对应的微博发布量,如果是,将极小值点依次筛掉,否则保留。剩下的极小值点组成最终的波峰点数组
步骤四、根据波峰点数组X4和波谷点数组Y4,选用第一个波谷点到第一个波峰点之间作为趋势的时间范围。
根据步骤202到步骤210得到了系列波峰点和波谷点,由于波峰波谷相间出现,形成多个波动。在话题发展后期,微博的发布数量会受到很多外部因素影响,如电视媒体的播报等。而话题发展初期的变动,更多是受到早期参与微博的内容影响。所以选用第一个波谷点到第一个波峰点之间为趋势,构成了趋势的时间范围。如果第一个波谷点没有在波峰点之前,以话题开始时间与第一个波峰点构成趋势的时间范围。
步骤五、在波峰点与波谷点确定的趋势时间范围内,进行微博关键词的提取;
微博关键词的是指对高频词进行提取。
高频词在一定程度上反映了用户讨论的主要信息。本发明选用排名前50的高频词代表趋势的主要内容。
具体的提取过程,如图6所示:
步骤501、对波峰点和波谷点确定的趋势时间范围内,对微博数据集进行文本分词;
话题讨论趋势的主要内容由文本决定,对趋势时间范围内的微博数据集进行文本分词。使用简易中文分词系统SCWS(Simple Chinese Words Segmentation的缩写),采用自行采集的词频词典,并辅以一定程度上的专有名称、人名、地点、数字年代等规则集。针对每条微博进行分词,得到每条微博的代表性词语集合。
步骤502、剔除文本分词中的低频词和超高频词;
低频词仅在少量微博中出现,不能代表大量用户的观点。超高频词可能是由分词产生的碎片,或者是人们进行表述时必须用的词,超高频词都对表示用户主流观点没有意义,所以也将其剔除。
此处剔除掉词频小于三的低频词和词频比例占0.8以上的超高频词。
步骤503、对剩下的文本分词根据词频进行降序排列,获取高频词作为微博关键词。
经过步骤502处理后,对剩下的文本分词根据词频进行降序排列,获取词频前50的高频词作为趋势的主要内容。
步骤六、根据关键词,对微博内容相关度排序,提取趋势制造者;
趋势制造者即为波谷波峰确定的时间范围早期参与话题讨论,并且发表内容对趋势后续讨论产生重要影响的用户。
对趋势开始初期的微博,进行分词和词性筛选,将单条微博的关键词集合,对排列前50高频词的命中个数作为其内容相关度。然后依据内容相关度降序排序,从而提取趋势制造者。
步骤七、根据波峰点与波谷点确定的时间范围获取增速最快的时间段。
在趋势产生初期,虽然一些用户产生了对后续讨论中较为重要的内容。但是是否能够广泛传播并不能够确定。趋势推动者即为在趋势发展过程中,起到推动趋势发展,扩大信息传播范围的关键用户。根据上述确定的趋势时间范围,以小时为时间粒度构造趋势事件范围内的数量变化图,统计参与讨论的微博数量构成时间趋势变化的序列。
考虑到数据的频繁变动,以指数平滑法对序列进行处理。即将波谷点与波峰点之间的时间段内所有小时组成时间趋势变化序列t={t1,t2,...tN},从该序列中以3为单位,选取m组,m取1~N-2,计算每组的平均值由此组成数组k={k1,k2,...kN-2},然后依次计算k1,k2两点间的斜率,斜率值即为两点的微博发布量对应的差值;获取斜率最大的两点kp,kq。
步骤八、对增速最快的时间范围内微博进行转发量排序,提取趋势推动者。
由kp,kq两点确定的时间范围即为趋势推动者所处的时间范围。利用该时间范围内微博的转发量进行降序排序,获取转发量前20的微博发布者作为趋势推动者。
上述计算方法同样可以应用于新闻的趋势发起人计算。其中新闻的趋势推动者计算,可以将评论数替换转发量进行排序,由此可以将该方法应用于话题新闻趋势推动媒体的计算。
Claims (4)
1.一种挖掘微博话题趋势发起人的方法,用于获取微博话题的趋势制造者和趋势推动者,完成趋势发起人的挖掘,其特征在于:包括以下步骤:
步骤一、针对某一话题微博,以天为时间粒度,构建参与该话题讨论的微博数量的时间趋势图;
步骤二、获取时间趋势图中的波峰点;
步骤201、将时间趋势图中所有离散点组成数组tc,将数组tc中的所有极大值点降序排列,前N1个点构成第一极大值点数组X1;
N1为正整数,表示数组X1中元素个数;
步骤202、在极大值点数组X1中,筛选连续的波峰点,得到第二极大值点数组X2;
对于数组X1中相邻的两个元素xn与xn-1,判断元素xn对应的微博发布量是否与xn-1中的微博发布量相同,如果相同,将xn从数组X1中删除,否则,不进行删除操作;将数组X1中所有元素判断完毕后,得到第二极大值点数组N2为正整数,表示数组X2中元素个数;
步骤203、筛选掉数组X2中小于差值平均值并且在相邻的前后各点中不是值最大的点,将剩下的点组成第三极大值点数组X3;
步骤a、对数组tc中离散点分组,获取各组中心点ct与同组最小值差值的平均值mean_vs;
步骤b、将数组X2中各极大值点与平均值mean_vs比较,依次标记数组X2中各极大值点的第一属性fm;
将数组X2中极大值xm在数组tc中对应的离散点用表示,如果标记点xm的第一属性fm为0,否则,标记第一属性fm为1;
步骤c、将点与其在数组tc中相邻前后各点比较,依次标记数组X2中极大值点第二属性gm;
判断是否为数组tc中相邻前后各k个点中的最大值,如果是,标记点xm的第二属性gm为1,否则标记点xm的第二属性为gm为0;其中,k为正整数;
步骤d、依次筛选数组X2中极大值点xm的属性,当第一属性fm=0且第二属性gm=0时,则将点xm从数组X2中移除;数组X2经过移除操作后形成第三极大值点数组N3为正整数,表示数组X3中元素个数;
步骤204、删除数组X3中差距较小的相邻极大值点,组成波峰点数组X4;
对于数组X3中的各极大值进行如下处理:设数组X3中极大值点xj在数组tc中对应的点为将与数组tc中相邻的前后各k个点中的最小值作差,设得到差值tsi,i=1,2,...N3;所有差值组成数组TS,将TS中点降序排列后形成数组针对每一个ntsi,依次判断ntsi在数组tc中对应的极大值点之后的相邻极大值点是否都存在于数组X3中,并且相邻极大值点对应的微博发布量是否小于对应的微博发布量,如果是,依次将相邻极大值点筛掉,否则保留剩下的极大值点组成最终的波峰点数组N4为正整数,表示数组X4中元素个数;
步骤三、获取时间趋势图中的波谷点;
步骤301、将时间趋势图中所有离散点组成数组tc,将数组tc中的所有极小值点升序排列,前M1个点构成第一极小值点数组Y1;
M1为正整数,表示数组Y1中元素个数;
步骤302、在极小值点数组Y1中,筛选连续的波谷点,得到第二极小值点数组Y2;
对于数组Y1中相邻的两个元素yn与yn-1,判断元素yn对应的微博发布量是否与yn-1对应的微博发布量相同,如果相同,将yn从数组Y1中删除,否则,不进行删除操作;将数组Y1中所有元素判断完毕后,得到第二极小值点数组M2为正整数,表示数组Y2中元素个数;
步骤303、筛选掉数组Y2中大于等于平均值且在相邻的前后各点中不为最小值的点,数组Y2中剩下的点组成第三极小值点数组Y3;
步骤I、对数组tc中离散点分组,获取各组中心点ct与同组最大值差值的平均值mean_ws;
步骤II、将数组Y2中各极小值点与平均值mean_ws比较,依次标记数组Y2中各极小值点的第一属性fm';
将数组Y2中极小值ym在数组tc中对应的点用表示,当时,标记极小值点ym的第一属性fm'为1,否则,标记第一属性fm'为0;步骤III、将点与其在数组tc中相邻前后各点比较,依次标记数组Y2中极小值点第二属性gm';
判断对应的微博发布量是否为数组tc中相邻前后各k个点对应的微博发布量最小值,如果是,标记点表示的极小值ym的第二属性gm'为1,否则标记点ym的第二属性gm'为0;
步骤IV、依次筛选数组Y2中的极小值点ym的属性,当第一属性fm'=0且第二属性gm'=0时,则将点ym从数组Y2中移除;数组Y2经过移除操作后形成第三极小值点数组M3为正整数,表示数组Y3中元素个数;
步骤304、删除数组Y3中差距较小的相邻极小值点,组成波谷点数组Y4;
对于数组Y3中的各极小值进行如下处理:设数组Y3中极小值点yj在数组tc中对应的点为将点与数组tc中相邻的前后各k个点中的最大值作差,得到差值i=1,2,...M3;所有差值组成数组KS,将KS中点升序排列后形成数组针对每一个nksi,依次判断nksi在数组tc中对应的极小值点之后的相邻极小值点是否都存在于数组Y3中,并且相邻极小值点对应的微博发布量是否大于极小值点对应的微博发布量,如果是,依次将相邻极小值点筛掉,否则保留剩下的极小值点组成最终的波谷点数组M4为正整数,表示数组Y4中元素个数;
步骤四、根据波峰点数组X4和波谷点数组Y4,选用第一个波谷点到第一个波峰点之间作为趋势的时间范围;
步骤五、在波峰点与波谷点确定的趋势时间范围内,进行微博关键词的提取;
微博关键词的提取是指对高频词进行提取;
步骤六、根据关键词,对微博内容相关度排序,提取趋势制造者;
以单条微博关键词对整体关键词的覆盖程度作为内容相关度,降序排序后取排名在前的微博发布用户为趋势制造者;
步骤七、根据波峰点与波谷点确定的时间范围获取增速最快的时间段;
将时间趋势图中波谷点与波峰点之间的时间段内,以小时为时间粒度构造数量变化图,所有小时组成时间趋势变化序列t={t1,t2,...tN},从该序列选取m组,计算每组的平均值组成数组,然后依次计算数组中两点间的斜率,获取斜率最大的两点作为增速最快的时间段;
步骤八、对增速最快的时间范围内微博进行转发量排序,提取趋势推动者。
2.根据权利要求1所述的一种挖掘微博话题趋势发起人的方法,其特征在于:步骤a具体为:数组tc中以第t个点ct为中心,选取ct相邻的前后各k个点,共2k+1个点为一组进行分组,计算每组数组中心点ct与该组最小值的差值vst,依次选取t为1~N,N为自然数;构成该组中心点与最小值的差值集合:VS={vs1,vs2,...,vsN},计算该差值集合的平均值mean_vs。
3.根据权利要求1所述的一种挖掘微博话题趋势发起人的方法,其特征在于:步骤I具体为:在数组tc中以第t个点ct为中心,选取相邻的前后各k个点,共2k+1个点为一组进行分组,每组数组中的最大值设为max_numt;计算每组数组中心点ct与该组最大值的差值为wst=ct-max_numt,构成该组中心点与最大值的差值集合:WS={ws1,ws2,...,wsN},计算该差值集合的平均值mean_ws。
4.根据权利要求1所述的一种挖掘微博话题趋势发起人的方法,其特征在于:步骤五具体为:
步骤501、对波峰点和波谷点确定的趋势时间范围内,对微博数据集进行文本分词;
步骤502、剔除文本分词中的低频词和超高频词;
步骤503、对剩下的文本分词根据词频进行降序排列,获取高频词作为微博关键词。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510255994.6A CN104866561B (zh) | 2015-05-19 | 2015-05-19 | 一种挖掘微博话题趋势发起人的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510255994.6A CN104866561B (zh) | 2015-05-19 | 2015-05-19 | 一种挖掘微博话题趋势发起人的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104866561A CN104866561A (zh) | 2015-08-26 |
CN104866561B true CN104866561B (zh) | 2018-09-07 |
Family
ID=53912387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510255994.6A Active CN104866561B (zh) | 2015-05-19 | 2015-05-19 | 一种挖掘微博话题趋势发起人的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104866561B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933855B (zh) * | 2015-12-30 | 2020-06-23 | 阿里巴巴集团控股有限公司 | 对象排序方法、装置及系统 |
CN113766333B (zh) * | 2021-09-07 | 2023-08-11 | 北京爱奇艺科技有限公司 | 视频热度值的确定方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853261A (zh) * | 2009-11-23 | 2010-10-06 | 电子科技大学 | 一种基于社会网络的网络舆情行为分析方法 |
CN102194001A (zh) * | 2011-05-17 | 2011-09-21 | 杭州电子科技大学 | 网络舆情危机预警方法 |
CN102314489A (zh) * | 2011-08-15 | 2012-01-11 | 哈尔滨工业大学 | 网络论坛中舆论领袖分析方法 |
CN103177024A (zh) * | 2011-12-23 | 2013-06-26 | 微梦创科网络科技(中国)有限公司 | 一种话题信息展现方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2009013788A1 (ja) * | 2007-07-20 | 2010-09-24 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | 情報伝播解析システム、情報伝播解析装置、情報伝播解析方法およびそのプログラム。 |
-
2015
- 2015-05-19 CN CN201510255994.6A patent/CN104866561B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853261A (zh) * | 2009-11-23 | 2010-10-06 | 电子科技大学 | 一种基于社会网络的网络舆情行为分析方法 |
CN102194001A (zh) * | 2011-05-17 | 2011-09-21 | 杭州电子科技大学 | 网络舆情危机预警方法 |
CN102314489A (zh) * | 2011-08-15 | 2012-01-11 | 哈尔滨工业大学 | 网络论坛中舆论领袖分析方法 |
CN103177024A (zh) * | 2011-12-23 | 2013-06-26 | 微梦创科网络科技(中国)有限公司 | 一种话题信息展现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104866561A (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103927398B (zh) | 基于最大频繁项集挖掘的微博炒作群体发现方法 | |
CN103678670B (zh) | 一种微博热词与热点话题挖掘系统及方法 | |
CN103744928B (zh) | 一种基于历史访问记录的网络视频分类方法 | |
CN106844416B (zh) | 一种子话题挖掘方法 | |
CN103793489B (zh) | 一种在线社交网络中社群话题的发现方法 | |
EP2560111A2 (en) | Systems and methods for facilitating the gathering of open source intelligence | |
CN105849764A (zh) | 用于识别社交数据网络中的影响者及其社区的系统和方法 | |
CN106055713B (zh) | 基于用户兴趣和社交主题提取的社交网络用户推荐方法 | |
CN103914491B (zh) | 对优质用户生成内容的数据挖掘方法和系统 | |
CN106156372B (zh) | 一种互联网网站的分类方法及装置 | |
CN103812872A (zh) | 一种基于混合狄利克雷过程的网络水军行为检测方法及系统 | |
CN106503230A (zh) | 一种基于复杂网络的微博传播溯源方法 | |
Ting | Web mining techniques for on-line social networks analysis | |
CN110232126A (zh) | 热点挖掘方法及服务器和计算机可读存储介质 | |
CN107203513A (zh) | 基于概率模型的微博文本数据细粒度话题演化分析方法 | |
CN106227866A (zh) | 一种基于数据挖掘的混合过滤电影推荐方法 | |
CN106126605A (zh) | 一种基于用户画像的短文本分类方法 | |
CN104866561B (zh) | 一种挖掘微博话题趋势发起人的方法 | |
CN103262079B (zh) | 检索装置及检索方法 | |
Schinas et al. | Mgraph: multimodal event summarization in social media using topic models and graph-based ranking | |
CN109241410A (zh) | 一种文章推荐方法和装置 | |
CN106604068B (zh) | 一种更新媒体节目的方法及其系统 | |
CN105512301A (zh) | 基于社交内容的用户分组方法 | |
CN106708796A (zh) | 一种基于文本的关键人名的提取方法及系统 | |
CN106354886B (zh) | 在推荐系统中利用潜在邻居关系图筛选最近邻居的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |