Who is Tweeting on Twitter: Human, Bot, or Cyborg?
1. 研究问题
本论文通过对社交软件Twitter进行大规模测量,差异化Twitter用户的自动化特征,并且将用户分为三类 :人、机器人和半机器人,并发现三者在微博行为,微博内容和帐户属性方面的差异。基于该测量的结果,提出了一种分类系统,该系统包括以下四个部分:
(1)一个基于熵的组分
(2)一个基于机器学习的组件。
(3)一个帐户属性组件。
(4)一个决策器。
它使用从未知用户提取的特征的线性组合来确定作为人,机器人或半机器人的可能性,最后经过实验评估证明了所提出的分类系统的功效。
2. 攻击类型
针对Twitter用户关注内容的自动化攻击方式可分为以下几种:
(1)缺乏智能或原创的微博转发
机器人或半机器人发布的微博一般缺少智能性和原创性,内容上完全转发他人微博或者发布缺乏原创性的格言、笑话。
(2)自动化更新微博
比如定期更新博客目录或RSS订阅源。
(3)垃圾广告或恶意URL注入
机器人用户在微博内容或用户资料中会植入大量的垃圾广告或恶意URL链接,进行营销推广、盗用用户信息等用途。
(4)重复发布微博
(5)发布与微博内容无关的URL
例如,重定向的网页的主题与鸣叫描述不符。
3. 检测方法
论文首先对人与机器用户的行为特征进行差异化分析,之后提取对最终决策结果影响权重最大的3个特征,识别用户类别,实现分类系统,并使用测试集验证分类系统的准确度。
3.1 特征分析
(1)统计一个用户总微博数。
半机器人账号通常比正常人和机器人发布更多的微博,原因是它是组合体。机器人发布微博最少,原因是它只是在某一**时间段发布微博比人多,它通常会有一个冬眠期(可能被官网封号,也可能是处于孵化期,能被**产生更多的机器账号军团)。大部分半机器人是有公司或网站注册的来作为一种新的媒体渠道和售后服务。相当大一部分微博是有辅助工具自动发布或转发的。这些账号还由员工来维护时不时的和消费者互动。
(2)粉丝关注比
对于Twitter用户来说,粉丝数和关注数存在3种情况:粉丝明显比关注多;关注比粉丝多;前两种情况的结合,即呈现基本对等的情况。下面分别就人类和机器账号进行简要描述:
a)人类:大部分账号属于第3种情况。这符合:人类关系在社交网络中是典型的相互作用或互惠。不少一部分属于第1种情况,这些账号通常是明星或著名组织机构。
b)机器账号类:很多账号属于第2种情况。莫名其妙的微博使得机器人账号在人群中并不受欢迎。但有一些机器账号属于第3种情况,粉丝数和关注数差不多。原因是:官网对粉丝关注比有一个限制,一些高级机器账号会对那些在一定时间内,没有回粉的账号取消关注,这类账号狡猾的使得粉丝关注比接近第1种情况。
(3)用户访问模式
(4)微博发布设备
发布设备分为四类:Web;手机;注册的第三方应用程序。从应用角度可以进一步分类:网站集成器;浏览器扩展;桌面客户端;RSS feeds/blog小工具; APIs,那些没有注册或被颁发证书的第三方应用。
(5)用户资料或微博出现URL频率
一个垃圾信息微博通常会有一个诱人的标题并附带一个额外的URL。正常用户主要使用文字而不是URL。
(6)隐私和身份保护
官网提供一种保护选择,但默认不打开,任何人都可以访问你的主页。论文爬取的50万用户中只有4.9%的人是受保护用户,1.8%的用户是认证用户。
3.2 分类方法
分类系统的组成如图所示,其基于3个组件产生的特征的线性组合,最终交由决策器将一个未知用户分类到人、机器或半机器。各部分组件功能如下:
信息熵:用修正的有条件的信息熵来检测消息发布的周期或定期的时间。
机器学习:用不同的贝叶斯定理的分类算法来检测已知垃圾信息的文本模式。
账号属性:用相关属性使机器账号离开正常账号的分布。
决策器:用LDA线性判别分析分析已经被其他三个组件鉴别的特征并且做出决定。
(1)信息熵
信息熵是指用修正的有条件的信息熵来检测消息发布的周期或定期的时间。信息熵组件计算用户微博之间的间隔的信息熵(和修正条件熵)。信息熵组件仅仅处理拥有100条微博以上的日志。这个限制帮助减少检测自动性的噪音。较低的信息熵表明周期性或定期的微博行为,是自动性的迹象;相反信息熵越高说明是人类活动的迹象。
(2)机器学习
垃圾信息模式的出现就表明自动化或机器化。因为微博是文本,判断他们的内容是否为垃圾信息可以归结为一个文本分类问题。贝叶斯分类器在文本分类中非常有效,尤其是对垃圾邮件检测,所以我们用贝叶斯分类来作为该系统的机器学习文本分类组件。判断一条消息是否属于某一类比如垃圾消息,可以基于它的内容计算相应的概率P(C = spam|M),M为消息内容,C为类别。如果概率大于某一阈值则可认为消息属于这一类。
机器学习组件基于它所学习的文本模式判断微博内容是否是垃圾信息。垃圾信息的内容特征值被设置为-1,正常设置为1。
(3)账户属性
除了微博发布时间间隔和微博内容,账号属性对用户分类也很重要。账户属性包含如下:
a)URL出现频率:机器97%,人小于29%。
b)发布设备:70%人用Web,87%机器用API和其他自动程序。
c)粉丝关注比。
d)链接安全性。
e)是否认证。
f)注册日期:94.8%的机器号注册在2009年。
分类系统为每个属性产生一个实际数值类型值。
(4)决策器
给定一个未知的用户,决策者使用的功能确定由上述三个组成部分,以确定是否是人类、机器人或是半机器人。它是建立在线性判别分析(LDA)基础上的。
LDA是一种统计方法,用它来判断从多元类的样本中辨别出来的特征的线性组合。通俗讲就是用特征来识别类。它与方差分析和回归分析很像,但最大区别在LDA有一个重要的假设,独立的变量是正常的分布式,换句话说就是,变量代表一个来自多元正态分布的样本。该实例是一个多元类LDA,多元类LDA步骤如下:
a)需要一个训练集和一个测试集,且两者互不重合。
机器学习组件在垃圾信息和非垃圾信息数据集上训练。
垃圾信息数据集包含垃圾信息和附带的URL,这在真实数据集被创建时被检测到。一些高级垃圾信息机器人故意添加一些非垃圾信息(比如不带URL的纯文本格式的人生格言)来混淆人类用户。因此我们不用这样模棱两可的不带URL的微博。
非垃圾信息数据集包括人类的微博和半机人的不带URL的微博。大部分正常人用户不会发布垃圾微博。对于带链接的半机器人微博,如果不检测它的链接页面很难被辨别出来,这些微博可能是垃圾微博也可能不是垃圾微博。所以我们的训练集也不用这类微博。用最新的垃圾微博(信息)文本模式训练组件将有助于提高系统准确性。
b)判别模型是用有效的特征来识别类。在模型创建中,选择特征和设定权值是两项重要的任务。
决策器被训练用来确定用于分类的不同特征的权值。我们用Statistica——一个统计分析工具来计算特征权值。更具体讲,特征的值的数据表和训练集中的实际用户分类都被输入到分类器。为了实现最大准确性,LDA将产生一个权重表。换句话说,它包含尽可能多的用户,这些用户被分的类和实际类相匹配。决策器使用这些权重来进行用户分类。权值越大,分类的相应特征的独特贡献就越大。
表2显示了信息熵、URL出现率和手动/自动设备使用比例对分类器而言都是很重要的特征。只有那些统计上显著的特征才被用到分类器上,那些不显著的应忽略掉。因此,一些被账号属性组件所收集的特征包含粉丝关注比、链接安全性、账号认证性和注册日期都从分类器中剔除。
简单解释一下粉丝关注比、链接安全性、账号认证性和注册日期这几个属性在实际分类中为什么没有想象的那样重要。机器账号的关注比粉丝要多,因此粉丝关注比就要小于1,无论如何,现在出现了更先进的机器账号,他们对那些没有关注他们的账号会取消关注从而保证粉丝关注比维持在1左右。这个策略使得粉丝关注比特征不在那么有帮助。大部分垃圾信息机器账号,发布垃圾信息连接而不是钓鱼网站或恶意链接(这两个特征本来是安全链接检测的主要目标),因此链接安全性又去它的统计分析上的不重要性从而导致在LDA中有着很小的比重。相似的,用户认证性由于认证的用户很少,所以也是很小的权重。只有1.8%用户有认证。由于注册时间在机器账号,半机器账号和人之间存在重叠所以对分类也没有帮助了。
c)用测试集来验证该模型的分类准确度
创建一个每个类有一千个用户的测试集,不与训练集有重复用户。
4. 结果分析
该论文进一步使用分类系统自动分类整个数据集的超过500000个用户,可以推测目前的用户组成,根据分类结果的基础上的推特的用户群。Twitter将有48.7%的用户为37.5%人,是13.8%为BOT。
该分类系统有两个关键的特性使得机器规避变得困难。第一个是发布设备组成,即对应手工活自动设备所占比例。第二个是URL比率。较高的URL出现频率确实是一个有效的用于及其检测的度量标准。
但是,该系统的缺点在于抵抗逃避能力有限。机器账号可能进行欺骗行为,比如前面提到的粉丝关注比。