杨晓晖,王卫宾
(河北大学 网络空间安全与计算机学院,河北 保定 071002)
随着互联网技术的飞速发展,网络空间已成为当今世界一个新型的工作和生活空间,其中微博、Twitter等社交媒体成为互联网信息分享的重要方式[1].然而,由于社交媒体开放性和虚拟性等特点,同时蕴含的广泛商业价值以及用户隐私信息,使其面临着垃圾用户泛滥的问题.垃圾用户是指具有某种恶意目的,长期从事在社交媒体发布、传播垃圾信息的用户,如散布谣言、推送广告、网络钓鱼、传播病毒软件、损坏他人信誉等[2],这些行为对社交媒体的蓬勃发展和用户体验带来负面影响,因此检测垃圾用户成为维护社交媒体安全不可忽视的一部分.
早期研究主要基于用户的垃圾用户检测方法展开,研究者花费大量专家知识对用户信息进行特征提取.张宇翔等[3]将特征选择方法与分类器组合实验验证了特征选择对于垃圾用户检测具有更加重要的作用.Zheng等[4]提取用户行为和帖子内容特征,利用支持向量机(support vector machine,SVM)分类模型实现了垃圾用户的检测.Song等[5]监督用户传送消息的行为踪迹,提取与接收用户之间通信的距离和连通性等特征来进行垃圾用户检测.Hao等[6]提出半监督线索融合方法,通过线性加权函数融合内容、行为、关系等特征识别垃圾用户.梁笑等[7]提出基于社区的双向连接率、集群稀疏等特征,构建基于线性加权函数的融合决策模型检测垃圾用户.Dou等[8]为了应对垃圾用户复杂的行为策略,采取博弈论模型和强化学习算法,学习针对各种垃圾邮件策略的检测模型.然而,随着垃圾用户不断改变自己的行为策略,基于用户的垃圾用户检测方法需要人工设计特征,鲁棒性较差,在通用性和扩展性上存在一定的缺陷.
近年来,基于网络的垃圾用户检测方法成为主流研究方向,通过建模网络拓扑结构,挖掘用户丰富的语义和结构信息,提升垃圾用户检测的性能.Wu等[9]挖掘垃圾用户不同的邻居关系,在传统分类器上引入社会关系正则式,提高了检测的准确率.Yu等[10]提出半监督矩阵分解模型,利用内容矩阵、社会关系矩阵对垃圾用户进行过滤.Li等[11]利用网络表示方法学习用户低维网络特征,提出了基于多视图数据融合(SSDMV)的半监督深度学习垃圾用户检测模型.宋畅等[12]为了利用不同好友关系的影响力变化,采用马尔科夫随机场模型计算每个用户的可疑程度.图神经网络(graph neural network,GNN)由于其强大的表示能力[13-14],为垃圾用户检测提出新思路.Wu等[15]采用标签传播思想构建判别模型,结合马尔科夫随机场的图神经网络算法捕捉用户关系异常检测垃圾用户.尽管如此,现有方法将社交媒体建模为同质信息网络,仅选取相同类型对象之间简单的社会关系,并未区分对象及其之间关系的异质性,导致一定的信息丢失,限制了垃圾用户检测的性能.
为了解决上述方法中存在的不足,本文提出一种基于层次注意力机制的垃圾用户检测模型.利用社交媒体丰富的社会关系建模异质信息网络,利用层次注意力学习不同节点级邻居和语义级元路径的重要性,以得到更加全面的节点表示用于垃圾用户检测任务中.
a.节点类型;b.异质信息网络;c.基于元路径邻居
(1)
其中,u是一个通过元路径Mi获得的邻居.
基于层次注意力机制的垃圾用户检测模型(Spammer detection model based on hierarchical attention mechanism, HAM-SD),如图2所示,主要包括4个部分:节点级注意力层,自适应层级聚合模块,语义级注意力层和分类检测模块.节点级注意力层以目标节点和元路径邻居间的相似程度加权聚合得到节点表示;自适应层级聚合模块计算多个隐层的注意力权重以加权层级聚合形式得到自适应节点表示;语义级注意力层融合多个元路径下的节点表示得到更加全面的节点特征表示;最后带入分类检测模块进行垃圾用户检测识别.
a.节点级注意力层;b.自适应层级聚合模块;c.语义级注意力层;d.分类检测模块
构建好异质信息网络并获得不同元路径的邻居集合之后,可以通过聚合元路径邻居信息学习节点表示.为了在聚合邻居节点信息的同时,能够考虑与邻居之间存在的不同影响力,利用注意力机制计算目标节点与元路径邻居的注意力权重.具体而言,给定一个元路径Mi,首先计算目标节点与元路径邻居节点间的注意力系数
(2)
(3)
(4)
由于不同网络区域的结构差异,节点往往存在着不同的影响邻域范围.为了聚合来自更广泛的邻居节点信息,最简单的方法是堆叠多个节点级注意力层.然而,选择固定的影响邻域范围不能得到最优的节点表示,大半径可能导致信息过多的平均,而小半径可能导致信息聚合不足[18].基于此,本文提出了自适应层级聚合模块,自动学习不同节点的有效邻域范围进行聚合.
图3 展开的Bi-LSTM网络结构
(5)
(6)
其中,LSTM(·)表示长短期记忆网络.根据Bi-LSTM输出计算得到节点不同层的注意力权重
(7)
其中,bi∈2d是可学习的注意力向量.最后,定义自适应层级聚合函数AGGlayer融合各层的隐层特征表示生成该元路径下的节点表示
(8)
(9)
其中,q∈d表示可学习的注意力向量,tanh(·)是激活函数,W和b表示可训练参数,V为节点集合,|V|表示节点的数量.然后通过softmax归一化得到注意力权重
(10)
最后,定义语义级聚合函数AGGpath将所有元路径下的节点表示通过注意力权重加权求和生成最终的节点表示
(11)
基于网络的垃圾用户检测可以看作节点分类任务,本节主要讨论如何使用得到的节点表示进行分类.具体而言,将得到的节点表示作为全连接层的输入,利用softmax激活函数得到预测结果
(12)
(13)
其中,θ表示模型的参数.在标签数据的指导下,通过反向传播对模型进行优化.
1)实验数据
本文采用2组公开数据集进行实验:Twitter数据集[11]和Weibo数据集[9],其中,Twitter数据集包含有社交媒体用户的属性信息、内容信息以及社会关系信息.经过仔细评估并进行人工标注,从中挑选了2 060名被标注为垃圾用户以及2 000名被标注为正常用户.Weibo数据集共有5 000名社交媒体用户,包括用户的属性、内容以及关注关系信息,其中有1 496名用户被列为垃圾用户,为了能够在平衡数据分布下进行实验,从正常用户中随机挑选了1 500名用户数据信息.在本文数据集中,正样本定义为垃圾用户,负样本定义为正常用户,其信息简要介绍如表1.
表1 数据集统计信息
2)对比方法
为了证明本文提出的基于层次注意力机制的垃圾用户检测模型的有效性,将所提模型和一些基线方法进行了比较.由于本文基于图神经网络的检测模型,因此将2种经典的图神经网络模型也作为对比方法.详细介绍如下:
SVM[4]:提取行为、内容、网络等统计特征的支持向量机检测方法.
LR[5]:提取交互的距离和连通性等特征的逻辑回归检测方法.
SSCD[9]:基于社交媒体交互关系的垃圾用户和垃圾信息联合检测方法.
SSDMV[11]:基于多视图数据融合的半监督深度学习垃圾用户检测模型.
GCN[13][15]:考虑同质信息网络上平均聚合形式的图卷积网络检测方法.这里对所有元路径的检测并报告最佳结果.
GAT[14]:考虑同质信息网络上注意力机制的图注意力网络检测方法.这里对所有元路径的检测并报告最佳结果.
本文提出的模型基于Pytorch框架实现,节点的特征向量维度设置为64,节点级注意力层个数设置为4,使用Adam优化算法进行更新优化,学习率设为0.01,Dropout的丢弃率设为0.3以防止模型过拟合,模型训练迭代次数设为200.
3)性能评估
区分用户是正常用户还是垃圾用户的本质是一个二元分类问题,其中标签为1的样本是正样本,标签为0的样本是负样本.在这项研究中,将正样本定义为垃圾用户,负样本定义为正常用户.采用垃圾用户检测任务中常见分类评估指标:精确率(Precision,Pre)、召回率(Recall,Rec)以及综合评估指标F1值.计算公式如下:
(14)
(15)
(16)
在实验过程中,将数据集分为训练部分和测试部分.利用训练数据对所有方法进行训练,并根据上述评估指标在测试数据上评估它们的性能.表2、表3给出了文中所述方法和基线方法的对比结果.
表2 Twitter数据集的实验结果
表3 Weibo数据集的实验结果
分析表2、表3中的实验结果可知,本文提出的方法在精确率、召回率和综合评价指标F1值上均为最优,且较基线方法有较大的优势.基于机器学习的检测方法性能低于其他方法,说明低级特征无法获得充足的表征来识别垃圾用户.基于传统网络模型的垃圾用户检测方法,由于邻接关系稀疏性,无法获得充分的结构特征,导致检测性能存在局限性.图神经网络GCN、GAT的检测性能进一步得到提升,其综合考虑了用户属性和网络拓扑结构信息,但由于将社交媒体建模为同质信息网络,缺乏对不同类型对象的复杂社会关系的考虑,因而造成一定的信息损失.与基于同质信息网络上的图神经网络相比,本文提出考虑了不同语义的元路径邻居信息,从而能够有效利用全面的结构和丰富的语义信息进行更精准的用户表示,使得垃圾用户检测性能提升明显.综上所述,实验证明本文提出的基于层级注意力机制的垃圾用户检测模型能够对垃圾用户进行有效检测,且与之前的方法对比拥有更好的性能表现.
在垃圾用户检测任务中,垃圾用户往往远少于正常用户,会造成数据的不平衡分布.为了验证该模型的稳定性,本文在Twitter数据集上进行了稳定性实验.具体方法是按照一定的比例(1∶1,1∶2,1∶5,1∶10)随机采样垃圾用户和正常用户构造稳定性实验的实验数据.为了更直观地进行对比,本文使用F1值作为实验的评价指标,结果见表4.
分析表4可知,随着实验数据中垃圾用户比例的降低,各个方法的F1值也会随之降低.基于用户的垃圾用户检测方法与基于网络的方法相比F1值下降最快,这是由于这种方法验证依赖先验知识的引入,缺乏对网络结构特征的有效利用,得到的用户表示不够全面.在基于网络的垃圾用户检测方法中,基于同质信息网络的检测方法只是简单考虑了单一社会关系,无法学习到社交媒体中用户复杂的社会关系.本文提出的模型将社交媒体建模为异质信息网络,能够学习复杂的网络结构特征,以得到全面的用户表示,在处理不平衡数据集时的性能表现更加稳定.
表4 不平衡数据集上的实验结果
本文一个主要贡献是基于层次注意力机制学习邻居节点和元路径的重要性.为评估不同模块对所提模型的性能影响,文中进行了消融实验测试.分别移除其中一个模块,观察结果的变化情况,其中,Ⅰ表示移除自适应层级聚合模块,设置2层的图神经网络层;Ⅱ表示移除节点级注意力层,设置相同的注意力权重来聚合邻居信息;Ⅲ表示移除语义级注意力层,实验结果取2个元路径特征学习的较大值.在Twitter数据集上进行比较,结果如图4所示.分析图4可知,通过与3个变体方法的比较,移除自适应层级聚合模块和移除语义级注意力层对应的方法性能有一定的下降,这说明了对所有用户捕获相同有效邻域范围无法获得自适应目标用户的结构信息,会导致检测性能的下降.此外,不同的元路径代表了不同的社会关系,对垃圾用户检测的贡献也不同,不能一视同仁.移除节点级注意力层的方法性能最差,这是由于邻居用户存在噪声信息,每个用户倾向于对基于元路径邻居用户赋予不同的重要性,忽略这些影响可能无法充分利用属性和结构信息.本文提出的完整模型性能最好,说明利用层级注意力机制能够有效利用不同邻居和元路径的重要性,能够自适应地聚合目标用户的有效邻域范围,以更好地学习社交媒体中复杂的网络结构特征来实现垃圾用户检测任务.
图4 消融实验结果
本文提出了基于层次注意力机制的垃圾用户检测模型,将社交媒体建模为异质信息网络,捕获丰富的语义和结构信息.利用注意力机制学习节点级和语义级信息的重要性,同时自适应聚合节点的有效邻域范围,采取层次加权聚合的方法学习全面的节点表示实现垃圾用户检测.大量实验证明该模型在检测性能上具有显著优势,同时在处理不平衡数据分布时具有一定的稳定性.目前论文只是通过专家知识选定了2条元路径信息,未能充分考虑垃圾用户检测问题中其他有利的元路径信息,下一步可以扩展更多的社会关系,从而使算法具有更强的应用能力.