一种基于主成分分析和随机森林的刷客识别方法
张李义, 张皎
武汉大学信息管理学院 武汉 430072
通讯作者:张皎, ORCID: 0000-0002-9541-5764, E-mail:1120277437@qq.com

作者贡献声明:

张李义: 提出研究思路, 设计研究方案, 论文最终版本修订;

张皎: 设计实验过程, 实验数据采集、预处理和分析, 论文起草。

摘要

【目的】针对刷客识别的指标维数较高, 识别的准确率和效率较低的问题, 提出新的识别模型, 提高刷客的识别准确率和效率。【方法】采用主成分分析法对用户指标进行降维, 并运用随机森林算法识别刷客。为了反映该模型在刷客识别方面的优越性, 分别建立基于K近邻判断分析、支持向量机理论的识别模型, 用相同的数据针对不同模型进行训练, 比较不同模型的识别分类准确率和效率。【结果】实验结果表明, 基于主成分分析和随机森林理论的刷客识别模型识别的准确率为88.0%, 识别时间为3分钟。【局限】刷客数据主要来源于第三方刷单平台, 不能全面反映所有刷客类型。【结论】基于主成分分析和随机森林的刷客识别模型对刷客识别具有较高的准确率和较优的效率, 可以为电子商务平台识别刷单交易提供参考。

关键词: 刷单; 垃圾评论; 刷客识别; 主成分分析; 随机森林
中图分类号:G202
A Brusher Detection Method Based on Principle Component Analysis and Random Forest
Zhang Liyi, Zhang Jiao
School of Information Management, Wuhan University, Wuhan 430072, China
Abstract

[Objective] A new model based on Principle Component Analysis and Random Forest is proposed aiming to detect Taobao brushers, decrease the dimensions of indicators and improve recognition rate.[Methods] This article uses Principle Component Analysis to reduce dimensions and uses Random Forest to classify users. In order to reflect the superiority of the detection model, it also builds detection models respectively based on KNN and SVM using the same data for different model training to compare the detection accuracy and efficiency of these models.[Results] The experimental results show that the detection model on the Principle Component Analysis and Random Forest gets 88.0% accuracy within 3 minutes.[Limitations] Most data is from third-party platforms which cannot fully reflect the all Singlebrush types.[Conclusions] The detection model on the Principle Component Analysis and Random Forest has higher detection accuracy and efficiency.

Keyword: Singlebrush; Spam review; Brusher detection; Principle Component Analysis; Random Forest
1 概 述

近年来, 中国电子商务市场发展迅速, 淘宝系成为中国最大的互联网零售平台, 独占超过90%的中国互联网零售市场份额[1]。在淘宝2014年双“ 十一” 交易额突破571亿元的同时, 与交易额真实性相关的刷单行为也开始引起人们的关注。据可靠数据显示, 淘宝生态系统中存在着1 000多家刷单公司, 其中几人规模的小公司也可以每年轻松盈利超过百万人民币[2]。阿里巴巴副总裁指出仅2013年, 淘宝刷单交易卖家120万家, 涉及交易约5亿笔, 交易金额超过100亿元人民币, 查获刷客账号800万个[3]

刷单泛指电子商务平台中的卖家为了提高单品或店铺的销售量及其产品在搜索结果中的排名而采取的一种虚假交易行为。进行虚假交易的卖家和刷客达成虚假交易协议, 刷客通过完成虚假购买流程且对协议商品给出虚假好评或诱导性评论获取相应的佣金。通过这种虚假交易行为, 卖家能够提高其店铺的信誉度以及销量进而获取不正当的利益。由于刷单行为具有较大的隐蔽性且数据获取困难, 使得针对刷单行为的研究仍处于初步阶段, 研究工作较少。当前, 与刷单相关的研究主要集中在对虚假评论的识别研究上, 该研究主要有两个方向: 从评论内容出发识别虚假评论[4, 5, 6]; 通过识别虚假评论的发布者来识别虚假评论[7, 8, 9]。事实上, 在进行刷单交易时, 为了使虚假交易看起来更真实, 刷客通常会刻意模仿真实用户发布虚假评论, 这使得很难从单一的角度对真实的购买行为和刷单行为进行区分。

因此, 本文通过获取真实的虚假交易信息识别出真实刷客, 从识别刷客入手结合刷客的评论内容和评论行为识别虚假交易评论。从用户基本信息、评论、商品、商家4个方面提取一系列特征, 建立基于主成分分析(Principle Component Analysis, PCA)和随机森林(Random Forest, RF)的刷客识别模型。实验结果表明该方法具有较高的识别准确率和效率, 为电子商务平台进行刷客识别提供参考。

2 理论与方法
2.1 主成分分析理论

主成分分析, 最早是在1901年由Karl Parson引入到生物理论研究中, 后来该理论被Hotelling推广应用于心理学研究, Karhunen等则对此实现了进一步的完善[10, 11]。主成分分析是指设法将原有变量重新组合成一组新的互相无关的几个综合变量代替原有变量, 同时根据实际需求从中选取几个较少的综合变量尽可能多地反映原来变量的信息[12]。该理论能够对数据进行降维, 提高计算的效率。从实际情况来看, 提取几个较少的综合变量尽可能多地反映原始变量, 可以深入了解用户类别的影响因素, 为刷客识别提供参考信息。因此本文采用主成分分析方法对刷客原始变量进行降维处理, 并对数据集中的缺省值采用均值替代的方法, 将处理后的数据用于主成分分析。

以刷客识别为例, 假设用于刷客识别的p个指标组成的指标集为X1, X2, · · · , Xp, n个用户指标构成了原始数据矩阵X=[Xij]n× p(i=1, 2, · · · , n; j=1, 2· · · , p), 其中Xij表示第i个用户在第j项指标上的数据。主成分分析法将标准化后的原始数据矩阵进行线性计算, 求得协方差矩阵∑ , 即原始数据的相关矩阵R[13]。并求解得到特征值λ 1≥ λ 2≥ · · · ≥ λ p≥ 0, 以及特征向量u1, u2, · · · , up。新的变量指标u1, u2, · · · , up分别为原变量指标X1, X2, · · · , Xp的第1, 第2, · · · , 第p主成分。u1, u2, · · · , up互不相关且方差递减。前i个主成分在总方差中的主成分贡献率为ai, 累计贡献率为E。选取的主成分数量越多使得对应的累计贡献率越大, 丢失的数据信息就越少, 然而后续处理的运算量越大[14]。在实际处理中, 通常根据累计方差贡献率在总方差中所占的累计百分数比例作为主成分个数选取的标准, 一般情况下选取累计贡献率E≥ 85%的最小整数m, 以达到降维目的[15]

2.2 随机森林算法

随机森林算法最初由Leo Breiman和Adele Cutler提出, 该算法是一种统计学习理论的自然的非线性建模工具, 它使用Bootsrap重抽样方法从原始样本中抽取多个样本, 对每个Bootsrap样本进行决策树建模, 然后组合多棵决策树的预测, 最终通过投票得出预测结果[16]

随机森林f是决策树分类模型h{(X, θ k), k=1, 2, · · · }所组成的分类模型集合, 且参数集{θ k }是独立同分布的随机向量; 基础决策树h(X, θ k) 是用CART算法构建剪枝的分类回归树; 决策树分类模型都采用多数投票法来选取最优的分类结果。随机森林算法最终的分类决策为[16]:

(1)

其中, H(x) 表示组合分类模型, hi是具体的单个分类模型, Y表示正确的分类向量, 为示性函数。

对于一组给定的分类模型, 每个分类模型的训练集都是对原始数据集进行随机抽样获得, 可知边缘函数为[16]:

(2)

边缘函数数值越大, 表明该组合分类器的性能越好, 分类结果越可靠。随机森林泛化误差可以写成[16]:

(3)

泛化误差值越小, 表明算法的性能越好。当随机森林中决策树的数量非常大的时候, 由大树定律可知, 随机森林具有良好的防过拟合的能力。

随机森林方法是一种具有较高准确率的分类方法, 能够有效解决不平衡分类问题, 且不会过拟合。此外, 随机森林算法还有一个鲜明的特点— — OOB估计功能。OOB估计作为泛化误差估计的一个组成部分, 它提供的内部估计有助于估计森林的强度和相关性以及理解分类精度。

3 数据来源与用户特征
3.1 数据来源

本文以淘宝为研究对象, 探讨了淘宝刷客的识别问题。为了使淘宝刷客识别取得最佳的效果, 采用了较为新颖的数据采集方法。

刷单行为属于虚假交易行为。刷客作为从事虚假交易的主体, 是指从事刷单行为的虚假购买者, 即被雇佣来为某些商品撰写积极评论以促进其销量的垃圾评论者。目前, 从刷单的发展进程来看, 刷单主要分为机器刷、社交平台刷、第三方平台刷等类型。由于第三方平台解决了社交平台的不足, 提供了更为全面的技术和人脉资源, 所以成为目前最主要的刷单形式。第三方刷单平台的刷单从业人员需接受平台提供的刷单培训并通过严格的刷单考试, 且各平台均有佣金提现最低标准。因此, 聚集在第三方刷单平台的用户是职业虚假交易者。为了获取更高的利益, 这些职业虚假交易者通过各种渠道购买大量的刷单小号专门用于刷单, 这些小号几乎不会被职业虚假交易者用于正常购买。在第三方刷单平台有虚假交易行为的账号属于刷单账号, 其交易记录不可信。因而, 本研究中刷客淘宝账号主要来源于第三方刷单平台。

笔者在第三方平台上注册并伪装成刷客执行任务获得刷客信息, 再通过淘宝查询网站“ 淘大客” 和网络爬虫Soukey Netgets获取刷客数据。刷客数据获取流程如图1所示:

图1 刷客数据收集过程

真实用户数据的来源主要有两种方式: 第一种是通过调查获取真实的正常买家; 第二种是通过人工的方式收集最有可能是真实买家的名单。淘宝账号个人基本信息及交易记录的获取过程如图2所示:

图2 真实用户数据收集过程

图2中淘宝用户数据采集的个人基本信息包括性别、注册时间、信用积分、实名认证状态、地点等。历史交易数据包括每条交易记录对应的商品名称、商品价格、商家店铺名以及商家店铺信誉、评论内容、评论时间等。

利用上述方法, 共搜集了2 000个样本超过50万条交易数据, 其中刷客样本1 000个, 真实用户样本1 000个。

3.2 标识用户特征

通过对数据进行分析, 提取用户、评论、商品、商家4个部分的52个用户特征变量, 其中包含51个属性指标变量和一个目标变量, 如表1所示。为了检测模型的泛化能力, 从实验样本数据中分别随机抽取75%组成训练集(750个刷客样本和750个真实用户样本), 25%组成测试集(250个刷客样本和250个真实用户样本)。

表1 用户属性指标集

由于属性指标中包含定性指标和定量指标, 在使用数据前需要将所有的数据转化为数值型数据。处理方法为:

(1) 定性指标, 先进行分类再量化。以“ 性别” 指标为例, 分为两类: “ 男” 和“ 女” , 1代表“ 男” , 0代表“ 女” ; 其他定性指标的转化同理。

(2) 定量指标, 直接采用原始数值。此外, 由于各个指标的数量级不同, 通常不具有可比性, 因此本文将数据进行标准化处理使数据转化为同度量指标。

在对51个属性指标变量进行分析的基础上, 去除指标中数值重复率超过95%的6个指标, 分别为标点数最小值、数字数最小值、数字中位数、购买间隔最小值、单日评论数最小值和单日购买商品类别最小值。

整理后得到用于识别刷客的45个属性指标集合。如图3(a)所示, 真实用户的注册天数比刷客的注册天数长, 这是由于刷客的账号被淘宝查封后需要重新申请账号, 因此刷客账号的生命周期较短。如图3(b)所示, 真实用户中男性的比例较高, 刷客中女性的比例较高。刷单时间成本高而收益低, 男性通常不从事刷单工作, 而作为刷单的主要从业人员— — 女性特别是家庭主妇, 她们拥有相对宽松的时间进行刷单活动。

图3 部分刷客属性指标分析

4 实 验

本实验分为运用主成分分析方法进行特征提取和运用随机森林算法进行分类预测两个阶段。其中PCA分析使用SPSS16.0软件实现, 分类算法以Matlab 2010b(Matlab7.1)为实验平台实现。

4.1 主成分方法分析的应用

由于提取的指标个数较多且部分指标之间具有相关关系, 因此本文采用主成分分析法对指标进行降维处理, 使提取的特征能够更好地用于刷客识别。

根据统计学要求先对数据进行KMO值和Bartlett球度检验。Kaiser认为KMO值的大小适用于衡量一组变量的相关程度, KMO值越大, 该组变量越适合做因子分析[17]。Bartlett球度检验的原假设H0是: 相关阵是单位阵, 即各变量各自独立。Bartlett球度检验的统计量根据相关系数矩阵的行列式计算得到。如果统计量值较大, 且对应的相伴概率值小于用户心中的显著水平, 则应拒绝H0, 认为相关系数矩阵不太可能是单位阵, 适合做因子分析; 相反, 统计值较小则不适合做因子分析[18]。本文检验结果如表2所示:

表2 KMO和Bartlett的检验

表2可知, KMO值为0.721且Bartlett球度检验具有高度的显著性, 表明数据适合进行因子分析。

通过对获取的数据进行主成分分析得到的结果如表3所示。从贡献率分析的结果看, 在45个属性变量中提取前18个主成分, 使累计贡献率达到86.030%(大于85%)。提取的公因子不仅能够较好地表示原始数据的特征, 而且能够较大程度减少分类时的计算量。最后, 将上述提取的18个主成分用于分类模型进行刷客识别。

表3 主成分特征值和贡献率(保留前18个主成分贡献率)
4.2 随机森林算法的实现

在Matlab 2010b平台上使用RF工具箱实现随机森林算法。随机森林算法构建的分类器的分类效果和其生成的决策树有很大关系。在分类模型的形成过程中, 该算法通过不断生成不同的决策树并使用不同的决策树组合对训练数据进行预测。此过程中, 算法通过比较不同决策树集合模型的误差率得到最佳的决策树集合。随机森林生成的决策树的数量与分类误差率之间的关系, 如图4所示:

图4 随机森林袋外数据误差估计

图4可知, 不同的决策树集合产生的分类效果不同, RF工具箱将分类效能最优的决策树组合模型应用于测试数据, 得到最终的预测集分类准确率为88.0%。

5 实验结果分析

为了反映主成分分析和随机森林算法模型(PCA- RF)具有较好的分类准确率和较优的效率, 本文分别建立了主成分分析-K近邻算法模型(PCA-KNN)、K近邻算法模型(KNN)、主成分分析-支持向量机模型(PCA-SVM)、支持向量机模型(SVM)、主成分分析-随机森林模型(PCA-RF)以及随机森林模型(RF), 并通过使用同一组数据对以上模型分别进行训练。对不同的分类方法均选用最优的参数优化后得到最佳结果, 如表4所示:

表4 分类结果

(1) 由表4中可以看出, PCA-RF模型对刷客的识别效果最好, 识别准确率高达88.0%, SVM模型对刷客识别准确率也高达79.2%, 而使用KNN模型对刷客的识别准确最低, 仅为63.2%。从准确率的角度考虑, 随机森林算法与支持向量机算法及K近邻算法相比, 具有优越性。从识别时间的角度考虑, K近邻算法耗时最短, 识别时间小于1分钟; 其次为随机森林算法, 耗时5分钟; 最后为支持向量机算法, 耗时19分钟。对比三种不同的分类识别模型, 可知随机森林算法在刷客识别分类中有较高的准确率和次优的识别效率。

(2) 对比KNN和PCA-KNN, SVM和PCA-SVM以及RF和PCA-RF的识别时间可以看出, 与不采用主成分分析进行降维的识别模型相比, 采用PCA技术对数据进行降维不仅能够大幅缩短识别时间, 而且能够提高识别准确率。从实验结果可以看出, 在评价指标维数较高的情况下, 使用PCA技术对指标进行降维确实能够取得非常好的的效果。

(3) 对比表4中各模型的预测结果, 可以看出PCA- RF模型准确率达到88.0%, 识别时间仅3分钟。该结果表明, 与其他5种刷客识别模型相比, 基于主成分分析和随机森林算法的刷客识别模型在降低数据的维数、大幅提高分类效率的同时, 仍然具有较高的识别准确率。

由此可见, 基于主成分分析和随机森林算法的刷客识别模型在电子商务平台刷客识别方面有更好的性能。该模型能够为淘宝网进行虚假交易监测提供参考。

6 结 语

随着中国网购市场规模的扩大, 如何保证电子商务系统的透明性和公正性已成为电子商务领域的一项重要课题。从长远来看, 对刷客进行监控, 对虚假交易进行监测控制可以增强电子商务系统的健康性。

本文通过创新的数据采集方式获取刷客数据和真实用户数据, 提取并分析后得出用于识别的45个特征, 提出了基于主成分分析和随机森林的新的刷客识别模型。实验结果表明: 基于PCA-RF的刷客识别模型具有较高的分类准确率和较优的识别效率。

在今后的研究中, 将进一步研究刷客的特征并对刷客特征的重要性进行排序。此外, 对不同电子商务平台的刷客进行分析和识别, 也是未来研究的一个重要课题。如何提高对刷客的实时监控和识别, 并提高PCA-RF模型的识别性能也是今后研究的重要方向。

参考文献
[1] 阿里巴巴招股说明书[EB/OL]. [2015-04-06]. http: //tech. sina. com. cn/i/2007-10-23/08361808855. shtml.
( Alibaba Group’s Prospectus [EB/OL]. [2015-04-06]. http://tech.sina.com.cn/i/2007-10-23/08361808855.shtml [本文引用:1]
[2] 刘会涛. 揭秘刷钻黑色产业链[N]. 北京青年报, 2009-08- 05(A09).
(Liu Huitao. Disclosure of Singlebrush Black Industry [N]. Beijing Youth Daily, 2009-08-05(A09). ) [本文引用:1]
[3] 戴添. 虚假订单风波致阿里巴巴股票创收盘新低[N]. 北京青年报, 2015-03-04.
(Dai Tian. Alibaba Shares Close at New Low on Fake Orders [N]. Beijing Youth Daily, 2015-03-04. ) [本文引用:1]
[4] Feng S, Banerjee R, Choi Y. Syntactic Stylometry for Deception Detection [C]. In: Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Short Papers-Volume 2: Association for Computational Linguistics, 2012. [本文引用:1]
[5] Mukherjee A, Venkataraman V, Liu B, et al. What Yelp Fake Review Filter Might be Doing? [C]. In: Proceedings of the 7th International AAAI Conference on Weblogs and Social Media, 2013. [本文引用:1]
[6] 任亚峰, 姬东鸿, 尹兰. 基于半监督学习算法的虚假评论识别研究[J]. 四川大学学报: 工程科学版, 2014, 46(3): 62-69.
(Ren Yafeng, Ji Donghong, Yin Lan. Deceptive Reviews Detection Based on Semi-supervised Learning Algorithm[J]. Journal of Sichuan University: Engineering Science Edition, 2014, 46(3): 62-69. ) [本文引用:1]
[7] Mukherjee A, Liu B, Glance N. Spotting Fake Reviewer Groups in Consumer Reviews [C]. In: Proceedings of the 21st International Conference on World Wide Web. ACM, 2012: 191-200. [本文引用:1]
[8] Wang G, Xie S H, Liu B, et al. Review Graph Based OnlineStore Review Spammer Detection [C]. In: Proceedings of the 11th International Conference on Data Mining. Washington, DC, USA: IEEE Computer Society, 2011: 1242-1247. [本文引用:1]
[9] Lu Y, Zhang L, Xiao Y, et al. Simultaneously Detecting Fake Reviews and Review Spammers Using Factor Graph Model [C]. In: Proceedings of the 5th Annual ACM Web Science Conference. ACM, 2013: 225-233. [本文引用:1]
[10] Hotelling H. Analysis of a Complex of Statistical Variables into Principal Components[J]. Journal of Education Psychology, 1933, 24(6): 417-441. [本文引用:1]
[11] Karhunen J, Oja E, Wang L, et al. A Class of Neural Networks for Independent Component Analysis[J]. IEEE Transactions on Neural Networks, 1997, 8(3): 486-504. [本文引用:1]
[12] Ho C-T B, Wu D D. Online Banking Performance Evaluation Using Data Envelopment Analysis and Principal Component Analysis[J]. Computers & Operations Research, 2009, 36(6): 1835-1842. [本文引用:1]
[13] Oja E. Principal Components, Minor Components, Linear Neural Networks[J]. Neural Networks, 1992, 5(5): 927-935. [本文引用:1]
[14] Kaiser H F. The Varimax Criterion for Analytic Rotation in Factor Analysis[J]. Psychometrika, 1958, 23(3): 187-200. [本文引用:1]
[15] 章文波, 陈红艳. 实用数据统计分析及SPSS12. 0应用[M]. 北京: 人民邮电出版社, 2006: 249-250.
(Zhang Wenbo, Chen Hongyan. Practical Data Analysis and SPSS 12. 0 Application [M]. Beijing: People’s Posts and Telecommunications Press, 2006: 249-250. ) [本文引用:1]
[16] Breiman L. Rand om Forests[J]. Machine Learning, 2001, 45(1): 5-32. [本文引用:4]
[17] Kaiser H F. An Index of Factorial Simplicity[J]. Psychometrika, 1974, 39(1): 31-36. [本文引用:1]
[18] Bartlett M S. Properties of Sufficiency and Statistical Tests[J]. Proceedings of Royal Society of London, 1937, 160(901): 268-282. [本文引用:1]