基于统计特征的微博垃圾用户检测系统研究
2019-03-20范雨萌易秀双倪石建王兴伟
范雨萌 易秀双 倪石建 王兴伟
摘 要:微博作为国内用户规模较大的在线社交网络平台之一,面临着来自垃圾用户的困扰。垃圾用户通过微博平台发起网络攻击,污染网络环境、威胁用户隐私安全,甚至造成了经济损失,因此如何有效地检测垃圾用户是一个亟待解决的问题。目前,基于机器学习的检测方法并没有考虑时间的变化性,随着时间推移其检测性能下降。文章采用机器学习分类方法挖掘用户信息与微博信息的统计特征,基于Spark大数据平台,设计并实现了一套微博垃圾用户检测系统。该系统结合传统的离线检测与在线检测,通过在线检测解决时间的变化性问题,优化了传统离线检测的性能。文章的实验结果表明该系统离线检测部分的准确率最高可达到93.4%,在线检测部分的准确率最高可达到94.8%,均高于微博反垃圾系统的67.4%。
关键词:垃圾用户检测;离线检测;在线检测;半监督学习检测;主动学习检测
中图分类号:TP391 文献标识码:A
Research on weibo spammer detection systembased on statistical features
Fan Yumeng Yi Xiushuang Ni Shijian Wang Xingwei
Abstract: As one of the large-scale online social networking platforms for domestic users, Weibo faces troubles from spammers. Spammers launch attacks through weibo platform, polluting the network environment,threatening users' security of privacy, and even causing economic losses. Therefore, how to effectively detect spammers is an urgent problem to be solved. Current detection methods based on machine learning do not take into account the variability of time, and their detection performance declines over time. In this paper, the machine learning classification method is used to mine the statistical characteristics of user information and microblog information,designed and implemented a set of Weibo spammer detection system based on Spark big data platform. The system combines traditional offline detection and online detection. Solving the problem of time variability through online detection, and optimizes the performance of traditional offline detection. The experimental results in this paper show that the accuracy of the off-line detection part of the system can reach 93.4%, and the accuracy of the online detection part can reach 94.8%, which is higher than 67.4% of Weibo anti-spam system.
Key words: spammer detection; offline detection; online detection; semi-supervised learning detection ; active learning detection
1 引言
随着互联网的飞速发展,人们越来越依靠网络进行日常活动[1],微博等在线社交网络已成为人们交流互动的重要平台,同时也为垃圾用户提供了传播恶意消息的机会。大量垃圾用户的评论和转发淹没了正常用户的消息,影响用户上网体验。有的垃圾用户发布的消息含虚假信息,甚至还会链入含木马的钓鱼网站,威胁用户的隐私和财产安全。因此,如何营造一个可靠安全的网络环境,有效地在微博社交平台进行垃圾用户检测成为一个关键的问题。
目前检测垃圾用户的方案主要有三类。第一类是基于社交网络图的相关算法。Yang[2]等人应用随机游走方法对社交网络上的虚假垃圾账户进行了检测识别。Gong[3]等人通过二进制随机变量将每个用户标记为正常用户或垃圾用户,然后使用马尔可夫随机场计算用户良性的概率。第二类是基于文本内容的检测方法。Hu[4]等人利用E-Mail、短信息、Web等其他媒体中恶意垃圾用户的文档,与Twitter 中的文档共同组成跨媒体知识库模型来识别垃圾用户。第三类是基于机器学习算法的检测方法。Cao[5]等人提出转发消息树定义并从中提取特征来训练分类器,以找到将某些可疑消息转发到一起的隐藏可疑帐户。Fu[6]等人提出从用户的时间演化模式中提取特征,然后将无监督聚类和监督分类相结合,以检测不断变化的垃圾用户。Cao[7]等人通过分析转发行为与恶意URL传播之间的联系,提出了三种基于转发的特性,将这些功能与其他社交功能相结合,以训练分类器识别恶意URL,从而识别垃圾用户。机器学习检测是大数据时代使用最为广泛的解决方案,但是一些检测算法未考慮时间的变化性。
本文通过对用户信息和微博信息进行挖掘,确定了四大类统计型数值特征,采用单分类机器学习检测模型与集成机器学习检测模型进行离线垃圾用户检测。而针对离线检测存在的问题,提出了对应的解决方案,包括半监督学习检测方法、主动学习检测方法、离线数据更新机制,对这三种方法进行融合得到微博垃圾用户在线检测方案。经过实验证明本文系统比微博反垃圾系统检测效果要好,有效、可行,具有一定的实际应用价值。
2 垃圾用户检测方法
2.1 离线检测方法
(1)特征选择
本文通过对微博用户文本内容、互动性信息、个人信息的特点进行分析,提取了用户行为特征、微博整体特征、原创微博特征、转发微博特征四大统计特征。
1)用户行为特征包括用户互动性特征、注册时间特征、用户信息相关特征三大类。用户互动性特征包含关注数、粉丝数、微博数及相关组合特征微博数/粉丝数、关注数/粉丝数、用户名誉度;注册时间特征为微博注册时间,垃圾用户大多注册时间很短;用户信息相关特征包括0-1型特征,即是否含有生日信息、是否含有简介信息、是否含有兴趣标签、是否是认证用户、是否包含教育工作信息与会员等级。
2)微博整体性特征包括微博互动性特征 、微博发表平台特征、微博时间特征、内容符号信息特征四大类。微博互动性特征包括微博转发平均数、微博评论平均数、微博点赞平均数;微博平台特征为使用互联网平台占比;内容符号特征包括微博含有链接平均数,含有@平均数,含有热门话题标签平均数。
3)原创微博特征包括原创微博地址特征、原创微博图片视频特征、原创微博文本特征三大类。原创微博地址特征为原创微博含有地址占比;原创微博图片视频特征包括原创微博配图平均数、原创微博秒拍视频平均数;原创微博文本特征为原创微博字数平均数。
4)转发微博特征包括转发理由特征、转发原文特征、转发时间特征三大类。转发理由特征包括转发理由平均字数、转发微博中无理由占比、转发微博当次转发距原始微博转发次数平均数;转发原文特征包括互动性特征:原文转发平均数、原文評论平均数、原文点赞平均数、原文微博字数平均数;转发时间特征为转发微博与原文时间间隔平均数。
为了精简特征,提高检测分类器分类性能,对与类标签相关性不是很强的特征进行淘汰处理。方差选择法作为预处理方法,Pearson相关系数、互信息选择法、卡方检验法作为特征选择方法,每种方法均会产生特征重要性权重排名,取三种方法权重平均数,进行综合排名,最后选择k个排名较高特征,其中k根据实验结果选取为25。
(2)检测模型
本文采用单分类检测模型包括逻辑斯蒂回归,支持向量机检测分类模型,集成检测模型包括随机森林,梯度提升决策树分类模型共四种分类器,对其相关参数进行调优,使之更加高效适用于微博垃圾用户离线检测分类环境。最后,结合实验结果与各自检测分类器的特点,选择检测效果较好、模型训练复杂度适中、鲁棒性较强的随机森林检测分类器作为最终的离线检测分类器,同时也作为本文在线检测训练的默认检测分类器。
2.2 在线检测方法
(1)半监督学习检测
为了解决离线检测类标注效率低的问题,引入半监督学习可以为初始数据集中大量的未标注的微博用户样本进行类标注[8]。本文的半监督学习算法主要包含两部分,基于图的类标签传播半监督分类算法与离线检测验证机制。采用半监督分类方法后,初始微博用户数据集全部均获得了类标签,为了提高类标签的置信度,本文采用离线检测验证机制。离线检测分类器验证机制是对全部未获得类标注的微博用户样本采用离线检测分类器进行检测,留下强类型的微博用户样本,与半监督分类方法获得的类标签相结合,如果同时满足,则加入到半监督学习训练集中。将半监督学习训练集与初始有类标注训练集合并,形成在线检测的初始训练集。
(2)主动学习检测
随着时间的推移,由于后续没有引入新的微博用户数据,离线检测分类器检测性能会有一定的下降。通过主动学习可以实现引入少量价值度高的新的微博用户样本对分类器进行更新迭代。本文结合基于不确定性采样和基于委员会采样两种主动学习采样方法,采用基于最大不确定性的停止准则,通过对微博用户数据进行分析和相关实验比较,停止准则阈值选择范围为0.889~1.0。每种采样方法得到对应的用户数据集,如果微博用户样本存在于两种用户数据集中,则将该用户加入本次在线更新微博用户数据集。最终将本次在线更新微博用户数据集加入到上次检测的微博用户训练集中一起训练,从而得到本次的在线检测分类器。
(3)离线数据在线更新机制
垃圾用户特点会随着时间发展发生变化,比如前几年的恶意URL这种垃圾行为在当今微博平台中已经很少见了。主动学习检测方法虽然会引入新的微博用户数据,但是老旧样本仍占据着较大比例,严重影响分类模型的检测效果,因此本文提出了离线数据在线更新机制。综合考虑微博用户发表微博频率并结合数据获取效率,选择15天更新频率进行更新微博用户数据,包含两个操作,更新操作与淘汰操作。
更新操作包括采集最新用户相关信息,采集用户发表最新的50条微博,保存到本地数据库中。利用在线检测分类器,计算出当前用户的检测概率值。与上次检测的概率值进行比较,对于那些检测概率值有较大变化的微博用户,需要提交人工校验,重新进行类标签标注。如果检测概率值变化超过阈值时,同样需要供人工校验重新标注。
淘汰操作是对于一些老旧的微博用户样本,如果出现长时间没有更新、每次更新内容较少者、当前用户被封禁这三种情况,那么就可以认为这些用户为不活跃用户,对于这类的微博用户样本则需要进行淘汰。对于每一个样本,如果当前未被封禁但是未更新次数达到四次,当前被封禁且未更新次达到两次,如果当前未封禁但是每次更新微博数低于两条且累计次数达到六次,那么当前微博用户需要从当次在线检测训练集中淘汰掉,不再参与后续在线检测训练。
3 实验结果与分析
3.1 实验环境
选择五台PC机作为集群节点,其中一台作为Master节点,四台作为Worker节点部署安装Hadoop,之后在各自节点基础上安装Spark。HDFS集群在Master节点部署NameNode与ResourceManager,在Worker节点上部署DataNode与NodeManager。
3.2 实验数据
(1)初始数据集
初始数据集为爬虫获取到的9万条微博用户共计约450万条微博用户数据,之后随机选择1万名微博用户进行类标签标注,获取到2168个垃圾用户与7089个正常用户,743个中间地带用户,而其余8万条微博用户数据没有进行标注。
(2)在线数据集
由于后续需要有离线数据更新操作,因此每月在线获取2万微博用户数据作为在线数据集,采集4个月共计8万微博用户约400万条微博数据。每个月随机选择部分微博用户数据进行类标注后,选出1400垃圾用户与1400正常用户作为相关检测的验证数据集。
(3)高級僵尸粉
其他渠道购买的高级粉丝数据共计5042名微博用户约25万条微博数据,这部分大多为高级僵尸粉,主要用于微博平台检测与本文提出微博垃圾用户检测系统之间比较。
3.3 离线检测模型对比实验
对离线检测采用的两种模型四种分类器的相关参数进行调整优化,经过相关特征处理后,进行训练得到离线检测分类器。不同检测分类器的检测效果结果如图1所示。
通过结果可以发现集成模型检测效果较好。而集成模型中,随机森林与梯度提升决策树检测效率相当,但是随机梯度提升决策树模型训练较为复杂,模型训练收敛时间较长,与后续在线检测所要求的高效准确原则相冲突。且随机森林具有随机选取数据可避免过拟合、对数据不平衡不敏感、数据噪声与缺失值较多情况下仍然表现较好等优点,这样随机森林检测分类器可以很好地克服在线检测中一些新的微博用户数据问题。本文后续在线检测训练使用随机森林作为默认检测分类器。
3.4 在线检测实验
(1)半监督学习检测与离线检测对比试验
实验选择全部初始数据集作为训练集,选择8月度进行类标记的微博数据作为测试集,采用离线检测默认的随机森林检测分类器与半监督学习检测分类器作比较,选择F1值指标作为展示结果如图2所示。可以发现半监督学习检测的效果比离线检测方法的检测效果要好,这是因为半监督学习检测方法引入了大量的未标注初始微博用户数据集后为检测分类器提供大量信息,使检测分类器更趋于完善。
(2)离线数据更新机制实验
本次实验选择四个月在线采集数据集中除去标注用户数据外全部微博用户数据作为训练在线检测训练数据集,而每个月单独标注的微博用户数据作为测试数据集,采用离线检测分类器、半监督学习检测得到的初始检测分类器与在线检测分类器进行三种方法进行对比实验,选择垃圾用户与正常用户的精准率、召回率两个指标进行展示,实验结果如图3所示。
通过实验结果可以发现在线检测分类模型的检测效果比离线检测与半监督学习检测效果要好,而且随着时间推移检测分类性能基本维持在较高水平。反观传统检测方法与半监督检测方法均会出现随着时间推移检测性能下降的问题。
(3)与微博反垃圾平台对比实验
选择四个月在线采集数据集除去标注用户数据外全部微博用户数据作为训练在线检测训练数据集,选择2018年5月购买的微博高级粉丝作为测试数据集a,2018年11月购买的微博高级粉丝作为测试数据集b,测试数据集a中的微博用户经过每月两次更新且同步更新至11月,如果期间被封禁则保留上月度数据。采用微博反垃圾系统检测、离线检测分类器、半监督检测得到的初始检测分类器、在线检测分类器,对预测数据集a在7月、9月、11月三个月度的检测情况与预测数据b在12月初检测情况进行对比,结果如图4所示。
可以发现,本文提出的微博垃圾用户检测系统有着较高的准确率,可以很好地检测微博垃圾用户,且在线检测分类器检测效果十分显著,随着时间推移其检测效果依然可以维持较高水平,可以很好的适应数据的变化性。高级假粉丝这种垃圾用户有着类似正常用户转发、发表微博、签到等行为,因而微博反垃圾系统检测效果不是很好,但是本文提出的微博垃圾用户检测系统可以很好地对之检测。
4 结束语
本文针对微博用户的特点,并对微博用户数据做相关统计分析,建立了基于四大类统计型数值特征,然后采用机器学习分类方法训练得到离线检测分类器。为了解决时间的变化性,在其基础上采用半监督学习检测方法、主动学习检测方法与离线数据更新机制三种方法构成的在线检测方案进行微博垃圾用户检测,并达到了很好的检测效果。
本系统虽然采用全面谨慎原则的类标签判定方法,但是实际检测中还是会出现将正常用户判成垃圾用户的情况,仅依靠机器学习检测分类不能完全解决这个问题,因此可以再探索添加一个模型对垃圾用户进一步处理,避免误判。
基金项目:
1.国家重点研发计划项目(项目编号:2017YFB0801701);
2.国家自然科学基金资助项目(项目编号:61572123);
3.辽宁省高校创新团队支持计划资助项目(项目编号:LT2016007);
4.赛尔网络创新项目(项目编号:NGII20160616)。
参考文献
[1] Liu Yuchen, Wang Wei . Privacy mining and emotional intelligence portrait in social networks[J]. Cyberspace Security, 2019, 10(2): 1-8.
[2] Yang Z, Xue J, Yang X, et al. VoteTrust: Leveraging Friend Invitation Graph to Defend against Social Network Sybils[J]. IEEE Transactions on Dependable & Secure Computing, 2016, 13(4):488-501.
[3] Gong N Z , Frank M , Mittal P . SybilBelief: A Semi-Supervised Learning Approach for Structure-Based Sybil Detection[J]. IEEE Transactions on Information Forensics & Security, 2017, 9(6):976-987.
[4] Hu X, Tang J, Liu H. Leveraging knowledge across media for spammer detection in microblogging[C]//Proceedings of the 37th international ACM SIGIR conference on Research & development in information retrieval. ACM, 2014: 547-556.
[5] Cao J , Fu Q , Li Q , et al. Discovering hidden suspicious accounts in online social networks[J]. Information Sciences, 2017, 394-395(C):123-140.
[6] Fu Q, Feng B, Guo D, et al. Combating the evolving spammers in online social networks[J]. Computers & Security, 2018, 72: 60-73.
[7] Cao J, Li Q, Ji Y, et al. Detection of Forwarding-Based Malicious URLs in Online Social Networks[J]. International Journal of Parallel Programming, 2016, 44(1):163-180.
[8] 刘建伟,刘媛,罗雄麟.半监督学习方法[J].计算机学报, 2015(8):1592-1617.
作者简介:
范雨萌(1997-),女,汉族,辽宁鞍山人,东北大学,硕士;主要研究方向和关注领域:大数据、分布式拒绝服务攻击检测。
易秀双(1969-),男,汉族,内蒙古赤峰人,博士,东北大学教授;主要研究方向和关注领域:下一代互联网、网络安全及大数据分析。
倪石建(1994-),男,漢族,安徽人,东北大学,硕士;主要研究方向和关注领域:网络安全和虚拟现实技术。
王兴伟(1968-),男,汉族,辽宁盖州人,东北大学,博士,教授,博士生导师;主要研究方向和关注领域:未来互联网、云计算、网络安全和信息安全。