应用向:从 App Store 的排名变化,发现刷榜的水军

版权声明:转载请注明出处 https://blog.csdn.net/paper_reader/article/details/81677203

阅读更多,欢迎关注公众号:论文收割机(paper_reader) 
原文链接:应用向:从 App Store 的排名变化,发现刷榜的水军

今天介绍一篇比较偏应用的文章,来自2013年的CIKM。

Zhu, Hengshu, Hui Xiong, Yong Ge, and Enhong Chen. "Ranking fraud detection for mobile apps: A holistic view." In Proceedings of the 22nd ACM international conference on Information & Knowledge Management, pp. 619-628. ACM, 2013.

手机应用市场中的刷榜问题一直充满争议,这种行为在iOS 的App Store 中尤为严重。虽然苹果已经采取了一些过滤措施,但是仍然有大量的低质量刷榜软件在某些时间段霸占 App Store 的免费和付费榜单前部位置。这种行为严重影响用户的使用体验,也埋没了一批真正优秀的应用软件。

这篇论文作者爬取了 App Store 每天免费应用下载榜和付费应用下载榜排名 Top300 的 app,时间跨度长达两年半。通过对 app 在榜单上排名的变化规律进行建模,从而发现一些可能存在刷榜行为的 app。

这篇文章首先介绍了一个现象:大部分软件在排名变化上都呈现出一种具有 leading event 和 leading session 的现象。

如下图所示,随着时间的变化,刷榜 app 并不是长时间一直占据应用排行榜前部位置,而是呈现出一个上升维持下降的过程,这种过程就叫做 leading event,几个时间上距离较近的 leading event 就构成了一个 leading session。

于是该文章首先设计了一个从排名时间变化中发现 leading session 的算法,即发现一些在某段时间内 app 排名高于一定阈值的 leading event,把时间相近的leading event 合并成一个 session。

当然,任何 app 都有可能存在上述的 leading  session,比如一些限时促销 app,所以仅仅通过发现这样的 leading session 是无法准确发现刷榜 app 的。

该文章根据观测到的一些刷榜 app 排名变化的现象(evidence),将这写现象进行数学建模,从而进一步准确地判断刷榜行为。这五种被发现和建模的现象分别为:

  1. 刷榜 app 在榜单上的排名呈现出迅速上升和迅速下降的特点。更进一步,如果一个 leading session 中所有 leading event 的上升边和下降边斜率之和的平均值明显大于榜单中其他 leading session 的该项值,那就说明这个 session 很大概率上存在刷榜行为。

  2. 刷榜 app 往往在榜单中是以较短的时间维持较高的排名。具体来说,对于一个 leading session,如果其中平均每个 leading event 在维持阶段(上图中的 Maintaining Phase) 有较高的排名时长比(相对排名变化/维持时间长度),那么这个 leading session 也有较大的刷榜可疑。

  3. 刷榜 app 经常在短时间内出现排名反复上升下降的特点。对于正常的 app 来说,其排名下降到一定程度之后很少在短时间内再次出现迅速上升的情况。所以,在一个 leading session 如果包含了特别多的 leading event,证明这个 app 在短期内排名变化剧烈,其存在刷榜的行为可能性也较高。

  4. 刷榜 app 在刷榜时的评分和其平时的评分存在较大差异。对于正常的 app,无论是在 leading session 之内还是之外,其评分应该拥有相似的均值。刷榜 app 往往通过刷评分的方式来提高其排名,所以其在 leading session 中的平均评分可能大大高于其历史平均评分。

  5. 刷榜 app 在刷榜时的评分分布和其平时的评分分布存在较大差异。同上条,正常 app 在 leading session 内外,其评分在1-5之间的分布都是类似的。刷榜 app 在疑似存在刷榜行为的leading session 内的评分分布可能存在5分的比例更高的现象,与其平时的分布存在差异。

该文章将这五种现象数学化后通过假设检验高斯近似的方法(具体细节见论文)求得给定 session 对应五种现象的 evidence value。

把一个给定 session 的五个 evidence value 进行线性组合就得到了该 session 的可疑值。线性组合中每个 evidence value 的权重(也就是该模型的参数)可以通过梯度下降的方法计算。

对 session 的可疑值设定一个阈值,然后将该 app 每个 session 是否可疑与session 的时间长度做加权和得到最终 app 的可疑值。

上图公式是 app a 的可疑值的计算方法,对于 a 的每一个leading session,方括号里面判断其可疑值是否超过阈值,超过则该方括号的值为1,否则为0。然后乘以该 session 的可疑值再乘以该 session 的时间。

故一个 app 可疑的 leading session 越多,持续时间越长,该 app 越可疑。

在实验阶段,由于缺乏标注好的事实数据(即不知道哪个 app 有刷榜行为),该文章采用了人工标注的方式,5位经验丰富的评价者通过对 app 基本信息的观察从而判断其是否存在刷榜行为。

由于该方向研究论文较少,该文章只比较了其提出的方法的几种不同的变体的表现,实验结果表明,将五种表现加权结合的方法的表现(NDCG>0.9)好于只考虑部分表现的方法。

上图展示了两个通过该算法发现可疑 app,我们可以发现其存在上文提到的一些典型的可疑表现。

整体来看,这篇文章用统计学和机器学习的方法,通过对大量历史数据进行建模和学习,最终得到一个表现稳定的刷榜 app 预测模型。

该论文也存在着缺乏标注数据,缺乏对比方法等问题。但本文至少从统计学角度证明我们的一些基本观察是正确的,而且该方法可以广泛应用在一些其他的异常检测问题中。

随着刷榜水军的进化,越来越多的刷榜行为更注重长期排名的稳定增长,从而完美避开了本文的探测方法。

我们可以考虑结合更多的信息(app 元数据)以及在能获取后台数据的情况下,分析刷榜用户的行为,从而更加准确地分辨出刷榜行为和正常行为。

阅读更多,欢迎关注公众号:论文收割机(paper_reader)
原文链接:应用向:从 App Store 的排名变化,发现刷榜的水军

猜你喜欢

转载自blog.csdn.net/paper_reader/article/details/81677203