教学教案文档(不规则),用GPT协作提出提取方案
2025-12-23

问:
比如这样的pdf文档 如何切出一道道完整的题目,并加上题目标签,属于什么题型、年份、难度、题干、图片、选项、答案、解析、知识点等等
请你给我提供一套解决思路。
答:
好,这个问题本质上不是“怎么切 PDF”,而是如何把一份“教学型 PDF”结构化为“机器可理解、可检索、可再利用的题库数据”。我给你一套工程级、可落地、可扩展的完整思路,从认知到技术,一层一层来。
我会以你给的这类典型资料为参照(69 页、题型+典例+解析混合的数学讲义)来讲清楚这件事 。
第一层:先认清这是一个“结构还原问题”,不是 OCR 问题
很多人一上来就想:
PDF → OCR → 文本 → 正则 → 题目
这是必死路线。
因为像你这个 PDF,本质上是:
人为排版的“教学文档”
不是标准化的“试卷”
同一页里可能同时出现:
题干 + 小问 + 解析 + 图像 + 公式 + 红字提示
所以正确的认知是:
你不是在“提取题目”,
你是在还原作者脑子里的题目结构。
也就是说,你真正要做的是:
文档语义分块(Semantic Chunking)+ 题目结构建模。
第二层:定义你的“标准题目数据模型”(这是核心)
在动任何技术之前,先定义你最终想得到什么。
一个完整、可用、可扩展的题目 JSON,至少应该长这样:
Question {
id
source: {
book_name
chapter
section
page_range
}
meta: {
subject: 数学
grade: 高中
topic: 圆锥曲线
sub_topic: 向量与共线
year: 2024 / 未知
exam_type: 模拟 / 高考 / 校考
difficulty: 0.6
question_type: 解答题 / 选择题 / 填空题
}
stem: {
text
latex
images[]
}
sub_questions: [
{
index: (1)
stem
answer
analysis
}
]
options: [] // 选择题才有
answer
analysis
knowledge_points[]
}你后面做的一切,只是在不断逼近这个结构。
第三层:PDF 预处理(决定你成功率 60% 的一步)
对这种资料,不要直接 OCR,优先顺序是:
1️⃣ PDF 文本层提取
2️⃣ 版面信息(坐标、字体、字号、颜色)
3️⃣ 再兜底 OCR(只用于公式/图片文字)
具体工具组合建议
pdfplumber / pdfminer
文本
每一行的坐标(x0, y0, x1, y1)
字体大小、粗细
能拿到:
Mathpix / PaddleOCR(公式模式)
专门识别公式图
页面图像渲染
用于切题图、几何图
关键不是“识别准”,而是:
你能不能知道“这段文字在页面的什么位置”。
第四层:文档级“语义分段”(切出题目骨架)
以你这个文档为例,天然存在几种强语义锚点:
「题型一 / 二 / 三」
「典例 1-1 / 1-2」
「变式 1-1」
「解析」
「(1)(2)(3)」子问
红色/加粗公式说明
推荐做法:多信号联合切分
不是靠一个规则,而是投票制:
1️⃣ 文本信号
正则:
【典例\s*\d+-\d+】【变式\s*\d+-\d+】【解析】(\d+)
2️⃣ 版面信号
典例标题字号更大
解析往往整体偏左/偏右
小问行首有固定缩进
3️⃣ 视觉信号
红字、蓝字(很多教辅都有)
图像下方紧跟解析
最终你要做的是:
把一页切成一组有顺序的 Block:
Block {
type: title / stem / sub_stem / analysis / image
text
bbox
page
}第五层:从 Block 组合成“一道完整题”
这是最容易出 bug、也是最值钱的一步。
组合逻辑不是“遇到解析就结束”,而是:
一道题 =
从「典例/变式标题」开始
到「下一个同级标题」之前结束子问归属规则:
(1)(2)(3)出现 → 子问
若解析中仍出现(1)(2),要回溯绑定
图像绑定规则(非常重要)
若图片 bbox 位于某一 stem 的下方、左右 200px 内
→ 绑定到该题若图片出现在解析区
→ 标记为 analysis_image
第六层:标签与元数据的“半自动生成”
这一层,AI 才是真正主角。
你不需要硬规则去判断:
题型
难度
知识点
你要做的是:结构化喂给模型,让它“判题”。
推荐做法:分层 Prompt
Prompt 1:题目理解
输入:
题干
子问
解析
输出:
这是选择 / 解答?
是否为圆锥曲线?
是否涉及向量共线?
Prompt 2:知识点抽取
输出:
主知识点(不超过 3 个)
常见误区
是否为高频考点
Prompt 3:难度估计
可用维度:
运算复杂度
推理步数
是否多知识点耦合
第七层:校验与回流(否则你迟早崩)
你一定要设计人工+自动的校验闭环:
随机抽题 → 人工复核
发现错误 → 回溯是哪一层错了:
PDF 切错?
Block 合并错?
LLM 判断错?
真正能规模化的系统,
不是一次性 100% 正确,而是能快速修正。
第八层:一条现实可跑的 MVP 路线
如果你现在就想做,推荐:
第一阶段(1–2 周)
只做:
题目切分
题干 + 解析
不做难度、不做知识点
第二阶段
加 AI 标签
加图像绑定
第三阶段
做题型统计、搜索、相似题推荐
一句点醒你的话(也是你这个问题的本质)
你问的是“怎么切题”,
但真正值钱的是:
你在把“人类教师的教学经验”,转译成“机器可用的认知结构”。
这不是工具活,这是认知工程。
发表评论: