虚假用户检测工作相关论文

虚假用户检测工作相关论文

GCN-Based User Representation Learning for Unifying Robust Recommendation and Fraudster Detection

问题背景:推荐系统的一个默认假设:交互数据能够真实反应用户的兴趣和偏好。但是恶意用户会为推荐系统插入虚假反馈破环假设,减低推荐模型性能。因此需要构建鲁棒性的推荐系统模型(能够识别欺诈者,修正用户数据在模型中的权重)

test:

前人相关工作:

  • 提升推荐系统鲁棒性:在矩阵分解优化函数中添加m估计量
  • 欺诈者检测并删除欺诈者:过程容易出错,将正常用户识别为欺诈者

主要工作:

  • 提出基于GCN的表示学习框架GraphRfi用于鲁棒推荐(评分预测任务)和欺诈者检测(分类任务),两个任务在训练中相互增强。
    • 欺诈者概率用于评判用户数据对评分预测任务的重要性
    • 评分预测的误差用于欺诈者检测特征(从认知心理学的角度来看,一个正常用户的行为应该是一致和可预测的[46]。因此,如果一个用户的明显评分与一个精确的推荐模型所预测的评分有很大偏差,那么这个用户最有可能是一个骗子。)

本文工作的优势:

  • 将两个工作结合,充分利用用户可靠特征(用户正负评价分布、用户评价数量等评分统计信息)进行模型训练。
  • 端到端模型,欺诈者检测和评分任务相互耦合

image-20221017152707559

GCN-based Rating Prediction Component

图结构:有向二分图

任务1:利用多源数据(user_rating、user_features)进行用户嵌入表示

$z_u$表示user embedding ,且$z_u^0=\pmb{x_u}$

$z_v$表示item embedding,$z_v^0$随机初始化

网络迭代过程是一个信息传递的过程(图卷积迭代)

image-20221018010548570

$e_r$为评分r的embedding(评分就是1到5)

$h_v$表示从item $v\in{N(u)}$节点传递过来的信息,$N(u)$表示用户u交互过的v的集合

image-20221018010905809

  • 更新$z_u$,通过注意力权重进行特征信息聚合

image-20221018005410401

image-20221018005444912

image-20221018005217562

image-20221018005251528

  • 更新$z_v$

image-20221018005531417

  • user-item二分图卷积算法流程:

image-20221018005556064

通过不断卷积迭代,得到的节点表示综合了节点本身和所有连接到它们的节点信息

任务2:评分预测

  • 将$z_u$和$z_v$拼接,接入一个线性层进行评分预测

image-20221018010758593

NRF-based Fraudster Detection Component

欺诈者检测模块是一个有监督分类器:随机森林不可微,因此使用神经随机森林,

  • 将数据评分的误差作为特征引入欺诈者检测模块

image-20221018011112165

image-20221018011140145

image-20221018011207083

$z_u^*$是user的稠密表示,是神经随机树的输入

每个决策节点对应一个权重向量w,和输入特征算内积过sigmoid得到走左子树的概率,右子树概率即为用1去减,根据概率大小(大于0.5走左子树)可以确定每个样本的决策路径,而叶子结点根据最终落进去的样本频数可以得到$y=1,0$的概率分布$\pi$, 通过样本连乘积得到一个batch的联合概率分布

image-20221018013527840

模型训练

两个模块损失联合训练

image-20221018014052533

实验

数据集

  • yelp数据集:使用前人标记的虚假评论区分虚假用户

  • amazon数据集:选择收到评论点赞或反对总票数大于20的用户,如果点赞数比例大于0.7标记为正常用户,比例低于0.3标记为欺诈者

评价

  • 评分任务:mse、mae,同时为测试集注入不同比例的欺诈者,测试模型的性能波动

image-20221018020904856

  • 虚假用户检测:查准率、查全率、f1

image-20221018020958467

  • 鲁棒性:利用欺诈者数据模拟不同攻击模式进行模型测试

image-20221018021110587