<address id="japib"><nav id="japib"></nav></address>

<cite id="japib"></cite>

        基于混合特征和XGBoost算法的微博轉發預測

        張林森 包崇明 周麗華 孔兵

        引用本文:
        Citation:

        基于混合特征和XGBoost算法的微博轉發預測

          作者簡介: 張林森(1994?),男,四川人,碩士生,主要研究社會網絡分析、機器學習. E-mail:1246024498@qq.com;
          通訊作者: 孔兵, kongbing@ynu.edu.cn

        Prediction forwarding of Weibo based on hybrid features and XGBoost algorithm

          Corresponding author: KONG Bing, kongbing@ynu.edu.cn
        • 摘要: 微博轉發是微博信息傳播的重要途經. 影響微博轉發的因素主要是用戶屬性、微博內容、用戶社交和用戶興趣. 已有的微博轉發預測模型僅考慮部分因素,實際上4個因素對用戶轉發行為都有影響,此外也應該關注預測模型的計算時間. 基于此,提出一種基于混合特征和XGBoost算法的微博轉發預測模型. 首先根據4個因素分別提取用戶特征、微博特征、社交特征以及興趣特征;然后基于PageRank算法計算用戶影響力,基于隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)模型和KL距離計算興趣相似度,定義用戶轉發活躍度和用戶交互影響力的計算公式;最后利用XGBoost算法構建預測模型,對轉發預測進行分析. 實驗結果表明,新的預測方法在準確率和時間等評價指標上有較好的表現,同時也驗證了綜合考慮4個因素的重要性和有效性.
        • 圖 1  預測模型整體框架圖

          Figure 1.  The overall framework of the prediction model

          圖 2  不同主題下男性和女性轉發微博數分布

          Figure 2.  Distribution of the number of Weibo reposted by men and women under different themes

          圖 3  不同時刻發布微博數累計分布曲線

          Figure 3.  Graphs showing the cumulative distribution of Weibo counts at different times

          圖 4  用戶交互影響力示例圖

          Figure 4.  Example graph of user interaction influence

          圖 5  LDA模型有向概率圖

          Figure 5.  Directed probability graph of LDA model

          圖 6  用戶1156966391的主題分布

          Figure 6.  Topic distribution by user 1156966391

          圖 7  粉絲數、發布微博數和關注數統計圖

          Figure 7.  Statistics graph of the number of fans, the number of posted Weibo and the number of followers

          圖 8  預測耗時對比圖

          Figure 8.  Comparison chart of predicted time consumption

          圖 9  特征變量重要性

          Figure 9.  The importance of characteristic variable

          圖 10  轉發活躍度與轉發率的關系圖

          Figure 10.  Relation between forwarding activity and forwarding rate

          圖 11  交互影響力與轉發率的關系圖

          Figure 11.  Relation between interactive influence and forwarding rate

          表 1  混合特征表

          Table 1.  Statistical table of hybrid features

          特征序號特征類別特征描述
          1用戶特征用戶性別
          2用戶特征用戶粉絲數
          3用戶特征用戶關注數
          4用戶特征用戶微博數
          5用戶特征注冊時間
          6用戶特征所在省份
          7用戶特征轉發活躍度
          8用戶特征用戶影響力
          9微博特征微博長度
          10微博特征微博轉發數
          11微博特征微博評論數
          12微博特征微博點贊數
          13微博特征@用戶數
          14微博特征微博創建時間
          15社交特征是否同省
          16社交特征是否同性
          17社交特征是否互關
          18社交特征用戶交互影響力
          19興趣特征用戶興趣相似度
          20興趣特征內容興趣相似度
          下載: 導出CSV

          表 2  新浪微博爬取數據

          Table 2.  Data crawled by Sina Weibo

          微博用戶數量微博信息數量關注關系數量轉發關系數量正樣本負樣本微博時間跨度
          62 75683 5291 256 22427 70027 70027 7002019-06-03~2019-06-10
          下載: 導出CSV

          表 3  不同分類算法預測效果

          Table 3.  The prediction effect of different classification algorithms

          算法準確率召回率F1
          邏輯回歸 0.783 0.812 0.797
          隨機森林 0.831 0.835 0.833
          SVM 0.763 0.785 0.774
          樸素貝葉斯 0.723 0.732 0.727
          XGBoost 0.852 0.848 0.850
          下載: 導出CSV

          表 4  去除某類特征后的預測準確率

          Table 4.  Prediction accuracy after removing certain features

          算法混合特征集未使用用戶特征未使用微博特征未使用社交特征未使用興趣特征
          邏輯回歸 0.783 0.775 0.726 0.708 0.638
          隨機森林 0.831 0.827 0.781 0.753 0.675
          SVM 0.763 0.749 0.702 0.685 0.612
          樸素貝葉斯 0.723 0.706 0.672 0.648 0.579
          XGBoost 0.852 0.840 0.813 0.776 0.695
          下載: 導出CSV
          幸运快三
        • [1] Fu K W, Chau M. Reality check for the Chinese microblog space: A random sampling approach.[J]. PLoS ONE, 2017, 8(3): 177-184.
          [2] Boyd D, Golder S, Lotan G. et al. Retweet, tweet, retweet: Conversational aspects of retweeting on twitter[C]//Proceeding of the 43rd Hawaii International Conference on System Sciences, Hawaii, America, 2010: 1-10.
          [3] Guan W, Gao H, Yang M, et al. Analyzing user behavior of the micro-blogging website Sina Weibo during hot social events[J]. Physica A: Statistical Mechanics and its Applications, 2014, 395: 340-351. DOI:  10.1016/j.physa.2013.09.059.
          [4] 曹玖新, 吳江林, 石偉, 等. 新浪微博網信息傳播分析與預測[J]. 計算機學報, 2014, 37(4): 779-790. Cao J X, Wu J L, Shi W, et al. Analysis and prediction of information dissemination on Sina Weibo[J]. Chinese Journal of Computers, 2014, 37(4): 779-790.
          [5] 毛佳昕, 劉奕群, 張敏, 等. 基于用戶行為的微博用戶社會影響力分析[J]. 計算機學報, 2014, 37(4): 791-800. Mao J X, Liu Y Q, Zhang M, et al. Analysis of social influence of Weibo users based on user behaviors[J]. Acta Computica Sinica, 2014, 37(4): 791-800.
          [6] Petrovic S, Osborne M, Lavrenko V. RT to win! Predicting message propagation in twitter[J]. Dentistry Today, 2011, 19(11): 591-600.
          [7] Yang Z, Guo J, Ke K, et al. Understanding retweeting behaviors in social networks[C]//Proceedings of the 19th ACM Conference on Information and Knowledge Management, ACM, Toronto, Canada 2010: 1 633-1 636.
          [8] 張旸, 路榮, 楊青. 微博客中轉發行為的預測研究[J]. 中文信息學報, 2012, 26(4): 109-115. DOI:  10.3969/j.issn.1003-0077.2012.04.015. Zhang Y, Lu R, Yang Q. Prediction of reposting behavior in microblog[J]. Journal of Chinese Information Processing, 2012, 26(4): 109-115.
          [9] 李志清. 基于LDA主題特征的微博轉發預測[J]. 情報雜志, 2015(9): 158-162. DOI:  10.3969/j.issn.1002-1965.2015.09.030. Li Z Q. Microblog forwarding prediction based on LDA topic features[J]. Information Magazine, 2015(9): 158-162.
          [10] 周先亭, 黃文明, 鄧珍榮. 融合異常檢測與隨機森林的微博轉發行為預測方法[J]. 計算機科學, 2017, 44(7): 191-196. Zhou X T, Huang W M, Deng Z R. A Weibo forwarding behavior prediction method integrating anomaly detection and random forest[J]. Computer Science, 2017, 44(7): 191-196.
          [11] 項惠惠, 朱恒民, 侯萍. 基于歷史轉發記錄的微博用戶轉發行為預測研究[J]. 經營與管理, 2017(7): 146-149. Xiang H H, Zhu H M, Hou P. Prediction research of Weibo user forwarding behavior based on historical forwarding records[J]. Operation and Management, 2017(7): 146-149.
          [12] Guo Z B, Li Z T, Tu H. Sina microblog: An information-driven online social network[C]//Proceding of the 2011 Int’l Conference on Cyberworlds (CW), Washington, USA, IEEE Computer Society, 2011: 160-167.
          [13] 周飛, 高茂庭. 基于PageRank的網絡社區意見領袖發現算法[J]. 計算機工程, 2018, 44(2): 203-209. DOI:  10.3969/j.issn.1000-3428.2018.02.036. Zhou F, Gao M T. PageRank-based algorithm for finding opinion leaders in online communities[J]. Computer Engineering, 2018, 44(2): 203-209.
          [14] 周東浩, 韓文報. DiffRank: 一種新型社會網絡信息傳播檢測算法[J]. 計算機學報, 2014, 37(4): 884-893. Zhou D H, Han W B. DiffRank: A new social network information propagation detection algorithm[J]. Chinese Journal of Computers, 2014, 37(4): 884-893.
          [15] Kar M,Nunes S ,Ribeiro C. Summarization of changes in dynamic text collections using Latent Dirichlet Allocation model[J]. Information Processing and Management, 2015, 51(6): 809-833. DOI:  10.1016/j.ipm.2015.06.002.
          [16] Li B B, Kiureghian D A, Au S K. A Gibbs sampling algorithm for structural modal identification under seismic excitation[J]. Earthquake Engineering and Structural Dynamics, 2018, 47(14): 2 735-2 755. DOI:  10.1002/eqe.3094.
          [17] 蔣華, 張紅福, 羅一迪, 等. 基于KL距離的自適應閾值網絡流量異常檢測[J]. 計算機工程, 2019, 45(4): 108-113. Jiang H, Zhang H F, Luo Y D, et al. Adaptive threshold network traffic anomaly detection based on KL distance[J]. Computer Engineering, 2019, 45(4): 108-113.
          [18] 王燕, 郭元凱. 改進的XGBoost模型在股票預測中的應用[J]. 計算機工程與應用, 2019, 55(20): 202-207. DOI:  10.3778/j.issn.1002-8331.1904-0007. Wang Y, Guo Y K. Application of improved XGBoost model in stock forecasting[J]. Computer Engineering and Applications, 2019, 55(20): 202-207.
          [19] 張鈺, 陳珺, 王曉峰, 等. Xgboost在滾動軸承故障診斷中的應用[J]. 噪聲與振動控制, 2017, 37(4): 166-170. DOI:  10.3969/j.issn.1006-1355.2017.04.032. Zhang Y, Chen J, Wang X F, et al. Application of Xgboost in rolling bearing fault diagnosis[J]. Noise and Vibration Control, 2017, 37(4): 166-170.
          [20] 劉瑋, 賀敏, 王麗宏. 基于用戶行為特征的微博轉發預測研究[J]. 計算機學報, 2016, 39(10): 1 992-2 006. DOI:  10.11897/SP.J.1016.2016.01992. Liu W, He M, Wang L H. Research on Weibo forwarding prediction based on user behavior characteristics[J]. Chinese Journal of Computers, 2016, 39(10): 1 992-2 006.
        • [1] 賈莉江濤馬寧孟家豪 . 一種融合性格線索的微博情感分類. 云南大學學報(自然科學版), 2020, 42(5): 870-876. doi: 10.7540/j.ynu.20190598
          [2] 蔣作李彤楊檉 . Web文檔特征提取中知識樹構造. 云南大學學報(自然科學版), 2011, 33(S2): 168-172.
          [3] 郭敏尚志遠白雅 . 儲糧害蟲微弱聲信號特征提取與分析. 云南大學學報(自然科學版), 2006, 28(6): 497-503.
          [4] 劉平王順芳 . 一種局部保留C2DPCA人臉特征提取方法. 云南大學學報(自然科學版), 2011, 33(S2): 206-209.
          [5] 賈春花郭敏 . 基于HHT方法的果蠅鳴聲特征提取及分類. 云南大學學報(自然科學版), 2011, 33(2): 152-157 .
          [6] 于傳波聶仁燦周冬明何敏 . 變空間協同表示判別分析的特征提取算法. 云南大學學報(自然科學版), 2019, 41(1): 28-35. doi: 10.7540/j.ynu.20170590
          [7] 齊鵬范玉剛李葵 . 基于SVD突變信息特征提取和VPMCD的故障診斷方法研究. 云南大學學報(自然科學版), 2016, 38(2): 211-218. doi: 10.7540/j.ynu.20150410
          [8] 孫雪華郭敏馬苗 . 基于PCA和KICA雙空間特征提取的玉米碰撞聲信號分類. 云南大學學報(自然科學版), 2017, 39(1): 45-49. doi: 10.7540/j.ynu.20160370
          [9] 賈春花郭 敏 . 基于HHT方法的果蠅鳴聲特征提取及分類. 云南大學學報(自然科學版), 0, -1978(0): 0- .
          [10] 趙小明張群岳昆 . 基于靜電場理論和PageRank算法的微博用戶相關性分析. 云南大學學報(自然科學版), 2015, 37(2): 207-214. doi: 10.7540/j.ynu.20140430
          [11] 燕志星王海瑞楊宏偉靖婉婷 . 基于深度學習特征提取和GWO-SVM滾動軸承故障診斷的研究. 云南大學學報(自然科學版), 2020, 42(4): 656-663. doi: 10.7540/j.ynu.20190535
          [12] 范玉周 . 云南省鉬地球化學特征及找礦預測研究. 云南大學學報(自然科學版), 2012, 34(S2): 190-196.
          [13] 費兵強韓煒馬霄華黨亞玲蔡寅潮譚惠李文軒 . 2010—2015年焉耆盆地LUCC特征分析及預測. 云南大學學報(自然科學版), 2017, 39(3): 395-404. doi: 10.7540/j.ynu.20160680
          [14] 劉開宇 . 貴陽機場一次大雪凍雨混合性降水微物理過程的數值模擬. 云南大學學報(自然科學版), 2013, 35(S2): 279-. doi: 10.7540/j.ynu.20130689
          [15] 唐菁敏馬含 . 基于混沌粒子群優化的微電網短期負荷預測. 云南大學學報(自然科學版), 2019, 41(6): 1123-1129. doi: 10.7540/j.ynu.20190017
          [16] 關蕾車靜畢青 . 元江水氡異常特征分析及短臨指標提取. 云南大學學報(自然科學版), 2012, 34(S2): 93-96.
          [17] 阮春生張強陳林丁波洋方力陳穗云 . 不同煙草品種紫外-可見光譜特征的提取研究. 云南大學學報(自然科學版), 2009, 31(6): 616-624 .
          [18] 姜淑馬銀海古昆陶麗旭羅福順 . 陶瓷膜微濾澄清黃芩提取液的研究. 云南大學學報(自然科學版), 2005, 27(3): 245-248.
          [19] 馬銳 . BL代數特征性質. 云南大學學報(自然科學版), 2003, 25(6): 487-489.
          [20] 陳新梅張萬誠段瑋田永麗 . 昆明酸雨特征分析. 云南大學學報(自然科學版), 2009, 31(3): 274-279, .
        • 加載中
        圖(11)表(4)
        計量
        • 文章訪問數:  1211
        • HTML全文瀏覽量:  771
        • PDF下載量:  21
        • 被引次數: 0
        出版歷程
        • 收稿日期:  2019-12-02
        • 錄用日期:  2020-03-02
        • 網絡出版日期:  2020-04-30
        • 刊出日期:  2020-09-22

        基于混合特征和XGBoost算法的微博轉發預測

          作者簡介:張林森(1994?),男,四川人,碩士生,主要研究社會網絡分析、機器學習. E-mail:1246024498@qq.com
          通訊作者: 孔兵, kongbing@ynu.edu.cn
        • 1. 云南大學 信息學院,云南 昆明 650500
        • 2. 云南大學 軟件學院 ,云南 昆明 650500

        摘要: 微博轉發是微博信息傳播的重要途經. 影響微博轉發的因素主要是用戶屬性、微博內容、用戶社交和用戶興趣. 已有的微博轉發預測模型僅考慮部分因素,實際上4個因素對用戶轉發行為都有影響,此外也應該關注預測模型的計算時間. 基于此,提出一種基于混合特征和XGBoost算法的微博轉發預測模型. 首先根據4個因素分別提取用戶特征、微博特征、社交特征以及興趣特征;然后基于PageRank算法計算用戶影響力,基于隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)模型和KL距離計算興趣相似度,定義用戶轉發活躍度和用戶交互影響力的計算公式;最后利用XGBoost算法構建預測模型,對轉發預測進行分析. 實驗結果表明,新的預測方法在準確率和時間等評價指標上有較好的表現,同時也驗證了綜合考慮4個因素的重要性和有效性.

        English Abstract

        • 微博轉發是微博信息傳播的重要方式,是研究微博信息傳播、輿情監控、敏感信息控制、微博營銷等問題的關鍵. 微博轉發的研究,可以更好地跟蹤微博信息的傳播路徑,具有重要研究價值和現實意義.

          微博轉發主要有2個研究方向:①對影響微博轉發的因素進行分析;②對微博轉發進行預測. 在微博轉發影響因素分析方面,Fu等[1]分析了近30 000個微博用戶的資料和使用習慣,總結用戶的共同特征,發現用戶的關注者數量與轉發數量相關,用戶粉絲數量與被轉發、評論以及點贊的數量密切相關. Boyd等[2]通過對用戶歷史轉發記錄的研究,發現影響用戶轉發行為的兩個主要因素是接收到的信息內容和用戶所屬的群體. Guan等[3]分析了微博用戶在熱點事件中轉發行為的影響因素,包括微博用戶性別、微博用戶所在省份、微博是否包含URL等,發現這些特征對轉發行為有一定的影響. 曹玖新等[4]基于大量新浪微博數據,對影響用戶轉發行為的各種因素進行了統計分析,實驗結果表明用戶的社會關系特征對轉發行為有重要影響. 毛佳昕等[5]基于新浪微博大規模數據分析,提出用戶社會影響力對微博轉發行為的影響. 根據目前研究成果,發現雖然有大量影響微博轉發預測的因素特征被提出,但對影響微博轉發的因素分析仍不夠全面,忽略了一些關鍵特征.

          在微博轉發預測方面,Petrovic等[6]基于微博內容和passive-aggressive算法構建轉發預測模型,但是預測準確率較低,只有47%的消息能被正確預測. Yang等[7]將用戶和微博信息發布者以及參與轉發過程的其他用戶的文本興趣和交互等因素納入影響因素中,建立了基于因子圖模型的預測模型. 張旸等[8]通過分析不同特征對微博轉發與否的影響,得到了11個文本特征和11個用戶特征,利用信息增益法對特征的重要性進行排序,通過支持向量機(Support Vector Machine,SVM)訓練建立轉發預測模型,但是實驗只考慮了用戶特征和微博內容特征. 李志清等[9]利用隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)主題生成模型提取和構造微博的主題特征,同時結合微博特征和用戶特征,提出了一種基于主題特征的微博預轉發預測模型,但在特征提取上沒有考慮用戶社交關系特征. 周先亭等[10]基于用戶特征和微博特征提出了一種基于隨機森林的微博轉發預測模型,但該研究僅考慮了用戶屬性和微博內容兩個方面的影響因素. 項惠惠等[11]從用戶的興趣偏好和關注者影響力兩個方面提取特征,基于貝葉斯定理轉發概率預測模型,但是在轉發影響因素上沒有考慮用戶社交關系.

          綜上所述,以往的方法以及預測模型雖從不同角度對微博用戶轉發行為進行分析與研究,但在轉發影響因素僅考慮部分因素. 在特征選取上忽略了一些關鍵特征,這將會影響轉發預測結果的準確率. 例如,在興趣相似度上,只關注用戶與用戶的興趣相似度,忽略了微博文本和用戶興趣的相似度. 此外,也應該關注預測模型的計算效率,并需要探討各類影響因素特征與微博轉發行為的相關性和重要性. 基于以上的分析,本文綜合考慮用戶屬性、微博內容、用戶社交和用戶興趣4個因素,分別提取用戶特征、微博特征、社交特征和興趣特征,并考慮微博用戶數量多、特征多樣的特點,結合XGBoost算法容錯性強、泛化能力強,以及計算速度快等優勢建立轉發預測模型,實現微博轉發行為預測,并對特征進行轉發行為相關性和重要性分析.

          • 定義1 已知微博網絡 $G = \langle V,E\rangle $,其中,$V$ 表示用戶集合,$E$ 表示關注邊集合, $E = \{ e = \langle {v_i},{v_j}\rangle \}$ , ${v_i},{v_j} \in V,{v_i} \ne {v_j}$,若用戶 ${v_j}$ 關注 ${v_i}$,則關注邊定義為:${v_j} \to {v_i}$.

            基于以上定義描述,研究的主要問題可以表示為:若用戶 $j$ 關注用戶 $i$,即 ${v_j} \to {v_i}$,當用戶 $i$ 發布一條微博信息 $n$ 時,預測微博 $n$ 是否會被關注者 $j$ 轉發. 用函數 $p = f({v_i},{v_j},n)$$(p \in \{ {\rm{ }}1,{\rm{ - 1}}\} )$ 表示,其中 $p = {\rm{ }}1$ 表示轉發,$p = {\rm{ - 1}}$ 表示不轉發,將原問題轉化為二分類問題.

            本文具體工作如下:首先使用Python網絡爬蟲抓取微博用戶的個人信息、微博信息和轉發信息等,存入數據庫相應的表;然后對爬取的數據進行缺失值處理、無效樣本處理等操作,為保證類平衡,采樣的負樣本與正樣本個數相同,得到需要的實驗數據;其次根據用戶屬性、微博內容、用戶社交和用戶興趣4個因素提取用戶特征、微博特征、社交特征以及興趣特征,其中包括15個基本特征和5個計算特征,基于PageRank算法計算用戶影響力的大小,基于LDA模型和KL距離度量計算用戶間興趣相似度大小以及微博文本與用戶興趣相似度大小,定義轉發活躍度和用戶交互影響力的計算公式,從而提取出20種特征;再次利用XGBoost算法構建預測模型進行微博轉發預測;最后利用十折交叉驗證與邏輯回歸算法、隨機森林算法、支持向量機算法以及樸素貝葉斯算法在準確率和時間等指標上比較分析,并且分析特征重要性及驗證本文混合特征方法的有效性和重要性. 本文模型整體架構如圖1所示.

            圖  1  預測模型整體框架圖

            Figure 1.  The overall framework of the prediction model

          • 微博用戶的轉發行為使原始信息向新用戶傳播,并以指數級逐級傳播[12]. 原始信息包含著一些與轉發行為有著密切聯系的價值或屬性,其發布者的特征對于微博轉發同樣有著重要的影響,提取合適的特征能提高微博轉發預測的準確率. 通過對已獲取轉發樣本的研究,本文從用戶和微博內容兩個方面分析了影響微博用戶轉發的特征因素,基于用戶屬性、微博內容、用戶社交和用戶興趣4個因素選取用戶特征、微博特征、興趣特征和社交特征共20種. 詳見表1.

            特征序號特征類別特征描述
            1用戶特征用戶性別
            2用戶特征用戶粉絲數
            3用戶特征用戶關注數
            4用戶特征用戶微博數
            5用戶特征注冊時間
            6用戶特征所在省份
            7用戶特征轉發活躍度
            8用戶特征用戶影響力
            9微博特征微博長度
            10微博特征微博轉發數
            11微博特征微博評論數
            12微博特征微博點贊數
            13微博特征@用戶數
            14微博特征微博創建時間
            15社交特征是否同省
            16社交特征是否同性
            17社交特征是否互關
            18社交特征用戶交互影響力
            19興趣特征用戶興趣相似度
            20興趣特征內容興趣相似度

            表 1  混合特征表

            Table 1.  Statistical table of hybrid features

            用戶的基本特征反映了微博用戶的一些個人信息以及社會信息. 例如,用戶的粉絲量可以區分用戶的類型,大V的微博信息相較于普通用戶更有可能得到轉發. 用戶性別的差異對某些主題微博的轉發起到了預示作用,比如女性用戶更傾向于轉發韓劇電影等微博信息,而男性用戶則偏向于轉發體育科技等微博信息,從圖2可以看出在不同主題下男性和女性轉發微博數的差異. 微博內容特征會影響一條微博受歡迎的程度,也反映了微博的話題和熱門程度. 例如,某一條微博被其他用戶點贊、評論、轉發的次數很大時,就很可能吸引其他用戶的注意. 被@的用戶很有可能會轉發被他提及的微博信息. 微博用戶因為登錄微博的時間習慣不同,其發布時間點可能很重要,在某些時間段內具有更高的轉發概率,從圖3可以看出用戶在00: 00點到08: 00點,活躍次數最少,微博帖子數也相對較少. 社交基本特征反映了微博用戶之間的交互情況,經?;拥挠脩?,轉發彼此微博的可能性較大. 例如,同一性別的用戶可能對些話題都感興趣,這很可能導致他們經?;?;地理位置接近的用戶在線下是朋友的概率更大;互相關注的用戶交互次數較多,轉發彼此微博的概率也較大.

            圖  2  不同主題下男性和女性轉發微博數分布

            Figure 2.  Distribution of the number of Weibo reposted by men and women under different themes

            圖  3  不同時刻發布微博數累計分布曲線

            Figure 3.  Graphs showing the cumulative distribution of Weibo counts at different times

            以上基本特征可直接提取使用,用戶興趣相似度、內容興趣相似度小、用戶影響力、用戶轉發活躍度以及用戶交互影響力都需要相關計算獲得. 具體計算方法如下.

          • 微博用戶的影響力在很大程度上影響微博的轉發.微博中的明星,大V用戶有很多的粉絲,其發布的內容會引來其粉絲的瀏覽、點贊、評論、轉發,所以他們的微博轉發量會相對較大. 這里利用經典的PageRank算法[13]實現用戶影響力的計算.

            $ P({u_i}) = (1 - d) + d \sum\limits_{{v_j} \in F({u_i}{\rm{)}}} {\frac{{P({v_j})}}{{o({v_j})}}} $

            其中,$P({u_i})$ 為用戶 ${u_i}$ 的影響力,$F({u_i})$ 為用戶 ${u_i}$ 的粉絲集合,$o({v_j})$ 為用戶 ${v_j}$ 的關注數量,$d$ 為阻尼系數(一般取0.85).

          • 用戶轉發活躍度反映微博用戶轉發微博的積極性,反映接受用戶在微博平臺上轉發微博的態度,是用戶習慣使用微博平臺進行信息活動的體現. 通過研究用戶的歷史活動,可以衡量用戶對微博轉發行為的態度. 與本研究相對應,用戶轉發微博的活躍度可在一定的時間段內進行測量,定義為:

            $A(m) = \frac{{{n_{\rm{f}}}}}{{{n_{\rm{p}}}}},$

            其中,${n_{\rm{f}}}$ 表示用戶 $m$ 在觀測時間內發布微博中屬于轉發微博的數量,其中觀測時間為用戶最早發博日期與最新發博日期的間隔時間,${n_{\rm{p}}}$ 表示用戶 $m$ 在觀測時間內發布微博的總數,$A(m)$ 越大說明用戶 $m$ 在觀測時間內發布的微博中轉發微博的比例越高,也說明用戶 $m$ 轉發積極性越高.

          • 接收用戶在用戶對中轉發發布用戶信息的程度表示用戶之間的交互程度,定義為:

            $I(b,a) = \frac{{c(a\_b)}}{{c(b)}},$

            其中,$c(a\_b)$ 表示用戶 $a$ 轉發用戶 $b$ 微博的數量,$c(b)$ 表示上級用戶 $b$ 被轉發的微博總數,該公式表示用戶 $a$ 轉發 $b$ 的微博數量與用戶 $b$ 被轉發微博總數的比值. 例如上級用戶A微博中共100條微博被轉發,其中80條由用戶B轉發,20條由用戶C轉發,說明對于上級用戶A發布的微博,用戶B轉發A微博的積極性比用戶C強,用戶A對用戶B交互影響力更大,交互程度越強,用戶之間的關系越密切,轉發的概率也越高. 如圖4所示.

            圖  4  用戶交互影響力示例圖

            Figure 4.  Example graph of user interaction influence

          • 微博用戶的轉發行為與用戶對微博內容和發布者的興趣程度密切相關.在某種程度上,用戶的興趣是用戶對某些主題的偏好,當用戶的興趣與某用戶發布的微博內容主題高度相似度時,那么用戶轉發該微博的概率很高. 同樣,當兩個用戶的興趣相似度很高時,相互轉發對方的微博的概率也就很大. 基于潛在語義分析方法,從微博用戶發布的歷史微博內容中提取用戶感興趣的主題,形成主題分布向量,向量長度表示主題數量,各個分量表示用戶對該主題的興趣度[14].

            假設每個微博用戶對應一篇文檔,所有用戶文檔構成文檔集D. 利用LDA主題模型,每個文檔對應的主題組合可以從文檔集中自動挖掘,即每個用戶的興趣愛好. LDA模型是一種典型的有向概率模型[15],由3層生成式貝葉斯網絡構成,包括文檔、主題、單詞3層. 假設文檔(或用戶的興趣)由 $K$ 個主題組成,主題分布為 $\overrightarrow {{\theta _m}} $,每個主題 ${z_{m,n}}$ 可以表示為詞典 $V$ 中每個單詞的多項式分布 $\overrightarrow {{\varphi _k}} $,ωm,n為當前位置詞的相應詞項,$\overrightarrow {{\theta _m}} $$\overrightarrow {{\varphi _k}} $ 的分布分別由超級參數 $\overrightarrow \alpha $$\overrightarrow \beta $ 控制,如圖5所示.

            圖  5  LDA模型有向概率圖

            Figure 5.  Directed probability graph of LDA model

            以每個用戶發布或轉發的微博為文本語料,將語料進行預處理后,用來訓練微博主題模型. 預處理過程:首先通過中文分詞效果較好的“結巴分詞”對語料進行分詞處理,然后去掉停用詞、標點符號,最后去掉低頻詞匯. 令超參數 $\alpha = 50/K$,$\;\beta = 0.1$(這里,$\alpha $$\;\beta $ 是根據經驗給定的先驗參數),話題數 $K = 50$,構建主題模型,通過Gibbs抽樣[16]的方法完成LDA模型的求解. 本文設置抽樣迭代次數為1 000,以保證模型的收斂. 如圖6為用戶ID為1156966391的所有歷史微博所構建主題模型中的主題詞分布,從圖6可看出該用戶的主題都是一些關于NBA的主題內容,說明該用戶對關于NBA的微博內容感興趣.

            圖  6  用戶1156966391的主題分布

            Figure 6.  Topic distribution by user 1156966391

            最后通過 ${\rm{KL}}$ 距離[17](相對熵、交叉熵)計算用戶之間的話題相似度,也就是興趣相似度. ${\rm{KL}}$ 距離常用來度量兩個概率密度之間的相似度,本文利用 ${\rm{JS}}$ 距離的倒數來度量用戶之間的主題相似度以及微博文本與用戶的主題相似度,即用戶間興趣相似度和微博文本與用戶興趣相似度. 主題概率密度之間的差距越小,用戶的主題分布越相似,即興趣越相似. 定義為:

            $ S({v_i},{v_j}) = \frac{1}{{J({v_i}||{v_j})}}, $

            $ J({v_i}||{v_j}) = \frac{1}{2}{D_{{\rm{KL}}}}({v_i}||{v_K}) + \frac{1}{2}{D_{{\rm{KL}}}}({v_j}||{v_K}), $

            $ {D_{{\rm{KL}}}}({v_i}||{v_j}) = \sum\limits_{k = 1}^K {p({z_k}|{v_i}){{\log }_2}\frac{{p({z_k}|{v_i})}}{{p({z_k}|{v_j})}}}, $

            $ {v_k} = \frac{1}{2}({v_i} + {v_j}), $

            其中,${v_i},{v_j}$ 為用戶主題概率密度,$J({v_i}||{v_j})$ 為兩者的 ${\rm{JS}}$ 距離,${D_{KL}}({v_i}||{v_j})$ 為兩者的 ${\rm{KL}}$ 距離,${v_k}$ 為二者的均值,${p({z_k}|{v_i})} $${v_i} $的概率分布,${p({z_k}|{v_j})} $${v_j} $的概率分布.

          • 本文利用XGBoost算法構建轉發預測模型,其基本思想是將預測準確率較低的幾個分類回歸樹(Classification and Regression Tree,CART)結合起來,得到一個高精度的預測模型[18]. XGBoost模型可以表示為:

            $\mathop {{y_i}}\limits^{\wedge} = \sum\limits_{k = 1}^K {{f_k}({x_i}} ),$

            其中,${f_k}$ 為函數空間 $F$ 中的任意函數,$K$ 表示回歸樹的數量,${x_i}$ 表示第 $i$ 個樣本的特征,$\mathop {{y_i}}\limits^{\wedge}$ 表示第 $i$ 個樣本的預測值. 當建立XGBoost回歸模型時,需要尋找最優參數,一般來說,最優參數是使目標函數最小的參數,其目標函數為:

            $O(\Theta ) = L(\Theta ) + \varOmega (\Theta ),$

            其中, $L(\Theta )$ 為損失函數,表示預測值與目標值之間的誤差,$\varOmega (\Theta )$ 為正則項,對模型的泛化能力主要起到提升的作用.

            $L(\Theta ) = \sum\limits_{i = 1}^n {l({y_i}} ,\mathop {{y_i}}\limits^{\wedge}),$

            $\varOmega (\Theta ) = \sum\limits_{k = 1}^K {\Omega ({f_k}} ),$

            其中,${y_i}$ 表示第 $i$ 個樣本的觀測值,$\mathop {{y_i}}\limits^{\wedge}$ 表示第 $i$ 個樣本的預測值,$n$ 表示樣本的個數,$l$ 表示誤差函數,${f_k}$ 表示第 $k$ 棵樹,其正則項 $\varOmega ({f_k})$ 可表示為:

            $\varOmega ({f_k}) = \gamma T + \lambda \frac{1}{2}\sum\limits_{j = 1}^T {w_j^2}, $

            $T$ 表示第 $k$ 棵樹種葉節點的數目,${w_j}$ 表示葉節點的權值,$\gamma $、$ \lambda $表示懲罰力度. 此時目標函數為:

            $O^{(t)} = \sum\limits_{i = 1}^n {L({y_i},\mathop y\limits^{\wedge} {_i^{t - 1}} + {f_t}({x_i})) + \Omega ({f_t}} ) + C,$

            其中,$t$ 表示訓練的周期(即訓練的第 $t$ 棵樹),$C$ 為前 $t - 1$ 棵樹的正則項之和,在前 $t - 1$ 次訓練中確定.

            根據泰勒公式展開:

            $f(x + \Delta x) \approx f(x) + {f^{'}}(x)\Delta x + \frac{1}{2}{f^{''}}(x)\Delta {x^2}.$

            同時令:

            ${g_i} = \frac{{\partial L({y_i},\mathop y\limits^{\wedge} {_i^{t - 1}})}}{{\partial \mathop y\limits^{\wedge} {_i^{t - 1}}}},{h_i} = \frac{{{\partial ^2}L({y_i},\mathop y\limits^{\wedge} {_i^{t - 1}})}}{{\partial \mathop y\limits^{\wedge} {_i^{t - 1}}}}.$

            將式(12)、(14)、(15)帶入式(11)得目標函數:

            $ O{^{(t)}} \approx \sum\limits_{j = 1}^T {\left[ {\left( {\sum\limits_{i \in {I_j}} {{g_i}} } \right){w_j} + \frac{1}{2}\left( {\sum\limits_{i \in {I_j}} {{h_i} + \lambda } } \right)w_j^2} \right]} + \gamma T. $

            對式(16)求解,求得最佳 $ w_j^*$ 以及相應的目標函數最佳值. 兩個結果對應如下:

            $w_j^* = - \frac{{\displaystyle\sum\limits_{i \in {I_j}} {{g_i}} }}{{\displaystyle\sum\limits_{i \in {I_j}} {{h_i} + \lambda } }},$

            $O = - \frac{1}{2}\sum\limits_{j = 1}^T {\frac{{{{\bigg(\displaystyle\sum\limits_{i \in {I_j}} {{g_i}} \bigg)}^2}}}{{\displaystyle\sum\limits_{i \in {I_j}} {{h_i} + \lambda } }}} + \gamma T,$

            然而,通過目標函數找到結構最優的樹,并且將其添加到模型中是不可能的.一般來說,不可能枚舉出所有可能的樹結構,因此將貪心算法用于尋找最優的分割方案,即一種分割尋找算法,我們稱之為精確貪心算法[19].

          • 利用Python網絡爬蟲抓取微博用戶的個人信息、微博信息、轉發信息.由于微博用戶規模大,交互關系復雜,文本內容多,所以使用MySQL數據庫存儲數據,將爬取的數據存儲到用戶信息表、用戶關注表、微博信息表以及微博轉發關系表,建立好相應的主鍵和外鍵. 另外非轉發記錄是從微博作者的直接粉絲和間接粉絲中隨機抽取的,為保證類平衡,讓負樣本和正樣本的數量相同,最終總得到數據55 400條數據. 數據具體如表2所示. 實驗環境為CPU i7-8750H 2.20 GHz,內存8 GB.

            微博用戶數量微博信息數量關注關系數量轉發關系數量正樣本負樣本微博時間跨度
            62 75683 5291 256 22427 70027 70027 7002019-06-03~2019-06-10

            表 2  新浪微博爬取數據

            Table 2.  Data crawled by Sina Weibo

            微博平臺是一個復雜的社交網絡,獲取完整的轉發數據幾乎是不可能的,由于本文主要研究用戶間的轉發行為,因此只要存在比較完善的轉發關系即可. 本文首先對用戶的關注關系和微博發布數量的完整性進行了分析,經過實驗統計分析,微博只有少量的用戶能被較多用戶追隨或高頻率地發布微博,如圖7(a)圖7(b)所示,用戶粉絲數和發布微博數服從冪率分布,符合典型社交網絡的分布特點[20]. 再對用戶關注數進行分析,如圖7(c)所示,用戶關注數也服從冪率分布,大量用戶分布在 ${\rm{1}}{{\rm{0}}^{\rm{3}}}$ 量級附近,關注數在2 000的位置尾部明顯有一個上升的趨勢,這是因為微博限制普通用戶最多關注2 000人,所以在達到2 000后就不再增長.

            圖  7  粉絲數、發布微博數和關注數統計圖

            Figure 7.  Statistics graph of the number of fans, the number of posted Weibo and the number of followers

            通過評價指標的計算對預測模型的質量進行評價是實驗的重要組成部分,本文選取的評價指標為準確率(P)、召回率(R)、$F1$ 值. 評價指標定義如下:

            $ P = \frac{{T}}{{T + F}}, $

            $ R = \frac{{T}}{M}, $

            $ F1 = \frac{{2 P R}}{{P + R}}, $

            其中,$M$ 是陽性樣本的總數,$T$ 是正確預測的陽性樣本數,$F$ 為錯誤預測的陽性樣本數,$F1$ 分數是精度和召回的調和平均數,最佳值為1,最差值為0. 此外,如果樣本數據比較大,計算速度也應作為評價指標. 在本實驗中,使用Python的time.clock()記錄模型的計算時間.

          • 對于影響微博用戶轉發行為的特征向量,為了消除不同特征之間數值類型和取值范圍的差異,本文對它們進行了歸一化處理,如公式(22)所示.

            $X = \frac{{x - {x_{\min }}}}{{{x_{\max }} - {x_{\min }}}},$

            其中,$x$$X$ 分別表示為初始特征與歸一化后的特征,${x_{\min }}$${x_{\max }}$ 分別表示所有用戶當前特征的最小值與最大值.

          • 利用提取的混合特征數據集,分別訓練邏輯回歸、隨機森林、SVM、樸素貝葉斯網絡以及本文XGBoost模型,并利用十折交叉驗證對預測效果進行評價. 以分類器評價標準對邏輯回歸、隨機森林、SVM、樸素貝葉斯網絡以及本文XGBoost算法的各個方面作對比,預測結果如表3所示.

            算法準確率召回率F1
            邏輯回歸 0.783 0.812 0.797
            隨機森林 0.831 0.835 0.833
            SVM 0.763 0.785 0.774
            樸素貝葉斯 0.723 0.732 0.727
            XGBoost 0.852 0.848 0.850

            表 3  不同分類算法預測效果

            Table 3.  The prediction effect of different classification algorithms

            結合表3中5個模型的各項性能指標,可以看出XGBoost算法和隨機森林算法表現較好. XGBoost預測模型在準確率、召回率以及F1值方面均優于其他4類模型,取得了最好的分類效果,準確率達到了0.852,相比于隨機森林預測模型的0.831提高了0.021,相比于其他3類算法提高了0.08~0.12,在召回率方面,XGBoost預測模型達到了0.848,相比于隨機森林預測模型提高了0.013,相比于其他3類預測模型提高了0.05~0.11.可見XGBoost算法的預測效果明顯優于其他4類算法.

          • 不同預測算法和不同預測數據量的耗時對比如圖8所示. 由圖8可以看出,在不同預測數據量下,XGBoost預測模型耗時是最短的,而隨機森林預測方法是最耗時的,邏輯回歸預測模型與樸素貝葉斯預測模型耗時相近,以SVM算法為基礎的模型在原理上相對簡單,所以耗時僅次于XGBoost算法,但是其準確率遠不如XGBoost算法優秀. 雖然隨機森林預測模型在準確率上有較好的表現,但是其模型計算時間復雜度較高. 因此,用XGBoost算法訓練的模型具有準確率更高,運行速度更快的優點,突出了XGBoost算法在分類預測方面的效率.

            圖  8  預測耗時對比圖

            Figure 8.  Comparison chart of predicted time consumption

          • 為了比較各類特征對預測效果的影響,本文將去除某類特征后的預測準確率與原模型的預測準確率進行了比較. 不同類型特征對預測準確率的影響如表4所示. 從表4可以看出,這4類特征對預測準確率都有很大的影響. 其中興趣特征對預測效果的影響最大,去除興趣特征的模型預測準確率降低0.15,去除社交特征的模型預測準確率降低0.08,去除微博特征的模型預測準確率降低0.05,而去除用戶特征的模型預測準確率降低0.02. 可以看出,綜合考慮用戶特征、微博特征、社交特征和興趣特征可以有效提高預測準確率,說明本文混合特征學習方法的重要性及有效性.

            算法混合特征集未使用用戶特征未使用微博特征未使用社交特征未使用興趣特征
            邏輯回歸 0.783 0.775 0.726 0.708 0.638
            隨機森林 0.831 0.827 0.781 0.753 0.675
            SVM 0.763 0.749 0.702 0.685 0.612
            樸素貝葉斯 0.723 0.706 0.672 0.648 0.579
            XGBoost 0.852 0.840 0.813 0.776 0.695

            表 4  去除某類特征后的預測準確率

            Table 4.  Prediction accuracy after removing certain features

            通過對XGBoost的建模,利用XGBoost當中的plot_importance函數確定每個特征變量對模型貢獻程度,可以判斷出對微博轉發行為影響更為顯著的特征變量,從而對微博轉發預測的判斷起到參考作用. 如圖9所示為XGBoost模型變量重要性結果,f20、f19、f8、f18以及f7是該模型重要性排序的前5個變量.這5個變量分別代表內容興趣相似度、用戶興趣相似度、用戶影響力、用戶交互度和用戶活躍度,其中前2位變量均為興趣相似度特征變量,可以看出興趣相似度是影響微博轉發的最重要因素,對模型的貢獻程度最高. 由此可見,興趣是影響微博用戶轉發微博的主要因素,其中內容興趣相似度排在首位,說明用戶在考慮轉發一條微博時,主要關注微博內容主題是否符合該用戶的興趣主題,所以在選取興趣特征時不能只考慮用戶間興趣相似度,內容興趣相似度也是不可忽略的關鍵興趣特征.其次便是用戶影響力,說明大V或明星的確有大概率會轉發微博,用戶交互影響力和轉發活躍度對模型也有著較高的貢獻. 在 XGBoost模型訓練中,我們可以得到用戶轉發活躍度和用戶交互影響力與微博轉發率的關系圖. 從圖10可看出,微博轉發率與接受用戶的轉發活躍度呈正比,當用戶轉發的微博數超過發布微博總數的26%時,用戶轉發微博的積極性越高. 從圖11可以看出,用戶交互影響力與微博轉發率也呈正相關,交互影響力越大,發生轉發行為的概率也越大. 因此,這兩個變量能較好地預測微博用戶轉發行為. 在針對微博用戶轉發行為預測時,可見這5個參數的重要性,所以在特征提取的過程中,如果忽略掉這些關鍵特征,將直接影響模型的預測效果. f16、f6、f15、f1作為該模型重要性排序的后4位特征變量,可以看到它們對預測模型的貢獻最小,說明它們對微博轉發行為的影響最小.

            圖  9  特征變量重要性

            Figure 9.  The importance of characteristic variable

            圖  10  轉發活躍度與轉發率的關系圖

            Figure 10.  Relation between forwarding activity and forwarding rate

            圖  11  交互影響力與轉發率的關系圖

            Figure 11.  Relation between interactive influence and forwarding rate

          • 對微博網絡信息轉發的機制進行了研究,從用戶屬性、微博內容、用戶社交和用戶興趣4個主要因素提取特征,利用XGBoost算法訓練構建預測模型,實現對微博轉發的預測,最后與其他機器學習算法進行比較. 實驗結果表明,XGBoost算法在各種評價標準上都優于傳統算法,表明該模型具有較高的精準度,驗證了利用XGBoost算法預測微博轉發行為的可行性和可靠性. 同時進行重要特征分析,實驗結果證明本文混合特征方法能有效提高模型的預測效果. 研究結果可以為網絡中微博傳播、輿情監測、微博推薦等方面的應用提供參考依據. 隨著對微博研究的深入,融入特征選擇方法進行實驗,減少特征的數量,降低特征維度,使模型泛化能力更強,減少過擬合,進一步提高微博轉發預測準確率是下一步研究的重點.

        參考文獻 (20)

        目錄

          /

          返回文章
          返回