1、理论算法2022.24470 引言随着互联网的发展,诸如推特(Twitter)、新浪微博(Sina Weibo)这样的新社交媒体也随之发展起来。作为全球最具影响力应用程序之一的 Twitter 在其 2022 年第一季度的收益报告中表示,其日活跃用户数达到 2.29 亿,这一数字在上一季度是 2.17 亿。Twitter 这样的微博平台作为互联网时代人们进行沟通的重要工具,为用户快速交流提供便利,因此受到越来越多人们的关注。但是 Twitter 的这些特点也给“网络水军”提供了活动场所。水军会通过虚假意见的广泛传播引导舆论,人为控制事件走向,从而达到自己的目的;同时大量水军的存在也会导致微博内
2、容的真实性降低,质量下降,严重影响普通用户的使用。由于水军的存在给 Twitter 等微博平台带来很多不稳定的风险。因此,如何在 Twitter 中准确识别水军,还给网络世界一个安全稳定的环境,成为微博热点研究中一个亟待解决的问题。随着水军反检测能力越来越强,之前从传播学角度定性判别水军的方法难以达到理想效果,易于形成识别漏洞。因此,本文通过不同数据集以及 Scikit-Learn 机器学习库中分类算法训练分类器,并以此得出具有较好分类效果的特征和机器学习算法。1 相关研究目前,随着网络的飞速发展以及自媒体时代的到来,微博作为分享交流信息的平台,受到很多喜爱。关于微博的研究方向有很多,水军发现
3、也是近年来微博研究中的一个热门话题。国外学者陆续展开相关研究,Yard1等分析研究了 Twitter 的发展历史,通过链接 URL 以及账户名称规律性等特征识别垃圾邮件用户。Stringhin2等通过创建Twitter 用户行为分析模型,从而区分出垃圾用户与普通用户。Amlesh-wara3等分析特征后建立 Twitter 用户识别模型 CATS,并证明该模型对于少量数据也有很很好地识别果。Zhang 等通过分析 Twitter 中含有链接 URL 的推文以及其对应账户的特征来区分水军用户与普通用户,并利用机器学习基于特征选择的微博水军识别研究武晓丹(太原师范学院 计算机科学与技术学院,山西晋
4、中,030619)摘要:随着互联网飞速发展,微博等社交媒体也迅速成长起来,与此同时,微博平台上网络水军也越来越多。为了能够识别水军,还网络世界一个清净之地,本文针对 Twitter 平台,利用 3 个不同数据集以及 Scikit-Learn 库中 3 种分类算法进行实验,实验采用相关性检验方法比较不同特征集差异,得出提高分类效果准确率的有效特征,并通过不同机器学习算法训练数据集,得出最优算法。本实验在 Twitter 真实数据集下进行,实验结果表明,“推特用户收藏、回复、转发总数 actions”特征的引入在很大程度上提高了分类效果准确率;并且相较于支持向量机与 K 最近邻算法,随机森林分类法
5、能够更有效识别水军。关键字:Twitter;特征选择;Scikit-Learn 库;特征提取中图分类号:TP393 文献标识码:A ResearchonmicroblogarmyidentificationbasedonfeatureselectionWu Xiaodan(School of Computer Science and Technology,Taiyuan Normal University,Jinzhong Shanxi,030619)Abstract:With the rapid development of the Internet,weibo and other soci
6、al media have also grown up rapidly.At the same time,there are more and more online water troops on the microblog platform.In order to be able to identify the water,also a net network world,this paper for Twitter platform,using three different data sets and Scikit-Learn library three classification
7、algorithm,experiment correlation test method compare different feature set difference,improve the classification accuracy,and through different machine learning algorithm training data set,the optimal algorithm.This experiment was conducted under the Twitter real data set,which showed that the intro
8、duction of“Twitter user collection,reply,forwarding total number actions”greatly improved the accuracy of classification effect,and is more effective.Keywords:Twitter;feature selection;Scikit-Learn library;feature extractionDOI:10.16520/ki.1000-8519.2022.24.008理论算法2022.2448方法来检验其结论。国内对微博水军最早的研究出现在 2
9、010 年。谢忠红等指出网络水军的定义并分析其特点,总结出 8 个基于用户属性的特征并训练逻辑回归算法,最终实现水军的识别。莫倩等研究正常用户与水军用户的社交网络关系,发现其形成的社交圈有很大不同,具有不平衡的粉丝关注比。程晓涛等则在此基础上加入“用户是否认证”这一特征,并且分析用户属性特征和行为特征,提出基于关系图特征的水军账号识别方法。韩晴晴等综合分析微博用户的多种特征,总结出 6 个属性特征集并且考虑实际中有标记数据少无标记数据多,利用半监督协同训训练类器识别微博水军。微博水军的研究已经得到社会各界的广泛关注,所以如何精准且高高效地识别军是一个具有很大挑战的事情。目前大多数研究有些侧重于
10、单个水军所发推文的检测,有些则侧重于水军账号的检测,本实验重点是前者。2 特征选择方法特征选择是特征工程中的重要环节,其目的是提升模型效果,提高运行速度。本实验采用相关性检验中的卡方检验,这是特征选择中的 Filter 过滤法,其思想是研究特征与标签之间的关联性,根据对特征进行统计检验之后得到的分数,从而筛选出相对无用的特征,挑选出最相关的特征。即对特征赋予权重,权重代表着特征的重要程度,对权重进行排名。如图 1 所示。全部特征最佳特征子集机器学习算法模型评估过滤部分特征图 1 Filter 过滤法卡方检验 chi2 是专门针对分类问题的一种独立性检验,它是先假设两个变量互相独立,然后再观察实
11、际值与理论值的差距,若差距足够小,则原假设成立。即计算特征与标签之间的卡方统计量,并以此为依据将特征从高到低排名,再计算卡方值对应的 p 值,以 0.05 或者 0.01 作为阈值过滤相应的特征,从而可以去除最独立于标签,与实验目的无关的特征。卡方检验的计算公式为:22()ATxT=(1)其中,A 为实际值,T 为理论值。3 实验与分析3.1 数据集对 Twitter 水军的属性特征进行分析,发现与普通用户相比,水军由于是为某些目的性因素而出现,例如炒作、宣传、引导舆论之类,其对于自身账户的经营比较少,因此Twitter 水军往往具有较少的粉丝数以及较多的关注数。而且 Twitter 水军账户
12、对其他用户较为关注,它的收藏、回复和转发数都比较高。此外 Twitter 水军为了让更多的人浏览到自己的推文,经常会带热门话题(#)发文,或者是常常提及()其他用户引起关注,再或者是在自己的推文中使用较多的带有目的性的链接(URL),例如广告、钓鱼网站之类,因此水军推文包含的话题标签数、URL 链接数、用户提及数都会比较高。本实验在 3 个数据集上进行训练和测试。数据集如下:(1)第一个数据集来自 Chen chao 等人采集。这个数据集具有现成的特征集。特征信息如表 1 所示。(2)第二个数据集来自 Kaggle 竞赛。这个数据集提供Tweet 文本,以及 Tweet 帐账户的些特征,因此能
13、够手动提取特征集。本实验提取的特征集如表 2 所示。(3)第三个数据集来自 Chen Weiling 等人采集。这个数据集原是带有标签的 Tweet ID 列表,Weiling Chen 等人通过 Twitter API 密钥,检索出推文得到数据集,因此也能够提取其特征。本实验提取的特征集与数据集 2 提取的相同,也如表 2 所示。表 1 数据集 1 的特征选取信息特征(7 个)特征含义num_of_followers该推特用户的粉丝数num_of_following该推特用户的关注数num_of_retweets此推文的转发次数num_of_hashtags此推文包含的话题标签数量num_o
14、f_urls此推文包含的 URL 链接数num_of_chars此条推文的字符数num_of_digits此推文包含的数字数表 2 数据集 2、数据集 3 的特征选取信息原特征提取后特征(9 个)特征含义IDspam_words_count此推文包含的垃圾单词数tweet_textnum_of_chars此条推文的字符数locationnum_of_digits此推文包含的数字数num_of_urls此推文包含的 URL 数num_of_hashtags此推文包含的话题标签数actionsnum_of_actions该用户收藏、回复、转发总数is_retweetis_retweeted推文是否
15、被转发followingnum_of_following该推特用户的关注数followersnum-of_followers该推特用户的粉丝数由表 1 和表 2 可以看出,数据集 2、3 所提取的特征与数据集 1 的特征相同,并在此基础上多提取出两个特征,分别是“actions”和“spam_words_count”。3.2 特征选择与评价对特征与标签进行相关性检验能有效选择出具有高区分度的特征。卡方检验在二分类问题上非常有效。卡方检验,又称2检验,它是测量特征与标签的相关性,相关性大的特征则认为与标签的区分度好,相关性小的特征则认为其对于水军的区分度差。理论算法2022.2449图 2 特征
16、集 1 的卡方检验如图 2 所示是数据集 1 的特征进行卡方检验的分数排名直方图,可以看出,排名前三的特征分别是“粉丝数follower”“转发次数 retweets”以及“关注数 following”,即这三个特征与标签的相关性较大。图 3 特征集 2 的卡方检验图 4 特征集 3 的卡方检验如图 3 和图 4 所示是对具有相同特征集的不同数据集进行卡方检验,即对数据集 2 和数据集 3 进行相关性检验。图2 表示数据集 2 的卡方检验得分排名情况,其得出的主要特征是“粉丝数 follower”,“关注数 following”,“收藏、回复、转发总数 actions”。图 3 表示数据集 3 的卡方检验得分排名情况,得到的有效特征同样如此,主要特征是“follower”,“actions”以及“following”。因此对于本实验数据集 2 和 3,贡献比较大的特征主要是“粉丝数”“关注数”以及“收藏、回复、转发总数”三个特征。3.3 性能评价指标针对水军的特性,本实验采用准确率 Accuracy 等评价指标来评估模型。对于水军不平衡分类问题,本实验引入了混淆矩阵,如表 3 所示。其