2. 图谱数据模型:节点与边的定义、属性设计、关系类型
反欺诈图谱的核心在于将离散的实体与行为通过图结构组织起来,从而揭示隐藏的团伙关联。本章将系统定义图谱中的节点(Vertex)与边(Edge),并详细说明属性设计与关系类型,为后续的阈值分层奠定数据基础。
2.1 节点定义与属性设计
节点代表图谱中的独立实体。在反欺诈场景中,最常见的节点类型包括设备、IP地址、手机号、账号和身份证号。每个节点都承载一组关键属性,用于后续的规则计算与风险评分。
| 节点类型 | 节点标识(ID) | 核心属性 | 属性说明 |
|---|---|---|---|
| 设备(Device) | 设备指纹(如 IDFA、IMEI、OAID) | device_type, os_version, first_seen_time, risk_score | 设备型号、操作系统版本、首次出现时间、当前风险分 |
| IP地址(IP) | IP 字符串(如 192.168.1.1) | ip_type, isp, geo_city, proxy_score, abuse_count | IP类型(数据中心/住宅)、运营商、地理位置、代理评分、历史滥用次数 |
| 手机号(Phone) | 手机号码(如 13800138000) | carrier, region, registration_time, is_virtual | 运营商、归属地、注册时间、是否为虚拟运营商号段 |
| 账号(Account) | 用户 ID(如 user_12345) | register_ip, register_device, register_phone, level, status | 注册IP、注册设备、注册手机号、账号等级、状态(正常/冻结/封禁) |
| 身份证号(IDCard) | 身份证号码(如 110101199001011234) | age_range, gender, region, verified_time | 年龄段、性别、户籍地、实名认证时间 |
设计要点:节点ID必须保证全局唯一且不可变。属性设计应遵循“最小必要原则”,只存储与反欺诈直接相关的字段,避免冗余数据拖慢图查询性能。
2.2 边定义与关系类型
边代表节点之间的关联关系。在反欺诈图谱中,边通常由共现行为或归属关系触发。每条边都带有关系类型和权重,权重越高,代表两个实体之间的关联越紧密。
2.2.1 核心关系类型
| 关系类型 | 源节点 → 目标节点 | 触发条件 | 边属性示例 |
|---|---|---|---|
| 共设备 | 账号 → 设备 | 同一账号在该设备上登录或操作 | first_time, last_time, login_count, action_type |
| 共IP | 账号 → IP | 同一账号使用该IP发起请求 | first_time, last_time, request_count, ip_change_freq |
| 共手机号 | 账号 → 手机号 | 账号绑定或验证该手机号 | bind_time, is_primary, verify_method |
| 共身份证 | 账号 → 身份证 | 账号完成实名认证时使用该身份证 | verify_time, auth_channel, is_self |
| 设备共IP | 设备 → IP | 设备在某一时刻连接该IP | first_seen, last_seen, session_count |
2.2.2 边权重计算规则
边的权重直接影响图谱中团伙发现的准确性。以下为常见的权重计算方式:
- 频次权重:基于共现次数计算,次数越高权重越大。例如:同一设备上登录了10个账号,则每对“账号-设备”边的权重为10。
- 时间衰减权重:近期共现的权重高于历史共现。公式:
weight = base_weight * exp(-λ * days_since_last_event)。 - 稀有性权重:稀有IP(如数据中心IP)的共现权重高于常见住宅IP。例如:一个IP关联了100个账号,则每个边的权重为
1/log(100+1)。
实战经验:在阈值分层中,边权重是区分“偶然关联”与“强关联”的关键指标。建议将权重归一化到 [0, 1] 区间,便于后续设定统一阈值。
2.3 图谱数据模型总览(SVG)
下图展示了反欺诈图谱的完整数据模型,包含5种节点类型和5种关系类型。箭头方向代表关联方向,边上的标签表示关系类型。
2.4 关系类型与阈值分层的映射
不同的关系类型在阈值分层中具有不同的敏感度。下表展示了常见关系类型对应的初始阈值区间:
| 关系类型 | 低风险阈值 | 中风险阈值 | 高风险阈值 | 说明 |
|---|---|---|---|---|
| 共设备 | ≤ 3 个账号/设备 | 4 ~ 10 个账号/设备 | > 10 个账号/设备 | 设备是团伙聚集的高发载体 |
| 共IP | ≤ 5 个账号/IP | 6 ~ 20 个账号/IP | > 20 个账号/IP | 需排除NAT出口等正常场景 |
| 共手机号 | ≤ 2 个账号/手机号 | 3 ~ 5 个账号/手机号 | > 5 个账号/手机号 | 手机号通常为强绑定关系 |
| 共身份证 | 1 个账号/身份证 | 2 个账号/身份证 | > 2 个账号/身份证 | 身份证为最高级别实名凭证 |
注意:上述阈值为初始推荐值,实际业务中需根据历史数据分布进行动态调整。例如,校园网场景下的共IP阈值应适当放宽,而金融交易场景下的共设备阈值应更加严格。
2.5 边属性与时间窗口设计
每条边除了关系类型外,还需要记录时间窗口信息,用于判断关联的有效性。常见的时间窗口设计包括:
- 滑动窗口:只统计最近 N 天内的共现行为(如最近7天、30天)。适用于高频变化的IP和设备关联。
- 固定窗口:按自然月或自然周统计。适用于周期性审核场景。
- 累计窗口:从首次出现至今的全量统计。适用于身份证、手机号等强绑定关系。
边属性中必须包含以下字段:
{
"edge_id": "unique_edge_identifier",
"source_node": "node_id_A",
"target_node": "node_id_B",
"relation_type": "share_device | share_ip | share_phone | share_idcard",
"first_seen": "2025-01-01T00:00:00Z",
"last_seen": "2025-03-01T00:00:00Z",
"frequency": 15,
"weight": 0.85,
"window_type": "sliding_7d",
"extra_attrs": {}
}
最佳实践:在构建图谱时,建议将边属性存储为 JSON 格式,便于后续扩展。同时,为每条边建立时间索引,以支持高效的时间范围查询。
2.6 图谱数据模型与阈值分层的联动(SVG)
下图展示了图谱数据模型如何与阈值分层系统联动。从原始数据到节点/边构建,再到权重计算与阈值判定,最终输出风险评分。
2.7 本章小结
- 节点设计:设备、IP、手机号、账号、身份证是反欺诈图谱的五大核心节点,每个节点需携带唯一标识和关键属性。
- 边设计:共设备、共IP、共手机号、共身份证、设备共IP是五大核心关系类型,每条边需记录时间窗口和权重。
- 权重计算:频次、时间衰减、稀有性是三种主流权重计算方式,权重归一化后便于阈值分层。
- 阈值映射:不同关系类型对应不同的初始阈值区间,需结合业务场景动态调整。
- 联动流程:从原始数据到节点/边构建,再到权重计算与阈值判定,形成完整的反欺诈图谱分析链路。