应用场景
聚类系数在学术上的应用定义可以参考 Wiki 的 Small-World-Network, 基于经典的社交 6度分隔网络为起点, 延伸来做复杂分析, 引入了过多其他的图论概念, 这里不详细描述, 感兴趣可自行了解.
聚类系数在实际生产环境应用和三角计数比较相似(通常是结合选一个), 全图聚类系数可以用于判断图的稀疏, 稠密, 用得不多, 更多的是用于局部范围来分析某个点/子图的紧密度 / 关联性, 下面用一个简单和一个具体的例子来一起了解聚类系数的用法
1. 社交关系 (简单)
首先以 QQ/Wechat/Weibo 这类大家耳熟能详的社交关系为例, 至少有两个使用场景:
-
推荐好友/文章 / 动态等
-
找出“僵尸”号, 黑灰产号加以定时清理
先算出 QQ 全图的聚类系数, 比如是
0.2
数据清洗, 按照各类用户标签(活跃度, 在线时间, 输入字数, 性别, 年龄段) 构建几个典型的子图, 算出聚类系数, 例
0.5
遍历疑似黑号的清单, 算出聚类系数, 与全图 & 分类子图做对比, 同时满足大量好友 + CC远低于平均值, 认定“僵尸”号
如何实现呢, 简单的说, 通过三角计数可以获取某个人(账户)常联系的好友圈,
2. 电信实时反欺诈中的应用 (具体)
比如典型的例子就是以前 TigerGraph 在 slides 中曾举例用于 在“AI标记电信号码中的诈骗号码” 中的 case:
本质就是区分普通电话, 和诈骗电话的行为习惯, 然后加以打分标记, 超过阈值则标记为可疑/诈骗
-
首先, 普通电话和诈骗电话有个最明显的区别,
- 普通电话呼入多, 呼出很少
- 诈骗电话呼出很多, 呼入很少
-
上述的判断方式简单但是比较粗, 会误伤到比如客服人员, 外卖/快递小哥, 这类服务人员, 它也是 AI 训练里常说的噪点数据, 那么利用图算法之后如何大幅减少这类小比例的特例呢? 我们就需进一步分析两类电话的呼出子图特征:
-
正常电话: 它通常有一个比较固定的电话拨出圈, 比如
小明 —> 父母
+小明 —> 妹妹
+妹妹—>父母
, 从而会在局部构成数个(三角/多角)的环型子图. 用聚集系数 / 三角计数来计算, 它应该具有一定的稠密度 / 三角数 -
诈骗电话: 因为诈骗电话一般为了隐匿都不会真实使用, 它的拨出会非常离散, 很难在多个拨出之间形成稳定密集环状, 那么它的聚集系数/三角数一般就会很低.
-
那么上面的案例, 就是典型的简单易理解, 相比直接从原始通话数据进行训练存在噪音和误伤的情况, 运用了聚类图算法之后, 从图上进行预处理过滤后, 达到更好的训练效果的代表.