Graphical Model在收藏夹作弊行为识别上的应用

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
OpenSearch LLM智能问答版免费试用套餐,存储1GB首月+计算资源100CU
简介: Graphical Model通常应用在问题本身带有多个相互联系的变量的场景,并提供了一种基于图的表达方式让你去建模这些联系从而挖掘潜在的因果关系。在本文中,我们创新性地将概率图模型应用到了淘宝平台收藏作弊行为检测的任务中,取得了远超传统分类模型的结果(Top1%记录中召回60%的作弊行为)。

总述

Graphical Model通常应用在问题本身带有多个相互联系的变量的场景,并提供了一种基于图的表达方式让你去建模这些联系从而挖掘潜在的因果关系。在本文中,我们创新性地将概率图模型应用到了淘宝平台收藏作弊行为检测的任务中,取得了远超传统分类模型的结果(Top1%记录中召回60%的作弊行为)。本文我们将从作弊行为分析,构建模型,求解模型三个部分对这个工作进行详细介绍。

背景介绍

随着在线购物网站的发展,在线购物正在逐步取代传统的购物方式。2016年普华永道的调查显示54%的购物者每周或每月都会在网上购买商品,其中34%的购物者认为手机是他们主要的购物工具。在购物网站中,搜索引擎是用户找到具体商品,款式或者品牌的主要入口。在搜索引擎的帮助下,用户能够方便地在购物网站上完成一系列加购,收藏,购买行为,而这些用户行为数据本身也蕴含着极大的价值,在优化购物网站的推荐和搜索中扮演了非常重要的角色。“加入收藏夹”作为淘宝一个重要的功能,可以方便用户收藏一些暂时不买的商品。与此同时,商品被“加入收藏夹”的数量,也称作人气,也是淘宝的搜索引擎提供的一种可选的排序策略;且对于默认的综合排序,人气值也常常作为一个参数被引入进去。

为了提升产品或店铺的排名及可见度,部分恶意商家采取虚假的作弊行为以提高销量,主要包括虚假推广行为(收藏、加购和转发)及虚假的评论行为。目前,针对于淘宝作弊活动的地下产业已趋近成熟,尤其是随着众包平台的发展,这些商家可以根据自己的需求,便捷地发布作弊任务,吸引众多的参与者来完成作弊活动,从而快速高效的实现产品或店铺的宣传推广。以虚假收藏为例,恶意商家通过发布任务,快速提高其商品的人气值,从而影响淘宝的推荐和搜索排序策略,进一步提高商品销量。这类借助众包平台的作弊行为能够在短时间内产生大量异常数据,且难以检测,会对用户以及购物网站本身造成恶劣的影响。因此,如何快速有效地找到这些作弊活动,对于淘宝来说非常重要。

作弊活动运作模式

通过调研灰产平台提供的收藏作弊服务,我们总结了如下图所示的作弊模式:
ata_pic1.jpg

首先商家通过平台发布作弊任务,指定商品,搜索关键词,任务时间以及佣金。除了这些基本的信息之外,商家还会提出一些特殊的要求,例如在搜索结果页中浏览超过x分钟,在搜索结果中随机点击y个商品,再点击指定商品进行收藏,有一些任务还需参与者满足一定的等级要求。平台的用户看到任务之后会去申领,根据任务中提出的要求进行搜索,浏览,点击,收藏等一系列动作,最后还需要截图,以便去平台申领佣金。

此类平台的用户,多为兼职刷手,作弊行为只是其在淘宝平台留下的行为的一部分。此外,收藏作为一个隐私行为,无法被大众察觉,缺少类似于“对我有用”、“最佳答案”等显性的指标。因此,这类新兴的作弊任务,很难用已有的方法进行检测。

为了针对此类作弊行为进行识别,我们收集了作弊平台上一个月时间的任务,用于对用户行为进行标注。同时,我们分别从用户属性,商品属性以及行为属性三个角度,对收藏作弊进行了深入分析。我们将这些属性和用户,商品之间的关联关系用Factor Graph模型进行了整合,并基于此设计了一个分类模型来检测可能的收藏作弊行为。

用户、商品以及行为属性对比分析

行为属性分析

首先,我们对作弊收藏行为和正常收藏行为之间的属性差异做了详尽的对比。
ata_pic2.jpg

从加购角度看,作弊收藏行为中带有加购动作的只有6%,而在正常收藏行为中则有8%。这个差异主要是因为极少数的收藏作弊任务中会有加购物车的要求,另外作弊收藏的商品本身也不是用户想要的,自然加购的意愿也就差一些。在搜索过程中,用户可以通过一些筛选条件(发货地,价格区间等)来更有效的找到商品,这里作弊收藏对比正常收藏,使用筛选的比例反而更低一些。对于收藏前是否有其余的商品点击(在当前这次搜索过程中),作弊收藏行为明显高出正常收藏行为很多。这个主要还是因为作弊任务中很多都要求多点几个商品。从时间上看,作弊行为更倾向于发生在周末,这可能是与作弊用户是兼职的有关系。

在下图中,我们对更多的行为属性进行了对比,这其中包括了搜索关键词的长度,搜索结果页浏览深度,搜索结果页停留时间以及点击商品详情页的停留时间。
ata_pic3.png

通过上面的分析,我们可以看到除了前序商品点击之外,其余的多种属性上,作弊收藏行为和正常收藏行为之间的差异性并不大,这也进一步印证了但从行为本身来区分作弊与非作弊是非常困难的。

用户属性分析

在接下去的分析中,我们将收集到的作弊样本涉及的用户定义为作弊用户,其余的用户称为正常用户,类似作弊样本中的商品成为作弊商品,其余的商品成为正常商品。
ata_pic4.jpg

从上表中可以看到,作弊用户的行为(收藏,加购,购买,评论)明显要少于正常用户。这些行为能反映出一个用户在平台上投入的时间,很显然,作弊用户的活跃度远低于正常用户。

ata_pic5.jpg

我们取了其中一个作弊用户,来观察其收藏行为的持续性。结果如上图中展现,作弊用户会在一段持续的时间里(前半个月)收藏一定数量的作弊商品。这个数据说明,作弊用户收藏作弊商品会在某个持续的时间窗口内。

商品属性分析

与用户属性分析类似,我们也对比了作弊商品和正常商品之间的差异性。数据见下表。很明显,作弊商品上的行为数据远低于正常商品,这也反映出,通常只有表现不是很好的商品会寻求作弊,同时这些作弊商品也很难吸引到正常的用户。
ata_pic6.jpg

我们选取了一个作弊商品和一个正常商品,观察它们被收藏的持续性,结果见下图。可以看到,作弊商品上的作弊行为集中在一个很短的时间窗口内,这或许是对应的任务指定的时间。
ata_7.jpg

作弊收藏检测

模型

根据对作弊活动的分析,我们提取了有区分能力的特征,并将提取的特征因素和关联因素统一整合到概率图模型框架中(Activity Factor Graph Model, AFGM),进行虚假收藏活动的识别。

在AFGM模型中,我们一共引入了三方面的特征因素,包括行为特征,用户特征和商品特征,同时引入了基于用户和商品的关联因素,即对于一个固定的时间窗口内,相同用户或者相同商品产生的两条收藏记录建立边的关系,具体模型如下图所示。
ata_8.png

图中,网络G中的一组活动节点 V={A_1, A_2, ..., A_N}被映射到了一组因子节点Y={y_1, y_2, ..., y_N}。G中的活动有一部分是有标签的,因此Y可以被分为有标签的Y_L(训练集), 没有标签的Y_U(测试集)。 AFGM 可以根据训练集中已知的因子节点来推测未知的节点是否是作弊。根据上面对行为属性,用户属性和商品属性的分析,我们定义了以下4种因子:

行为属性因子:f_b (y_i│b_i )表示在给定行为属性向量b_i的情况下,y_i的后验概率。
用户属性因子:f_u (y_i│u_i )表示在给定用户属性向量u_i的情况下,y_i的后验概率。
商品属性因子:f_p (y_i│p_i )表示在给定商品属性向量p_i的情况下,y_i的后验概率。
另外根据前述的发现,作弊商品/用户的作弊行为具有持续性和集中性,所以我们定义了两种相关性因子:
g_u (y_i│C_u (y_i)) 表示基于用户的行为相关性,其中C_u (y_i )是与在概率图中与y_i连接的相关性因子节点的用户集合。
g_p (y_i│C_p (y_i)) 表示基于商品的行为相关性,其中C_p (y_i )是与在概率图中与y_i连接的相关性因子节点的商品集合。

有了这些因子之后,AFGM中的行为概率就可以表达为:
ata_formula_1.png
模型的目标是将P(Y|G)最大化。

模型求解

我们用指数线性函数来定义三个属性因子:
ata_formula_2.png

这里ata_formula_3.png是权重向量,ata_formula_4.png则是特征向量函数。类似的,相关性因子的定义为
ata_formula_5.png
这里,ata_formula_6.png 是权重向量, ata_formula_7.png是示性函数向量。学习AFGM就是去估计一组参数ata_formula_8.png,使得P(Y|G)最大。

为了表述的简洁,我们将一个因子节点y_i的所有因子函数连接在一起,记为
ata_formula_9.png
这样我们可以把P(Y|G)改写成
ata_formula_10.png
由于因子节点集合Y是部分标注的,为了计算这个概率,我们定义Y|Y_L为已知标签集Y_L的前提下,所有节点的标签配置情况。进一步,我们定义log-likelihood目标函数为
ata_9.png
我们用梯度下降算法来求解这个目标函数,其中参数θ的梯度为:
ata_10.png
这里ata_formula_11.png表示在已知标签Y_L的前提下S的期望, ata_formula_12.png 则表示所有标签可能下的S的期望。由于ata_formula_11.pngata_formula_12.png直接计算非常困难,我们利用loopy belief propagation(LBP)算法来求一个近似解。在每次迭代过程中,我们两次运用LBP算法,第一次用于估计位未知节点的边际概率,第二次是用于估计所有节点的边际概率。有了这个边际概率之后,上述的两个期望可以近似为将所有相关节点的边际概率之和。最后根据梯度,我们会不断的更新参数直至收敛。根据学到的参数θ,我们在测试集上再一次用LBP算法估计一个边际概率。这个边际概率就会作为一个节点是否为作弊的预测值。

实验结果

我们将AFGM的结果与Support Vector Machine,Logistic Regression,Random Forest,以及AFGM的三个变种
AFGM-UP:去掉用户因子与商品因子后的模型,用于说明加入用户因子与商品因子的必要性
AFGM-C_u:去掉用户相关性因子后的模型,用于说明加入用户相关性因子的必要性
AFGM-C_p:去掉商品相关性因子后的模型,用于说明加入商品相关性因子的必要性

我们对比Top1%中的作弊召回量:ata_formula_13.png 。同时,我们也是对比了AUC来检查我们的模型是否给予了作弊行为记录一个更高的概率。试验结果如下:
ata_11.png
可以看到,传统方法在作弊检测这个问题上基本上没有效果,而利用概率图模型则均可得到一个较好的结果。相比之下,我们发现即便不考虑商品属性因子和用户属性因子,模型已经能到得到一个很好的结果了,加入这些因子之后只是对最终结果小幅提升。
ata_12.png
上图显示了不同的概率图模型在topk%下的检测效率,可以看到在top10%中,我们就可以检测出近80%的作弊行为,而AFGM与AFGM-UP两种模型的表现非常接近。这个可能是由于相关性因子已经包含了足够的信息用于检测作弊行为。AFGM-CP的表现是四种模型中最差的,这说明商品相关性因子在检测作弊的时候更加重要。

总结

在本文中,我们对淘宝评上的收藏作弊行为从多个角度做了深入的分析,揭示了作弊行为与正常行为之间的差异性。通过这些分析,我们提取了多种特征,并提出了AFGM来推断一次收藏行为是否为作弊。实验结果显示,AFGM在top1%的记录中能召回超过60%的作弊行为。通过不同模型之间的对比,我们也发现商品相关性因子在检测作弊行为时更为重要。尽管我们提出的检测模型具有相当高的效率,但是也得指出目前的算法只能对一个时间周期内的作弊进行整体识别,尚不能对行为进行实时判别,这将是未来的一个研究方向。

目录
相关文章
|
机器学习/深度学习 算法 Python
机器学习:归一化
这段内容主要讨论了归一化的目的和两种类型的归一化方法。归一化是为了确保在梯度下降过程中,不同维度的参数以相似的幅度调整,避免因数据尺度差异导致的优化问题。文中提到了最大值最小值归一化和标准归一化,后者更不易受到离群值的影响,并且可以使数据符合正态分布。通过Python代码示例展示了如何使用`StandardScaler`进行标准归一化。
550 2
|
canal Kubernetes 网络架构
K8s CNI 网络最强对比:Flannel、Calico、Canal 和 Weave
Kubernetes 采用的 CNI 标准,让 Kubernetes 生态系统中的网络解决方案百花齐放。更多样的选择,意味着大多数用户将能够找到适合其当前需求和部署环境的 CNI 插件,同时还可以在环境发生变化时也能找到新的解决方案。
4030 1
|
7月前
|
人工智能 自然语言处理 搜索推荐
阿里云 AI 搜索开放平台新功能发布:大模型联网能力上线
阿里云 AI 搜索开放平台此次新增了大模型联网能力,通过集成大语言模型(LLM)和联网搜索技术,为用户提供更智能、更全面的搜索体验。
1536 27
|
11月前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
1378 30
|
JavaScript 测试技术 开发工具
Git 分支设计规范
Git 分支设计规范
466 11
|
消息中间件 中间件 Kafka
RocketMQ源码(二)消息消费的模式到底是Push还是Pull?
RocketMQ源码(二)消息消费的模式到底是Push还是Pull?
383 1
|
大数据 数据挖掘 数据安全/隐私保护
大数据对生活的影响
大数据对生活的影响
461 1
|
人工智能 自然语言处理
X Detector:最值得信赖的多语言 AI 内容检测器
**X Detector** 提供直观界面和高效AI文本检测。支持20种语言,无需登录即可免费使用。高准确率、快速响应,几秒内显示结果。适合多语言内容筛查。尝试[AI Detector](https://xdetector.ai/),轻松检测AI生成文本。
X Detector:最值得信赖的多语言 AI 内容检测器
|
分布式计算 大数据 数据处理
「大数据」Kappa架构
**Kappa架构**聚焦于流处理,用单一处理层应对实时和批量数据,消除Lambda架构的双重系统。通过数据重放保证一致性,简化开发与维护,降低成本,提升灵活性。然而,资源消耗大,复杂查询处理不易。关键技术包括Apache Flink、Spark Streaming、Kafka、DynamoDB等,适合需实时批量数据处理的场景。随着流处理技术进步,其优势日益凸显。
738 0
「大数据」Kappa架构
|
算法 Java 数据库连接
【分库分表】基于mysql+shardingSphere的分库分表技术
【分库分表】基于mysql+shardingSphere的分库分表技术
707 0