英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
社交网络中的水军检测
摘要 社交网络已经成为互联网用户在线交流和互动的一种非常流行的方式。用户花大量时间在著名的社交网络(如Facebook、Twitter、新浪微博等)、阅读新闻、讨论事件和发布消息。不幸的是,这种流行也吸引了大量的网络水军,他们持续的恶意行为(例如,包含商业URL的邮件、跟踪大量用户等),导致了大众对社交平台的误解进而导致社交活动的不便。针对网络水军检测问题,本文提出一种基于监督学习算法的解决方案。工作的主要步骤是:首先,收集一个来自新浪微博的数据集,用户有30116人,短信量超过1600万条。其次,构建一个有标记的用户数据集,并手动将用户分为网络水军和正常用户。然后,从消息内容和用户的社交行为中提取一组特征,并将其应用到基于支持向量机的网络水军检测算法中。实验表明,该方案能够提供良好的性能,网络水军和正常用户的真阳性率分别达到99.1%和99.9%。
1.引言
在过去的几年里,诸如Facebook、Twitter、微博等在线社交网络已经成为网民与朋友保持联系的主要方式之一[1-3]。据Statista报告[4]显示,截至2013年底,社交网络用户数已达16.1亿,预计到2017年底,全球社交网络用户数约为23.3亿。
然而,伴随着巨大的技术和商业成功,社交网络平台也为传播恶意信息和行为的网络行为提供了大量的机会。根据Nexgate的报告[5],在2013年上半年,社交垃圾信息的增长率为355%,远远高于大多数品牌社交网络上的账户和信息增长率。
垃圾信息的影响已经非常显著。所有追随者和接收者的朋友都可能看到垃圾信息。更糟糕的是,它很有可能会在趋势话题讨论中引起公众的误解。例如,网络水军总是滥用趋势主题来发布带有URL的评论,将用户误导到完全不相关的网站。由于大多数社交网络在邮件内的URL上提供缩短的服务,因此很难在不访问网站的情况下识别内容。
当前行业和学术界也提出了一些建议,讨论了垃圾信息检测和过滤的一些解决方案(在第2节中描述)。但是,它们要么是无效的,要么是基于考虑过多的条件(例如,大量的内容和行为特征等)。本文研究了网络水军的信息内容和行为问题,提出了一种有效的网络水军检测的机器学习模型。本文主要包括以下四项贡献:
⑴本文采用网络水军特征对中国最大的社交网站新浪微博上的网络水军进行检测和测试。在微博API下,开发了一个特定的数据集爬虫程序来提取微博平台内任何未经授权的用户的公共消息。这是数据分析的第一步。
⑵本文的主要创新点是研究与消息内容和用户行为相关的一组重要特征,并将其应用于基于支持向量机的网络水军检测算法中。实验和比较结果表明,该方法具有较高的精度。
⑶通过特征选择算法和实验测试,识别出十个最重要的特征及其权重。实验结果进一步验证了所选择的网络水军特征(手工分类)的合理性,并解释了所提出的解决方案为什么能够获得优异的性能。
⑷本文还开发了一个原型软件,能够区分任何微博用户(网络水军或正常用户)。用户界面友好,分类结果高效准确,操作简单,能够区分微博用户。该软件已在SourceForge中发布。
值得一提的是,尽管提议的方法目前已在新浪微博社交网络中进行了专门测试,但它适用于所有其他现有的社交网站(如Twitter、Facebook等),并不需要很多修改。论文的其余部分组织如下。第二部分介绍了微博社交网络的背景,并展示了一些有关网络水军检测的相关工作。第3节介绍了如何收集数据集和提取特征的方法。第4节介绍了网络水军的检测模型、实验和相应的评估。最后,第5节给出了结论和未来的工作。
2.相关工作
2.1新浪微博社交网络
据[3]统计,新浪微博网站用户已超过5亿。统计数据显示,微博在过去几年中一直是访问量最高的25个网站之一[7]。作为中国最大的社交网络之一,微博每天吸引数以百万计的在线用户。微博类似于Twitter,用户通过社交网络服务发布信息、与朋友互动、谈论新闻和分享有趣的话题。它被设计成一个微博网站,用户发布的短信息不超过140个字符。发布的消息将立即发送给关注者。每个用户都由一个唯一的用户名标志,可以开始关注另一个用户,以便在主页上接收朋友的最新消息。被关注的用户可以接受关注请求,也可以拒绝。图1描述了一个简单的关注图,其中用户A关注用户B,用户B和用户C是互相关注。微博中有许多表达方式,允许用户以更好的方式与其他人进行交互,包括提及、转发和散列标签。
|
图1 简单关注图 |
2.1.1提及
包含一系列关键字(如@username)的微博消息,意味着消息发送者愿意与上述用户共享某些内容。因此,微博会自动通知用户并在其主页上显示相关信息。例如:@bob wanna去喝杯咖啡?
2.1.2转发
转发是另一种发送消息的方式。用户可以转发其他用户感兴趣的消息。转发的消息也将被用户的关注者接收。
2.1.3井号标签
微博用户可以发布包含#的消息来标记一个特定的话题。如果有足够多的用户选择这个主题,它将出现在趋势主题列表中。例如:艾丽丝生日快乐你好艾丽丝
2.2研究现状
近十年来,垃圾信息检测和过滤机制得到了广泛的应用。主要工作可以概括为两类:基于内容的模型和基于身份的模型。在第一个模型中,根据可能存在于垃圾信息中的关键字和模式,实现了一系列基于内容解析的机器学习方法[8,9]。在基于身份的模型中,最常用的方法是每个用户维护一个关于垃圾邮件地址的白名单和黑名单,这些地址应该或者不应该被垃圾邮件过滤机制阻止[10,11]。近期的工作是利用社交网络,根据贝叶斯概率识别垃圾信息[12]。其概念是利用发送者和接收者之间的社会关系来确定亲密度和信任值,然后根据这些值增加或减少贝叶斯概率。
随着社会网络的迅速发展,社交网络垃圾信息已经引起了业界和学术界的广泛关注。在行业中,Facebook提出了一种Edgerank算法[13],该算法为每个帖子分配一个由相关功能生成的分数(例如,喜欢次数、评论次数、转发次数等)。因此,Edgerank分数越高,成为网络水军的可能性就越小。这种方法的缺点是,网络水军可以加入他们的网络,并不断地互相喜欢和评论,以获得较高的Edgerank分数。
在学术界,Yardi等人[14]研究了一小部分网络水军在Twitter上的行为,发现网络水军在发布tweet、关注者、关注朋友等方面的行为不同于合法用户。Stringhini等人[15]通过在三个大型社交网络站点(Facebook、Twitter和MySpace)中创建多个蜂蜜配置文件,进一步调查网络水军的特征,并确定五个常见特征(关注追随者、URL比率、消息相似性、消息发送、朋友号码等)用于检测网络水军的潜力。然而,尽管这两种方法都引入了令人信服的网络水军检测框架,但它们缺乏详细的方法规范和原型评估。
王[16]提出了一种基于贝叶斯的垃圾邮件分类算法,用于区分Twitter中的可疑行为和正常行为,其精度(f-测量值)为89%。高等人[17]采用了一套新颖的特征,可以有效地将垃圾信息重建为活动,而不是单独检查(精度值超过80%)。这两种方法的缺点是不够精确。
Benevenuto等人[18]从Twitter上收集一个大的数据集,并确定62个与tweet内容和用户社交行为相关的特征。这些特征被视为机器学习过程中的属性,用于将用户分类为网络水军或正常用户。朱等人[19]提出了一个基于矩阵分解的垃圾信息分类模型,为人人网站(www.renren.com)中的每个用户通过社会关系学习到了一组简洁的潜在特征(超过1000项)。然而,这两种方法基于大量选定的特性,这些特性可能会消耗大量的计算能力,并在模型训练中花费大量时间。
在新浪微博领域,文献[20]调查了三种类型的网络水军行为(攻击性广告、重复转发和攻击性跟踪),并提取了三组独立的特征。与一个分类器使用所有特征的主要方法不同,该方案基于一组分类器,每个分类器使用三个生成的特征集,并共同作为一个分类器来检测垃圾信息。将多个垃圾邮件分类器组合在一起的概念有望提高检测性能。然而,由于每个分离的特征集可能包含的特征不够(最多8个),计算结果可能不准确(精确率仅为82.06%)。
总体来说,本文与以往的著作有着相似的概念,但也有一些不同之处:
⑴我们提出的基于支持向量机的分类模型只考虑了18个特征项,并取得了最佳的性能结果,F度量值达到99%以上。这是有史以来取得的最好的结果(尽管数据集的不同内容可能会导致结果存在一些偏差,但结果的巨大改进仍然具有可比性和显著性)。
⑵通过WEKA[21],利用Java工具上的数据挖掘软件,研究和验证了所选择特征的重要性。这些特性的组合使用也解释了为什么所提出的方法能够实现比其他现有工作更高的精确度。
⑶本文还开发出了一个原型软件,该软件并不对特定数据集进行纯粹的实验,而是专门开发并开放供公众使用,帮助用户区分新浪微博网络环境中的网络水军。原型的精度进一步证明了该方法的有效性。
3.数据收集和分析
3.1数据集和特征收集
与大多数社交媒体平台类似,公共微博开发者API(特别是用户时间线API)仅提供授权用户最近消息的下载功能,这是数据收集过程中的一个障碍。为了解决这个问题,开发了特定的数据爬虫和特征收集机制,如下步骤所述(见图2):
⑴手动选择100个普通用户(来自经常发布/转发/评论的名人、公司和政府)和50个垃圾邮件发送者用户(经常暴露恶意行为)作为数据源。
⑵根据普通用户和垃圾邮件发送者开发。普通用户爬虫程序用于提取普通用户的关注列表,也被视为普通用户,因为大多数普通用户实际上不太可能关注网络水军(通过第3.2.2节中的分析进行验证);网络水军爬虫程序用于提取网络水军特定转发消息后的网络水军列表。最后一共抽取了30116个微博用户。
⑶对于每一个用户,我们在500条最近的消息中进行相应的抓取,步骤1:通过微博API可以获取基本的用户信息(如关注人数、关注人数、创建天数等);步骤2:通过用户名,可以抓取一组消息ID,消息属性(如转发的的数量、评论的数量、喜欢的数量等)。最后,从2014年2月25日到2014年5月1日,一共抓取了超过1600万条消息。
⑷之后,我们将用户标记为网络水军或正常用户。我们开发了一种机制帮助人们根据最近的信息,手动的标注用户。如果一个用户被标记为不同的类,则引入投票机制来决定该用户属于哪个类。然而,用户标记过程依赖于人类的判断,可能会导致不可避免的人为错误。因此,我们忽略并丢弃类难以确定的用户。总共标记了11488个网络水军和17646个正常用户。最后,从标记的数据集中随机选择80%的网络水军和正常用户作为训练数据,剩下的作为测试数据。
|
图2 数据集以及特征收集步骤 |
3.2特征分析
与普通微博用户不同,网络水军通常瞄准广告传播等商业目的。在本节中,我们根据收集的数据集从内容和行为的角度分析网络水军和正常用户之间的差异。
3.2.1基于内容的特征
从数据集中,我们随机选择300封垃圾邮件和300封非垃圾邮件,每封邮件由1到300个随机整数标识值分配。此外,转发、评论和喜欢的最大数量设置为100。
从统计的角度来看,垃圾邮件有三个最明显和最重要的特征。图3(a)显示了转载数量分布,其中超过90%的垃圾邮件的转载计数低于10。同样,评论和喜欢的数量也很小,如图3(b)和(c)所示。这可以解释为,大多数普通用户对垃圾邮件的关注很少。
图3(d)显示了每条消息中@的次数。正如预期的那样,大多数垃圾邮件不包含任何内容,因为大多数垃圾邮件发送者只关注广告,很少花时间与其他用户进行交流。图3(e)表明大多数垃圾邮件包含至少一个链接到广告页面的URL。图3(f)中分析的#数量表明,垃圾邮件发送者有时会发布消息,以便由搜索引擎检索。
|
图3 基于内容的特征分布图 |
3.2.2基于用户的特征
下面介绍了累积分布函数(CDF)来研究网络水军的特征,如图4所示。
图4(a)分析了每个用户的关注人数。通常,水军用户试图关注大量合法用户以便被跟踪。但是,它在大多数时间内都不起作用,如图4(b)所示。与正常用户相比,这种行为使得每个追随者的追随者比例非常大,如图4(c)所示。
对账户创建天数的分析(参见图4(d))表明水军用户必须经常创建新帐户。这可能是因为反垃圾邮件机制最终会检测并自动清除水军帐户。
之后,每天的消息数量如图4(e)所示。水军用户通常充当“机器人”来自动发布消息。通过水军用户和正常用户每天的平均邮件数,发现水军用户每天发布的信息量大约是正常用户的三倍(水军用户和正常用户的平均值分别为15.19和3.62)。
最后,图4(f)分析了每个用户最近消息中的平均URL数。它显示大多数水军用户在每条消息中至少有一个URL。但是,结果表明,一些普通用户的许多消息中也包含URL。在手工检查之后,发现一部分原因是一些公司创建了官方帐户,通过链接到特定网站的URL来推广他们的产品。
|
图4 基于用户特征的累计函数分布图 |
4.水军检测
基于前一节描述的数据集和特征集,本文提出了一种用于垃圾信息识别的监督学习模型。监督学习[22]是一个机器学习任务,他从由一组训
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[19696],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。