3. 金融图谱数据源:结构化、半结构化与非结构化
金融知识图谱的构建,第一步也是最关键的一步是理解数据源。金融行业的数据形态极为丰富,从传统的数据库表到实时的交易日志,再到海量的研报PDF,每一种数据源都对应着不同的采集、解析与建模策略。本章将系统梳理三类数据源的特征、典型场景与处理范式。
3.1 三类数据源全景对比
根据数据的组织方式和可解析程度,金融图谱数据源可划分为结构化、半结构化和非结构化三大类。下表从核心特征、典型格式、图谱映射难度和常见金融场景四个维度进行对比:
| 维度 | 结构化数据 | 半结构化数据 | 非结构化数据 |
|---|---|---|---|
| 核心特征 | 严格模式,固定字段与类型 | 自描述模式,标签/标记驱动 | 无固定模式,自然语言或二进制 |
| 典型格式 | 关系表 (MySQL, Oracle) | JSON, XML, 日志 (Log) | PDF, Word, 纯文本, 图片 |
| 图谱映射难度 | 低:可直接映射为节点/边 | 中:需Schema推理与嵌套展开 | 高:依赖NLP抽取与实体链接 |
| 金融场景举例 | 客户信息表、交易流水、持仓快照 | 行情推送JSON、风控日志、API响应 | 招股说明书、年报、新闻公告 |
3.2 结构化数据:数据库表
结构化数据是金融图谱最可靠的“骨架”来源。其核心优势在于模式(Schema)明确,数据质量可控,可直接映射为图谱中的实体和关系。
3.2.1 常见金融表结构
- 客户主数据表: 包含客户ID、姓名、证件号、风险等级等字段,直接映射为
Customer节点。 - 交易流水表: 包含交易ID、付款方、收款方、金额、时间,映射为
Transaction节点及付款/收款边。 - 持仓快照表: 包含账户ID、证券代码、持仓数量、成本价,映射为
Holding关系。
3.2.2 映射规则示例
以交易流水表为例,其图谱映射逻辑如下:
-- 源表: transaction_log
-- 字段: txn_id, from_acct, to_acct, amount, txn_time
-- 节点映射
from_acct --> :Account {account_id: from_acct}
to_acct --> :Account {account_id: to_acct}
txn_id --> :Transaction {txn_id: txn_id, amount: amount, time: txn_time}
-- 关系映射
(from_acct) -[:发起交易]-> (txn_id)
(txn_id) -[:到达账户]-> (to_acct)
3.3 半结构化数据:日志与JSON
半结构化数据是金融图谱“动态血液”的主要来源,尤其在实时风控和行情处理场景中占据主导地位。其特点是带有标签或标记,但模式可能随业务迭代而变化。
3.3.1 日志数据
金融系统日志通常包含时间戳、事件类型、关键参数。例如一条风控预警日志:
2025-03-21 14:30:00,123 [WARN] RiskEngine - 触发规则: RULE_1001
| 客户ID: CUST_8899
| 交易ID: TXN_4521
| 风险评分: 85
解析后,可提取出RiskEvent节点,并与Customer、Transaction节点建立关联。
3.3.2 JSON数据
行情推送、API响应等场景广泛使用JSON。以下是一个典型的行情快照:
{
"symbol": "600519.SH",
"timestamp": "2025-03-21T14:30:00Z",
"price": 188.50,
"volume": 1250000,
"bid": [188.48, 188.49],
"ask": [188.51, 188.52]
}
JSON的嵌套结构(如bid/ask数组)在映射时需展开为多个OrderBookLevel节点或属性列表。
3.4 非结构化数据:文本与PDF
非结构化数据是金融图谱“深度语义”的宝藏,但处理成本最高。招股说明书、年报、分析师研报等文档中蕴含大量实体、关系和事件,需要通过自然语言处理(NLP)技术进行抽取。
3.4.1 处理流程
- 文档解析: 使用OCR或PDF解析库(如PyMuPDF、Tika)提取纯文本。
- 实体识别: 识别公司名、人名、产品名、金额、日期等金融实体。
- 关系抽取: 识别实体间的语义关系,如“A公司收购B公司”、“C担任D公司董事”。
- 事件抽取: 提取结构化事件,如“股权变更”、“重大诉讼”。
3.4.2 典型抽取示例
原文:“2025年3月21日,华泰证券发布公告称,拟以现金方式收购胜通集团旗下资产管理业务。”
抽取结果:
- 事件类型: 收购
- 收购方: 华泰证券
- 被收购方: 胜通集团(资管业务)
- 交易方式: 现金
- 公告日期: 2025-03-21
3.5 数据源融合架构
下图展示了三类数据源在金融图谱批流链路中的融合处理架构。结构化数据通过ETL直接入库,半结构化数据经流处理引擎实时解析,非结构化数据则通过离线NLP管道增强后统一注入图谱。
3.6 数据源选择策略
在实际项目中,并非所有数据源都需要同时接入。建议根据业务优先级和数据成熟度分阶段实施:
- 第一阶段: 优先接入结构化数据(客户、账户、交易),快速构建图谱骨架。
- 第二阶段: 接入半结构化数据(日志、行情),实现实时事件图谱。
- 第三阶段: 引入非结构化数据(研报、公告),通过NLP增强图谱语义深度。