引言:为什么大模型需要"懂"数据?
一、元数据:描述数据的数据
这个字段叫什么名字?(标识) 它是什么类型的数据?(类型) 它代表什么业务含义?(语义)
1.1 数据字典:元数据的"标准载体"
字段名 | 数据类型 | 业务含义 | 取值范围 | 示例 |
user_id | VARCHAR(32) | 用户唯一标识 | 非空 | U2024001 |
order_amount | DECIMAL(10,2) | 订单金额(元) | >= 0 | 299.50 |
pay_time | DATETIME | 支付完成时间 | 非空 | 2024-06-01 14:30:00 |
1.2 元数据在数据叙事中的价值
二、本体:描述数据之间关系的数据
2.1 图谱Schema:本体的"工程化表达"
节点类型(Node Labels):比如"用户""订单""商品""品牌"等实体类型; 边类型(Edge/Relationship Types):比如"下单""包含""支付""推荐"等关系类型; 属性约束(Property Constraints):每种实体和关系可以有哪些属性、属性的数据类型是什么。
关系类型 | 起始实体 | 目标实体 | 业务含义 |
下单 | 用户 | 订单 | 用户创建了某个订单 |
包含 | 订单 | 商品 | 订单中包含哪些商品 |
支付 | 用户 | 订单 | 用户完成了订单支付 |
推荐 | 商品A | 商品B | 购买A的用户也常买B |
2.2 本体在数据叙事中的价值
三、元数据与本体的对比与协同
维度 | 元数据(Metadata) | 本体(Ontology) |
核心问题 | 这个数据是什么? | 这些数据之间有什么关系? |
描述对象 | 单个数据字段/表/文件 | 实体类型、关系类型、规则 |
典型载体 | 数据字典、数据目录 | 知识图谱Schema、OWL文件 |
给大模型的作用 | 让模型读懂每个字段的含义 | 让模型理解数据的关联与逻辑 |
3.1 两者的协同:1+1 > 2
四、实际应用场景
数据探查阶段:通过元数据快速了解一张陌生数据表的结构和含义,缩短"上手时间"; Prompt工程阶段:在发给大模型的Prompt中,主动附加上数据字典和图谱Schema,显著提升模型对复杂查询的理解准确率; 自动化报告生成:让大模型基于元数据自动选择合适的统计口径(比如知道"order_amount"该用SUM还是AVG),基于本体自动选择正确的关联路径(比如知道该JOIN哪张表); 数据质量监控:利用元数据中的约束规则(如取值范围、非空约束)自动发现异常数据;利用本体中的关系规则发现逻辑矛盾(比如"已支付"的订单却没有对应的"支付"记录)。
夜雨聆风