摘要
本文展示了一个高效机器人检测系统,通过分析账号的行为并使用数字DNA技术来建模社交网络用户的行为。是收到生物学的启发,数字DNA能够用一系列编码的字符能够表示账号的行为生命周期。设计来社交指纹技术,能够通过监督或者无监督的方法识别人类和机器人账户。同时也与最先进的检测方法进行了对比。最后我们的方法能够用现有的DNA分析技术分析用户的行为,并且高效的依赖有限的依赖用户账户的数目。
介绍及本文的贡献
- 提出了一个新奇,简单,高效的方法建模用户的行为,并且进行社交机器人行为检测。行为通过数字DNA进行建模。从社交网络用户中的行为提取并分析数字DNA的序列,使用推特作为评估我们提出方法的标准。
- 机器人检测:我们进行了实验来证明如何应用我们的社交指纹方法来分辨一个未知数据集中的真实用户还是机器人账户
- 柔韧性和适应性:虽然推特社交机器人检测是用在一个特定社交网络上,但是我们提出的方法是一个平台无关的方法。
相关工作--对比与其他方法
- 我们考虑单一维度来进行社交账号检测:数字DNA编码来的用户的行为
- 我们不考虑社交图属性,显著来降低收集数据的成本
- DNA建模的方法主要关注与动作行为序列,由各种长度的序列组成。
推特数据集
特别来说,我们收集了数月的数据,主要收集了人类账号,和两组不同种类的机器人。
- 第一个机器人数据集通过在2014年在罗马的马里兰选举的时候收集的一组社交机器人。有1000个自动账户推送选举政策。惊人的是这些自动账号,在很多方面与人类账号相似。
-
第二个数据集是在意大利的时候,在亚马逊平台上发现一组机器人时长散布广告信息。
将第一个数据集叫做Bot1将第二个数据集叫做Bot2。
这两个数据集中的账号几乎都表现出和人类账号一致的行为和内容,所以爬取了这两组账号的推特数据。对于收集的数据集中的3474个用户回答了我们向他们提出的问题,被标记为人类。对于数据集中所有的4929个账户都爬取了他们推特内容来收集行为数据,同时也收集了直接追随者和朋友,以及他们推特的互动信息。
数据集统计表
数字DNA
与生物DNA有碱基(A,C,G,T)一样,本文使用DNA来建模社交网络的用户和交互行为。如发推,回复,追随账户,都可以不同的符号编码,用户的动作就代表了本人数字DNA序列的基元。
数字DNA序列的定义以及在推特上的应用
-
数字DNA的基元如上述公式,每一个都叫做dna序列的基元。基元数目等于B的数目。
数字DNA序列向量表示 -
一个数字DNA序列可以表示为一个有序远足或者一个行向量,每个元素都是一个基元组成。
本文DNA基元定义
本文DNA序列表示 -
本文中主要用的方法只定义了三个基元A对应发推,C对应回复,T对应转推。所以一个可能的DNA序列可以被表示成如上。
其他DNA基元表示例子 - 除本文使用的基元表示方法外也可以有其他表示方式。
LCS测量数字DNA序列的相似性
单个数据建模的DNA序列只能对用户进行建模,只有用一组DNA数据才能根据相似性进行分析。一组数字dna序列可以用一个列数不定的矩阵来表示。
本文中对数字DNA使用最长相同子串的技术来分析DNA序列的相似性。直觉上,共享长行为模式的用户比那些共享短行为模式的用户更相似。拓展版的k通用子串问题可以将通用子串画成LCS曲线图。涂上的没一点都代表有k个账户分享这最长字符串子集。这是一个单调递减函数。并且能够在图上看出来。
用LCS曲线描述账户DNA特征
可以看出机器人账户的LCS曲线随着账户数目的增长,最长相同自串长度依然很长。而且当长度接近于组的大小,LCS曲线将会迎来一个陡然的下降。这种差异表明但虽然机器人比较复杂,但是仍然能够用DNA分析的方式揭示机器人的自动化行为。
lCS刻画的异构用户组
将Bot1和Bot2数据集的机器人用相同数量的人类账号混合成mix1和mix2数据集。并可话LCS曲线,能够看到混合起来的数据集也有陡峭的下降点。能够看出LCS能够刻画未知的异构用户组,并且能够用一个或者多个平原来代表一致用户的子组。陡峭的下井能够明显的区分子组,而缓慢或逐渐的下降代表一个不确定区域。
社交指纹:使用lCS曲线检测社交机器人
讨论了两种犯法来切分Mix1和mix2中的不同账户。本文定一个来一个有监督和一个无监督的犯法,展示了检测机制的有效性。定义分享长共享模式的为机器人,定义共享短行为模式的为人类账号。
使用监督学习寻找相似用户的子组
定义了一个方法联合了LCS曲线和训练集中用户标签作为监督方法来检测用户子组。
理论上说,任何一个异质用户组的LCS曲线上任何一点都能够用作分割点来划分用户,但是不是所有的可能点都能够划分出精确的子组划分,所以使用给定的标签用训练集找到一个最佳的子组划分。使用ROC曲线和MCC评价指标找到最佳划分阈值,用来分类测试数据,即根据指标的得分数,不断修改分类阈值。两个数据集都是50%分别作为选联机和测试集,寻找MCC指数最佳的划分阈值。最佳阈值已经用蓝线在图中标出。当然使用监督学习方式,不能保证在测试其他测试集的时候也有很好的效果,于是引出了无监督学习。
寻找无监督学习方法来分类相似用户
接下来,我们讨论一个无监督的方法,利用先前的发现来利用LCS曲线来寻找具有相似行为的子组。这个方法适用广泛,LCS曲线出现的陡然下降代表了一个合适的点,可以将用户划分为不同的子组。所拥有合适的划分点可以根据对应的导数值的排名,从大到小。将导数的锋锐程度做一个排名,将用户以树形结构进行划分。如果LCS能够显示出现多重平原和陡峭跌落的情况下,可以用来找到最佳的划分点,对用户进行划分。导数计算公式如下:
由于LCS曲线是一个单调不增加函数,而且都是小于等于0的值。所以对应的陡然下降是负锐锋值。使用简单的方法即可检测,多选几个切分点就是类似一个无监督学习的范式。而且不需要训练阶段。(所以导致一个泛化性较低的缺点)同时对导数曲线首先做了一个滤波处理,让曲线更加平滑,也做了一个取绝对值再取对数的操作,使得峰值较为明显。如图:
根据上图就可以找到将整个群体分为两簇的划分点。左侧账号共享长行为模式,判定为机器人簇,右侧账号没有共享的长行为模式,判定为人类账号簇。
使用F-score和MCC等评价指标对两种方法以及已有方法进行评估对比
对比结果如上,无监督的方法在样本较少的时候可靠性更高,而监督方法普遍效果不错。所以可以考虑联合有监督和无监督的方法联合检测。
讨论
检测新型机器人
虽然新型机器人能够表现出一定程度的复杂性,但是行为历史依然保存着,所以一定程度上可以检测
复杂性
几乎都是线性增长,所以复杂性可以接受。
多维数字DNA
本方法只刻画了账号的一部分行为,其实也可以选择其他DNA基元来刻画其他行为,弄成多投票器。
与逃避检测技术的对抗
对建模对行为使用蒙特卡洛方法进行随机打乱,发现人类账号和机器人账号还是能够清晰对分辨出来。
总结
- 提出了一个新奇的行为建模检测方法
- 提出了数字DNA行为建模技术
- 验证了猜想:即使机器人变的更加复杂,依然可以从行为上对机器人进行分析。
总结自--Cresci等, 《Social Fingerprinting》.