论文Collective Opinion Spam Detection: Bridging Review Networks and Metadata(2015KDD)

目标:检测水军和虚假评论

contributions:

  1. 提出SPEAGLE框架来做opinion spam,这个框架结合了relational data和元数据(metadata),即结合了图、行为和文本
  2. 论文中图由user-review-product图构成,三种类型的结点都有标签,user:水军与否,review:虚假与否,product:为被攻击目标与否。论文用图来做分类,用metadata来估计有关节点的类分布的先验知识。(我不把review放在中间的原因是目前还没在数据集里发现完全相同的review可以连接多个product,因此就不存在PRP路径)
  3. SPEAGLE是完全无监督的学习方法,如果有少部分标签,也可以转换为半监督学习(SPEAGLE+)
  4. 探究了我们提出的特征的有效性,设计出轻量级算法SPLITE(SPEAGLE-LIGHT),只用少量的特征

方法

fraudeagle

首先介绍作者前一篇论文提出的FRAUDEAGLE框架

该方法构建user-product二部图G=(V,E±)G=(V,E^{\pm})G=(V,E±)表示N个用户节点U=u1,...,uNU={u_1,...,u_N}U=u1​,...,uN​和M个商品结点P=p1,...,PMP={p_1,...,P_M}P=p1​,...,PM​

边(ui,pj,s)∈E±(u_i,p_j,s)\in E^{\pm}(ui​,pj​,s)∈E± ,s∈{+,−}s \in \{+,-\}s∈{+,−}表示一个review是positive还是negative

user的类别:LU={benign,spammer}L_U=\{benign,spammer\}LU​={benign,spammer}

product的类别:LP={good−qunality,bad−quality}L_P=\{good-qunality,bad-quality\}LP​={good−qunality,bad−quality}

利用MRF对网络结点进行分类,连个概率表示为单个势函数和成对势函数的乘积

P(y)=1Z∏Yi∈Vϕi(yi)∏(Yi,Yj,s)∈E±ψijs(yi,yj)P(y)=\frac{1}{Z}\prod_{Y_i\in V}\phi_i(y_i)\prod_{(Y_i,Y_j,s) \in E^{\pm}}\psi_{ij}^s(y_i,y_j)P(y)=Z1​Yi​∈V∏​ϕi​(yi​)(Yi​,Yj​,s)∈E±∏​ψijs​(yi​,yj​)

y表示所有结点的标签的变量,yiy_iyi​表示y结点具有i标签,Z是归一化常量

individual factors :

表示每个节点的先验势函数

pairwise factors:表示兼容势函数(成对势函数,边势函数)

为了减少模型的参数,成对势函数是共享的(拥有相同符号的边共享)

如果没有外部信息或领域知识可用,则可以将所有先验设置为无偏/无信息(即,每个类别的概率均等)。否则,可以使用外部源分别为每个节点估计它们。

在本框架中先验概率被设为ϕi={0.5,0.5},∀i∈V\phi_i=\{0.5,0.5\},\forall i \in Vϕi​={0.5,0.5},∀i∈V

成对势函数根据数据分析人工设计,根据以下四个直觉:

  1. 真实用户通常撰写积极的评论给高质量的商品
  2. 水军通常撰写积极的评论给低质量的商品或者撰写消极的评论给高质量的商品
  3. 水军也有可能撰写看起来像真实评论的评论来伪装他们的不当行为(给高质量商品撰写积极评论or给低质量商品撰写消极评论)
  4. 真实用户也有可能对高质量商品撰写消极评论

根据以上设计来求整个图的最大似然来训练参数,同样的,该过程是NPhard,所以采用LBP方法来迭代求解

但是作者想加入更多的信息,于是提出了SPEAGLE模型

SPEAGLE

商品的属性不再是高质量/低质量,改为:LP={non−target,target}L_P=\{non-target,target\}LP​={non−target,target}即通过对含有虚假评论的所有评论来分析看不出到底是高质量还是低质量,得到的结果应该是该商品是不是水军的target

结点包含三种类型:商品、用户、评论

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RkPca9iw-1598756690221)(C:\Users\94205\AppData\Roaming\Typora\typora-user-images\1592707008965.png)]

边(ui,rk,t=′write′)(u_i,r_k,t='write')(ui​,rk​,t=′write′)表示用户i撰写了评论k

边(rk,pj,t=′belong′)(r_k,p_j,t='belong')(rk​,pj​,t=′belong′)表示评论k是属于j商品下的

作者对数据集做的假设:spam review的撰写者是spammer,被spammer攻击过的商品就是target商品

成对势函数设计如下:

接下来分析如何评估先验概率(单独的势函数)

本文对用户、评论、商品分别构建了以下特征:

对一个结点i,构建特征含有F个特征的特征向量{x1i,...,xFi}\{x_{1i},...,x_{Fi}\}{x1i​,...,xFi​}

H/L表示当这个特征取值high/low表示该结点的被怀疑是spammer/spam/target的怀疑值更高,为了量化特征值x的极值,使用经验累积分布函数来估计数据包含低至高值x的概率。

然后计算每个节点的spam score:

如果特征l的取值xlix_{li}xli​越高表示spam score越高的话,分子越小,sis_isi​越高

如果没有标签的话,就是完全无监督来计算spam score

半监督的SPEAGLE

轻量级算法:减少特征个数and设先验概率为0.5,0.5

实验数据

Evaluation metrics

PR

ROC

precision@k

NDCG@k,for k={100,200,…,1000}

semi-supervised detection

yelpchi数据集分表打标签比率{1%, 5%, 10%}

yelpnyc:{0.5%, 1%, 2%} yelpzip{0.25%, 0.5%, 1%}

table:precision@k

figure:NDCG@k

与baseline对比:

后续作者做了实验来分析特征进而发现少量的特征可以和全部特征达到的结果相近,因此提出了轻量级的算法。

Collective Opinion Spam Detection: Bridging Review Networks and Metadata(2015KDD)相关推荐

  1. [Kaggle] Spam/Ham Email Classification 垃圾邮件分类(BERT)

    文章目录 1. 数据处理 2. 下载预训练模型 3. 加载数据 4. 定义模型 5. 训练 6. 提交测试结果 练习地址:https://www.kaggle.com/c/ds100fa19 相关博文 ...

  2. [Kaggle] Spam/Ham Email Classification 垃圾邮件分类(spacy)

    文章目录 1. 导入包 2. 数据预览 2. 特征组合 3. 建模 4. 训练 5. 预测 练习地址:https://www.kaggle.com/c/ds100fa19 相关博文: [Kaggle] ...

  3. Review of Matrix Theory (HITSZ) 含22年真题

    Review of Matrix Theory (HITSZ) 含22年真题 1. 复习小记 1.1 Overview 2. 2022年试题回忆 3. 总结 HITSZ矩阵分析复习(Prof. Zao ...

  4. Convolutional Neural Networks卷积神经网络(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  5. Domain Adaptive Object Detection for Autonomous Driving under FoggyWeather(翻)

    Title:Domain Adaptive Object Detection for Autonomous Driving under FoggyWeather 雾天环境下自动驾驶领域自适应目标检测 ...

  6. Capsule Networks胶囊网络(二)

    文章目录 Dynamic Routing Coefficients operate on capsule level Dynamic Routing: Routing by Agreement Com ...

  7. Benchmarking Detection Transfer Learning with Vision Transformers(2021-11)

    这篇文章是何凯明在MAE之后关于纯transformer架构用于目标检测下游任务的探索,在MAE最后有所提及,之后还有一篇文章ViTDET一脉相承.对于VIT架构用于视觉任务带来了很多启发. 简介 目 ...

  8. Capsule Networks胶囊网络(一)

    原文链接:小样本学习与智能前沿 author: Sargur Srihari srihari@buffalo.edu This is part of lecture slides on Deep Le ...

  9. Jumping NLP Curves: A review of NLP research (翻译)

    最近翻阅了NLP的论文,发现了一篇高被引,特此翻译,以供参考(从文章第2部分开始) 论文原文下载地址:链接: https://pan.baidu.com/s/1e9b6StWSr7eIkPhvz2xu ...

  10. python画网络图 可拖动结点_Python networks画网络图(转)

    转自:http://www.cnblogs.com/huiyang865/p/5677449.html 另matlab绘制网络图见知乎:https://zhuanlan.zhihu.com/p/208 ...

最新文章

  1. javascript_core_01之数据类型与运算
  2. BeautfuiSoup4解析器
  3. 使用MDT2013部署Win8系统之五-配置MDT服务器之添加任务序列
  4. 简单算法的举例c语言,计算机科学与技术系C语言程序设计22简单算法举例.PPT
  5. 在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办
  6. 怎么看oracle的procedure,Oracle基础 -- SQLPlus如何查看procedure的内容
  7. C语言-ATT拓展内联汇编(ATT/GCC)
  8. 85. Maximal Rectangle 由1拼出的最大矩形
  9. 网易易盾最新一代Java2c加固究竟有什么厉害之处?
  10. 数据分析最具价值的49个案例(建议收藏)
  11. linux终端字体放大_5 个 PowerShell 主题,让你的 Windows 终端更好看
  12. 计算机网络的服务资源管理器,MCSA学习指南-配置文件服务器资源管理器-文件服务器...
  13. html网页的说课稿,【必备】说课稿模板集锦六篇
  14. Metasploit扫描漏洞模块
  15. js find(),findIndex()方法的使用
  16. android手机如何查找文件在哪里设置,oppoReno怎么快速查找文件/程序/系统设置?
  17. unable to open debugger port问题解决
  18. 【音视频相关】nvidia-smi 命令扩展及问题分析举例(dmon/pmon/GPU性能相关)
  19. 电信JAVA手机_手机modem开发(28)—开发电信VoLTE开关默认值设置
  20. 解决AE模板提示:类“Effect”中名为“Color”的属性或方法缺失或不存在

热门文章

  1. 局域网计算机加密共享文件,怎么共享文件夹局域网(局域网共享加密)
  2. 批处理大全Win10版工具箱
  3. 超强的照片无损放大修复工具 SmartDeblur模糊照片变清晰工具
  4. 放大图片模糊怎么变清晰?
  5. 高效使用Chrome搜索精准内容
  6. 选用什么的域名后缀好
  7. mysql分库分表中间件6_数据性能改善——分库分表中间件
  8. JavaScript中的事件与异常捕获解析
  9. VS2019完全卸载教程
  10. MATLAB 插值与拟合