Prompt 驱动的结构化抽取:从文本中提取表格
在信息爆炸的时代,大量有价值的数据隐藏在非结构化文本中。传统的人工整理效率低,代码开发方案适应性差。借助大语言模型(LLM)的 Prompt 驱动,我们可以实现非结构化文本到表格的高效转化。
一、为什么需要结构化抽取?
想象一下,面对一份 50 页的产品报告,手动提取参数可能需要数小时,还容易出错;而传统的正则表达式或规则引擎,一旦文本格式微调,代码就得重写。这就是痛点所在。
Prompt 驱动的结构化抽取,本质上是让模型充当'理解者'和'格式化器'。通过'指令 + 示例 + 约束',模型能自动识别关键信息并按预设格式输出。普通用户只需调整 Prompt 就能适配不同场景,兼顾了效率与灵活性。
二、核心概念:结构化抽取与 Prompt 的关联
在动手写 Prompt 前,得先搞清楚三个要素:
- 目标字段:你要什么?比如'客户名称'、'订单金额'。
- 文本来源:数据在哪?合同、评论还是论文?
- 输出格式:要什么样子?本章聚焦 Markdown 表格,也可扩展为 JSON。
Prompt 的作用就是给模型发一张'说明书':
- 指令层:明确告诉模型'做什么'和'怎么呈现'。
- 示例层:展示输入到输出的对应关系,降低理解成本。
- 约束层:规定'不能怎么做',比如无数据填'无',数值保留单位。
三、Prompt 设计的通用框架:从基础到进阶
Prompt 的质量直接决定准确率。根据文本复杂度,我整理了三层框架,你可以按需选用。
1. 基础版:简单文本
适用于段落简短、信息集中的场景(如单段产品介绍)。核心是'指令 + 格式定义'。
任务:从以下文本中提取 [目标字段 1]、[目标字段 2] 等信息,用 Markdown 表格呈现结果。
要求:
1. 表格列名固定为:[目标字段 1]、[目标字段 2](若无信息,填充'无');
2. 提取信息需与文本内容完全一致,不添加主观修改;
3. 若存在多个同类信息,每个单独占一行。
待抽取文本:[此处粘贴文本]
实战案例:从一段笔记本介绍中提取参数。
待抽取文本:'2024 年新款笔记本电脑共有两个型号:Pro 款搭载 13 代酷睿 i7 处理器,屏幕尺寸 14 英寸,售价 6999 元;Air 款搭载锐龙 7 处理器,屏幕尺寸 13.3 英寸,重量 1.2kg,售价 5499 元。'
模型输出:
| 型号 | 处理器 | 屏幕尺寸 | 重量 | 售价 |
|---|---|---|---|---|
| Pro 款 | 13 代酷睿 i7 处理器 | 14 英寸 | 无 | 6999 元 |
| Air 款 | 锐龙 7 处理器 | 13.3 英寸 | 1.2kg | 5499 元 |
*注意:如果文本中存在'价格''售价'混用,基础版可能漏掉,这时建议升级到进阶版。
2. 进阶版:复杂文本
当文本篇幅长、信息分散或有同义不同名表述时,需要加入'字段定义'和'示例引导'。
任务:从以下多段文本中提取 [目标字段] 等信息。
第一步:明确字段定义(避免歧义)
- [目标字段 1]:指 [详细解释,如'产品的官方型号']。
第二步:参考示例
示例 1:
待抽取文本片段:'A 品牌推出新款平板 X1,定价 3299 元。'
抽取结果:| X1 | 3299 元 |
要求:严格按照字段定义提取,若无信息填'无',同一主体信息不拆分。
待抽取文本:[此处粘贴多段文本]
实战技巧:在医疗或金融场景,务必在 Prompt 里把'核心功能'和'芯片型号'区分开,否则模型容易混淆。示例最好选与待抽取文本结构相似的片段。


