一種挖掘微博話題趨勢發(fā)起人的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)據(jù)挖掘領(lǐng)域,具體設(shè)及一種挖掘微博話題趨勢發(fā)起人的方法。
【背景技術(shù)】
[0002] 隨著社交媒體的不斷發(fā)展,人們對(duì)于微博、微信等社交媒體的使用越來越廣泛,社 交網(wǎng)絡(luò)結(jié)構(gòu)的作用也越來越重要,基于社交網(wǎng)絡(luò)結(jié)構(gòu),信息的傳播更迅速,波及范圍更廣。 人們基于某一話題或事件在社交媒體中進(jìn)行討論,針對(duì)話題或事件的討論,會(huì)產(chǎn)生大量文 本數(shù)據(jù),通過對(duì)該海量數(shù)據(jù)的分析使人們了解社交網(wǎng)絡(luò)中該事件的主要內(nèi)容W及討論趨勢 變化。
[0003] 而某些人物的參與,對(duì)話題趨勢的變化W及事件的推動(dòng)起到關(guān)鍵作用,對(duì)于該些 關(guān)鍵人物的微博昵稱和UID信息的提取,能為社交媒體輿情監(jiān)控提供重要線索;所W,挖掘 話題的趨勢發(fā)起人成為當(dāng)前的一個(gè)研究熱點(diǎn)。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是為了深入了解對(duì)微博中某話題信息傳播產(chǎn)生重要影響的人物,構(gòu) 建了一種挖掘微博話題趨勢發(fā)起人的方法,基于某個(gè)話題事件,利用參與微博話題討論人 數(shù)的時(shí)間變化圖提取話題事件趨勢,然后結(jié)合微博文本內(nèi)容和傳播廣度,對(duì)其中趨勢的制 造者和趨勢的推動(dòng)者進(jìn)行提取。具體包括如下步驟:
[0005] 步驟一、針對(duì)某一話題微博,W天為時(shí)間粒度,構(gòu)建參與該話題討論的微博數(shù)量的 時(shí)間趨勢圖;
[0006] 時(shí)間趨勢圖中W時(shí)間為橫軸,單位為天;W當(dāng)天的微博發(fā)布量為縱軸。
[0007] 步驟二、獲取時(shí)間趨勢圖中的波峰點(diǎn);
[000引步驟201、將時(shí)間趨勢圖中所有離散點(diǎn)組成數(shù)組tc,將數(shù)組tc中的所有極大值點(diǎn) 降序排列,前Ni個(gè)點(diǎn)構(gòu)成第一極大值點(diǎn)數(shù)組X1;
[0009] 時(shí)間趨勢圖中,包括起始點(diǎn)和終止點(diǎn),同時(shí)大于等于前后兩點(diǎn)的點(diǎn)為極大值 點(diǎn),將數(shù)組tc中的所有極大值點(diǎn)降序排列的前Ni個(gè)點(diǎn)加入極大值點(diǎn)數(shù)組Xi中,形成
[0010] 步驟202、在極大值點(diǎn)數(shù)組Xi中,篩選連續(xù)的波峰點(diǎn),得到第二極大值點(diǎn)數(shù)組X2。
[0011] 判斷極大值點(diǎn)數(shù)組Xi中的元素X。對(duì)應(yīng)的微博發(fā)布量是否與xw中的微博發(fā)布量 相同,如果相同,將X。從數(shù)組X1中刪除,n依次取1~N1,將數(shù)組Xi中所有元素判斷完畢, 得到極大值點(diǎn)數(shù)組乂:2={'、'<2...兩1...而':}。
[0012] 步驟203、篩選掉數(shù)組X2中小于差值平均值并且在相鄰的前后各點(diǎn)中不是值最大 的點(diǎn),將剩下的點(diǎn)組成第S極大值點(diǎn)數(shù)組Xs。
[0013] 步驟a、對(duì)數(shù)組tc中離散點(diǎn)分組,獲取各組中屯、點(diǎn)Ct與同組最小值差值的平均值 mean_vs;
[0014] 在數(shù)組tc中w第t個(gè)點(diǎn)Ct為中心選取相鄰的前后各k個(gè)點(diǎn),共化+1個(gè)點(diǎn)為一組 進(jìn)行分組,計(jì)算每組數(shù)組中屯、點(diǎn)Ct與該組最小值的差值為VSt,依次選取t為1~N,構(gòu)成該 組中屯、點(diǎn)與最小值的差值集合;VS= {vSi,VS2,. . .,vSjJ,計(jì)算該差值集合的平均值mean_ VSo
[001引步驟b、將數(shù)組X2中各極大值點(diǎn)與平均值mean_vs比較,依次標(biāo)記數(shù)組X2中各極 大值點(diǎn)的第一屬性fm;
[0016] 數(shù)組X2中極大值點(diǎn)Xm在數(shù)組tc中對(duì)應(yīng)的離散點(diǎn)c'-與平均值mean_vs比較,
[0017] 如果標(biāo)記點(diǎn)Xm第一屬性fm= 0,否則第一屬性fm= 1。
[001引步驟C、將點(diǎn)與其在數(shù)組tc中相鄰前后各點(diǎn)比較,依次標(biāo)記數(shù)組X2中極大值點(diǎn) 第二屬性gm;
[0019] 將離散點(diǎn)與其在數(shù)組tc中相鄰的前后各k個(gè)點(diǎn)進(jìn)行比較,判斷是否為最大 值,如果是,標(biāo)記點(diǎn)X。的第二屬性gm= 1,否則第二屬性gm= 0。
[0020] 步驟t依次篩選數(shù)組X2中極大值點(diǎn)Xm的屬性,當(dāng)?shù)谝粚傩詅m= 0且第二屬性gm =0時(shí),則將點(diǎn)Xm從數(shù)組X2中移除;數(shù)組X洛過移除操作后形成第立極大值點(diǎn)數(shù)組X3。
[0021] 步驟204、刪除數(shù)組X3中差距較小的相鄰極大值點(diǎn),組成波峰點(diǎn)數(shù)組X4;
[0022] 對(duì)于數(shù)組X3中的各極大值進(jìn)行如下處理;設(shè)數(shù)組X; = ..Jv,中極 大值點(diǎn)Xj.對(duì)應(yīng)的點(diǎn)f',與數(shù)組tc中S相鄰的前后各k個(gè)點(diǎn)中最小值作差,得到的差 值為tSi,i= 1,2,...;所有差值組成數(shù)組TS。對(duì)TS中點(diǎn)tSi降序排列后形成數(shù)組 xrs },點(diǎn)ntSi對(duì)應(yīng)的極大值點(diǎn)為 。
[0023] 循環(huán)取ntSi為"bpWs],…,巧,針對(duì)每一個(gè)ntSi,依次判斷ntSi對(duì)應(yīng)的極大值點(diǎn)^乂 之后的相鄰極大值點(diǎn)^/,*,,"^.4。,-,'3如是否存在數(shù)組《3中,并且相鄰極大值點(diǎn)^^.1,'^/,。,-,^./',、, 對(duì)應(yīng)的微博發(fā)布量是否小于極大值點(diǎn)X,.i對(duì)應(yīng)的微博發(fā)布量,如果是,依次將極大值點(diǎn) -.Y,,",...,'Y,V3篩掉,否貝1J保留'Y,'w'了,…,…,,剩下的極大值點(diǎn)組成最終的波峰點(diǎn)數(shù)組 與=-I。
[0024] 步驟S、獲取時(shí)間趨勢圖中的波谷點(diǎn);
[00巧]步驟301、將時(shí)間趨勢圖中所有離散點(diǎn)組成數(shù)組tc,將數(shù)組tc中的所有極小值點(diǎn) 升序排列,前Ml個(gè)點(diǎn)構(gòu)成第一極小值點(diǎn)數(shù)組Y1;
[0026] 時(shí)間趨勢圖中,包括起始點(diǎn)和終止點(diǎn),同時(shí)小于等于前后兩點(diǎn)的點(diǎn)為極小值 點(diǎn),將數(shù)組tc中的所有極小值點(diǎn)升序排列的前Ml個(gè)點(diǎn)加入極小值點(diǎn)數(shù)組Y沖,形成
[0027] 步驟302、在極小值點(diǎn)數(shù)組Y沖,篩選連續(xù)的波谷點(diǎn),得到第二極小值點(diǎn)數(shù)組Y2。 [002引對(duì)于數(shù)組Y沖相鄰的兩個(gè)元素y。與y。_1,判斷極小值點(diǎn)數(shù)組Y沖元素y。對(duì)應(yīng)的 微博發(fā)布量是否與y"_i對(duì)應(yīng)的微博發(fā)布量相同,如果相同,將y。從數(shù)組Yi中刪除,n依次 取1~Ml,,否則,不進(jìn)行刪除操作;將數(shù)組Yi中所有元素判斷完畢,得到第二極小值點(diǎn)數(shù)組
[0029] 步驟303、篩選掉數(shù)組Y2中大于等于平均值且在相鄰的前后各點(diǎn)中不為最小值的 點(diǎn),數(shù)組Y2中剩下的點(diǎn)組成第S極小值點(diǎn)數(shù)組Y3;
[0030] 步驟I、對(duì)數(shù)組tc中離散點(diǎn)分組,獲取各組中屯、點(diǎn)Ct與同組最大值差值的平均值 me過打_師8 ;
[003。 在數(shù)組tc中W第t個(gè)點(diǎn)Ct為中心選取相鄰的前后各k個(gè)點(diǎn),共化+1個(gè)點(diǎn)為一 組進(jìn)行分組,計(jì)算每組數(shù)組中屯、點(diǎn)ct與該組最大值的差值為WSt,依次選取t為1~N,構(gòu)成 該組中屯、點(diǎn)與最大值的差值集合;WS= {wsi,WS,,. . .,wsJ,長度為N;計(jì)算該差值集合的平 均值mean_ws。
[00礎(chǔ)步驟II、將數(shù)組Y2中極小值點(diǎn)與平均值mean_ws比較,依次標(biāo)記數(shù)組Y2中各極小 值點(diǎn)的第一屬性fm;
[003引數(shù)組Y2中極小值點(diǎn)ym在數(shù)組tc中對(duì)應(yīng)的離散點(diǎn)G'。與平均值mean_ws比較,
[0034] 如果…標(biāo)記點(diǎn)y。第一屬性fm= 1,否則第一屬性fm= 0。
[0035] 步驟III、將點(diǎn)ft,與其在數(shù)組tc中相鄰前后各點(diǎn)比較,依次標(biāo)記數(shù)組Y2中極小值 點(diǎn)第二屬性gm;
[0036] 進(jìn)一步將離散點(diǎn)C,。與其在數(shù)組tc中相鄰的前后各k個(gè)點(diǎn)進(jìn)行比較,判斷是否為 最小值,如果是,標(biāo)記點(diǎn)y。的第二屬性gm= 1,否則第二屬性gm= 0。
[0037] 步驟IV、依次篩選數(shù)組Y2中的極小值點(diǎn)ym的屬性,當(dāng)fm= 0且gm= 0時(shí),則將點(diǎn) y。從數(shù)組Y2中移除;數(shù)組Y2經(jīng)過移除操作后形成第S極小值點(diǎn)數(shù)組Y3。
[003引步驟304、刪除數(shù)組Ys中差距較小的相鄰極小值點(diǎn),組成波谷點(diǎn)數(shù)組Y4;
[0039] 對(duì)于數(shù)組Ys中的各極小值進(jìn)行如下處理:設(shè)數(shù)組K ,..的/,}中極 小值點(diǎn)y,對(duì)應(yīng)的點(diǎn)f*,,將與數(shù)組tc相鄰的前后各k個(gè)點(diǎn)中最大值作差,得到差 值為kSi,i= 1,2,...;所有差值組成數(shù)組KS。將KS中點(diǎn)kSi升序排列后形成數(shù)組
[0040] 點(diǎn)nkSi對(duì)應(yīng)的極小值點(diǎn)。
[00川循環(huán)取nkSi為"/巧,"紅2,..."崎,...,"吟、/,,針對(duì)每一個(gè)nkSi,依次判斷對(duì)應(yīng)的極小 值點(diǎn)y,,之后的相鄰極小值點(diǎn)J'/w,…,是否在同一數(shù)組Ys中,并且相鄰極小值點(diǎn) yz.iJy;。,對(duì)應(yīng)的微博發(fā)布量是否大于極小值點(diǎn)y;,對(duì)應(yīng)的微博發(fā)布量,如果是,依次將 極小值點(diǎn)y,-,…而。篩掉,否則保留°剩下的極小值點(diǎn)組成最終的波峰點(diǎn) 數(shù)組 ^4 =[)'1,知..私..打/,}。
[0042] 步驟四、根據(jù)波峰點(diǎn)數(shù)組X4和波谷點(diǎn)數(shù)組Y4,選用第一個(gè)波谷點(diǎn)到第一個(gè)波峰點(diǎn) 之間作為趨勢的時(shí)間范圍。
[0043] 步驟五、在波峰點(diǎn)與波谷點(diǎn)確定的趨勢時(shí)間范圍內(nèi),進(jìn)行微博關(guān)鍵詞的提?。?br>[0044] 微博關(guān)鍵詞的提取是指對(duì)高頻詞進(jìn)行提取。
[0045] 步驟501、對(duì)波峰點(diǎn)和波谷點(diǎn)確定的趨勢時(shí)間范圍內(nèi),對(duì)微博數(shù)據(jù)集進(jìn)行文本分 詞;
[0046] 步驟502、剔除文本分詞中的低頻詞和超高頻詞;
[0047] 步驟503、對(duì)剩下的文本分詞根據(jù)詞頻進(jìn)行降序排列,獲取高頻詞作為微博關(guān)鍵 詞。
[004引步驟六、根據(jù)關(guān)鍵詞,對(duì)微博內(nèi)容相關(guān)度排序,提取趨勢制造者;
[0049] 趨勢制造者即為波谷波峰確定的時(shí)間范圍早期參與話題討論,并且發(fā)表內(nèi)容對(duì)趨 勢后續(xù)討論產(chǎn)生