文章主要是通过机器学习的思路来自对twitter的用户进行分类「两类:正常用户与垃圾用户」。其中算法采用的是SVM算法,特征选取比较复杂,结合了内容特征与用户行为特征。个人感觉不错的是论文针对特征的选取和特征的精简部分。
整体流程
- 首先爬取了大量Twitter用户的数据(通过API接口 + 大量VPS/IP);
- 通过特定主题进行跟踪,例如跟踪:「the Michael Jackson’s death」,「Susan Boyle’s emergence,」,「the hashtag “#musicmon- day”」;即把这几个主题的发言和评论抓出来进行分析;这里实验数据处理的时候有一个技巧:正常内容很多,而垃圾内容太少,为了不让比例失调,特别减少了正常用户的比例,基本上「正常用户:垃圾用户(1:2)」;
- 手动做标签,作者写分为三个人同时对同一样本做标签,然后标识的时候需要参照三个人的答案;
- 提取特征值,鉴于特征值比较多,因此需要针对特征值进行分析,分析单一特征是否可以区分两类用户;
- 通过SVM算法对已经标识的样本进行建模,然后测试样本;
- 通过分析特征值,降维处理「减少特征值」;
- 最后计算准确率并分析。
创新点
- 从内容特征和用户特征对twitter社交数据进行特征提取,内容特征考虑:最大长度,最小长度,均值,一个内容中的主题(##), 网址数量,单词数量,数字出现个数,@的用户数量,有多少人转发等「39个属性」;用户特征:粉丝数量,关注数量,发帖数量,转帖数量,年龄,被@多少次,多少次回复,发帖时间间隔,一天发多少帖,一周发多少帖「23个属性」。
- 单一特征对分类的影响采用了cumulative distribution function (CDF)进行了分析,不熟悉CDF的可以看这里一维数据可视化:累积分布函数(Cumulative Distribution Function);
- SVM分类中采用了5阶交叉验证,即SVM参数的不同;
- 通过信息增益或者X2统计分析TOP10,TOP20,-TOP50特征值「内容特征与用户特征」的数量;关于信息增益可以看这里:文本分类入门(十一)特征选择方法之信息增益;
- 然后用这些特征再次测试准确率。
总结
从工作量上看确实需要做大量的工作,另外作者对特征选取,特征优化这些做得很不错。最后请记住这个是2010年的论文。