3. 反欺诈图谱构建
反欺诈图谱的价值不在于“把数据画成图”,而在于把欺诈行为中可复用的关联模式固化为可查询、可推理的结构。构建阶段的核心任务,是把分散在申请、设备、交易、通讯录、银行卡、IP、商户等异构数据源中的对象与行为,抽象为节点、边、权重,并保证数据质量与存储选型能够支撑后续的连通分量计算与团伙发现。
一、核心原理:从业务语义到图结构
实体与关系建模的本质是“业务对象图化”。节点代表相对稳定、可被唯一标识的对象;边代表对象之间发生过的、有方向或可双向解释的交互。反欺诈场景中,节点通常包括:人(申请人、借款人、收款人、紧急联系人)、设备(IMEI、IDFA、MAC、设备指纹)、账户(银行卡、支付账号、平台账号)、网络资源(IP、WiFi、基站)、组织(商户、公司、中介)以及行为事件(登录、申请、转账、通话)。边则描述“谁与谁在何时以何种方式发生关联”,例如“申请人—使用—设备”“设备—连接—IP”“银行卡—绑定—账户”“申请人—通话—联系人”。
建模时需坚持三条原则:第一,节点可合并、边可聚合,同一设备被多人使用应形成多条边或带计数的聚合边;第二,方向保留语义,转账方向、通话主被叫方向对识别资金归集与话务中介至关重要;第三,时间可入边,把首次出现时间、最近出现时间、发生次数作为边属性,避免图退化为静态快照。
二、节点类型、边类型与权重设计
节点类型应控制粒度,过细会导致图爆炸,过粗会丢失区分度。推荐采用“主类型+子类型”方式,例如节点类型为“设备”,子类型为“手机/平板/模拟器”。边类型建议按业务域分组,便于后续按子图计算连通分量。
| 边类型 | 起点→终点 | 典型权重因子 | 欺诈含义 |
|---|---|---|---|
| 使用设备 | 申请人→设备 | 登录次数、最近时间衰减 | 设备共用、养号 |
| 绑定银行卡 | 账户→银行卡 | 绑定次数、是否解绑重绑 | 资金归集、卡商 |
| 转账 | 账户→账户 | 金额、频次、时间窗口 | 洗钱、资金闭环 |
| 通话 | 申请人→联系人 | 通话时长、主被叫、时段 | 中介、团伙串供 |
| 同IP | 设备→IP | 并发设备数、出现频次 | 群控、代理池 |
| 同WiFi | 设备→WiFi | 连接时长、设备数 | 物理聚集 |
权重设计决定连通分量是否“有意义”。常用方法是将多因子归一化后加权求和,再映射到0~1或1~10。例如设备共用边权重可定义为:
w = 0.5 * min(login_cnt/10, 1)
+ 0.3 * exp(-days_since_last/30)
+ 0.2 * (shared_user_cnt > 1 ? 1 : 0)
三、数据清洗与图数据库选型
图的质量取决于清洗。反欺诈数据常见问题包括:设备指纹漂移、IP动态分配、手机号复用、银行卡一人多卡、时间戳时区不一致、空值与默认值污染。清洗流程建议按以下顺序执行:
- 标准化:统一手机号、银行卡号、设备号格式,时间统一为UTC毫秒。
- 去重与合并:同一设备多指纹归并,同一人多账号通过强标识(身份证、银行卡)合并。
- 异常剔除:过滤测试设备、内网IP、爬虫UA、明显伪造的通讯录。
- 弱边剪枝:删除仅出现1次且无其他佐证的边,降低噪声连通。
- 时间窗口截断:只保留近90天或180天活跃边,避免历史弱关联干扰。
图数据库选型需结合查询模式与规模。若以多跳邻居、连通分量、最短路径为主,且数据量在千万级节点以内,Neo4j生态成熟、Cypher表达力强;若需超大规模并行计算与离线图算法,JanusGraph + Spark或NebulaGraph更合适;若团队已使用PostgreSQL且图规模不大,Apache AGE可降低运维成本。选型时重点评估:写入吞吐、多跳查询延迟、是否支持属性图、是否易于与Spark/Flink集成、以及权限与审计能力。
四、案例与复盘:设备共用团伙的构建片段
某现金贷场景中,申请人A、B、C在同一WiFi下使用过同一台设备,且A与B有转账、B与C有通话。若仅看单点,三人均正常;构建图后,设备节点与WiFi节点将三人连通,转账与通话边增强置信度。通过设置边权重阈值(设备共用权重≥0.6、转账金额≥5000或频次≥3),可过滤掉偶然共用,保留高可疑连通分量。
// Neo4j 示例:查询与目标申请人两跳内高权重关联的节点
MATCH (u:Applicant {id:'A'})-[r:USE_DEVICE|TRANSFER|CALL*1..2]-(n)
WHERE all(rel IN r WHERE rel.weight >= 0.6)
RETURN u, r, n
LIMIT 100;
复盘要点:第一,节点合并策略必须可追溯,合并错误会直接制造假团伙;第二,权重阈值需按业务场景调参,不能一套参数打天下;第三,图构建不是一次性工程,需建立增量更新与边衰减机制,否则连通分量会随时间失真。只有把实体、关系、权重、清洗与存储选型作为一个整体设计,后续的连通分量与团伙发现才有稳定、可解释的输入。