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
学习建议:先画出节点类型和边类型的清单,再尝试写出 3 到 5 条业务上有意义的元路径。元路径不是越多越好,而是要能对应真实的风险场景,例如“资金闭环”“设备共用”“担保链”。

四、案例与常见误区

假设我们要分析一个疑似欺诈团伙。图中包含账户、个人、企业、设备四类节点。通过元路径 个人 → 登录 → 设备 → 登录 → 个人,可以发现多个个人共用同一设备;通过元路径 企业 → 担保 → 企业 → 担保 → 企业,可以发现担保链上的风险传导;通过元路径 账户 → 转账 → 账户 → 转账 → 账户,可以识别资金闭环。把这些元路径的結果叠加,就能形成对团伙结构的综合判断。

常见误区:
  • 把异构图强行压成同构图,丢失类型语义,导致风险信号被稀释。
  • 元路径定义过于宽泛,例如只用“任意节点 → 任意边 → 任意节点”,结果没有区分度。
  • 忽略边的时间属性,把不同时间发生的交易当成同一时刻的关系。
  • 模式定义不完整,导致后续建模时出现无法解释的边类型。

复盘来看,异构图的建模流程可以归纳为:先定义模式,明确节点和边的类型体系;再根据业务问题设计元路径或元图;然后在图上进行路径匹配、特征抽取或表示学习;最后结合下游任务验证效果。这个流程中,模式定义是地基,元路径是桥梁,二者缺一不可。

异构图模式与元路径示意 账户 Account 个人 Person 企业 Company 设备 Device 账户 A1 账户 A2 个人 P1 个人 P2 企业 C1 企业 C2 设备 D1 转账 转账 任职 担保 登录 登录 元路径示例: ① 账户 → 转账 → 账户 → 转账 → 账户(资金闭环) ② 个人 → 登录 → 设备 → 登录 → 个人(设备共用) ③ 个人 → 任职 → 企业 → 担保 → 企业(担保链) ④ 账户 → 转账 → 个人 → 任职 → 企业(资金-任职关联)