胡俊睿 鄒海濤 鄭 尚 于化龍 高 尚
(江蘇科技大學計算機學院 鎮江 212003)
隨著近幾年網絡的發展,人們獲得信息的渠道日益增多,其中新浪微博逐漸成為了人們瀏覽時事新聞、社交、娛樂的主要手段。微博中每天充斥著大量的信息,人們可以對微博進行點贊、回復、轉發。轉發數越高,說明這條微博越流行,它的熱度越高,人們對它的關注度也更高,對于回復數來說同樣如此。因此這種關注度就會形成大量的流量。在如今這個流量運營的社會,網民總是傾向于關注那些熱度較高的話題,也就是所謂的微博熱搜。這對于企業的營銷手段和社會輿論導向來說有著很重要的價值和意義,如果一個企業能把握住熱門話題所帶來的流量而對企業進行宣傳,將會產生巨大的經濟效益。
在國外,有學者對Twitter 進行了數據挖掘研究,Mario Cataldi 等[1]使用一種基于時序的社會關系評價微博熱點的檢測方法;Swit Phuvipadawat等[2]對Twitter中具有一定沖擊力的新聞進行研究,并且提出了針對這類新聞的檢測方法,但這些方法只適用于Twitter。惠普實驗室[3]指出中文微博與英文微博的差異較大,比如,總體上新浪微博的熱門話題大都來自娛樂類,而Twitter主要來自新聞類[4~7]。
在國內,柏建普、田芳[8]利用語義分析熱點微博話題,對其進行分類,但是對于用戶行為卻沒有進行相關研究,僅僅限于博文本身;曹玖新等[9]對新浪微博的轉發行為進行了深入地分析,譚熒、夏立新等[10]對帶#的話題進行了流行度的離散型分析,通過對比幾種常見的分類算法如樸素貝葉斯、決策樹、支持向量機等在實驗中的表現來分析每個算法在這種應用場景下的特點和優劣。解軍、邢進生[11]從微觀角度分析數據,他們使用切詞器把每條微博轉化成詞序列,利用信息增益獲得特征詞,使用模糊集理論將轉發的數量分為三類,最后用KNN 算法進行話題預測。由于KNN 算法的k值非常影響預測的效果,所以他們提出了改進的KNN算法以達到更好的效果。
上述方法能正確地區分微博的熱度區間,但是這些研究都只是基于分類的方法,只能通過特征提取來對微博進行如“熱門”、“流行”、“不流行”的這種流行度的大概范圍區間分類,并沒有給出一個具體的值,不太適用于熱度這種量化的連續現象。在這個出發點下,徐美婷[12]提出利用主動學習的SVM方法;韓鳳娟、肖春靜、王歡等[13]利用多任務學習對微博流行度進行預測。
本文提出了傳播加速度的概念,使用一種基于回歸的算法將微博流行度預測數學化、公式化,通過篩選合適的變量,能較為準確地預測微博未來的流行度。
對于微博的傳播來說,有諸多影響其傳播的因素,由于隱私等各種問題,導致很多與用戶本身相關的數據很難獲取[14]。文中試圖設計一種度量方式既可以把流行度量化,而且量化關系可以根據易得數據計算而來,同時該度量方法與微博的流行度應具有很高的相關性。
以微博轉發為例,對于一條微博來說,越是被更多的用戶瀏覽,且有足夠的用戶跟這條微博互動,即可證明該條微博越流行。假設對于每一條微博m,該微博的發布時間(submission time)為t0,ti為該條微博被第i次轉發時的時間,由此可以用{t0,t1,…,ti,…,tfinal}表示該條微博隨時間變化的轉發過程,tfinal即為該條微博最后一次轉發的時間。若用Tref表示參考時刻(reference moment),即微博m發布后到開始預測流行度的那個時刻,也就是說t0到Tref為預測流行度所需要觀測的微博傳播的時間長度,即參考時間(reference time);用Ttar表示目標時刻(target moment),從t0到ttar為微博m從發布到其流行度逐漸趨向平穩時所經歷的時間,即目標時間(target time)。則
所以Tref-t0為參考時間的長度,Ttar-t0為目標時間的長度,為便于公式表達,本文把參考時間和目標時間的長度分別用Tref和Ttar的值來表示。
若將微博m在t時刻的流行度表示為P?(t),本文要解決的問題可定義為根據微博m從t0到Tref這段時間的傳播過程{t0,t1,…,ti}的流行度變化特點,預測m在Ttar的傳播變化,P?(Ttar)則為Ttar時刻的流行度。其中ti表示在t0到Tref時間段內最后一次微博傳播發生的時間。在本文中,微博傳播可以看作是對微博的轉發和對微博的回復。
通過觀察微博的傳播規律,一條微博未來的流行度不僅與它初始的熱度有關,還與它到未來時刻這段時間的傳播特點有關。本文提出微博傳播加速度的概念,通過計算t0到Tref內每個時間分片的體現微博影響力的相關因素,共同構成其傳播加速度。
轉發加速度可以通過微博轉發數變化的快慢來獲得。具體來說,若將微博m從時刻t0到Tref這段時間平均分為k個時間段,每個時間段的最后時刻對應的實際轉發數為F1,F2,…,Fk,假設t0時刻的轉發數F0=1,第k分段內的轉發數變化表示為Fk-Fk-1,則微博m在第k個時間段的轉發加速度表示為
為提高計算準確性,減小誤差,本文選擇各個時間片段加速度的加權平均數作為由t0到Tref的轉發加速度,即:
在此基礎上,微博流行度預測模型構建如式(3)所示,實驗中該模型簡稱為FA(microblogging popularity prediction model using Forward Acceleration)。
對于一條微博來說,它未來的流行度不僅僅與轉發數以及轉發數的變化趨勢有關,回復量也是一個衡量用戶對于一條微博參與度的指標,回復量越多,說明用戶對于該條微博有著足夠的關注度,用戶對于這樣的微博也就會更傾向于轉發。所以回復數與轉發數也呈現出一個正相關。
一條發布的微博從t0到的回復數目變化(為回復數的參考時刻),其回復量加速度計算可以表示為
其中,Rk表示第k個時間分片的回復數,Rk-1表示第k-1個時間分片的回復數,Bk表示第k-1到第k時刻的回復數加速度。類似地,取各個時間分段Bk的加權平均數作為t0到T*ref這段時間的回復加速度,即:
那么,結合回復量加速度的微博流行度預測模型構建如式(6)所示,實驗中該模型簡稱為RA(microblogging popularity prediction model using Reply Acceleration)。
若微博流行度由其轉發加速度和回復加速度共同決定,本文將兩者首先進行線性組合,如式(7)所示:從上述公式可以看出,該傳播加速度由兩部分組成。由于微博流行度受其轉發數影響更大(轉發數目越多,說明傳播的越廣,潛在受影響的用戶也越多;回復數越多說明其關注度更高,雖然對微博的流行度存在影響,但直接影響的用戶數目僅為回復微博的用戶,相較而言對于微博流行度的影響其權重要弱于轉發數),本文對回復數加速度進行開三次方根處理,從公式定義和實驗準確度上講都更加合理。
因此,微博流行度預測模型表示如式(8)所示,實驗中該模型簡稱為FA+RA(microblogging popularity prediction model combining Forward Acceleration and Reply Acceleration)。和
此外,粉絲數對于微博傳播也存在影響,粉絲數越多,該條微博的曝光度就會越高,相應對于它的傳播就有促進作用。并且微博博主的粉絲數存在數量級比較大的情況,考慮到這個因素對算法的影響,最終微博流行度模型構建如式(9)所示,實驗中該模型簡稱為FA+RA+NF(microblogging popularity prediction model combining Forward Acceleration,Reply Acceleration,and Number of Followers)。
本文的實驗數據為2020 年4 月到7 月由爬蟲抓取的部分微博數據,其中清理了轉發和回復均為零的微博,最終得到微博31,159 條,微博回復1,009,552 條,轉發1,314,910 條,涉及1,968 位微博用戶,其具體數據分布如表1 所示。實驗中將數據集分成訓練集和測試集兩部分,其中30%作為訓練集,70%作為測試集。以FA 為基礎算法,采用十折交叉法與文中設計的RA、FA+RA,以及FA+RA+NF進行對比和分析。

表1 數據分布
1)平均百分比絕對誤差(Mean Absolute Percentage Error,MAPE):該方法用于衡量目標預測值與實際值的相對誤差,實際值為測試集中各條微博在目標時刻的真實轉發數。MAPE值越小,誤差也就越小,預測性能也就越好。反之誤差越大,預測性能越差。具體計算如式(10)所示。
其中n為測試的微博消息數,S表示整個測試集。
2)準確度(Accuracy):用于衡量預測結果的準確度。實驗中將測試結果離散地分為兩類,一類是表示目標預測值與實際值相對誤差值小于0.1的微博條目;另一類則是其相對誤差值大于0.1 的微博條目,其計算方法如式(11)所示。
其中f[X]為指示函數,X是真時其值為1,否則為0。這一指標用于衡量目標預測值與實際值相對誤差小于0.1的比例,準確度值越高,表明誤差值小于0.1 的測試結果所占的比例越大,預測準確度也就越高。反之表明預測準確度越差。

圖1 回復參考時刻對MAPE的影響

圖2 回復參考時刻對精確度的影響
然而參考時間設置過長,預測成本也會隨之增加,并且效率也不高。通過觀察實驗結果發現,當從5 變為6 時,誤差值還存在較大的減小,準確度也有較大的提升。當它的值從6 變為7 和8 時,準確度增加的幅度相對變小并且之后也趨于平穩,預測性能的提升變得很有限。所以為了盡可能使參考時間最短的情況下減小誤差,本文設置,得到這段時間加速度的加權平均值,并將這個值作為該參考時刻的傳播加速度。
2)Tref取值設置
類似地,由于FA、RA+FA、FA+RA+NF 模型均需考慮Tref的時間位置,以及時間分片數量k值的大小,為了節省篇幅,文中僅選取FA的實驗結果進行展示,RA+FA、FA+RA+NF模型中也有同樣的表現。實驗結果如圖3和圖4所示。

圖3 轉發參考時刻對MAPE值的影響
從實驗結果可以看出,與回復數的變化趨勢類似,當參考時間增加時MAPE值與精確度值分別減小和增加。但當Tref=4 及以上時,精確度值雖有增加但是并不明顯。因此本文設置Tref=4。
3)Tref對FA模型轉發加速度的影響
對于轉發數參考時間長短設置所引起的實驗效果的不同,本文對微博轉發數在參考時間長短不同的情況下統計了部分微博的轉發加速度的變化情況(具有類似影響,本文不再贅述)。如圖5所示。

圖5 參考時刻的長短對傳播加速度的影響
實驗結果表明,當Tref=4 時,傳播加速度最大,而隨著Tref的增加,傳播加速度逐漸減少并且趨于穩定。結合微博流行度變化的規律可以解釋為:一條微博剛發布的幾個小時熱度最高,隨著時間增加,用戶的關注點也開始逐漸轉移,如今是碎片信息爆炸的時代,用戶的注意力隨時間會被大量的不同信息所占據。隨著時間的推移,用戶會被其他更多的信息所吸引,所以該條微博的傳播速度會逐漸變慢。本文的傳播加速度求的是各個時間分片的加權平均值,后段的加速度變得很小導致整體加速度逐漸減小并且趨于穩定,直至微博轉發或者回復不再增加。因此觀測微博最有效率的方式就是考慮微博剛發布的前幾個小時。
為了更詳細地展示Tref選取的合理性,針對不同的Tref,本文將FA、RA、FA+RA 以及FA+RA+FN四個模型分別做實驗進行對比。特別地,為了控制變量排除干擾,在模型RA、FA+RA 以及FA+RA+FN 中,得到它們在時的,然后設置不同的Tref進行實驗。實驗結果如圖6 和圖7 所示。

圖6 參考時刻對MAPE的影響

圖7 參考時刻對精確度的影響
從實驗結果可以看出,無論是何種模型,隨著Tref的增加,預測效果都會有提升。整體來看,改進后的模型公式FA+RA和FA+RA+FN在任何參考時間下都要比原公式的預測效果好。
通過以上的實驗,確定了針對回復數和轉發數最適宜的Tref和值。即Tref=4,。將上文四種模型的Tref和分別設置為4和6,進行四種模型的對比實驗。其結果如圖8和圖9所示。

圖8 不同模型預測的MAPE值對比

圖9 不同模型預測的精確度值對比
從實驗結果可以看出,在確定了Tref后,FA+RA 和FA+RA+FN 具有更好的預測效果,其中FA+RA+NF 模型表現最好,它相比于其他模型的MAPE值更低,誤差更小,準確度的值更高。因為它對于參數的選取考慮更全面,因此有更好的預測效果,并且說明增加了回復數和粉絲數這兩個變量能有效地減小誤差提高預測的準確性,證明了微博回復數和微博粉絲數會影響微博的傳播速度。RA比FA 模型從數據上看來具有稍好的表現,因為利用回復數加速度的時候基于它的傳播特點采用了相對更長的參考時間,而且從側面說明,用戶的回復比轉發更能代表其感興趣的程度。此外,FA+RA+NF 相對于FA+RA 模型性能提升的效果不明顯,說明粉絲數變量對于模型性能的提升空間不大。
本文通過對微博傳播特征的分析和歸納,提出了一個結合轉發加速度、回復加速度、以及用戶粉絲數的微博流行度預測模型。實驗中分析了在不同的參考時間下微博的轉發數和回復數在模型上的不同表現,在考慮實驗成本和預測性能的平衡性的前提下,得到了二者最適宜的參考時間長度。
微博的傳播往往還受其他很多因素影響,計劃在以后的工作里進一步分析影響微博傳播規律的其他因素,比如微博營銷號、網絡水軍對微博實際真實流行度所帶來的干擾,以及微博本身的種類對用戶關注度的影響等,建立更加完善的模型以進一步提升實用性。