图数据建模:节点与边的设计原则、属性定义、标签策略
图数据建模,说白了就是把现实世界里的欺诈关系,翻译成计算机能理解的「节点」和「边」。这一步要是走偏了,后面算法再牛也白搭。我见过太多团队,一上来就堆数据,结果图里全是噪声,跑出来的结果根本没法用。
今天咱们就聊聊,怎么把这件事做扎实。我会结合自己踩过的坑,把节点设计、边设计、属性定义、标签策略这几个核心环节拆开揉碎了讲。
一、节点设计:选谁当「主角」
节点就是图中的实体。在反欺诈场景里,最常见的节点就是「人」和「设备」。但具体选谁,得看你的业务场景。
核心原则:节点必须能承载「身份」或「行为」信息。
- 身份类节点:用户、手机号、身份证号、邮箱、银行卡号。这类节点通常稳定,变化少。
- 行为类节点:IP地址、设备指纹、WiFi MAC、GPS位置。这类节点变化快,但能反映实时行为。
我个人的习惯:优先把「用户」作为核心节点,其他实体作为辅助节点。这样图的结构清晰,后续扩展也方便。
举个例子。我在做电商反欺诈时,发现很多团伙会用同一个手机号注册多个账号。如果只把「用户」当节点,根本发现不了这个规律。后来我把「手机号」也拉进来当节点,用户和手机号之间连一条边,团伙结构一下子就暴露了。
二、边设计:关系才是灵魂
节点是骨架,边才是灵魂。没有边,图就是一盘散沙。边的设计决定了你能发现什么样的欺诈模式。
边的类型:
- 共享关系:同一设备、同一IP、同一手机号。这类边最常见,也是团伙挖掘的基础。
- 时序关系:A注册后B登录、A转账给B。这类边能反映行为链条。
- 相似关系:设备指纹相似、行为模式相似。这类边需要计算相似度,门槛稍高。
避坑指南:我曾经把「同一WiFi」直接当成强关联边,结果发现公司内部员工全连在一起了,根本分不清是团伙还是正常同事。后来我加了「时间窗口」限制——只有24小时内共享过WiFi的才算强关联,效果好了很多。
边还可以带方向。比如「转账」是有向边,「共享设备」是无向边。我个人建议:能无向就别有向,因为无向边的计算效率更高,而且大多数反欺诈场景不需要方向。
三、属性定义:给节点和边「贴标签」
属性就是节点和边的特征。没有属性的图,就像没有颜色的画,信息量太少。
节点属性:
| 节点类型 | 常用属性 | 说明 |
|---|---|---|
| 用户 | 注册时间、活跃天数、历史订单数、是否黑名单 | 反映用户画像 |
| 设备 | 设备型号、操作系统、首次出现时间、关联用户数 | 反映设备风险 |
| 手机号 | 运营商、归属地、注册平台数、是否虚拟号 | 反映号码质量 |
边属性:
| 边类型 | 常用属性 | 说明 |
|---|---|---|
| 共享设备 | 共享次数、最近共享时间、设备活跃度 | 反映关联强度 |
| 转账 | 金额、时间、频次、是否跨行 | 反映资金异常 |
| 同IP | IP类型(家庭/机房)、IP变更频率 | 反映IP风险 |
注意:属性不是越多越好。我见过有人给每个节点加了50多个属性,结果图存储膨胀了10倍,算法跑起来慢得要命。我的建议是:先加10个核心属性,跑通流程后再逐步优化。
四、标签策略:给节点「定罪」
标签是监督学习的基础。在反欺诈图算法里,标签通常打在节点上——比如「这个用户是欺诈分子」或「这个设备是恶意设备」。
标签来源:
- 业务规则:比如「30天内被投诉3次以上的用户」打上欺诈标签。简单粗暴,但有效。
- 历史数据:从风控系统里捞已确认的欺诈用户。这是最可靠的标签来源。
- 人工标注:让审核团队手动打标。成本高,但质量好。
标签策略:
嗯,这里有个关键点——标签不能太稀疏。如果100万个用户里只有100个欺诈标签,那图算法基本学不到东西。我建议至少保证标签比例在0.1%以上,低于这个数就得考虑用半监督或无监督方法了。
另外,标签要「干净」。我曾经遇到过一个项目,标签是从客服系统里扒的,结果里面混了大量误判——用户只是投诉态度不好,就被打成了欺诈。后来我花了整整两周清洗数据,才把模型效果提上来。
五、知识体系总览
下面这张图,是我对本章知识体系的总结。你一看就明白了。
你看,这四个要素是环环相扣的。节点和边决定了图的结构,属性和标签决定了图的信息量。缺一个,模型效果都会打折扣。
我的经验:刚开始做图建模时,别追求完美。先搭一个最小可用版本——比如只用「用户」和「设备」两个节点,「共享设备」一种边,跑通流程再说。后面再根据业务反馈,逐步加节点、加边、加属性。这样迭代快,不容易陷入细节里出不来。
好了,图数据建模的核心就这些。你想想看,是不是比想象中简单?说白了就是:选对节点,连对边,贴好属性,打好标签。把这四步走扎实了,后面的图算法才能发挥真正的威力。
公众号:蓝海资料掘金营,微信deep3321