利用有向图模型检测社交网络上的欺诈账户

阅读更多,欢迎关注公众号:论文收割机(paper_reader)
原文链接:利用有向图模型检测社交网络上的欺诈账户

在之前的博文中我已经介绍过如何在手机应用市场电子商务平台上面发现虚假用户和水军。今天我将介绍一种利用有向图模型检测社交网络中虚假(欺诈或者水军)账户的方法。这篇文章来自数据挖掘顶级会议 ICDM 2017。

 

Wang, Binghui, Neil Zhenqiang Gong, and Hao Fu. "GANG: Detecting fraudulent users in online social networks via guilt-by-association on directed graphs." In Data Mining (ICDM), 2017 IEEE International Conference on, pp. 465-474. IEEE, 2017.

 

社交网络中存在着大量的虚假(欺诈)账户,以微博为例,有大量的机器人账户转发各种广告或者充当水军,还有一些账户存在贩卖色情视频、发布谣言、诈骗等行为,这些账户都属于欺诈账户。

 

除了利用账户本身的一些信息,我们最朴素的想法就是利用账户在社交网络中的好友关系对一些可疑账户进行识别。举个例子,对一个机器人账户,他可能关注了很多大 V,但是却有很少真实的用户关注他。所以他的好友关系和真实用户的好友关系就存在一定区别。

 

为了利用不同好友关系(关注与被关注)的带来的影响力变化,这篇文章采用有向图来建模好友关系,即用户之间存在关注与被关注关系,这种关系存在于类似微博,Twitter的社交网络中,不适用于 Facebook 这样的社交网络。

 

具体来说,对于互相关注的好友,我们可以用一条双向边来表示其好友关系。

这样,对于一个特定用户(图中的一个节点),他的好友(邻居节点)对他的影响程度可以通过公式(1)的 sigmoid 函数来表示,该公式表明,对于双向边节点之间的影响力是等价的。

 

第二种情况是粉丝关系,即被关注关系,我们可以用一条指向被关注人的单向边来表示这种好友关系。

在这种情况下,响应的影响力度量函数就会发生变化。根据我们的经验,一个可疑账户关注别的账户,并不会导致该被关注账户的可以程度上升,因为可疑账户一般会关注大量正常账号来降低其可疑度。所以一个节点的邻居节点的可疑程度对该节点没有任何影响。

 

从另一个角度,如果该节点的邻居节点都是正常节点,那么该节点是正常节点的概率就会非常大,因为正常用户关注的账户大概率也是正常用户。公式(2)和公式(1)的区别就在于影响力的权重不同。

 

最后一种好友关系就是关注关系,我们可以用一条从该账户出发,指向其他的账户的单向边来表示。

在这种情况下,对于一个节点的影响力衡量和也会发生变化。还是根据我们的经验,正常的邻居节点并不会影响该节点,因为不论可疑账户还是正常账户都有可能关注正常账户。

 

但是可疑邻居节点就会影响该节点本身,因为正常用户很少去关注这些可疑账户,所以关注这些可疑账户只能增加该账户的可疑程度。

 

对于节点之间的影响力建模之后,本文作者采用马尔科夫随机场模型和 LBP(Loopy Belief Propagation)计算每个节点的可疑程度。作者还对 LBP 算法进行了优化,提高了算法的效率并且有收敛性的保证。

 

上面这一部分内容涉及数学内容,感兴趣的读者可以去原文了解,对于 LBP 收敛性的分析,大家可以看这篇文章。

 

W. Gatterbauer, S. G¨unnemann, D. Koutra, and C. Faloutsos, “Linearized and singlepass belief propagation,” PVLDB, vol. 8, no. 5, 2015.

 

在实验部分,作者使用了之前标注好虚假用户的 Twitter 数据集还有自己手动标注好的新浪微博数据集。

 

实验结果表明,这种结合节点有向边和同时考虑节点可疑和正常程度的 LBP 算法比一些传统的只考虑无向图、只考虑节点可疑或者正常程度、采用随机游走的方法效果都要好。尤其是在 TopK 这个指标上新算法效果明显好于其他算法。

 

作者在文章最后还拿新浪微博做了具体分析,他们在新浪微博中人工查看了检测出可疑概率最高的1000个账号,他们发现这些账户中有41.5%已经被系统封禁,还有42.5%的账户存在虚假的行为,例如转发大量广告或者发帖内容相似。

 

通过案例分析进一步验证该算法的检测效果,另一方面,作者发现了许多高级的虚假账户。如下图所示,这些账户中有些账户会每天在固定时间发布微博,以此来模拟正常用户的行为。(下图左)

 

还有一些账户会从网络中找到一些公开内容作为自己的微博内容,以此来模拟正常用户的微博内容。(下图右)

 

这说明了我们单纯从一个账户发布的微博内容以及账户的行为上分析账户的可疑性远远不够,如果要考虑上面这种特征,我们分析算法会变得更复杂。

 

这就是为什么要引入好友关系(图模型)的原因,因为好友关系相比行为和内容更难模拟,因为正常用户永远不会关注虚假用户。

 

关于文章的更多背景和细节,可以参考我制作的解读 PPT(Google Drive)。

 

### 基于网络数据分析的应用方向及可挖掘领域 网络数据分析是一个多学科交叉的研究领域,涵盖了社交网络分析、社区发现、链路预测等多个方面。以下是几个主要的应用方向及其可能的挖掘领域: #### 1. **社交网络分析** 社交网络分析通过研究节点(用户)之间的关系来揭示隐藏的社会结构和行为模式。它不仅限于社交媒体平台,还可以应用于企业内部沟通网络、学术合作网络等领域[^2]。 - 链路预测:用于推测尚未形成的关系或未来的互动可能性,广泛应用于推荐系统设计。 - 动态网络分析:关注随时间变化的网络拓扑特征,有助于理解社会群体演变规律并及时调整营销策略或其他干预措施。 #### 2. **舆情监控与情感分析** 利用自然语言处理技术和机器学习算法对大量文本数据进行分类、聚类以及主题建模,从而实现公众情绪监测和社会热点追踪[^4]。 - 情感倾向性检测可以帮助品牌评估消费者对其产品或服务的态度; - 主题抽取则能识别当前讨论最热烈的话题类别,为企业战略规划提供依据。 #### 3. **商业智能与市场洞察** 通过对交易记录、客户反馈等商务相关的大规模数字化资料实施深入剖析,辅助管理层做出更明智的选择[^5]。 例如,在零售业中,可以借助购物篮分析找出商品间的隐含联系,进而优化货架布局或者开展捆绑促销活动;而在金融服务业,则能够辨别欺诈风险较高的账户组合以便采取预防行动。 #### 4. **公共政策支持** 政府部门同样可以从这些先进技术获益匪浅。比如,某地方政府部门曾尝试采用数据挖掘手段审查历年来的税收报表,试找到影响地方财政健康状况的关键因素,并据此给出短期至中期的增长预估建议[^3]。 --- ### 示例代码片段 下面展示一段简单的 Python 脚本,演示如何加载数据并通过 NetworkX 库计算基本度中心性和介数中心性指标: ```python import networkx as nx G = nx.read_edgelist('edges.txt') # 加载边列表文件创建无向对象 G degrees = dict(G.degree()) # 获取各顶点的度值 betweenness_centrality = nx.betweenness_centrality(G) # 计算每一点作为桥梁的重要性程度 print("Degree Centrality:", degrees) print("Betweenness Centrality:", betweenness_centrality) ``` 此脚本仅作为一个起点供初学者参考实际应用时需根据具体需求定制复杂模型甚至集成深度神经网络架构来进行更加精细的任务执行如异常检测或是个性化推荐等等。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值