目录
摘要
1 绪论
1.1. Social bots in OSNs
1.2. Challenges
1.3. Contribution and organization
2 相关工作
2.1. Graph-based approaches
2.2. Machine learning approaches
2.2.1. Classical machine learning approaches
2.2.2. Deep learning approaches
2.3. Other approaches
3 检测社交机器人的提议框架
3.1. Data collection and manually labeling
3.1.1. Data collection approach
3.1.2. Data collection of potential normal users and potential social bots
3.1.3. Manually labeling
3.2. Feature analysis and extraction
3.2.1. Metadata-based features
3.2.2. Interaction-based features
3.2.3. Content-based features
3.2.4. Timing-based features
3.3. Active learning for expanding labeled data
3.3.1. Expansion approach of labeled data
3.3.2. Construction of a large-scale dataset
3.4. The RGA model for detection
3.4.1. Model input
3.4.2. ResNet block
3.4.3. BiGRU block
3.4.4. Attention layer
3.4.5. Inference layer
4. 实验与评价
4.1. Experiment settings
4.1.1. Environmental setup
4.1.2. Baseline studies
4.1.3. Performance metrics
4.2. Evaluation of the effectiveness of features
4.2.1. Discriminative power of new features
4.2.2. Feature ablation tests
4.3. Evaluation of the proposed detection approach
4.3.1. Detection model ablation tests
4.3.2. Performance comparison with the baseline approaches
4.4. Influence of the scale of the dataset
5. 总结
论文链接:
https://shimo.im/files/e1Az44Z1g9sl7EqW/ 《微博社交机器人检测SCI一区论文川大老师.pdf》,可复制链接后用石墨文档 App 或小程序打开
摘要
微博是一种流行的在线社交网络(OSN),它为用户获取和分享新闻和信息提供便利。然而,它充斥着大量的社交机器人,严重扰乱了OSN的正常秩序。新浪微博,世界上最受欢迎的中文OSN之一,也受到社交机器人的严重影响。随着新浪微博中社交机器人的不断发展,它们与正常用户越来越难以区分,这给检测社交机器人带来了更多巨大的挑战。
首先,要完全提取社交机器人的特征是很困难的;
其次,大规模的数据收集和用户数据的标注是非常困难的;
第三,应用于社交机器人检测的经典分类方法的性能不够好;
因此,本文提出了一个基于深度神经网络和主动学习(DABot)的新型框架来检测新浪微博中的社交机器人。
具体来说,从四个类别中提取了30个特征,即基于元数据、基于互动、基于内容和基于时间的特征,以区分社交机器人和正常用户。
这些特征中的9个是本文提出的全新特征。
此外,主动学习被用来有效地扩展标记的数据。
然后,建立了一个新的深度神经网络模型RGA来实现对社交机器人的检测,它利用了一个残差网络(ResNet)、一个双向门控递归单元(BiGRU)和一个注意力机制。经过性能评估,结果显示,DABot比最先进的基线更有效,准确率为0.98。
1 绪论
在过去的几十年里,在线社交网络(OSNs)使用户能够进行大规模的实时交流,并对公共生活产生了重大影响。OSN为用户与家庭成员、朋友等保持联系提供了便利。此外,用户很容易从OSNs获得最新的新闻。
在被广泛使用的同时,OSNs逐渐出现了一类新的程序控制用户,即社交机器人。
(1)起初,这些社交机器人,包括自动聚合各种来源内容的机器人和回复查询的机器人,被用来为用户服务。
(2)然而,恶意社交机器人的兴起给OSN和现实世界中的人们带来了伤害。
恶意社交机器人是由OSNs的程序控制的具有非法目的的用户。随着恶意社交机器人的不断发展,其行为包括引导网上舆论、恶意评论、诽谤、意识形态渗透等,对正常的社会秩序乃至国家稳定造成了巨大的破坏。
作为世界上最大的中文微博服务之一,新浪微博在中国的社交界有着重要的影响。随着新浪微博的逐渐普及,它也成为恶意社交机器人最活跃的OSN之一。因此,检测和过滤新浪微博中的社交机器人是非常重要的。
1.1. Social bots in OSNs
现在,社交机器人在OSN中主要有三种用途。
一类社交机器人,被称为社交垃圾邮件发送者(在某些情况下也被称为互联网水军),用于通过非法使用获取利益。他们可以密集地发布大量的广告,传播恶意网址,并发布谣言来误导其他用户;
另一类社交机器人一般用于通过关注目标用户来提高他们的知名度。这些社交机器人也会转发、喜欢和评论特定的帖子;
第三类社交机器人可以被用来干扰政治活动和引导舆论。例如,在美国总统选举期间,社交机器人在推特上传播了大量的虚假推文,许多选民的决定受到了这种推文的影响 。
关于OSNs中的社交机器人检测已经做了很多研究。然而,大部分现有的社交机器人检测工作是在Twitter和Facebook上展开的,而基于中国的OSNs,如新浪微博的研究相对较少。由于不同OSNs中社交机器人的语言、功能和特点的不同,很难将基于其他OSNs的检测技术直接移植到新浪微博。因此,对新浪微博中的社交机器人检测的研究需要更全面和深入地进行。
1.2. Challenges
目前,新浪微博中的社交机器人检测研究主要面临以下三个挑战。
第一个挑战是新浪微博中的社交机器人的特征很复杂,很难完整地提取特征。社交机器人经常假装成正常用户以避免被发现。有必要从多个方面考虑社交机器人的特征,以便更准确地描述它们。许多现有的研究只从单一角度提取社交机器人的特征,不能完整地描述它们。此外,一些工作只是使用少量的特征来建立检测模型,尽管从几个方面考虑社交机器人的特征;
第二个挑战是很难从新浪微博获得大规模的标记数据集进行研究。由于新浪微博上的社交机器人检测研究相对较少,因此缺乏大规模可靠的数据集。同时,手动标注样本需要丰富的经验支持,以及大量的时间成本。现有的研究大多是基于小规模的数据集。因此,如何准确有效地建立一个大规模的数据集是目前新浪微博社交机器人检测研究的另一个巨大挑战;
第三个挑战是,经典的检测方法在检测新浪微博中的社交机器人方面表现不尽人意。虽然以前的工作已经使用了一些机器学习检测方法,但仍有很多工作要做,以提高检测方法的性能。因此,基于深度神经网络的高性能社交机器人检测方法需要进一步发展。
1.3. Contribution and organization
为了应对上述挑战,本文提出了一个全新的工作框架,即DABot,它利用了深度神经网络和主动学习的优势来检测新浪微博中的社交机器人。
DABot由四个模块组成:数据收集和标记模块、特征提取模块、主动学习模块和检测模块。
首先,数据收集和标注模块负责从新浪微博上收集用户数据,然后手动标注一小部分收集的数据;
接下来,特征提取模块被用来分析和提取社交机器人和正常用户的特征;
此外,主动学习模块通过主动学习方法扩展标注的数据;
最终,在检测模块中设计了基于残差网络(ResNet)、双向门控递归单元(BiGRU)和注意机制的RGA模型来检测社交机器人。本文的主要贡献总结如下:
(1)提出了一个完整的新浪微博社交机器人检测框架DABot,该框架主要整合了深度神经网络和主动学习,并取得了良好的检测效果;
(2)为了准确识别新浪微博中的社交机器人,我们共提取了30个特征,其中9个是全新的特征。所有的特征可以分为四个类别:基于元数据的特征、基于互动的特征、基于内容的特征和基于时间的特征;
(3)提出了一种基于主动学习的标记数据扩展方法,并构建了一个具有30万个样本的大规模均衡数据集;
(4)我们建立了一个名为RGA的新型深度神经网络用于检测,它利用了ResNet、BiGRU和注意力机制的优势。评估结果显示,它明显优于广泛使用的检测方法。
本文的其余部分组织如下。在第2节,介绍了社会机器人检测领域的相关工作和成果。第3节阐述了拟议的DABot框架。此外,第4节描述了实验设置和评估结果。最后,第5节总结了研究和未来工作的计划。
2 相关工作
在这一节中,我们总结了近年来关于OSNs中社交机器人检测的研究。社交机器人检测研究中的方法主要分为三类:基于图的方法、机器学习方法和其他方法。下面将分别介绍每一类检测方法的相关工作。
2.1. Graph-based approaches
在基于图的检测方法的研究中,社交机器人通常被称为sybils(假账户)。这些社交机器人被用来创建多个身份,以破坏声誉系统并进行其他恶意攻击活动。基于图的方法主要是根据用户之间的关系和行为,建立一个社会网络图进行检测。然而,社交机器人可以通过在正常用户和他们自己之间建立足够的攻击链接(边)来规避它们。基于图的检测方法介绍如下:
在论文(N.Z. Gong, M. Frank, P. Mittal, SybilBelief: A semi-supervised learning approach for structure-based sybil detection, IEEE Trans.)中,提出了一个名为SybilBelief的半监督学习框架来检测虚假节点。SybilBelief将系统中的节点(一小部分已知的良性节点和一小部分已知的恶意节点)的社会网络作为输入。然后,SybilBelief将已知良性节点或恶意节点的标签信息传播给系统中的其余节点。然而,当标记的良性节点和虚假节点高度不平衡时,接受的虚假节点的数量会急剧增加。
Yangetal.提出了一个名为VoteTrust的防御系统。VoteTrust将用户之间的朋友邀请互动建模为一个有向和签名的图。两个关键机制被用来检测图上的虚假信息:基于投票的虚假信息检测,以找到用户投票拒绝的虚假信息,以及虚假信息社区检测,以找到已确定的虚假信息周围的其他虚假信息。在同一时期,Boshmaf等人设计了Íntegro,这是一个可扩展的防御系统,使用一个强大的用户排名方案。Íntegro首先从用户级别的活动中预测受害者用户。然后,这些预测被整合到图中作为权重。最后,Íntegro根据从真实用户开始的修改后的随机游走对用户进行排名。Íntegro实现了大多数真实用户的排名高于虚假账户。
在论文(B. Wang, L. Zhang, N.Z. Gong, SybilSCAR: Sybil detection in online social networks via local rule based propagation, in: Proceedings of the 36th IEEE International Conference on Computer Communic,)中,提出了一种称为 SybilSCAR 的基于结构的方法。 SybilSCAR 统一了基于随机游走 (RW) 和基于循环置信传播 (LBP)的方法,这些方法可扩展、收敛、准确且对标签噪声具有鲁棒性。为了提高Sybil检测的可靠性,Zhang等人论文(] X. Zhang, H. Xie, J.C. Lui, Sybil detection in social-activity networks: Modeling, algorithms and evaluations, in: Proceedings of the 26th IEEE International Conference on Network Proto)提出了一个名为SybilSAN的两层超图模型,该模型充分使用用户的友谊和OSN中的相应活动。马尔科夫链混合时间被用来推导出保证迭代算法达到极限所需的回合数。此外,图被分为三个子图,并设计了一个随机行走来独立传播每个子图的信任。最后,SybilSAN使用一个统一的算法来耦合这三个随机行走,以捕捉用户和活动之间的相互关系。
2.2. Machine learning approaches
目前,基于机器学习的方法是社交机器人检测领域中最广泛使用的方法。机器学习方法可以分为经典的机器学习方法和深度学习方法,下面分别介绍。
2.2.1. Classical machine learning approaches
经典机器学习方法通过训练经典机器学习分类器在 OSN 中执行社交机器人检测。
Chu等人研究了Twitter中的机器人的自动化问题。为了更好地理解自动化在Twitter上的作用,他们测量和描述了人类、机器人和电子人在Twitter上的行为,并提出了新的特征。之后,Yangetal.(C. Yang, R. Harkreader, G. Gu, Empirical evaluation and new design for fighting evolving Twitter spammers, IEEE Trans. Inf. Forensics Secur. 8 (8) () 1280–12)对Twitter垃圾邮件发送者使用的规避策略进行了经验分析,并进一步设计了几个新的检测功能来检测Twitter垃圾邮件发送者。在他们的工作中,构建了一个大规模的数据集,并应用了随机森林(RF)、决策树(DT)和其他一些经典的机器学习分类器。最后,RF取得了最好的性能,F1分数达到0.9000。
在[32]中,Milleretal.修改了两个流聚类算法,Stream KM++和DenStream,以促进Twitter中社交机器人的识别。同时,在用户信息的基础上,还引入了95个来自推特文本的单格特征。最后,这些算法中的每一个都表现良好,StreamKM++的假阳性率为0.0640,DenStream的假阳性率达到0.0280。Cai等人提出了一种基于极端学习机(ELM)的方法来有效检测新浪微博中的社交机器人。他们首先通过抓取新浪微博的用户数据和手动标注的数据来构建数据集。然后,从信息内容和行为中提取特征,并应用ELM来检测垃圾邮件发送者。
Al-Qurishi等人(M. Al-Qurishi, M.S. Hossain, M. Alrubaian, S.M.M. Rahman, A. Alamri, Leveraging analysis of user behavior to identify malicious activities in large-scale social networks, IEEE Trans. Ind. Inform. 14 (2) ())提出了一个综合的社会媒体分析平台,利用三个层次的特征,即用户生成的内容、社会图谱连接和用户档案活动来检测Twitter和YouTube中的社会机器人。此外,他们在数据提取和分类过程中提出了新的方法,以实现大规模网络的语境化。支持向量机(SVM)、RF等有监督的机器学习分类器被用于检测社交机器人,RF的准确率最高,为0.9607。
2.2.2. Deep learning approaches
深度学习在图像分类、推荐系统、文档聚类等方面取得了优异的成绩。另外,在过去的几年里,深度学习方法开始在社交机器人检测中得到更广泛的应用。
与经典机器学习方法相比,深度学习方法具有更好的泛化性能,更适合处理大数据。
在[11]中,提出了基于深度学习的社会机器人检测算法,即DeBD,其平均准确率达到了0.9760。在[10]中,提出了一个基于上下文长短期记忆(LSTM)架构的深度神经网络,利用内容和元数据来检测社交机器人。作者还提出了一种基于合成少数人超采样的技术,以产生一个大规模的标记数据集。结果显示,他们的方法在检测社交机器人方面有很大的曲线下份额(AUC)。
最近,强化学习被应用于该领域。Lingam等人(G. Lingam, R.R. Rout, D.V. Somayajulu, Adaptive deep Q-learning model for detecting social bots and influential users in online social networks, Appl. Intell. 49 (11) ())设计了一个深度Q-网络架构,通过使用社会属性的深度Q-学习(DQL)模型,在更新Q值函数的基础上检测社交机器人。在他们的工作中,分别提取了用户的基于推特的特征、基于用户档案的特征和基于社交图的特征。实验结果显示,提出的DQL算法有5%-9%的精度高于基线算法。
2.3. Other approaches
除了基于图的方法和机器学习方法外,还有一些其他的检测社交机器人的方法,如具有联合攻击属性的社交机器人集群的检测方法。对其他一些方法的简要介绍如下。
在[36]中,Chavoshi等人提出了一种基于动态时间扭曲(DTW)的相关方法,并开发了一种新型的滞后敏感的哈希技术,以发现具有高度时间依赖性活动的社会机器人。通过该方法,从时间序列中计算出的成对的DTW距离被聚类。之后,基于用户的相似性,Crescietal.[37]在该领域使用了数字DNA技术,实现了对社交机器人的有效检测。
与上述方法不同的是,Zhao等人[38]提出了一种全面考虑所有目标用户关于寻找对抗社交机器人的最佳行动的方法。每个目标用户可以调查每个来源用户的平均评级。如果平均评分低于一个阈值,目标用户认为源用户更有可能是一个社交机器人。在[39]中,一个被称为VASSL的交互式可视化社交机器人注释系统被设计用来提高标签样本的效率,这大大提高了检测社交机器人的效率。
3 检测社交机器人的提议框架
在这一节中,我们将详细描述所提出的用于检测新浪微博中社交机器人的框架DABot,如图1所示。DABot由数据收集和标记模块、特征提取模块、主动学习模块和检测模块组成。
(1)数据收集和标注模块。该模块负责从新浪微博收集用户数据,并对一小部分用户数据进行人工标注,为其他模块提供有效的数据支持。在这个模块中,我们开发了一个收集新浪微博数据的网络爬虫,并提出了六种用于手工标注的区分度量。根据这些指标,对收集到的一小部分数据进行了人工标注。(开发网络爬虫 -- 手工标注六条指标 -- 小部分数据集标注)
(2)特征提取模块。该模块的主要任务是分析和提取新浪微博中社交机器人和正常用户的特征,从而构建用户的特征向量。在这个模块中,提取用户的 30 个特征来识别社交机器人。这些特征分为四类,包括基于元数据、基于互动、基于内容和基于时间的特征。这个模块是构建实验数据集的基础。(提取30种特征,构建特征向量)
(3)主动学习模块。该模块主要负责使用主动学习建立一个大规模的实验数据集。它由一个查询算法、一个机器学习分类器和一个监督者组成。它可以有效地扩展标记的数据并促进后续检测模型的训练。(主动学习建立数据集)
(4)检测模块。该模块实现了对社交机器人的检测。它采用了基于新型深度神经网络的检测方法,它利用了ResNet、BiGRU和注意力机制。该检测方法可以完全利用用户的特征向量来实现更准确的检测性能。(新型深度神经网络的检测方法)
下文描述了所提出的框架 DABot 的每个模块的细节。
3.1. Data collection and manually labeling
目前新浪微博对社交机器人检测的研究相对较少,导致新浪微博缺乏可靠的包括社交机器人和普通用户的数据集。
因此,我们开发了新浪微博的网络爬虫,从新浪微博收集了大量的用户数据。此外,我们对部分用户数据进行了人工标注,构建了一个样本量为20000的数据集。
3.1.1. Data collection approach
新浪微博提供了数据访问的开发者API,这是研究人员和开发者免费从新浪微博收集用户数据的好方法。尽管如此,使用这些API收集数据也有一些严格的限制。为了满足研究的需要,我们开发了一个高性能的多线程网络爬虫,通过它可以创建具有多个代理IP的多任务来循环进行,并建立一系列的API请求来从网络上下载原始的HTML数据。之后,提取有效的数据,如用户资料和用户的帖子,这些数据被存储在数据库中。(高性能的多线程,具有多个代理IP的多任务,建立一系列的API请求,提取有效的数据)
3.1.2. Data collection of potential normal users and potential social bots
为了更有效地收集新浪微博的用户数据,我们首先分析了正常用户和社交机器人的分布特点和行为。然后,我们设计了潜在用户的收集策略并完成了用户数据的收集。
(1) 潜在正常用户的数据收集。经过对本地服务推送的用户的进一步研究,我们发现这些用户大部分都有很多原创的帖子,并且经常与他人互动。由于这些用户已经通过了新浪微博的筛选,这些用户大多是正常用户。因此,这些用户被认为是潜在的正常用户,我们通过网络爬虫收集他们的用户数据;
(2)潜在社交机器人的数据收集。一般来说,除非社交机器人推广公司提供真实的数据,否则很难从大量的用户中正确识别社交机器人。因此,为了在一开始就获得最准确的社交机器人样本,我们从五个社交机器人推广公司购买了5000个社交机器人。通过观察这些社交机器人,我们发现很少有正常的用户关注社交机器人,相反,社交机器人通常会互相关注以增加自己的影响力。因此,在现有的社交机器人的关注者名单中,大部分用户都是社交机器人。此外,这些用户被认为是潜在的社交机器人,他们的用户数据被收集。(推广公司购买5000个社交机器人)
采用针对潜在正常用户和社交机器人的收集策略的数据收集方法,我们最终共收集了412,359名用户的用户数据,以SWRD(新浪微博原始数据)表示,如表1所示。请注意,用户数据的收集时间是从10月25日到1月24日。
post number(帖子数量)
3.1.3. Manually labeling
在完成对潜在的社交机器人和潜在的正常用户的数据收集后,我们只对小部分的用户数据进行人工标注,因为人工标注是非常耗时的。根据正常用户和社交机器人在档案信息、帖子内容和动态行为特征上的差异,我们提出了六个指标来区分人工标注,具体如下
(1) 用户资料的完整性。新浪微博中正常用户的资料一般是完整的,而社交机器人的资料通常是缺失的;
(2) 用户社交关系的合理性。由于社交机器人被广泛用于增加对他人的关注,他们通常会关注更多的用户,使他们的社会关系比正常用户更不合理。
(3) 与其他用户互动的频率。由于大多数正常用户都有自己的朋友圈,他们的帖子一般有更多的喜欢、评论和转帖,而社交机器人由于缺乏正常用户的关注,互动频率较低。虽然社交机器人有时会被用来喜欢、评论和转帖其他用户的帖子,但他们自己的帖子缺乏影响力。
(4) 用户帖子的原创性。在新浪微博中,社交机器人经常被用于恶意转发,以引导舆论。因此,对于社交机器人来说,转帖数量占总帖子数量的比例要比正常用户大得多。
(5) 发帖时间的规律性。在一些热点事件中,如政治选举,许多社交机器人会在很短的时间内发布大量的帖子,而正常用户则不会。
(6) 原始帖子内容的质量。正常用户的帖子通常更有逻辑性,表达更完整。然而,社交机器人的帖子往往有更多的问题,如标点符号的误用,语义不明确,上下文逻辑混乱。
根据这些指标,我们首先选择一些潜在的正常用户和潜在的社交机器人,对其进行人工标注。最后,我们构建了一个名为SWLD -20K的标记数据集,其中包含10,000个正常用户和10,000个社交机器人的数据。SWLD -20K数据集的描述见表2。剩余的潜在正常用户和潜在社交机器人的数据组成了一个无标签数据集SWUD(新浪微博无标签数据集)。
3.2. Feature analysis and extraction
在我们的工作中,我们分析并提取了社交机器人和正常用户的特征,这些特征分为四类:基于元数据的特征、基于互动的特征、基于内容的特征以及基于时间的特征。共提取了30个特征,其中9个特征是本文提出的全新的特征。表3简要总结了这些特征,其中*代表该特征在现有的研究工作中已经定义,但我们重新定义了它。
3.2.1. Metadata-based features
基于元数据的特征从用户的个人资料中提取,包括姓名、关注者数量、关注人数、介绍、位置等。这些数据可以揭示出正常用户和社交机器人之间的差异。基于这些数据,我们提出了以下六个基于元数据的特征。
(1)昵称长度:昵称长度作为特征,在[40]中取得了很好的效果。因此,我们也采用昵称的长度作为特征并将其表示为。注意新浪微博对昵称的长度有严格的限制,的取值范围是。
(2)关注与关注者的比率:关注者与关注者的比例在[2,15]中考虑。在我们的工作中,α表示用户的关注者数量,ς表示关注的数量。我们将关注者与关注的比率表示为 ,由 给出。βRFF的取值范围是{βRFF |0 ≤βRFF ≤1}
(3) 默认昵称和头像:许多社交机器人使用默认昵称和头像[40]。 因此,在我们的工作中,用户是否使用默认昵称和用户是否使用默认头像分别表示为和。 如果用户使用默认昵称, 的值为 1,否则为 0。的计算与 类似。
(4) 资料的完整性。新浪微博的用户可以填写或修改他们的个人资料。正常用户有真实的交友需求,所以他们通常会认真填写他们的个人资料。然而,社交机器人的资料通常是不完整的[31]。我们使用个人资料的完整性作为一个特征,它由以下公式给出
其中,N代表档案的字段数,pi表示第i个字段的完整性。考虑到不同字段对检测的贡献不同,我们为不同字段设置不同的权重,表示第i个字段的权重。表示轮廓的完整性,其取值范围为{βCP|0 ≤βCP ≤1}。
(5)综合水平。用户级别与用户的在线时间和登录习惯高度相关。与正常用户相比,社交机器人在新浪微博中的在线时间通常较短,登录习惯也比较不规范,因此他们的用户级别往往较低。此外,新浪微博有官方验证功能,而大多数被验证的用户是正常用户。因此,我们把综合水平定义为,它的计算方法是
其中是用户的综合等级,i是第i个等级的值,ui是第i个等级的权重,M是等级数。本文以用户等级和是否验证作为综合等级计算的依据,也就是说,当验证(验证为1,否则为0)和规范化的用户级别被加权来计算一个用户的综合水平。βCL的值范围是{βCL|0 < βCL ≤1}。
3.2.2. Interaction-based features
用户的帖子可以被其他用户评论、转发和点赞。这些交互往往反映了普通用户和社交机器人之间的差异。因此,基于用户的交互行为,我们提取了五个基于交互的特征:
(1) 评论、转贴和喜欢的数量的平均值。在[41]中,一个用户的帖子被转贴的数量被用作一个特征。它可以量化用户与他人的互动。社交机器人的许多帖子是不合逻辑的,很少有喜欢、评论或转贴。因此,我们用,和分别表示一个用户所有帖子的评论数的平均值、转帖数的平均值和喜欢数的平均值。它们的计算方法是
其中,ξi,oi,ιi 是用户第 i 个帖子的评论数、转发数和点赞数,K 是用户的帖子数;
(2) 帖子来源的多样性:用户的帖子通常带有帖子来源,如电脑、手机等。普通用户的帖子通常有不同的来源,而社交机器人的帖子往往来源很少。 因此,我们将帖子来源的多样性视为一个特征,并使用 Margalef 多样性指数来计算特征 γDSP ,由下式给出
其中,τ表示源类型的数量。
(3) 转发率:用户的转发率是转发帖子总数与帖子总数的比率[2,42]。在大多数情况下,社交机器人的帖子是从其他用户那里复制而来的,或者是使用概率方法生成的。因此,我们使用转发率作为区分社交机器人和普通用户的特征。它表示为 γRR 并计算为
其中 ν 表示转发帖子的数量。 γRR的取值范围是{γRR |0 ≤γRR ≤1}
3.2.3. Content-based features
社交机器人不同帖子的内容往往比较相似,写作习惯普遍不合逻辑。因此,我们提出以下 13 个基于内容的特征来区分用户:
(1) 帖子被提及次数的均值和方差:在新浪微博中,用户在发帖时使用“@”来提及其他用户。法齐尔等人考虑了帖子中提及的次数来区分用户。类似地,我们将帖子中提及次数的均值和方差分别定义为 δMNMP 和 δVNMP ,它们可以通过下式计算
(2) 帖子中标签数量的均值和方差:用户在发布帖子时使用“#”参与主题讨论。在 [2] 和 [30] 中,“#”的数量被认为是用来区分用户的。我们将“#”个帖子的均值和方差作为两个特征(δMNHP 和 δVNHP)。它们可以用与 δMNMP 和 δVNMP 相同的方式计算;
(3) 帖子中 URL 数量的均值和方差:许多社交机器人在帖子中添加 URL 以将访问者重定向到外部网页以进行广告 [30]、货币化等。在 [2] 中,他们证明了 URL 的数量在判断用户帖子的质量方面起着非常重要的作用。因此,将帖子中 URL 数量的均值和方差作为特征,表示为 δMNUP 和 δVNUP ,其计算方法与 δMNMP 和 δVNM 相同;
(4)帖子中字数的差异:社交机器人不同帖子的字数通常是相似的[40]。在我们的工作中,帖子中字数的方差(δVNWP)由下式给出:
(5)帖子中标点符号数量的均值和方差:帖子中标点符号的使用反映了用户的写作习惯。在社交机器人的帖子中,标点符号的出现频率往往不合理。为此,将帖子中标点符号数的均值和方差作为特征,分别用 δMNPMP 和 δVNPMP 表示,并像 δMNMP 和 δVNMP 一样计算;
(6)帖子中感叹词数量的均值和方差:感叹词是一个词或表达,它作为一个话语单独出现并表达一种自发的感觉或反应,如“哦”、“啊” , ''o'', ''ha'' 等。这些词可以反映用户的写作风格。因此,我们的工作中使用了帖子中感叹词数量的均值和方差(δMNIP 和 δVNIP)。为了计算它们,我们遵循 δMNMP 和 δVNMP 中使用的方法)
(7) 帖子情感得分的均值:情感特征是通过帖子的情感分析提取的特征[40,43]。我们分析帖子的情感极性,并将帖子情感得分的平均值表示为 δMSSP ,由下式给出
其中 ρi 是第 i 个帖子的情绪得分。 ρi的取值范围是{ρi |0 ≤ρi ≤1}。 δMSSP 为{δMSSP |0 ≤δMSSP ≤1}
(8) 帖子中图片数量的差异:用户在发帖时可以添加图片,使帖子内容更丰富。许多社交机器人的帖子中的图片数量几乎相同,而普通用户的每个帖子的图片数量通常不相似。这种区别对于检测社交机器人非常重要。在我们的工作中,用户每个帖子之间的图片数量的方差表示为 δVNPP ,它的计算方式类似于 δVNWP 。
3.2.4. Timing-based features
从用户发帖的时间中提取基于时间的特征。在[30]中,作者发现社交机器人和普通用户在发帖时间分布上存在差异。因此,用户每个帖子之间的时间间隔序列定义为 θ = [χ1,χ2,...,χK−1],其中 K 仍然表示用户的帖子数。然后,我们使用以下六个基于时间的特征来区分用户。
(1) 帖子时间间隔的均值和方差:Chen et al. [15]在他们的研究中考虑了用户发帖时间的规律性,将发帖时间的方差作为特征。在我们的工作中,帖子之间的时间间隔的均值和方差分别表示为φMTIP和φVTIP,它们定义为
其中 χi 是两个连续帖子的时间间隔。
(2) 帖子之间最长和最短的时间间隔。许多社交机器人在短时间内发布了大量的帖子后,很长一段时间都没有发布。因此,在我们的工作中,使用用户发帖之间的长期最短时间间隔来区分社交机器人和普通用户。我们对时间区间的序列进行排序得到一个新的序列,θ' = [χ'1,χ'2,...,χ'K−1] (χ'i ≤ χ'i+1,1 ≤ i ≤ K-1)。我们取用户最短 μ 时间间隔的平均值作为最短时间间隔(φSTIP),最长 μ 时间间隔的平均值作为最长时间间隔(φLTIP)。它们由下式计算
经过分析,当μ=5时,这对特征可以很好的区分用户。
(3) 发帖时间间隔的突发性参数:在[17]中,作者利用发帖时间间隔的突发性参数来区分普通用户和社交机器人,并取得了很好的效果。帖子之间的时间间隔(φBPTIP)的突发性参数定义为
其中 φVTIP 和 φMTIP 是前面定义的,ε 表示位移因子。位移因子是一个变量,以满足使 φBPTIP 的值非负的要求。 φBPTIP 有 3 个特殊值:ε -1、ε 和 ε+1,分别可以理解为完全正则行为、完全泊松行为和最突发行为[17]。一般来说,社交机器人的突发性参数值接近ε -1 和ε +1。
(4) 帖子时间间隔的信息熵。在[17]中,香农熵被应用于量化用户发帖时间间隔序列的规律性来检测社交机器人,效果很好。在我们的工作中,将用户θ的发帖时间间隔序列中的重复值去除,得到一个新的序列,θ′′=[χ′′1,χ′′2,...,χ′′l],其中l≤K-1。然后,我们用φIETIP来表示时间间隔系列的Shannonentropy。计算公式为
其中p(χ′′i )是χ′′i在系列中出现的频率p(χ′′i ),n(χ′′i )表示χ′′i在系列θ中出现的最多次数。时间间隔系列φIETIP的香农熵越小,用户是社交机器人的概率就越大。
3.3. Active learning for expanding labeled data
当使用基于深度学习的方法来检测 OSN 中的社交机器人时,通常需要大规模的数据集来训练模型以获得良好的性能。然而,由于难以在 OSN 中获取有效的用户数据以及手动标记样本的高成本,难以构建大规模数据集。因此,为了扩大标记数据集的规模,我们提出了一种基于主动学习的标记数据扩展方法。
3.3.1. Expansion approach of labeled data
提出的标记数据扩展方法如图2所示,该方法的工作过程为以下五个步骤:
(1) 步骤1:首先,通过小规模标记数据集训练一个初始机器学习分类器。同时,设置停止训练迭代的阈值;
(2) 步骤2:其次,根据查询策略选择一批最有价值的未标记用户数据,并由监督员手动标记。;
(3) 步骤3:第三步,将这些标记的用户数据添加到标记数据集中,并使用这些数据更新分类器的参数;
(4) Step 4: 第四,如果分类器的性能超过迭代停止阈值,则输出分类器,否则重复步骤2和步骤3;
(5) Step 5: 第五,预测剩余未标记候选样本的标签,并计算它们属于使用分类器预测的标签的概率;
(6) Step 6:最后对高预测概率的样本进行标注,标注后进行抽样检验。
3.3.2. Construction of a large-scale dataset
我们有一个标记的小规模数据集 SWLD - 20K 和一个未标记的数据集 SWUD,其中包含潜在的普通用户和潜在的社交机器人。使用提出的标签数据扩展方法,我们进一步确认SWUD中潜在普通用户和潜在社交机器人的标签,以构建大规模数据集。构建过程如下所述:
首先,在分类器的设置上,Mao等人[44]在研究中使用DT作为分类器来扩展数据集,可以高效准确地实现数据集的大规模扩展。因此,我们也选择DT作为我们主动学习方法的分类器。此外,我们设定了停止训练迭代的阈值:分类器的准确度在连续10次训练迭代后没有提高。同时,根据不确定性抽样算法[45],我们使用基于熵的不确定性抽样算法作为查询策略,如算法1所示。
查询策略负责从未标记的数据集 X 中选择由 m 个具有最大熵的样本组成的集合 S。未标记样本的熵计算由下式给出
其中,当j取0和1时,代表未被标记的样本xi是正常用户和社交机器人的概率;
具体来说,在扩展标注数据时,我们首先使用数据集SWLD -20K训练分类器,并通过分类器计算所有潜在正常用户和潜在社交机器人的值。随后,对所有样本的熵值进行计算和排序。
在每次迭代中,都会选择熵值最大的20个未标记的样本。在根据建议的标签度量(种子细节见第3.1.3节)手动标注这些样本后,我们将它们添加到训练数据集中,重新训练分类器。最后,该分类器被用来计算潜在的正常用户是真正的正常用户的概率和潜在的社交机器人是真正的社交机器人的概率。对于这些预测概率值大于0.7500的无标签样本,他们的预测标签被作为其真实标签。然后,这些样本被添加到最终的数据集中。(根据概率计算熵,并排序,选前20个手工标注,重新训练分类器,预测标签)
在我们的工作中,总共进行了171次迭代,根据提议的标签指标,总共对3420个用户进行了手动标签,最后得到了一个准确率为0.9801的分类器。将这些新标记的用户数据与SWLD-20K的用户数据相混合,并进一步进行数据平衡处理,建立了SWLD-300K(有30万个样本的新浪微博标记数据集),其信息如表4所示。此外,对数据集SWLD -300K进行抽样测试,抽样率为1%。我们从SWLD -300K数据集中随机抽取1%的数据来测试标签的正确性。最终的通过率为0.9910,这证明了标签样本的有效性。
3.4. The RGA model for detection
我们设计了一个名为RGA的新型深度神经网络。去签名的RGA模型主要由ResNet块、BiGRU块、注意层和推理层组成(见图3)。该模型结构的细节描述如下。
3.4.1. Model input
在所提出的框架中,给定一个特定的用户,在数据收集和标注模块中收集用户数据,然后在特征提取模块中进一步提取用户的特征,形成一个特征向量,可以表示为F= {f1,f2,...,fl},l 是特征数。
为了更好地适应 RGA 模型,我们使用L2 范数对向量进行归一化,而不破坏原始数据之间的线性关系。然后可以将用户的归一化特征向量输入到 RGA 模型中。
3.4.2. ResNet block
Ismail Fawaz等人[46]的研究表明,ResNet在几个深度学习模型的时间序列分类中具有更好的性能。在我们的工作中,一个用户的特征向量可以被视为一个时间序列。因此,最初采用ResNet来提取特征向量的时间模式。在设计的RGA模型中,ResNet块主要由三个剩余块组成。每个残差块是一个多层神经网络,包含卷积1D(Conv1D)层、批量化(BN)层和线性单元(ReLU)激活层。同时,每个残差块的输入和输出可以通过一个快捷连接直接连接。因此,一个残差块可以被定义为(以第一个残差块为例)
其中,i∈{1,2,3}表示Conv1D层、BN层和ReLU层的组合。h1,h2,h3,h4代表隐藏向量。此外,h′是第一个残差块的输出,它被转移到下一个残差块。最后一个残差块的输出向量被定义为C= {c1,c2,...,cl},它是BiGRU块的输入。
3.4.3. BiGRU block
BiGRU是一种递归神经网络(RNN)。由于同时考虑了过去状态和未来状态,BiGRU可以从数据中提取时间模式,并且具有更好的稳定性。因此,在我们的工作中,它被用来进一步提取特征向量的时间模式。在RGA模型中,BiGRU模块由一个前向GRU和一个后向GRU组成。在每个时刻i(i∈{1,2,...,l}),BiGRU的输出向量由两个单向GRU决定,它可以表示为
其中是时间步骤i中前向GRU的隐藏向量,是时间步骤i中后向GRU的隐藏向量。此外,在BiGRU块中采用了dropout技术来抑制过拟合,因此BiGRU块在每个时间步骤的输出可以定义为h′i.
3.4.4. Attention layer
注意力机制主要是将有限的注意力资源集中在关键信息上[24]。我们利用注意力机制的优势,因为它可以有效地提取重要模式的疏散数据,找到与当前输出有显著关系的有用信息,从而提高输出数据的质量。我们将h′i(i∈{1,2,...,l})的重要性权重定义为ai,注意力层的输出可表示为
3.4.5. Inference layer
在推理层中,使用具有 sigmoid 激活函数的全连接层进行二元分类并输出分类结果。向量 A 计算为用户的特征表示,可用于计算用户是社交机器人的概率
训练损失函数由正确标签的负对数似然定义,可以通过下式计算
其中 y 是用户的真实标签,即如果用户是社交机器人,则 y 的值为 1,否则为 0。
4. 实验与评价
在本节中,我们评估了所提出的 DABot 框架在社交机器人检测方面的性能。首先,我们描述了我们工作中的实验设置。然后,我们评估我们工作中使用的特征的有效性。此外,我们进行了实验以验证 RGA 模型在检测社交机器人方面的优越性。此外,还探讨了数据集规模对检测性能的影响。
4.1. Experiment settings
在描述实验设计和结果之前,将详细说明实验设置,包括环境设置、基线研究和性能指标。实验设置的细节如下
4.1.1. Environmental setup
在我们的工作中,所有的实验都是在配备英特尔至强E5-2618L v3 CPU和NVIDIA GeForce RTX 2080TI GPU的工作站上进行的,RAM为64GB。每个实验都独立重复十次,并显示平均结果。所有的经典机器学习模型都是由Scikit-learn库建立的,同时,所有的深度学习模型都是由Keras库和Tensorflow后台实现的,深度学习模型训练时的超参数配置如表5所示。
4.1.2. Baseline studies
为了进行绩效评估,我们的工作考虑了一系列基线研究。这些用于检测社交机器人的最先进方法如下:
- LR:Logistic回归(LR)是解决一些线性二元分类问题的一种简单而强大的方法。它被广泛用于检测新浪微博中的社交机器人[47]。
- SVM。SVM是机器学习的另一个伟大的方法,在检测新浪微博中的社交机器人方面有明显的效果[16]。
- ELM:ELM被应用在[19]中,作为检测社交机器人的方法。ELM被认为在学习率和泛化能力方面具有优势。
- RF:由于其良好的分类性能、可扩展性和易用性,RF在[20]中对社交机器人的检测有出色的表现。
- MLP:多层感知器(MLP),在[42]中也被称为反向传播神经网络(BPNN)。它是一个通过误差反向传播算法训练的神经网络。
- LSTM:LSTM是RNN之一,它有助于分类和回归问题。它被用于检测社交机器人,表现良好[48]。
- ComNN。ComNN指的是我们论文中[49]提出的组合神经网络。ComNN包括一个LR和两个人工神经网络(ANN),以纳入不同的特征并进行检测。
- CNN:卷积神经网络(CNN)是应用最广泛的人工神经网络之一,它在检测社交机器人方面也很有效[50]。
4.1.3. Performance metrics
各种指标被用来评估检测方法的性能,包括准确率、召回率、精确度和F1分数。采用混淆矩阵来介绍这些指标,如表6所示。真阳性(TP)是被正确检测到的社交机器人的数量,假阴性(FN)是被错误检测到的社交机器人的数量,假阳性(FP)是被错误检测到的正常用户的数量,真阴性(TN)是被正确检测的正常用户的数量。那么,准确率、召回率、精确度和F1分数可以通过以下方式计算出来
4.2. Evaluation of the effectiveness of features
我们提取了四类特征:基于元数据、基于交互、基于内容和基于时间的特征。为了在扩大数据集之前评估所提出的特征的有效性,我们用SWLD -20K数据集对这些特征进行了实验。具体来说,我们对新特征进行了统计分析,以验证这些新特征的鉴别能力。此外,我们还进行了特征消减测试。也就是说,每次从特征集中删除一类特征,然后用不变的检测方法进行测试,探索每一类特征对检测的贡献。
4.2.1. Discriminative power of new features
为了评估所提出的新特征的判别能力,我们将所有用户的新特征值归一化,并绘制了累积分布图,如图4所示。如图所示,本文提出的新特征在社交机器人和正常用户之间明显表现出巨大的差异。在这些新特征中,综合水平、帖子来源的多样性、帖子中插话数量的平均值、帖子中图片数量的方差和帖子之间的最小时间间隔等特征都是可区分的。例如,在综合水平方面,近90%的社交机器人的数值小于0.2,而80%的正常用户的数值高于0.2。
至于帖子来源的多样性,几乎 90% 的社交机器人的值小于 0.1,50% 的普通用户的值大于 0.1。
4.2.2. Feature ablation tests
为了评估每个类别的特征对检测性能的贡献,我们基于完整的特征集和特征集的四个子集进行特征消融测试。特征集的子集可以由给出的差异函数表示为
其中F是包含所有特征的集合,F'是F的具有特定类别特征的子集,x是特征的所有用户数据。表 7 显示了我们在特征消融测试中使用的特征集的详细信息
在这个实验中,SWLD-20K数据集被分为60%用于训练,20%用于验证,20%用于测试。此外,除了使用RGA检测方法,还采用了其他基线方法来进行特征消减研究。图5显示了结果。比较了F、F\Metadata、F\Interaction、F\Content和F\Timing的方法的性能。我们发现,所有的检测方法在包含所有特征的特征集F上的表现都比在其他特征集上的表现好。
此外,所有的方法在使用F\Content的特征集时表现最差,这表明基于内容的特征的可区分性是最大的。而使用F\Timing特征集的方法的表现与F相似,这表明基于时间的特征的可区分性最小。我们还可以发现,虽然在相同的特征集上,RGA的召回率并不是全部最高的,但RGA的准确率、精确度和F1分数是最高的。也就是说,RGA 模型在这些特征集上比其他检测方法具有更好的检测性能。值得注意的是,这些方法的性能仍有很大的提升空间,因此需要扩展数据集以提高检测性能。
4.3. Evaluation of the proposed detection approach
为了评估所提出的 RGA 检测方法的性能,检测模型消融测试已启动,然后与基线检测方法进行性能比较。值得注意的是,这些实验都是基于 SWLD −300K 数据集。
4.3.1. Detection model ablation tests
为了验证本文提出的深度神经网络RGA具有一定的优势,我们使用SWLD-300K数据集对所提出的模型进行了消减测试,以提供对我们模型中每一层或每一个块的影响的理解,并显示它们对模型性能的影响有多大。具体来说,注意力层、BiGRU块和ResNet被依次从模型中删除,然后对减少的模型的性能进行评估。此外,ResNet块和注意力层的组合以及BiGRU块和注意力层的组合被依次移除,以验证所提出的检测模型的有效性。实验中六个深度神经网络的架构如表8所示,其中包括层数、Conv1D层数、BiGRU层数、注意力层的使用、归一化策略、激活函数和正则化策略。
在本实验中,SWLD - 300K 数据集分别分为 80% 用于训练、10% 用于验证和 10% 用于测试。这是因为数据集的规模非常大,数据集中 10% 的数据足以用于评估验证集或测试集。此外,训练集中更多的数据可以使深度神经网络得到更充分的训练。
图6和表 9 显示了几种深度学习模型在准确率、召回率、精度和 F1 分数方面的性能实验结果。我们可以看到,所提出的 RGA 模型在几乎所有指标上都具有最好的性能,包括准确率、召回率、准确率、而F1-score分别为0.9887、0.9840、0.9933、0.9886。同时,每个块或层对RGA模型的有效性都有影响,任何块或层的消融都会削弱模型的效果。同样明显的是,ResNet块对所提出的RGA模型的性能贡献最大,而注意力层的影响 相对不太明显。重要的是,所提出的 RGA 模型在检测社交机器人方面通常比其他简化的深度学习模型具有最佳性能。
4.3.2. Performance comparison with the baseline approaches
为了进一步验证所提出的 RGA 检测模型的有效性,我们比较了 RGA 和基线检测方法的性能,包括四种经典机器学习方法(LR、SVM、ELM、RF)和四种深度学习方法(MLP ,LSTM,ComNN,CNN) 在数据集 SWLD−300K 上,分别分为 80% 用于训练、10% 用于验证和 10% 用于测试。
图7和表10为实验结果。可以看出,在如此大的数据集上,深度学习方法在性能上比经典机器学习具有一定的优势。在经典的机器学习方法中,RF 性能最好,LR 性能较差。同时,CNN 的性能优于其他基线深度学习方法。重要的是,RGA 在准确率、召回率、准确率和 F1 分数方面表现出最佳性能,这证明了RGA 在检测社交机器人方面优于最先进的方法。
4.4. Influence of the scale of the dataset
在我们的工作中,数据集SWLD -20K是通过人工标注的方式构建的,然后通过提出的主动学习方法对标注的数据进行扩展,构建了数据集SWLD -300K。为了验证所提出的数据扩展方法的有效性,我们比较了 RGA 和 base-两个数据集上的线方法,这些方法在两个数据集上的 F1 分数如图 8 所示。
很明显,当使用主动学习将数据集的规模从20,000扩大到300,000时,所有方法的F1分数都得到了提高。值得注意的是,总体而言,与经典的机器学习方法相比,深度学习方法的F1分数有较大的提高。例外的是,SVM的性能得到了很大的提高,而MLP的性能没有明显的提高。总的来说,这些检测方法的检测性能可以通过所提出的主动学习方法来提高,因为标记的数据扩展了。
重要的是,当数据集的规模变大时,提议的RGA有了明显的改进。同时,所提出的RGA不仅在有20,000个样本的数据集中表现最好,而且在有300,000个样本的数据集中也有最好的表现。显然,所提出的RGA检测方法既适用于小规模数据集,也适用于大规模数据集。
5. 总结
本文提出了一种新型的DABot框架,用于检测深层神经网络和主动学习的社交机器人。该框架DABot主要包括四个模块:数据收集和标记模块、特征提取模块、主动学习模块和检测模块。具体来说,我们提取了30个特征,包括9个全新的特征,即基于元数据、基于交互、基于内容和基于时间的特征,以实现对新浪微博中社交机器人的全面描述。此外,本文还提出了一种利用主动学习扩大标注数据集的方法,可以显著提高标注用户数据的效率,并以较低的成本获得大尺度的数据集。
此外,利用ResNet、BiGRU和注意力机制,本文设计了一个新的深度神经网络模型RGA用于检测。实验结果表明,所提出的DABot框架在检测社交机器人方面是有效的,与其他使用的检测方法相比,它具有最好的性能。
在OSN中,社交机器人的属性和行为模式不断演变以避免被发现。因此,使检测方法能够适应社交机器人的进化,将在我们进一步的研究工作中完成。同时,存在着社交机器人的集群,即社交机器人倾向于互相跟随并形成网络集群。关于社交机器人集群检测的研究也是我们未来的工作。