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