基于混合特征和XGBoost算法的微博转发预测

张林森 包崇明 周丽华 孔兵

引用本文:
Citation:

基于混合特征和XGBoost算法的微博转发预测

    作者简介: 张林森(1994−),男,四川人,硕士生,主要从事社会网络分析、机器学习的研究. E-mail:1246024498@qq.com;
    通讯作者: 孔兵, kongbing@ynu.edu.cn

Prediction forwarding of microblog based on hybrid features and XGBoost algorithm

    Corresponding author: KONG Bing, kongbing@ynu.edu.cn
  • 摘要: 微博转发是微博信息传播的重要途经. 影响微博转发的因素主要是用户属性,微博内容,用户社交和用户兴趣,已有的预测模型仅考虑部分因素,实际上4个因素对用户转发行为都有影响,此外也应该关注预测模型计算时间的实时性. 基于此,提出一种基于混合特征和XGBoost算法的微博转发预测模型. 首先根据4个因素分别提取用户特征、微博特征、社交特征以及兴趣特征,再基于PageRank算法计算用户影响力,基于LDA模型和KL距离计算兴趣相似度,定义用户转发活跃度和用户交互影响力的计算公式,最后利用XGBoost算法构建预测模型,对转发预测进行分析. 实验结果表明,本文的预测方法在准确率和时间等评价指标上有较好的表现,同时也验证了综合考虑4个因素的重要性和有效性.
  • 图 1  预测模型整体框架图

    Figure 1.  The overall framework of the prediction model

    图 2  不同主题下男性和女性转发微博数分布

    Figure 2.  Distribution of the number of microblogs 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.  The importance of feature variables

    图 9  特征变量重要性

    Figure 9.  Characteristic variable importance

    图 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.6.3-2019.6.10
    下载: 导出CSV

    表 3  不同分类算法预测效果

    Table 3.  The prediction effect of different classification algorithms

    算法准确率召回率F1
    逻辑回归0.7830.8120.797
    随机森林0.8310.8350.833
    SVM0.7630.7850.774
    朴素贝叶斯0.7230.7320.727
    XGBoost0.8520.8480.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, Hauaii, 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 X 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]. Proc. of the 2011 Int’l Conf. on Cyberworlds (CW),Washington: 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] Ribeiro, Cristina, Nunes, et al. 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] Binbin Li, Armen Der Kiureghian, Siu‐Kui Au. 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] 贾莉江涛马宁孟家豪 . 一种融合性格线索的微博情感分类. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20190598
    [2] 蒋作李彤杨柽 . Web文档特征提取中知识树构造. 云南大学学报(自然科学版),
    [3] 郭敏尚志远白雅 . 储粮害虫微弱声信号特征提取与分析. 云南大学学报(自然科学版),
    [4] 刘平王顺芳 . 一种局部保留C2DPCA人脸特征提取方法. 云南大学学报(自然科学版),
    [5] 贾春花郭敏 . 基于HHT方法的果蝇鸣声特征提取及分类. 云南大学学报(自然科学版),
    [6] 于传波聂仁灿周冬明何敏 . 变空间协同表示判别分析的特征提取算法. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20170590
    [7] 齐鹏范玉刚李葵 . 基于SVD突变信息特征提取和VPMCD的故障诊断方法研究. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20150410
    [8] 孙雪华郭敏马苗 . 基于PCA和KICA双空间特征提取的玉米碰撞声信号分类. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20160370
    [9] 贾春花郭 敏 . 基于HHT方法的果蝇鸣声特征提取及分类. 云南大学学报(自然科学版),
    [10] 赵小明张群岳昆 . 基于静电场理论和PageRank算法的微博用户相关性分析. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20140430
    [11] 燕志星王海瑞杨宏伟靖婉婷 . 基于深度学习特征提取和GWO-SVM滚动轴承故障诊断的研究. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20190535
    [12] 范玉周 . 云南省钼地球化学特征及找矿预测研究. 云南大学学报(自然科学版),
    [13] 费兵强韩炜马霄华党亚玲蔡寅潮谭惠李文轩 . 2010—2015年焉耆盆地LUCC特征分析及预测. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20160680
    [14] 刘开宇 . 贵阳机场一次大雪冻雨混合性降水微物理过程的数值模拟. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20130689
    [15] 唐菁敏马含 . 基于混沌粒子群优化的微电网短期负荷预测. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20190017
    [16] 关蕾车静毕青 . 元江水氡异常特征分析及短临指标提取. 云南大学学报(自然科学版),
    [17] 阮春生张强陈林丁波洋方力陈穗云 . 不同烟草品种紫外-可见光谱特征的提取研究. 云南大学学报(自然科学版),
    [18] 姜淑马银海古昆陶丽旭罗福顺 . 陶瓷膜微滤澄清黄芩提取液的研究. 云南大学学报(自然科学版),
    [19] 马锐 . BL代数特征性质. 云南大学学报(自然科学版),
    [20] 陈新梅张万诚段玮田永丽 . 昆明酸雨特征分析. 云南大学学报(自然科学版),
  • 加载中
图(11)表(4)
计量
  • 文章访问数:  848
  • HTML全文浏览量:  304
  • PDF下载量:  10
  • 被引次数: 0
出版历程
  • 收稿日期:  2019-12-02
  • 录用日期:  2020-03-02
  • 网络出版日期:  2020-04-30

基于混合特征和XGBoost算法的微博转发预测

    作者简介:张林森(1994−),男,四川人,硕士生,主要从事社会网络分析、机器学习的研究. E-mail:1246024498@qq.com
    通讯作者: 孔兵, kongbing@ynu.edu.cn
  • 1. 云南大学 信息学院,云南 昆明 650500
  • 2. 云南大学 软件学院 ,云南 昆明 650500

摘要: 微博转发是微博信息传播的重要途经. 影响微博转发的因素主要是用户属性,微博内容,用户社交和用户兴趣,已有的预测模型仅考虑部分因素,实际上4个因素对用户转发行为都有影响,此外也应该关注预测模型计算时间的实时性. 基于此,提出一种基于混合特征和XGBoost算法的微博转发预测模型. 首先根据4个因素分别提取用户特征、微博特征、社交特征以及兴趣特征,再基于PageRank算法计算用户影响力,基于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个用户特征,利用信息增益法对特征的重要性进行排序,通过SVM训练建立转发预测模型,但是实验只考虑了用户特征和微博内容特征. 李志清等[9]利用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]. 所以,原始信息包含着一些与转发行为有着密切联系的价值或属性,其发布者的特征对于微博转发同样有着重要的影响,提取合适的特征能提高微博转发预测的准确率. 通过对已获取转发样本的研究,本文从用户和微博内容两个方面分析了影响微博用户转发的特征因素,基于用户属性,微博内容,用户社交和用户兴趣四个因素选取用户特征、微博特征、兴趣特征和社交特征共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可以看出用户在0点到早上8点,活跃次数最少,微博帖子数也相对较少. 社交基本特征反映了微博用户之间的交互情况,经常互动的用户,转发彼此微博的可能性较大. 例如,同一性别的用户可能对些话题都感兴趣,这很可能导致他们经常互动;地理位置接近的用户在线下是朋友的概率更大;互相关注的用户交互次数较多,转发彼此微博的概率也较大.

      图  2  不同主题下男性和女性转发微博数分布

      Figure 2.  Distribution of the number of microblogs 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 \cdot \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).

    • 用户转发活跃度反映了微博用户转发微博的积极性,反映了接受用户在微博平台上转发微博的态度,是用户习惯使用微博平台进行信息活动的体现,这对扩大其影响力具有积极作用,通过研究用户的历史活动,可以衡量用户对微博转发行为的态度. 与本研究相对应,用户转发微博的活跃度可在一定的时间段内进行测量,这里定义公式(2)来计算用户转发活跃度.

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

      其中,${n_{\rm{f}}}$ 表示用户 $m$ 在观测时间内发布微博中属于转发微博的数量,其中观测时间为用户最早发博日期与最新发博日期的间隔时间,${n_{\rm{p}}}$ 表示用户 $m$ 在观测时间内发布微博的总数,$A(m)$ 越大说明用户 $m$ 在观测时间内发布的微博中转发微博的比例越高,也说明用户 $m$ 转发积极性越高.

    • 接收用户在用户对中转发发布用户信息的程度表示用户之间的交互程度,这里定义公式(3)来计算交互强度.

      $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. 利用隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)主题模型,每个文档对应的主题组合可以从文档集中自动挖掘,即每个用户的兴趣爱好. LDA模型是一种典型的有向概率模型[15],它由3层生成式贝叶斯网络构成,包括文档、主题、单词3层. 它假设文档(或用户的兴趣)由 $K$ 个主题组成,主题分布为 $\overrightarrow {{\theta _m}} $,每个主题 ${z_{m,n}}$ 可以表示为词典 $V$ 中每个单词的多项式分布 $\overrightarrow {{\varphi _k}} $$\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的所有历史微博所构建主题模型中的主题词分布,从图可看出该用户的主题都是一些关于NBA的主题内容,所以看出该用户对关于NBA的微博内容感兴趣.

      图  6  用户1156966391的主题分布

      Figure 6.  Topic distribution by user 1156966391

      最后通过 $KL$ 距离[17](相对熵、交叉熵)来计算用户之间的话题相似度,也就是兴趣相似度. $KL$ 距离常用来度量两个概率密度之间的相似度,本文利用 $JS$ 距离的倒数来度量用户之间的主题相似度以及微博文本与用户的主题相似度,即用户间兴趣相似度和微博文本与用户兴趣相似度,主题概率密度之间的差距越小,用户的主题分布越相似,即兴趣越相似. 定义如公式(4)所示.

      $ 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}$ 为用户主题概率密度,$JS({v_i}||{v_j})$ 为两者的 $JS$ 距离,${D_{KL}}({v_i}||{v_j})$ 为两者的 ${\rm{KL}}$ 距离,${v_k}$ 为二者的均值.

    • 本文利用XGBoost算法构建转发预测模型,其基本思想是将预测准确率较低的几个分类回归树(CART)结合起来,得到一个高精度的预测模型[18]. XGBoost模型可以表示为:

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

      其中 ${f_k}$ 为函数空间 $F$ 中的任意函数,$K$ 表示回归树的数量,${x_i}$ 表示第 $i$ 个样本的特征,$\widehat {{y_i}}$ 表示第 $i$ 个样本的预测值. 当建立XGBoost回归模型时,需要寻找最优参数,一般来说,最优参数是使目标函数最小的参数,其目标函数为:

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

      其中 $L(\Theta )$ 为损失函数,表示预测值与目标值之间的误差,$\Omega (\Theta )$ 为正则项,对模型的泛化能力主要起到提升的作用.

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

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

      其中,${y_i}$ 表示第 $i$ 个样本的观测值,$\widehat {{y_i}}$ 表示第 $i$ 个样本的预测值,$n$ 表示样本的个数,$l$ 表示误差函数,${f_k}$ 表示第 $k$ 棵树,其正则项 $\Omega ({f_k})$ 可表示为:

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

      $T$ 表示第 $k$ 棵树种叶节点的数目,${w_j}$ 表示叶节点的权值. 此时目标函数为:

      $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)得目标函数:

      $ Ob{j^{(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{{{{(\displaystyle\sum\limits_{i \in {I_j}} {{g_i}} )}^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.6.3-2019.6.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{{TP}}{{T + F}}, $

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

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

      其中,$P$ 是阳性样本的总数,$T$ 是正确预测的阳性样本数,$F$ 为错误预测的阳性样本数,$F1$ 分数是精度和召回的调和平均数,最佳值为1,最差值为0. 此外,如果样本数据比较大,计算速度也应作为评价指标. 在本实验中,使用Python的time.clock()记录模型的计算时间.

    • 对于影响微博用户转发行为的特征向量,为了消除不同特征之间数值类型和取值范围的差异,本文对它们进行了归一化处理,如公式(22)所示.

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

      其中,$x$$X$ 分别表示为初始特征与归一化后的特征,${x_{\min }}$${x_{\max }}$ 分别表示所有用户当前特征的最小值与最大值.

    • (1)预测准确率分析

      利用提取的混合特征数据集,分别训练逻辑回归、随机森林、支持向量机(SVM)、朴素贝叶斯网络以及本文XGBoost模型,并利用十折交叉验证对预测效果进行评价. 以分类器评价标准对逻辑回归、随机森林、支持向量机(SVM)、朴素贝叶斯网络以及本文XGBoost算法的各个方面作对比,预测结果如表3所示.

      算法准确率召回率F1
      逻辑回归0.7830.8120.797
      随机森林0.8310.8350.833
      SVM0.7630.7850.774
      朴素贝叶斯0.7230.7320.727
      XGBoost0.8520.8480.850

      表 3  不同分类算法预测效果

      Table 3.  The prediction effect of different classification algorithms

      结合表3中5个模型下的各项性能指标,我们可以看出,XGBoost算法和随机森林算法表现较好,其中,XGBoost预测模型在准确率、召回率以及F1值方面均优于其他4类模型,取得了最好的分类效果,准确率达到了85.2%,相比于随机森林预测模型的83.1%提高了2.1%,相比于其他3类算法提高了8%~12%,在召回率方面,XGBoost预测模型达到了84.8%,相比于随机森林预测模型提高了1.3%,相比于其他3类预测模型提高了5%~11%,可见XGBoost算法的预测效果明显优于其他四类算法.

      (2)预测耗时分析

      不同预测算法和不同预测数据量的耗时对比如表4所示. 图中$\dfrac{1}{4} $$\dfrac{2}{4} $$\dfrac{3}{4} $$\dfrac{4}{4} $表示本次预测使用的数据量占总数据的比例,时间单位为s.

      算法混合特征集未使用用户特征未使用微博特征未使用社交特征未使用兴趣特征
      逻辑回归 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

      图8可以看出,在不同预测数据量下,XGBoost预测模型耗时是最短的,而随机森林预测方法是最耗时的,逻辑回归预测模型与朴素贝叶斯预测模型耗时相近,以SVM算法为基础的模型在原理上相对简单,所以耗时仅次于XGBoost算法,但是其准确率远不如XGBoost算法优秀,虽然随机森林预测模型在准确率上有较好表现,但是其模型计算时间复杂度较高,因此,用XGBoost算法训练的模型具有准确率更高,运行速度更快的优点,突出了XGBoost算法在分类预测方面的效率.

      图  8  预测耗时对比图

      Figure 8.  The importance of feature variables

      (3)重要特征分析

      为了比较各类特征对预测效果的影响,本文将去除某类特征后的预测准确率与原模型的预测准确率进行了比较. 不同类型特征对预测准确率的影响如表4所示. 从表4可以看出,这4类特征对预测准确率都有很大的影响. 其中兴趣特征对预测效果的影响最大,去除兴趣特征的模型预测准确率会降低近15%,去除社交特征的模型预测准确率会降低近8%,去除微博特征的模型预测准确率会降低近5%,而去除用户特征的模型预测准确率会降低近2%. 可以看出,综合考虑用户特征、微博特征、社交特征和兴趣特征可以有效提高预测准确率,说明本文混合特征学习方法的重要性以及有效性.

      通过对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.  Characteristic variable importance

      图  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)

目录

    /

    返回文章
    返回