3. 图基础与异构图概念
在金融多实体关系建模中,图结构是承载账户、企业、个人、设备、交易、担保等对象及其关联的核心数据形态。理解图论基础与异构图概念,是后续构建元路径、设计模型结构、进行风险传播分析的前提。本节从图的基本定义出发,逐步过渡到同构图与异构图的区别,并重点讲解元路径、元图与模式定义这三个异构图建模的关键工具。
一、图论基础:节点、边与属性
图由节点和边构成,形式化表示为 G = (V, E),其中 V 是节点集合,E 是边集合。在金融场景中,节点可以表示账户、企业、个人、设备、IP地址、商户等实体;边可以表示转账、担保、控股、登录、共用设备等关系。边可以是有向的,也可以是无向的;可以带权重,也可以带时间戳和属性。
图的核心价值在于:它不仅能表达“谁是谁”,还能表达“谁和谁有什么关系、关系有多强、关系发生在什么时候”。例如,一笔转账可以表示为一条从付款账户指向收款账户的有向边,边上携带金额、时间、币种等属性。这种表达能力是传统关系型表结构难以直观呈现的。
二、同构图与异构图的区别
同构图指图中所有节点属于同一类型,所有边也属于同一类型。例如,一个只包含账户节点、只包含转账边的资金流向图就是同构图。同构图结构简单,算法成熟,适合做社区发现、中心性分析、连通分量计算等任务。
异构图则允许节点和边具有多种类型。例如,节点可以是账户、企业、个人、设备,边可以是转账、担保、任职、登录。异构图能更完整地刻画金融业务中的多实体交互,但也带来了新的挑战:不同类型节点和边的语义不同,不能简单地把它们混在一起做同质化处理。
| 对比维度 | 同构图 | 异构图 |
|---|---|---|
| 节点类型 | 单一类型 | 多种类型 |
| 边类型 | 单一类型 | 多种类型 |
| 典型场景 | 账户转账网络 | 账户-企业-个人-设备关联网络 |
| 建模能力 | 弱,仅表达同质关系 | 强,可表达多实体语义 |
| 算法复杂度 | 较低 | 较高,需考虑类型信息 |
从同构图走向异构图,本质是从“只看一种关系”走向“同时看多种关系”。金融风控中,欺诈团伙往往通过多个账户、多个设备、多个企业之间的复杂关联来隐藏行为,异构图能够把这些线索统一到一个框架中。
三、元路径、元图与模式定义
异构图的核心难点在于:路径不再只有一种含义。为了描述不同类型节点和边组成的语义路径,我们引入元路径、元图和模式三个概念。
元路径是定义在异构图模式上的路径模板,形式为 A → B → C,其中 A、B、C 是节点类型,箭头表示边类型。例如,账户 → 转账 → 账户 → 转账 → 账户 表示资金经过两跳流转;个人 → 任职 → 企业 → 担保 → 企业 表示个人通过任职企业间接参与担保关系。元路径的价值在于:它把“路径”从具体实例提升为语义模板,使得我们可以按语义类型来聚合和分析。
元图是元路径的推广,它允许路径中出现分支和环,不再局限于一条链。元图可以表达更复杂的结构模式,例如“一个个人同时关联多个企业,这些企业又共同担保同一个目标企业”。元图比元路径更灵活,但也更难枚举和计算。
模式定义是对异构图整体结构的约束描述,通常包括节点类型集合、边类型集合、每种边允许连接的节点类型,以及属性定义。模式定义相当于异构图的“数据字典”和“类型系统”,它保证了图数据在建模阶段的一致性和可解释性。
# 异构图模式定义示例(伪代码)
NodeTypes:
- Account { id, balance, open_date }
- Person { id, name, id_card }
- Company { id, name, reg_capital }
- Device { id, device_type, ip }
EdgeTypes:
- Transfer : Account -> Account { amount, timestamp }
- Employ : Person -> Company { role, start_date }
- Guarantee : Company -> Company { amount, date }
- Login : Person -> Device { timestamp, location }
MetaPaths:
- APT: Account -[Transfer]-> Account -[Transfer]-> Account
- PEC: Person -[Employ]-> Company -[Guarantee]-> Company
- PDL: Person -[Login]-> Device -[Login]-> Person
四、案例与常见误区
假设我们要分析一个疑似欺诈团伙。图中包含账户、个人、企业、设备四类节点。通过元路径 个人 → 登录 → 设备 → 登录 → 个人,可以发现多个个人共用同一设备;通过元路径 企业 → 担保 → 企业 → 担保 → 企业,可以发现担保链上的风险传导;通过元路径 账户 → 转账 → 账户 → 转账 → 账户,可以识别资金闭环。把这些元路径的結果叠加,就能形成对团伙结构的综合判断。
- 把异构图强行压成同构图,丢失类型语义,导致风险信号被稀释。
- 元路径定义过于宽泛,例如只用“任意节点 → 任意边 → 任意节点”,结果没有区分度。
- 忽略边的时间属性,把不同时间发生的交易当成同一时刻的关系。
- 模式定义不完整,导致后续建模时出现无法解释的边类型。
复盘来看,异构图的建模流程可以归纳为:先定义模式,明确节点和边的类型体系;再根据业务问题设计元路径或元图;然后在图上进行路径匹配、特征抽取或表示学习;最后结合下游任务验证效果。这个流程中,模式定义是地基,元路径是桥梁,二者缺一不可。