《DeepSBD: A Deep Neural Network Model with Attention Mechanism for SocialBot Detection》阅读笔记

本文记录《DeepSBD: A Deep Neural Network Model with Attention Mechanism for SocialBot Detection》的阅读笔记
论文基本信息:
期刊名:IEEE Transactions on Information Forensics and Security(TIFS)
期刊级别:CCF-A、SCI-Q1(网络与信息安全)
年份:2022
标题:DeepSBD: A Deep Neural Network Model with Attention Mechanism for SocialBot Detection
作者及工作单位:
Mohd Fazil, Amit Kumar Sah and Muhammad Abulaish, SMIEEE

Abstract

研究背景,及社交机器人的危害)在线社交网络(OSNs)正在经历复杂的网络威胁,这些威胁通常是使用虚假或受损的个人信息进行的。自动代理(又称作社交机器人)是一类复杂和现代的威胁实体,是社交媒体平台的原生产物,负责执行法各种现代化的信息相关的攻击,如虚假营销、错误信息扩散和垃圾邮件。(检测社交机器人的必要性)由于社交机器人具有模仿人类行为的欺骗性,因此检测它们是一项具有挑战性和至关重要的任务。(本文方法,介绍基本思路)为此,本文提出了一种注意力感知的深度神经网络模型DeepSBD,用于检测在线社交网络上的社交机器人。DeepSBD使用个人信息、时间、活动和内容信息对用户行为进行建模。DeepSBD通过BiLSTM 和CNN 架构对OSN用户的行为进行联合建模。它将配置文件、时间和活动信息建模为序列,这些序列被传递到两层堆叠的BiLSTM,而内容信息被传递到深度CNN。(实验评估)我们通过五个真实的基准数据集评估了DeepSBD,发现与最先进的和baseline方法相比,它的表现明显更好。我们还分析了在不同比例的社交机器人和良性用户下的情况下DeepSBD的性能,结果表明不平衡的数据集会适度影响分类精度。最后,我们分析了DeepSBD对不同行为成分的辨别能力(特征重要性),发现个人信息特征和内容行为特征对检测社交机器人的影响最大,而时间行为特征对检测社交机器人的效果最差。
关键词:Social network analysis, Socialbot detection, Deep learning, CNN, BiLSTM, Data-driven cybersecurity.
启发:
不同维度特征,如分为 个人信息特征、内容行为特征(推文数据)、时间特征
判断各维度特征重要性,或者说对检测社交机器人的影响

1 INTRODUCTION

在线社交网络带给人们的便利性)基于Web2.0的在线社交网络(OSNs)是21世纪最具影响力的人类创新之一,它可以帮助用户表达对时事和个人生活的观点和想法,与朋友和名人联系,并获得最新的时事报道。OSNs以实时信息广播的形式彻底改变了人类通信的范围。世界上很大一部分人口正在使用其中一种OSN。尽管存在数百个OSN,但Twitter和Facebook是全球最受欢迎的在线社交网络。

1.1 OSN and Socialbots

社交机器人对OSN的破坏)OSN在连接、信息共享、知识获取和娱乐方面为用户提供了便利,但这些并不是没有任何影响。实时消息广播、庞大的用户基础、开放性和匿名性使OSN成为各种恶意活动的合适平台,如水军、虚假营销、垃圾邮件和虚假新闻。这些恶意和反社会人群通常通过机器人、人工辅助半机器人、Sybil和恶意账户这些手段使用虚假信息来执行上述恶意行为。最近,OSN平台见证了新出现的威胁,与垃圾邮件、DDoS攻击和身份盗窃等经典网络威胁相比,这些威胁的严重影响要复杂得多。在特定于OSN的威胁中,自动配置文件(又名社交机器人)是高级非法活动(如政治营销)的主要推动者之一。在一项开创性的工作中,Varol等人估计大约9 - 15%的Twitter账户是机器人账户。虽然攻击者可以根据善意或恶意的目标设计社交机器人,但最近的一些事件,如干预2016年美国总统大选,英国脱欧公投,阿拉伯之春,都给它们打上了十分恶意的标签。社交机器人非常具有欺骗性;它们模仿人类行为来获得对OSN的信任,然后利用它进行非法活动。因此,研究人员正在分析社交机器人的不同恶意方面。为了应对这一日益增长的威胁形势,OSN正在制定账户监管策略,并开发内部社交机器人检测方法。OSN平台定期进行清洗,将恶意账号挂起。在俄罗斯干预2016年美国总统大选的事件曝光后,推特暂停了大约7000万个账户。因此,所有这些事件和报告都表明,社交机器人对OSN平台的结构和话语产生了前所未有的非法影响。

1.2 Background and Motivation

除了OSN之外,学术界和工业界的研究人员也在努力研究社交机器人的工作环境,以开发有效的检测方法。然而,随着技术的成熟,botherder(设计社交机器人的人)会调整社交机器人的行为以绕过潜在的检测方法。在现有文献中,基于监督机器学习的方法是最受欢迎的,其中作者从不同类别的信息(如概要文件、内容、网络和元数据)设计了许多手工构造的特征。此外,训练机器学习模型,区分机器人和良性用户。在现有的特征中,大多数特征都相对容易通过人工辅助创建配置文件属性和使用复杂的随机化算法调度社交机器人活动来逃避检测。机器人账户通常由人工辅助,将行为模式与良性账户混合,以绕过复杂的特征。现有的最先进的基于特征工程的方法有三个主要的局限性:1)特征工程过程是一项耗时的手工任务 2)它不是通用的,因为基于特征工程的系统只能检测到由定义的特征建模的特定类别的社交机器人 3)它包括人类的偏见和局限性。此外,基于特征的分类系统的有效性取决于定义的特征集。因此,如果特征的质量较低,分类系统的性能就会自动降低。(说明基于特征工程方法的不足
第二类包括基于图划分的方法,用于检测以协调方式运行的社交机器人组。基于图划分的方法将用户交互/连接形成行为建模为一个网络,并使用图挖掘技术将其划分为内聚的子图。这些方法通常只考虑利用网络信息的社交机器人的连接形成行为,而忽略了文本、时间和配置文件中的信息。因此,这些方法无法检测到社交机器人以某种方式成功地与正常用户创建了足够的攻击边(链接)。尽管基于图划分的方法克服了基于特征工程的方法的局限性,但它们没有集成来自不同类别信息的线索。(说明图划分方法的不足,注意区分自己用的图方法
此外,现有文献也有基于行为和时间建模的社交机器人检测方法。尽管这些方法独立于基于特征工程的方法的局限性,但它们仅使用一种行为对用户建模,要么是临时发布类型,要么是一些其他信息。因此,一种特定的行为建模方法只能检测到特定类别的社交机器人。因此,基于行为建模的方法并不适用于检测不同类型的社交机器人;相反,它们检测特定的类别,这取决于用于对用户建模的信息类型。(说明基于行为和时间建模的社交机器人检测方法的不足
介绍神经网络的优势)神经网络在其他类别的方法流行的各种应用中显示出适用性。同样,为了克服现有方法类别的局限性,研究人员正在利用深度神经网络的进步来检测社交机器人。然而,除了在[13],[14],[15]中提出的一些方法外,它在很大程度上尚未被探索。基于深度学习的模型解决了基于特征工程方法的局限性,因为它们不使用手动和手工构造的特征工程,因此它们不包括人为偏差。此外,如果我们向深度神经网络提供不同类型的信息,它将从每一类信息中提取模式。与行为建模和图划分方法一样,现有的深度学习方法也没有采用用户行为的所有方面来建立模型。(相关工作的不足)例如,[14]只使用配置文件信息;因此,botherder(设计社交机器人的人)可以通过手动创建概要文件轻松绕过它。另一方面,[13]、[15]使用时间和内容信息,忽略概要文件、活动类型和活动间信息。因此,这些方法只能检测特定类型的社交机器人。此外,现有的深度学习方法在学习用户表示时都没有使用分层注意力机制(重点了解)的强度。(本研究)本研究试图填补这些研究空白,并通过整合利用BiLSTM、CNN和分层注意力模型提取的一组综合** profile, temporal, activity和 content**(用户个人信息、时间、活动和内容信息)的线索来建模OSN用户。

1.3 Our Contributions

本文提出了一个BiLSTM、CNN和基于注意力的深度神经网络模型DeepSBD,用于分析用户,以检测OSN上的社交机器人。据我们所知,这是第一个基于深度学习的方法,联合用户个人信息、时间、活动和内容信息来建模用户的行为表示。DeepSBD具有三方面的创新性——1)它避免了人工辅助特征工程的繁琐任务,分别在两个不同的粒度级别上,使用BiLSTM和CNN从基于个人信息、时间和活动信息表示和基于嵌入的内容信息表示中提取特征2)与现有的只使用一种行为的行为建模方法不同,DeepSBD通过整合来自一组全面的个人信息、时间、活动和内容信息的线索来建模用户行为 3)DeepSBD通过使用一种新颖的基于分层注意力的CNN-BiLSTM架构来学习用户表征,以识别用户行为中的规律。
现有的深度学习社交机器人检测方法解决了基于特征工程方法的局限性。然而,它们并没有模拟用户的所有不同行为,忽视了对手可以为各种目的设计社交机器人的事实。此外,现有的深度学习方法都没有使用BiLSTM和注意力机制,这是通过合并双向上下文信息来学习表示的最先进的技术。DeepSBD背后的主要思想是学习用户个性中每个行为方面的上下文表征。为此(To this end),DeepSBD使用用户的基本配置文件属性对用户行为进行建模,这使得它能够监控和检测通过自动化工具创建的机器人。DeepSBD对用户的时间行为进行建模,以捕捉他们发布推文时间的昼夜和周期性模式。时间建模可以检测基于调度算法的操作机器人。在Twitter上,用户可以发布纯推文、转发推文、引用推文和回复。我们将用户的推文发布行为编码为这四种类型的推文,以检测被设计为执行特定活动模式的社交机器人。此外,使用嵌入向量对推文内容进行编码(文本向量化),以跟踪用户生成内容的一致性。最后,将所有行为向量融合到一个新的统一的基于注意的分层CNN-BiLSTM模型中,以学习不同的用户行为表示。
总之,本文的主要贡献可以概括为以下几点:

  • 开发了一种新型的基于CNN和BiLSTM的具有注意力机制的深度神经网络模型DeepSBD,将特征工程、行为建模和深度神经网络的优势统一起来用于社交机器人检测。
  • 通过使用注意力感知DeepSBD模型对概要文件、时间、活动和内容信息进行联合建模,实现用户表示学习。
  • 使用七种最先进的不同类别的社交机器人检测方法对DeepSBD进行详细的实验评估
  • 探索最常用的数据平衡方法SMOTE(合成少数类别过采样技术),以判断DeepSBD对不平衡数据集的有效性。

2 RELATED WORK

主要是了解社交媒体机器人检测领域的相关工作,收集素材
Boshmaf等[4]将社交机器人检测方法分为两类——机器学习和基于图划分的方法。Ferrara等[16]详细描述了社交机器人,并讨论了它们在不同OSN上的各种恶意活动中作为便利实体的作用。作者进一步将现有的社交机器人检测方法分为四类——(i)基于图,(ii) crowd sourcing-based,(iii)基于特征工程,和(iv)混合方法。由于crowd sourcing-based的方法是手动的、不可扩展的、不可行的,它们没有得到足够的重视。基于已有的方法,本研究将社交机器人检测方法分为四类——(i)特征工程,(ii)图划分,(iii)行为建模,以及(iv)基于深度学习的方法,这些方法将在以下子节中简要介绍。

2.1 Feature Engineering-Based Socialbot Detection

在这类方法中,研究人员从用户配置文件、连接网络和文本内容中设计手工制作的特征,并通过标记的训练数据集训练机器学习模型。在早期的机器人检测方法[17]中,研究人员使用不同类别的简单和直接的特征来训练机器学习模型。[8]、[18]的作者提取了基于配置文件、内容和交互的新特征,以训练机器学习模型,将垃圾邮件机器人与良性用户隔离开来。作者还进行了特征消融分析。Yang等[19]分析了社交机器人规避现有检测方法的策略。基于分析观察,他们设计了难以逃避的具有鲁棒性的特征。OSN服务提供商也开发了自己的对抗性检测方法;例如,Facebook有Facebook免疫系统,它监视数据库上的每一个读写操作,并将其标记为恶意或良性操作。
Dickerson等人第一次利用情感驱动特征以及内容、网络和语言特征来训练社交机器人分类系统。在最有效和最流行的方法中的一种,Devis等人[6]设计了1000多个功能,包括简单到复杂的功能,用于训练随机森林分类器,将OSN用户标记为社交机器人或良性用户。现有的大多数基于特征工程的方法都是基于用户的属性来描述用户的特征,但忽略了连接用户和相关社区。Fazil和Abulaish[7],[21]根据用户的属性、其粉丝的属性和粉丝网络中的社区,使用四类特征来描述用户。随着检测技术的成熟,社交机器人也会逐渐绕过检测系统。社交机器人可以很容易地绕过基于特征工程的分类系统,通过根据检测系统的定义特征来操纵它们的行为。手动构造特征也是一项耗时且乏味的任务。

2.2 Graph Partitioning-Based Socialbot Detection

在基于图划分的方法中,OSN用户的连接网络被建模为图G(V, E),其中V中的节点表示OSN用户(在线社交网络中的用户),E中的边表示用户之间的关系⊆V × V。在这类方法中,将图划分为伪区域和真区域,区分正常用户和社交机器人用户。社交机器人用户和正常用户之间的联系被称为攻击链接。基于图划分的方法假设sybil或社交机器人不能与正常用户建立足够的连接,研究人员利用这种思想来建模和划分连接网络。Viswanath等[22]利用最先进的社区发现算法来划分社交机器人用户和正常用户。Wang等[23]提出了点击流模型来聚类sybil和正常用户,作者首先分析了sybil用户和正常用户之间的点击转移概率,然后根据用户的点击流数据建立了用户的活动序列。然后,根据每对用户的活动序列之间的相似性,建立相似度矩阵。最后,他们在相似矩阵上应用聚类技术来寻找sybil和非sybil区域。在[24]中,作者首先给出了一个社交机器人实验分析。他们将OSN用户建模为一个图,并应用马尔可夫聚类来识别社交机器人。

2.3 Behavior Modeling-Based Socialbot Detection

研究人员还使用用户活动的序列和统计分析进行了行为建模,以检测社交机器人。Zhang等人[12]对推文时间进行了统计分析,并使用皮尔逊卡方检验来检测自动账户。他们使用基于分钟秒和小时分的推文时间分布的可视化方法来评估用户帐户的自动化程度。twitter -time对社交机器人检测的有效性在于,社交机器人通常使用一些调度算法来激活。Pan等人提出了另一种将社交机器人和普通用户分组的时间方法。他们提出了一个参数来观察短时间内的用户活动行为。Chavoshi et al[10]将用户活动序列建模为活动时间序列数据,并应用动态时间扭曲来检测考虑其活动的同步用户集。作者首先为每个用户构建活动时间序列,并使用延迟敏感散列技术将它们散列到多个bucket中。Cresci等人[9]提出了一种生物DNA启发的方法,将用户的推文、转发和回复活动编码为数字DNA。在构建的数字DNA上,他们应用最长公共子序列分析来检测一组用户之间的同步行为。

2.4 Deep Learning-Based Socialbot Detection

在第一种方法中,Cai等[13]联合建模了用户的时间和文本信息,用于检测社交机器人。Ping等人[15]提出了另一种基于深度学习的模型,用于检测社交机器人,使用基于用户时间、内容和其他信息(如标签、url和提示)的联合建模。然而,这两种方法不包含有关用户所执行的tweet、转发或回复等活动类型的任何信息。此外,他们既没有使用个人资料信息,也没有在连续推文之间的时间间隔序列中进行同步。在另一种方法中,[14]的作者仅使用SMOTE的个人资料信息来检测社交机器人。最近,Wu等人[25]提出了一种基于主动学习和深度学习的社交机器人检测方法。他们使用主动学习扩展了标记数据集,并为用户表示提出了一组30个手动构造的特征。特征通过注意感知残差网络和BiGRU网络进行分类。然而,由于最初的用户表示使用手工制作的特性,[25]受到基于特性工程的方法的限制。

3 PRELIMINARIES

3.1 Long Short Term Memory

3.2 Convolutional Neural Network

3.3 Attention Mechanism

**注意力是指专注于一个或多个部分,而忽略其他部分。专注于一个特定的部分使机器学习模型更加智能。**一般来说,基于神经网络的分类系统将数据建模为由基本特征组成的数字向量,其中所有特征都被赋予相同的权重,而不管它们对数据概念化的潜力如何。通过注意力机制,根据不同特征的重要性为其分配不同的权重,解决了所有特征权重相同的问题。注意力机制可以应用于不同的粒度级别,如单词、短语和句子[28]。此外,注意力机制使神经模型能够根据特征之间的相关性对其进行排名。这种机制的主要思想是计算输入特征的权重分布,将更高的值分配给那些具有更高级别的特征。注意力层由对齐层、注意权重和上下文向量组成。首先,对齐层计算编码向量 h = {h1, h2,…,hn}之间的(对齐)分数。然后,利用softmax对h的所有n个元素进行归一化,计算概率分布αi,其中i = 1,2,…, n,如式7所示。较大的αi意味着hi为v提供了重要的信息(即αi表示了元素i(特征)的重要程度)。注意机制的输出O是向量h中所有元素的加权和(该向量h乘以其重要程度指标 αi,相当于得到一个“总”的向量),如式8所示。
image.png

3.4 Word Embedding

单词的分布表示是生成包含上下文信息的数字向量表示的最新和流行的方法。在现有的文献中,这样的向量化表示在许多自然语言处理任务中表现出很好的效果,如谣言检测[29]。文本内容的数字向量表示可以在不同的粒度级别生成,例如单词、短语、句子或段落。此外,可以对较小成分(词、短语或句子)的向量进行加法、减法和拼接等向量操作,以获得较大成分(句子、段落或文档)的向量表示。在早期的方法中,Bengio等人[30]提出了一个前馈神经模型,用于单词表示和统计语言模型的联合学习。在一项开创性的工作中,Mikolov等[31]提出了一种计算效率高的方法word2vec,使用两种不同的表示模型 (i)continuous bag of words(CBOW,用周围词预测中心词)和(ii) skip-gram用中心词预测周围词)从未标记的语料库中学习单词表示。在另一种被广泛接受的方法中,Pennington等[32]提出了GloVe (Global Vector)用于单词表示,该方法基于对全局单词共现计数进行加权最小二乘模型拟合。在分布式表示中,词嵌入的每个维度表示一个基于词与语料库中其他词共现的潜在概念。在本文中,我们使用了免费提供的预训练的200维GloVe词向量,在20亿条推文[32]的语料库上进行了训练。(文本向量化,关注TFIDF/几种方法的融合

4 PROPOSED APPROACH

本节介绍了所提出的DeepSBD模型的架构,该模型由四层组成,分别是(i)输入层、(ii)底层特征表示层、(iii)用户表示层和(iv)输出层,如图1所示。下面的小节将详细描述这些层。
image.png

4.1 Input Layer

由于用户在现实世界中通常是基于身份和行为来描述的,DeepSBD使用用户信息文件(profile,用户信息文件)行为特征来建模OSN用户。为此,DeepSBD的输入层用于读取用户信息、推文和相关元数据信息,以学习用户表示,如下小节所述。

4.2 Low-level Feature Representation Layer

在现实世界中,个体/社区在物理特征和行为方面彼此不同。这种差异也存在于OSN上。在物理特征和行为特征方面,同一社区内的用户通常具有凝聚力。(社区发现)同样,在OSN上,socialbot 和 正常用户在个人资信息、状态发布行为和话题倾向方面存在差异。底层特征表示层使用表示用户行为的神经网络技术,从个人信息、时间、活动和内容信息中提取细粒度的特征。下面的小节将详细描述学习用户的不同行为表示。

4.2.1 Profile Representation

个人信息
用户在OSN上的个人信息文件根据实际身份不同而不同。然而,社交机器人没有任何真实世界的身份,并使用虚假的个人资料信息,如用户名,操作,个人简介,手动或自动创建信息。为了逃避检测系统,botherder通常会手动创建机器人账号的信息,使其看起来更真实。另一方面,自动创建的社交机器人在他们的个人信息中显示出规律性。现有文献在特征工程和基于深度学习的方法中都使用了 profile 文件信息来检测社交机器人[14],[17]。因此,为了从有规律的社交机器人个人信息中检测出它们,DeepSBD使用12个基本特征用户身份的相关信息进行建模——(特征抽取模块)**status count, followers count, friends count, favorites count, listed count, account age (in days), follower rate, friend rate, status rate, followers to friends ratio, default profile status, and geo enabled or not. **关注率表示用户每天获得的关注数。其他与平均相关的特征也按天计算。我们使用了可以直接从用户个人资料信息文件中提取的简单功能,以避免手动构造复杂的特征。特征向量 P u P_u Pu指通过特征工程从原始数据中抽取的特征数据)被传递给一个基于注意力机制的两层堆叠BiLSTM来学习基于个人信息的低级表示 P u \mathcal{P}_u Pu指通过神经网络训练之后的特征向量)。

4.2.2 Temporal Behavior Representation

在设计社交机器人时,通常使用一些调度算法来确定活动时间。活动时间并不是完全随机的,而是遵循一定的分布。因此,自动账户在活动时间上具有一定的规律性[12],[10]。相比之下,人类的活动时间通常是随机的,不可预测的。为了观察这些账户的规律性和自动化程度,对发布推文的时间进行建模是有必要的。因此,我们对推文时间进行了时间分析,以观察用户帐户的自动化程度。一般来说,机器人在两种类型上的时间行为是活跃的:(i)在一天中的特定时间(日模式),(ii)或往往在特定时间间隔之后(周期性模式)。因此,DeepSBD使用从用户 u u u的时间轴中提取的30天内发布的推文(如果存在)或至少100条推文的时间信息,对用户 u u u的两种类型的时间行为模式进行建模。以下小节阐述的日模式和周期性建模使用了所有四种类型推文活动的时间信息——普通推文、转发推文、引用推文和回复推文。(以上就需要有具体发布推文的时间信息的数据,然后做特征工程)

Diurnal Behavior Representation

日模式
如前所述,可以将机器人设计为在一天中的特定时间处于活动状态,表示日模式[12]。我们利用这些机器人的推特活动的时间信息来建模。为此,我们将用户 u u u的Twitter时间轴按以天为单位进行划分,其中每天 d ∈ D d∈D dD被划分为1分钟的时间间隔序列,即 τ = { τ 1 , τ 2 , … , τ 1440 } \tau=\left\{\tau_1, \tau_2, \ldots, \tau_{1440}\right\} τ={τ1,τ2,,τ1440},因为一天等于24x60分钟,其中| D D D|表示 u u u的第一个和最后一个推文之间的天数。进一步,我们将 u u u在一天中特定的一分钟内的推特活动数量 d d d分配给相应的一天中的一分钟向量 d u d_u du。例如,如果 u u u执行了2次转发推文活动,发布了1条推文,并在凌晨1:30 AM 到1:31AM之间的一分钟内回复了一条推文,即第i天 d i d^i di的第91分钟,则第i天时间向量 d u i d_u^i dui的第91个索引被赋值为4。最后, d u i d_u^i dui的日时间行为表示为 { d v 1 i , d v 2 i , … , d v 1440 i } \left\{d v_1^i, d v_2^i, \ldots, d v_{1440}^i\right\} {dv1i,dv2i,,dv1440i},其中 d v 1 i d v_1^i dv1i表示 u u u d i d^i di的第一分钟执行的活动数。类似地,如果推文存在,则为30天中的每一天构建日时间向量;否则,生成一个零向量。最后,我们将 u u u的每一天的日时间向量拼接起来,得到最终的日时间向量 D u D_u Du。然后,将 D u D_u Du向量传递给基于注意力机制的双层堆叠BiLSTM,提取基于行为的日模式基本特征 τ u D \tau_u^D τuD。(简而言之就是,将一天划分为以一分钟为时间间隔的时间轴,然后去统计每一分钟内该用户的活动(普通/转发/引用/回复)数,就填到对应的时间间隔中,统计完一天的之后,再将30天的拼接起来。形成用户日模式行为的特征数据,再送入BiLSTM中训练,得到用户日模式行为时间维度特征向量
图2(a)和图2(b)分别显示了随机抽样的socialbot和正常用户的昼夜行为,以及在10天内每天每分钟执行的tweeting活动的数量。在这两个图中,x轴表示当天的分钟,y轴表示当天特定分钟内执行的tweet活动的数量。在这些图中,由于可见性问题,我们只看到一分钟内最多2条推文的推文计数。从图2(a)可以观察到,社交机器人显示了一个昼夜模式,并在一天中的某些特定分钟被激活来执行twitter活动。此外,socialbot还在多个场合在一分钟内执行2个活动,比如在第6天执行了3次,这很可疑。另一方面,图2(b)揭示了正常用户在推文时间的时间分布上是相当随机的,不表现出任何日行为。
image.png
image.png

Periodic Behavior Representation

周期性模式
机器人可以被设计为在固定的时间间隔内活跃,并具有一些不规则性,代表推文间时间[10]的周期性模式。在本节中,我们对用户的这种行为进行建模,以将社交机器人与正常用户隔离开来。为此,我们计算每对连续推文之间的交互活动时间。在此行为建模中,我们考虑所有四种类型推文的时间戳序列,而不进行分组。给定用户 u u u,如果 T 1 T_1 T1 T 2 T_2 T2分别表示推文 t 1 t_1 t1 t 2 t_2 t2的发布次数,则 Δ T ( 1 , 2 ) = T 2 − T 1 ΔT(1,2) = T_2−T_1 ΔT(1,2)=T2T1表示 t 1 t_1 t1 t 2 t_2 t2之间的交互活动时间。类似地,我们在每对连续的tweet之间计算 Δ T ΔT ΔT u u u N N N个推文集合上的所有交互活动时间集合用 Δ T u ΔT_u ΔTu表示。然后,将 Δ T u ΔT_u ΔTu赋给基于注意力机制的两层堆叠BiLSTM,提取基于周期性行为的底层特征 τ u P \tau_u^P τuP。我们调查了社交机器人和正常用户的互动时间分布,并观察到非常不同的行为。图3(a)显示了一组随机选择的四个社交机器人的交互活动时间分布,每个社交机器人来自四个社交机器人数据集,以及一个正常用户。在该图中,下面的四个子图代表社交机器人的行为,最上面的子图代表正常用户的行为。x轴和y轴分别表示活动对和活动间的时间。对下面四个子图的分析表明,四个社交机器人根据其主人设计的自动化策略显示出一定的周期模式。从图3(a)底部的第二个子图可以观察到,第二个社交机器人的互动时间分布具有较强的周期性,呈衰减趋势。从图中还可以看出,第三个社交机器人使用了一些复杂的调度算法来模仿随机行为,但其交互活动时间分布仍然呈现出中等模式,但并不强。相比之下,该图最上面的子图显示,正常用户在发帖时不表现出任何周期性模式。所有这些分析都揭示了社交机器人使用的调度算法。
image.png

4.2.3 Activity Sequence Behavior Representation

需要发布推文类型(推文、转发、回复和引用推)数据
在OSN中,不同的社交机器人根据操控者的需要进行不同的活动。有些机器人是用来转发推文的,而有些则是用来回复查询的(通常是正常机器人)。虽然社交机器人可以执行每一种可能的活动,如推特、转发和回复,但它们遵循关于接下来执行的推特活动类型的特定分布。因此,活动序列是社交机器人检测[9]的一个很好的指标。**DeepSBD使用所有四种活动(推文、转发、回复和引用推文)对用户的活动序列行为进行建模。**我们为每个用户选择100条tweet来编码他们的活动序列行为。为每个用户选择相同数量的活动,以确保所有用户的编码行为表示的长度相同。在活动序列表示中,四个活动中的每一个都使用一个唯一的数字进行编码——普通推文由0编码,转发推文由1编码,回复推文由2编码,引用推文由3编码。例如,给定用户u的时间轴上最近的100个活动,其基于活动的行为可以被编码为 { 0 1 , 1 2 , 1 3 , 0 4 , . . . , 2 100 } \left\{ 0_1,1_2,1_3,0_4,...,2_{100}\right\} {01,12,13,04,...,2100},其中 1 3 1_3 13表示 u u u 的第三个活动是转发。我们还对活动序列进行了可视化分析,以确定社交机器人和正常用户的行为差异(参考)。图3(b)表示一组随机选择的四个社交机器人(每个社交机器人数据集一个)和一个正常用户的示例活动序列。在这个图中,下面的四个子图代表社交机器人的行为,而最上面的子图代表正常用户的行为。从图中可以看出,社交机器人的活动序列遵循一定的模式,其中第二和第四个社交机器人只发布推文,不进行其他活动。从底部的第三个子图中可以观察到一个有趣的现象:相应的社交机器人周期性地发布几条推文,然后回复。相比之下,正常用户的活动序列表现出非常随机的行为。进一步,将用户 u u u编码后的活动序列作为输入,输入到基于注意力机制的两层堆叠BiLSTM中,学习基于活动序列的基础特征表示 A u \mathcal{A}_u Au
image.png

4.2.4 Content Behavior Representation

已有文献利用推文内容的规律进行社交机器人检测[7]。DeepSBD通过使用GloVe词嵌入将推文编码为矩阵形式,从推文内部和推文之间的内容中提取模式。假设用户 u u u发布了 N N N条推文,比如t1, t2,…, tN,首先,推文按**时间顺序(自己数据没有)**排序。然后,每个tweet t i t_i ti使用空白进行标记化,每个标记(单词) w w w W W W使用GloVe向量替换为维度 d d d的单词各自的分布表示。因此,用户 u u u发布的第 i i i条推文表示为矩阵 m u i ∈ R ∣ W ∣ ✖ d m_{ui}∈\mathcal{R}^{|W|✖d} muiRW∣✖d。同样, u u u N N N条推文中的每一条都被建模为一个二维词嵌入矩阵。最后,将所有矩阵拼接并表示为一个三维矩阵 M u ∈ R N ✖ ∣ W ∣ ✖ d M_u∈\mathcal{R}^{N✖|W|✖d} MuRN✖∣W∣✖d,该矩阵通过一个包含2个最大池化层的深层CNN,位于第2和第4卷积层之后。每个卷积层包含k个滤波器F = f1, f2,…, fk,每个大小为s×s。在这项工作中,我们将推文构造织为一个三维矩阵,以学习推文内部和推文之间的规律。CNN的输出通过注意层来学习基于内容的底层上下文特征表示 C u \mathcal{C}_u Cu

4.2.5 Low-level Attention

前面的小节已经介绍了如何学习不同的低级行为表示(细粒度特征)。然而,并不是特定行为表征的每个特征都同样重要。因此,作者使用注意力机制,根据特定行为表示的上下文重要性,为所有基本特征分配不同的权重。例如,用户 u u u的profile 向量 P u P_u Pu;如果一个特征 f ∈ P u f∈P_u fPu的隐藏状态表示是 h f h_f hf,那么它被传递给一个稠密层来学习它的隐藏表示hf’,如式9所示,其中 w w w b b b分别表示权重和偏差。然后,计算hf’和节点向量 v f v_f vf之间的相似性, v f v_f vf表示 f ∈ P u f∈P_u fPu的重要性。我们还可以用公式10计算 f f f的归一化重要性得分。特征级上下文向量 v f v_f vf随机初始化,并在训练过程[28]中共同学习。最后,对特定行为的注意力表示,比如profile文件,被学习并表示为 P u P_u Pu。它被计算为每个特征 f ∈ P f∈P fP的隐藏表示的加权和,如式11所示。类似地,计算 u u u的其余四个行为方面的注意力表示, T u D , T u P , A u \mathcal{T}_u^D, \mathcal{T}_u^P, \mathcal{A}_u TuD,TuP,Au C u \mathcal{C}_u Cu
image.png

4.3 User Representation Layer

本节首先结合上一节中学习的低级特征表示,如 B u = { P u , T u D , T u P , A u , C u } \mathcal{B}_u = \left\{\mathcal{P}_u, \mathcal{T}_u^D, \mathcal{T}_u^P, \mathcal{A}_u, \mathcal{C}_u\right\} Bu={Pu,TuD,TuP,Au,Cu}。为了给五个行为表示 B u c ∈ B u B_u^c \in B_u BucBu分配权重,还使用公式12和13应用组件级注意力机制,其中 v c v_c vc表示组件级上下文向量。最终 U u \mathcal{U}_u Uu表示为五个分量的加权和,如式14所示。
image.png

4.4 Output Layer (Bot Classification Layer)

U u \mathcal{U}_u Uu是从低级用户表示中学到的高级用户表示。最后,DeepSBD将 U u \mathcal{U}_u Uu通过一个稠密层(全连接层),然后使用softmax函数 u u u 分类为social bot或正常用户。

5 EXPERIMENTAL SETUP AND RESULTS

该论文做的实验较多(对比实验、样本比例、消融实验、训练时间),也有很多可以参考的地方

5.1 Dataset Preprocessing

(数据集说明、基本事实、参考文献)
自己的数据,需要基于基本事实(ground truth)自己打标签
我们通过五个由两个主要数据集构建的数据集来评估DeepSBD,其中一个是基准数据集,第二个是由我们生成的。基准数据集由[33](一篇综述)提供,包含4个数据集,即social spambots #1 (SD1), social spambots #2 (SD2), social spambots #3 (SD3), and genuine accounts (GD)。DeepSBD分别在三个社交机器人数据集上进行评估,以观察其对不同类型(三个社交机器人数据集对应三种类型的社交机器人)的社交机器人的有效性。我们还通过2016年1月6日至2016年2月2日在Twitter上的社交机器人注入实验构建了一个数据集。在我们早期的文章[34]中可以找到对实验过程和相应统计结果的详细描述。在实验中,有98个社交机器人,他们被2907个用户关注,这些用户由两类粉丝组成。第一类包括被社交机器人关注后又关注社交机器人的用户,而第二类包括主动与社交机器人建立联系的用户(即,他们首先关注社交机器人)。在这2907个用户中,分别有1248个和1659个与第一类和第二类用户相关。在本文中,我们只关注第二类,因为现有的方法只将第二类用户视为可能的机器人[35]。最后,我们选择了一组248个被Twitter暂停的用户作为第四个数据集SD4。现有的文献有三类方法来创建机器人的基本事实(打标签)。在第一类方法中,雇用turker使用基于某些行为特征的某些指南将配置文件手动标注为机器人或人类,就像提供基准数据集的作者所使用的那样。第二类方法创建蜜罐简介来吸引用户,并进一步将他们标记为机器人[35]。最后,第三类方法将profile文件标记为bot(如果由底层OSN[36]挂起)。基于第二种和第三种方法[35],[36],我们将SD4的248个用户标记为bots,因为这些用户首先与设计的socialbots建立连接(第二种方法),然后Twitter停止了这些用户的使用(第三种方法)。此外,为了评估DeepSBD对不同类型社交机器人的鲁棒性,我们将所有四个社交机器人数据集聚合在一起,创建第五个评估数据集SD5。我们之所以这样做,是因为现有的大多数机器人检测方法在检测特定类别的社交机器人时表现良好,但在检测其他类别的社交机器人时效果较差。在五个评估数据集中,我们从真实数据集GD中选择了负类用户(正常用户)。最终版本的评估数据集只包括那些拥有超过或等于100条推文的用户。在实验评估中,DeepSBD使用了每个用户的100条推文。表1展示了所有五个socialbot数据集和一个真实数据集的简要统计数据,其中原始列表示提供的数据集版本中的用户数量,最后一列表示用于评估的拥有超过100条推文的选定用户数量。
image.png

5.2 Training Details

训练细节(将模型框架放到具体代码实现上、参数、工具)
对于实验评估,我们使用80%的数据进行训练,剩余20%的数据用于验证。我们使用了一个两层的堆叠BiLSTM,每层有256个内存单元来学习个人信息文件、时间和基于活动的行为表示。此外,我们在前三层使用了六层CNN,其中256个大小为3×3的过滤器,然后使用大小为3×3的最大池化操作。在最后三层,使用另外256个大小为2×2的过滤器,然后使用大小为2×2的最大池化操作。在CNN中,我们执行类似于图像的2D操作,因为用户的tweet内容被映射到类似于图像表示的3D矩阵。内容的3D表示从tweet内部和tweet之间的表示中捕获了更好的隐藏特征。用户表示层连接到具有1024个神经元的密集层。对密集层进行0.5的dropout操作,以减少过拟合效应。稠密层之后是一个具有2个神经元的softmax层,并使用adam作为优化器。本文所介绍的所有实验都是在Intel Xeon处理器和64GB RAM的Linux机器上进行的。表2列出了建议模型中使用的参数。此外,DeepSBD是使用Python Keras实现的。
image.png

5.3 Performance Evaluation Results

(评估指标、baseline、评估结果)
我们使用四个标准指标,即检出率(DR)、精度(Pr)、F-Score (F1)和准确性(Acc),对五个社交机器人数据集进行了DeepSBD评估。表3的第一行展示了DeepSBD在所有五个数据集上的性能评估结果。从这个表中可以观察到,DeepSBD在所有数据集上始终表现出良好的性能,除了SD4。尽管DeepSBD在SD4上没有表现出明显的好表现,但在检测像SD4中出现的那种非常复杂的社交机器人方面,它仍然具有竞争力。从该表中还可以看出,DeepSBD在Pr方面,SD1数据集是最优的,达到100%。总体而言,DeepSBD在SD1数据集上,四个评估指标都是表现最优的,如表3第一行所示。
image.png

5.4 Comparative Performance Evaluation

别人的方法用上自己的数据,再做一遍实验?
对比实验(同类型的方法、比如基于深度学习)、消融实验(构造baseline)

5.4.1 Comparative Evaluation with Deep Learning-Based Approaches

本节介绍了DeepSBD与三种最先进的基于深度学习的方法[13],[14],[15]和三种baseline方法的性能比较。我们使用各自论文中指定的参数设置实现了三种基于深度学习的方法。在[13]中,Cai等人提出了DBDM,将用户的时间和文本信息联合建模,用于社交机器人检测。类似地,Ping等[15]提出了另一种基于深度学习的模型DeBD,通过基于用户的时间、文本和其他信息(如提及、标签和URL)对用户进行联合建模,用于社交机器人检测。这两种方法没有包含任何关于用户活动序列行为的信息。此外,他们没有考虑个人资料和推文间的时间行为来建模用户的自动化或社交机器人检测。在[14]中,Kudugunta等人提出了另一个基于深度神经网络的模型DNNBD,该模型仅使用个人资料信息和SMOTE进行社交机器人检测。此外,我们使用DeepSBD模型创建了三个baseline方法,基于排除不同的神经网络组件来观察它们对模型性能的影响。**这就像一个消融实验,观察不同组件对性能的影响。在消融实验中,将一个特征/特征向量/成分排除在分类模型之外,观察其对性能评估结果的影响。**在第一个baseline(baseline-1)中,我们使用LSTM代替没有注意力机制的BiLSTM。第二个baseline(baseline -2)采用带有注意力机制的LSTM。最后,第三条baseline(baseline -3)将注意力机制从DeepSBD中剔除,观察其对其性能的影响。
表3展示了DeepSBD与三种深度学习和三种baseline方法的比较结果。在这个表中,五个数据集的最佳性能以粗体显示。从这个表中可以观察到,除了四个实例外,DeepSBD在所有五个数据集上的四个评估指标都优于比较方法。在SD5时,DeepSBD分别在Pr和Acc方面表现较DBDM和baseline-3差。在DR和Pr方面,DeepSBD与基线-3和DNNBD相比,分别表现出较差的表现。在实验过程中,我们发现当相同的实验重复多次时,DNNBD模型在性能上高度不一致。因此,与DeepSBD相比,其他模型的平均评估结果明显较低。另一个有趣的观察是,在像SD2这样的大型数据集上,所有的方法都显示了相当的性能。在baseline方法中,可以观察到,在模型配置方面,baseline越接近DeepSBD(如baseline-2和baseline-3),其结果越接近DeepSBD。
比较这些baseline方法的结果发现,在排除注意力机制后,在SD1、SD2和SD5数据集中,对结果的影响最大。相比之下,在SD3和SD4数据集上,排除注意力机制以及用LSTM替代BiLSTM对性能的影响最大。在对所有评估结果进行批判性分析后,我们得出结论,现有方法的性能依赖于数据集,并且特定于社交机器人类别。
image.png

5.4.2 Comparative Evaluation with State-of-the-Art Tools

对比实验(基于特征工程的方法、目前表现最优的方法)
除了基于深度学习的模型,现有的文献还有各种最先进的基于特征工程和行为建模的方法,如BotOrNot[6]和DeBot[10],它们以API服务的形式展示了它们的方法。这两种方法都是社交机器人检测的著名方法。对于一个账户,BotOrNot会在0到5之间分配一个bot分数,而不是二分类。我们使用机器人得分4.0作为阈值,机器人得分大于这个值的用户被标记为机器人。相比之下,DeBot执行二元分类,将用户标记为社交机器人或真实用户。此外,我们验证了每个用户帐户的状态,以从四个社交媒体机器人数据集和一个真实数据集中过滤暂停和删除的帐户。这样做的目的是因为推特已经撤销了被暂停和删除的账户;因此,暴露的[6]和[10]的API无法验证其状态。我们没有评估这两种方法在SD5上的效果,因为它是所有四种类型社交机器人的集合。表4的第二、第三和第四列分别给出了三个socialbot数据集和一个真实数据集的用户帐户的原始用户数、暂停用户数或删除用户数以及活跃用户数的简要统计。我们不提供SD4的统计数据和结果,因为此数据集的所有用户都已被暂停。表4显示,来自SD1、SD2和SD3的大约70%、4%和18%的社交机器人已经被暂停使用。此外,我们验证已识别的活动帐户的状态,将其用户id传递给这两个方法的公开API。表4从 T P TP TP F N FN FN的角度给出了两种方法的检测结果。从该表的第五和第六列可以观察到,BotOrNot显示了相对的性能,并根据定义的阈值检测到大量的社交机器人。然而,与基于深度学习的方法相比,它仍然很低。相比之下,该表的第七和第八列显示DeBot未能完全检测到社交机器人。然而,在这一点上,我们不能把DeBot的糟糕结果归咎于理论基础。我们还在表4的最后一行中展示了针对真正用户的结果。
image.png

5.4.3 Comparative Evaluation with State-of-the-Art Feature Engineering-Based Approaches

对比试验(构造特征工程的方法)
现有的文献有很多方法,它们使用不同类别的信息来提取手动构造的特征来学习分类模型。[8]和[18]的作者还使用了个人资料、内容和基于交互的手动构造的特征来检测社交机器人。攻击者绕过像[8]和[18]这样的特征工程方法,通过根据设计的特征操纵他们的行为。尽管DeepSBD使用一组给定的信息以及其他信息来建模用户的自动化和可疑行为,但它不使用任何手动特征工程过程。DeepSBD使用个人资料、内容、时间和活动信息来观察来自用户活动各个方面的自动化线索,以监控不同类型的社交机器人。我们实现了[8]和[18],并训练了朴素贝叶斯、决策树和随机森林分类模型。表6给出了四个数据集SD1、SD2、SD3和SD5的底层评估结果。我们没有对SD4进行实验评估,因为这个数据集中缺少大多数所需特征的值。由于Twitter已经暂停了SD4的社交机器人账号,我们无法提取缺失的信息。从本表可以看出,除一个实例外,DeepSBD在所有数据集上的表现都优于[8]和[18]。
image.png

5.5 Results on Different Ratio of Socialbots and Benign Users

对比实验(不同机器人和正常用户比例下的结果)
表1显示,在所有五个数据集中,社交机器人和正常用户的比例并不平衡。例如,在SD1中,社交机器人和正常用户的比例约为1:2,而在SD4中则接近1:8。此外,在像Twitter和Facebook这样OSN中,社交机器人的比例通常比正常用户低。在一项研究中,Varol等人估计大约9%到15%的Twitter账户是机器人。因此,为了考察DeepSBD在real-network like情况下的有效性,本节给出了不同比例的socialbots与真实用户(1:1,1:2,1:5)的评估结果。我们对这三个比例的数据集进行了重复的实验评价,分别从DR、Pr和F1三个方面观察了各自的评价结果。用户比例为1:1的数据集具有相同数量的社交机器人和正常用户,而比例为1:2的数据集对于每个社交机器人具有两个正常用户。评价结果见表5。在调查中,我们观察到DeepSBD的性能受到社交机器人和良性用户比例的不利影响,但并不显著。表5显示,当我们增加所有五个数据集的社交机器人和良性用户的比例(即真正用户的数量增加)时,DeepSBD的性能下降,并且在SD4的情况下是显著的。基于这些分析,我们得出结论,不平衡的数据集会对社交机器人检测方法的性能产生不利影响。
image.png

5.6 Behavior Ablation Analysis

消融实验(研究各维度/方面特征的重要性)
本节使用行为消融分析评估五个行为特征表示中的每一个的贡献。为了观察特定行为的影响,将其潜在的行为向量从模型中排除,各自的结果代表行为的影响。例如,为了考察profile特征的影响,将其特征向量从模型中剔除,观察修改后模型的性能,如表7第三行所示。对所有行为特征向量进行相似实验,观察其对模型性能的影响。行为消融分析结果如表7所示。在该表中,对性能影响最大的行为组件对应的评估结果以粗体显示。可以看出,profile特征对SD4的判别能力最强,对其余数据集的判别能力中等。同样,content特征对SD3和SD5表现出较好的判别能力,对其余数据集影响较小。同样,周期时间行为在不同的数据集上也表现出良好和适度的性能。在五个行为成分中,日行为对DeepSBD表现的影响最小。从这一分析中,一个有趣的观察是,**不同的行为成分在不同的数据集上表现出不同的性能,强调了使用不同的行为特征进行社交机器人检测的重要性,**这是现有行为建模和基于深度学习的方法的局限性。它还认可了这样一个事实,即社交机器人出于不同的原因被注入到OSN中,因此它们的操作行为和其他特征是由它们的botmaster设计的。因此,使用一组全面的行为特征表示来建模不同类别的社交机器人是必要和有效的,这是DeepSBD模型的优势之一。
image.png

5.7 Training Time Analysis

训练时间分析
本节将研究DeepSBD和现有基于深度学习的社交机器人检测方法的训练时间成本/epoch(以秒为单位)。表8给出了基本的评估结果。从该表可以看出,DeepSBD和DBDM的训练时间成本是相当的。此外,这两种方法在f1得分和准确性方面都是表现最好的方法。DNNBD计算速度快,训练时间成本/周期更小,因为它使用一小组配置文件属性来训练模型。但DNNBD不稳定,评价结果较差。虽然DeepSBD速度相对较慢,但在GPU和TPU时代,这样小的计算成本差异并不是问题。然而,在准确性方面,DeepSBD比SOTA深度学习、特征工程和基于行为建模的方法表现得更好。因此,从准确性和计算效率两方面考虑,DeepSBD更好。
image.png

6 CONCLUSION AND FUTURE WORK

总结里就不需要背景了,直接先说本文贡献)本文提出了一种基于深度神经网络的模型DeepSBD,用于检测Twitter上的社交机器人。(介绍该方法,以及做法)这是一个注意力感知的深度神经网络模型,它使用五种行为表征联合集成了来自四个方面的信息。与现有的仅利用一种或两种行为的方法不同,(创新之处DeepSBD是第一个使用一组全面(何为全面?)的个人资料和行为信息对用户表示进行建模的深度学习方法。因为社交机器人存在于在线社交媒体中,具有不同的目标,因此它们表现出不同的行为模式。(再次总结做法)DeepSBD使用CNN和BiLSTM架构联合建模用户行为。它将配置文件、时间和活动信息建模为序列,并将其馈送到两层堆叠的BiLSTM,而内容信息则提供给深度CNN。(实验评估及结果)DeepSBD通过五个真实的数据集进行评估,与现有最先进的深度学习、特征工程和基于行为建模的方法相比,其表现更好。(未来展望)将DeepSBD扩展到其他社交媒体平台,并为学术和研究用途开发其API是未来潜在的研究方向。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值