陳斌 徐志明 張永超
摘要:微博作為重要的社交媒體,越來(lái)越受到人們的重視。同傳統(tǒng)的網(wǎng)絡(luò)媒體相比,微博的信息傳播呈現(xiàn)出數(shù)據(jù)量大、及時(shí)、快速等特點(diǎn)。主要研究微博信息傳播樹(shù)的分析技術(shù),提出了兩種微博信息傳播樹(shù)的生成算法:基于轉(zhuǎn)發(fā)關(guān)系的微博信息傳播樹(shù)的生成算法和一種快速的微博信息傳播樹(shù)的生成算法。通過(guò)實(shí)驗(yàn),對(duì)這兩種算法的性能進(jìn)行了對(duì)比,并分析了傳播樹(shù)的節(jié)點(diǎn)分布情況。
關(guān)鍵詞:信息傳播; 微博; 信息傳播樹(shù)
中圖分類號(hào):TP3934 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-2163(2013)05-0070-05
0引言
隨著新浪微博、人人網(wǎng)等社交類網(wǎng)站的迅速崛起,社交媒體正在成為當(dāng)今網(wǎng)絡(luò)技術(shù)發(fā)展的熱點(diǎn)和趨勢(shì),也正日漸深刻地影響著人們生活的方方面面。社交媒體(Social Media),也稱為社會(huì)化媒體、社會(huì)性媒體,指允許人們撰寫(xiě)、分享、評(píng)價(jià)、討論、相互溝通的網(wǎng)站和技術(shù)。具體來(lái)說(shuō),社交媒體就是人們彼此之間用來(lái)分享意見(jiàn)、見(jiàn)解、經(jīng)驗(yàn)和觀點(diǎn)的工具和平臺(tái)。用戶在這種新媒體上不再單純是信息的被動(dòng)接收者,而變身為信息的主動(dòng)發(fā)布者和傳播者,由此用戶真正成為了互聯(lián)網(wǎng)的主人。在社交媒體中,用戶還可以建立不同類型的各種關(guān)系,這就產(chǎn)生了類似真實(shí)社會(huì)的虛擬在線社交網(wǎng)絡(luò),用戶之間可以進(jìn)行觀點(diǎn)的交流互動(dòng)和信息的發(fā)布擴(kuò)散。
相比于傳統(tǒng)媒體,微博作為Web2.0時(shí)代新生的社交媒體,因其新型的信息發(fā)布方式、快速的消息傳播渠道、廣泛的受眾參與人群等特點(diǎn)使其迅速獲得了大量的互聯(lián)網(wǎng)擁躉。中國(guó)擁有全球最大的網(wǎng)絡(luò)人群,互聯(lián)網(wǎng)用戶超過(guò)6億、移動(dòng)互聯(lián)網(wǎng)用戶4.61億。而截至2013年,新浪微博注冊(cè)用戶已經(jīng)達(dá)到5億。
相比較于傳統(tǒng)的網(wǎng)頁(yè)媒體,社交媒體中用戶獲取信息的方式發(fā)生了很大變化。對(duì)前者而言,用戶在搜索引擎中輸入關(guān)鍵詞,從海量網(wǎng)頁(yè)中獲取自己所需信息。而在社交媒體中,搜索引擎不再是互聯(lián)網(wǎng)用戶獲取信息的最主要途徑,用戶開(kāi)始具有主動(dòng)性,如果用戶對(duì)某個(gè)主題的信息感興趣,此時(shí)用戶就可以同發(fā)布該主題信息的其他用戶建立聯(lián)系,構(gòu)建自己的虛擬社交網(wǎng)絡(luò),這時(shí)相關(guān)信息就會(huì)通過(guò)虛擬社交網(wǎng)絡(luò)擴(kuò)散到該用戶那里。由此可見(jiàn),信息在社交媒體中的傳播擴(kuò)散對(duì)幫助用戶獲取需要的信息起到了至關(guān)重要的作用。另外,研究社交網(wǎng)絡(luò)中的信息傳播問(wèn)題還可以發(fā)現(xiàn)現(xiàn)實(shí)生活中隱藏的不易察覺(jué)的社會(huì)現(xiàn)象??偠灾?,研究社交媒體中信息的傳播擴(kuò)散不僅可以幫助用戶獲取所需要的信息,還可以研究社會(huì)現(xiàn)象,因此具有非常重要的意義。
信息傳播的早期研究人員主要是一些經(jīng)濟(jì)學(xué)家、社會(huì)學(xué)家和傳染病學(xué)專家,主要研究產(chǎn)品、創(chuàng)新和病毒在真實(shí)社會(huì)中的傳播,但是由于真實(shí)社會(huì)的數(shù)據(jù)采集比較困難,研究中所使用的數(shù)據(jù)集通常都較小,無(wú)法給出準(zhǔn)確結(jié)果。隨著社交媒體的迅速發(fā)展,海量的數(shù)據(jù)可以簡(jiǎn)易獲取,使得信息傳播的研究得到了新的發(fā)展機(jī)遇。目前的主流研究大體可劃分為兩大類,基于理論擴(kuò)散模型的研究和基于信息擴(kuò)散樹(shù)的研究。其中,基于理論擴(kuò)散模型的研究包括:線性閾值模型[1]、獨(dú)立級(jí)聯(lián)模型[2,3]、博弈論模型[4,5]和傳染病模型[6-8];而基于信息擴(kuò)散樹(shù)的研究則包括:信息擴(kuò)散特性研究[9]、用戶影響力計(jì)算、信息擴(kuò)散預(yù)測(cè)模型。
1基于新浪微博的信息傳播樹(shù)生成算法
微博類社交媒體并不同于傳統(tǒng)社會(huì)網(wǎng)絡(luò)中以信息為主體的傳播方式,其信息依賴于人與人之間的好友關(guān)系進(jìn)行散播,因此用戶之間的結(jié)構(gòu)在信息傳播過(guò)程中發(fā)揮了至關(guān)重要的作用。新浪微博中的用戶通過(guò)用戶個(gè)體之間的關(guān)系影響信息的擴(kuò)散,其提供的轉(zhuǎn)發(fā)功能使得人們?cè)讷@悉信息時(shí),也能夠同時(shí)對(duì)信息的來(lái)源一目了然,[JP2]使得用戶可以輕松地找到微博的初始傳播點(diǎn)。新浪微博中,每個(gè)用戶都會(huì)擁有一定數(shù)量的粉絲,同時(shí)也可以關(guān)注自己感興趣的人,即成為此人的粉絲,以此來(lái)建立好友關(guān)系。用戶發(fā)布的信息會(huì)以廣播的形式,發(fā)送到每個(gè)粉絲那里,粉絲收到信息時(shí)可以自行決定是否轉(zhuǎn)發(fā),如果粉絲轉(zhuǎn)發(fā)此微博到自己微博,那么相應(yīng)地,其粉絲也會(huì)接收到此條微博,以此類推,就形成了微博信息傳播樹(shù)。[JP]
1.1基于微博轉(zhuǎn)發(fā)列表的信息傳播樹(shù)生成算法[HT5”SS]
用戶登錄新浪微博,可以通過(guò)點(diǎn)擊一條微博,查看其引起的所有轉(zhuǎn)發(fā)微博情況。因此可以采用解析網(wǎng)頁(yè)的方式獲得一條微博的所有轉(zhuǎn)發(fā)微博列表。新浪對(duì)微博轉(zhuǎn)發(fā)情況的處理是:最原始微博的轉(zhuǎn)發(fā)列表可以獲得全部的轉(zhuǎn)發(fā)微博(包括其轉(zhuǎn)發(fā)微博引起的轉(zhuǎn)發(fā),都算入其根節(jié)點(diǎn)內(nèi))。具體如圖1所示。其中,節(jié)點(diǎn)A為原始微博,其轉(zhuǎn)發(fā)列表包括節(jié)點(diǎn)。節(jié)點(diǎn)B為二級(jí)轉(zhuǎn)發(fā)節(jié)點(diǎn),其轉(zhuǎn)發(fā)列表包括節(jié)點(diǎn)
其轉(zhuǎn)發(fā)列表包括節(jié)點(diǎn)。其它節(jié)點(diǎn)轉(zhuǎn)發(fā)列表均為空。因此,基于如此狀況,就要對(duì)轉(zhuǎn)發(fā)樹(shù)的生成進(jìn)行剪枝操作。
本算法是由二叉樹(shù)的先根遍歷算法改進(jìn)而來(lái),并將微博轉(zhuǎn)發(fā)列表獲取方法與剪枝算法相結(jié)合共同進(jìn)入遞歸遍歷的過(guò)程中,最后完整還原微博轉(zhuǎn)發(fā)樹(shù)。其中,剪枝部分是比較根節(jié)點(diǎn)的創(chuàng)建時(shí)間與二次(及多次)轉(zhuǎn)發(fā)節(jié)點(diǎn)的創(chuàng)建時(shí)間,并以此為依據(jù)更新節(jié)點(diǎn)間的父子關(guān)系。傳播樹(shù)生成算法的主要偽代碼如下所示:
本算法的復(fù)雜度分析如下:
由本算法偽代碼可知,for循環(huán)內(nèi)操作均為O(1)簡(jiǎn)單操作,因此本算法的復(fù)雜度取決于每層節(jié)點(diǎn)的轉(zhuǎn)發(fā)列表中子節(jié)點(diǎn)數(shù)。假設(shè)一棵傳播樹(shù)中共有n+1個(gè)節(jié)點(diǎn),[JP3]現(xiàn)在分析兩種極端情況:第一種情況如圖3中(a)所示,除根節(jié)點(diǎn)0的轉(zhuǎn)發(fā)列表子節(jié)點(diǎn)數(shù)為n外,其它節(jié)點(diǎn)轉(zhuǎn)發(fā)列表子節(jié)點(diǎn)數(shù)均為0,因此算法中基本操作需要執(zhí)行n次,故算法復(fù)雜度為O(n),此種情況為復(fù)雜度最低情況;第二種情況如圖3中(b)所示,其中,0節(jié)點(diǎn)轉(zhuǎn)發(fā)列表子節(jié)點(diǎn)數(shù)為n,1節(jié)點(diǎn)轉(zhuǎn)發(fā)列表子節(jié)點(diǎn)數(shù)為n-1, 2節(jié)點(diǎn)轉(zhuǎn)發(fā)列表子節(jié)點(diǎn)數(shù)為n-2……以此類推,n-1節(jié)點(diǎn)轉(zhuǎn)發(fā)列表子節(jié)點(diǎn)數(shù)為1,n節(jié)點(diǎn)轉(zhuǎn)發(fā)列表子節(jié)點(diǎn)數(shù)為0。由等差數(shù)列求和公式可知轉(zhuǎn)發(fā)列表子節(jié)點(diǎn)總數(shù)為n(n+1)/2,故算法復(fù)雜度為O(n2),此種情況為復(fù)雜度最高情況。綜上可知。本算法的最好復(fù)雜度為O(n),最差復(fù)雜度為O(n2)。
采用以上算法生成的信息傳播樹(shù),是與新浪微博用戶的轉(zhuǎn)發(fā)情況完全一致的。由此可以很好地觀測(cè)到在微博社交平臺(tái)上的信息傳播情況,并更好地掌握社會(huì)輿情。
1.2一種快速的信息傳播樹(shù)生成算法
現(xiàn)在,如果只得到轉(zhuǎn)發(fā)某條微博的所有節(jié)點(diǎn)以及這些節(jié)點(diǎn)間的相互關(guān)注關(guān)系,卻未得到相應(yīng)的轉(zhuǎn)發(fā)微博列表,該如何生成本條微博的傳播樹(shù)?在這種情況下,本算法嘗試給出解決方案。本算法的主要依據(jù)為:在傳播樹(shù)中,如果存在某個(gè)節(jié)點(diǎn)關(guān)注的若干節(jié)點(diǎn)在該節(jié)點(diǎn)轉(zhuǎn)發(fā)該微博之前轉(zhuǎn)發(fā)了此微博,則該節(jié)點(diǎn)最有可能是從這些節(jié)點(diǎn)中最后轉(zhuǎn)發(fā)該微博的節(jié)點(diǎn)(即距離該節(jié)點(diǎn)時(shí)間最近的那個(gè)節(jié)點(diǎn))那里轉(zhuǎn)發(fā)的本條微博。
算法描述:首先將轉(zhuǎn)發(fā)某條微博的節(jié)點(diǎn)按照微博發(fā)表時(shí)間升序排列存放到表statusList中,將第一個(gè)發(fā)表本微博的節(jié)點(diǎn)作為根節(jié)點(diǎn)存放到tree_node_set中,遍歷statusList列表,找到其中節(jié)點(diǎn)的關(guān)注列表friend_set,再將friend_set和tree_node_set取交集得到intersect_set列表。此時(shí),如果intersect_set列表不為空,則選取其中微博發(fā)表時(shí)間最新的節(jié)點(diǎn)作為根節(jié)點(diǎn),將此節(jié)點(diǎn)插入其孩子集合,否則將此節(jié)點(diǎn)插入到root的孩子集合,最后將該節(jié)點(diǎn)插入到tree_node_set列表中。偽代碼如下所示:
下面舉例說(shuō)明本算法:假設(shè)為初始情況下某傳播樹(shù)的節(jié)點(diǎn)按發(fā)表微博時(shí)間的升序排列,其中節(jié)點(diǎn)B的關(guān)注列表為
本算法是在特殊情形下的傳播樹(shù)生成近似算法,并不能保證100%正確率,但已通過(guò)大量實(shí)驗(yàn)證實(shí)本算法與真實(shí)傳播樹(shù)的相似度已達(dá)到了80%以上,如圖5即是兩種算法生成的傳播樹(shù)對(duì)比圖。本算法與基于微博轉(zhuǎn)發(fā)列表生成傳播樹(shù)相比,雖然準(zhǔn)確度降低,但生成樹(shù)的速度得到了大幅提升,適用于對(duì)傳播樹(shù)準(zhǔn)確度要求不高,但對(duì)生成時(shí)間要求較高的情況下使用。
2微博信息傳播樹(shù)節(jié)點(diǎn)分布統(tǒng)計(jì)分析
根據(jù)信息在新浪微博上的傳播情況轉(zhuǎn)化成傳播樹(shù)的可視化圖形,可以清楚地看到一些比較典型的情況的發(fā)生。本文列舉出筆者通過(guò)大量實(shí)驗(yàn)觀察得到的幾種典型信息傳播樹(shù)模型,諸如:?jiǎn)喂?jié)點(diǎn)爆炸型信息傳播樹(shù)、高影響力節(jié)點(diǎn)二次爆發(fā)型信息傳播樹(shù)、信息對(duì)抗性微博信息傳播樹(shù)以及多點(diǎn)爭(zhēng)鳴型信息傳播樹(shù)。
如圖6(a)所示為單節(jié)點(diǎn)爆炸型信息傳播樹(shù),其第一層的轉(zhuǎn)發(fā)數(shù)居多,幾乎占據(jù)轉(zhuǎn)發(fā)數(shù)80%以上。二次轉(zhuǎn)發(fā)和居于其后的轉(zhuǎn)發(fā)相對(duì)較少,層數(shù)不夠深入。
如圖6(b)所示為高影響力節(jié)點(diǎn)二次爆發(fā)型信息傳播樹(shù),表現(xiàn)為某意見(jiàn)領(lǐng)袖發(fā)表微博后,又有幾個(gè)意見(jiàn)領(lǐng)袖發(fā)表了微博,帶來(lái)了二次甚至多次轉(zhuǎn)發(fā),使事件影響進(jìn)一步擴(kuò)大。
如圖6(c)所示為信息對(duì)抗型信息傳播樹(shù),這樣的傳播樹(shù)圖形往往出現(xiàn)在遇到分歧問(wèn)題時(shí),兩大陣營(yíng)的人們進(jìn)行相互轉(zhuǎn)載的情況。
如圖6(d)所示為多點(diǎn)爭(zhēng)鳴型信息傳播樹(shù),具體表現(xiàn)為某用戶發(fā)表微博后,能引起網(wǎng)絡(luò)多個(gè)意見(jiàn)領(lǐng)袖的參與,覆蓋人群廣泛,并且能得到廣大網(wǎng)民的轉(zhuǎn)發(fā)認(rèn)可。
通過(guò)圖7可以清楚看到隨著層數(shù)的增加,微博傳播樹(shù)的個(gè)數(shù)呈現(xiàn)了先上升、后下降的態(tài)勢(shì)。當(dāng)層數(shù)小于6時(shí),隨著層數(shù)的增加,傳播樹(shù)個(gè)數(shù)呈上升趨勢(shì);當(dāng)層數(shù)達(dá)到6時(shí),傳播樹(shù)的個(gè)數(shù)達(dá)到了頂點(diǎn);此后,傳播樹(shù)個(gè)數(shù)隨層數(shù)增加則逐步遞減。由此可以看出,一定規(guī)模的傳播樹(shù)(1 000節(jié)點(diǎn)以上)的層數(shù)在6層左右的最多,這也與本文通過(guò)實(shí)驗(yàn)得出的傳播樹(shù)平均層數(shù)為6.21層的結(jié)論相符。
微博傳播樹(shù)的層數(shù)與節(jié)點(diǎn)數(shù)之間的聯(lián)系比較緊密,理論上說(shuō),隨著節(jié)點(diǎn)數(shù)的增長(zhǎng),微博傳播樹(shù)的層數(shù)應(yīng)當(dāng)呈上升趨勢(shì)。對(duì)此,筆者隨機(jī)選取了3 000棵傳播樹(shù)做了實(shí)驗(yàn),結(jié)果如表2所示。
3結(jié)束語(yǔ)
社交網(wǎng)絡(luò)的信息擴(kuò)散研究仍是一個(gè)很新的領(lǐng)域,各方面的研究還未足夠深入。本文開(kāi)展了微博媒體的信息傳播樹(shù)生成與分析技術(shù)的研究,提出了兩種微博信息傳播樹(shù)的生成算法:基于轉(zhuǎn)發(fā)關(guān)系的微博信息傳播樹(shù)的生成算法和一種快速的微博信息傳播樹(shù)的生成算法。并通過(guò)大量的實(shí)驗(yàn),分析了微博信息傳播樹(shù)的節(jié)點(diǎn)分布情況。下一步的研究工作將考慮在大規(guī)模的微博數(shù)據(jù)上,對(duì)上述算法進(jìn)行更細(xì)致的研究。