一、项目背景
目标:构建”现行中小学各学科各版本教材目录数据库”与”全科知识体系”,覆盖学科、教材版本、教材名称、章名称、节名称,以及知识点的知识体系,最终交付结构化 JSON 数据;并且要一套可复用、可扩展的采集工作流,方便日后增量更新。
交付形态上,不仅给一份数据,还交付一套工程(Schema 规范 + 源数据 + 构建脚本 + 说明),让”以后自己增量更新”成为可能。
二、成果总览
| 成果 | 说明 |
|---|---|
| 初中教材目录库 | 9 学科 · 33 版本组合 · 146 册 · 830 章 · 3512 节 |
| 高中教材目录库 | 9 学科 · 27 版本组合 · 151 册 · 676 章 · 3111 节 |
| 全科知识体系 | 18 学科 · 206 模块 · 810 知识点 · 1372 题型 · 1392 例题 |
| 知识体系 ↔ 教材目录映射 | 206 模块逐项匹配教材章节,输出增强版 JSON + 映射报告 |
| textbook-catalog-db Skill | 整套工作流固化为可复用技能 |
三、教材目录数据库
工程结构(支持增量更新)
<project>/ ├── schema/catalog_schema.json # 字段规范 ├── raw/ # 每"版本×学科"一个 .json ├── src/build_db.py # 合并 + 校验 + 生成 ├── data/*.json # 最终 JSON 数据库 └── README.md # 使用说明
设计要点:采集与构建分离。日常增量更新只需修改 raw/ 下对应文件,再跑 build_db.py,无需重新采集全部版本。
数据模型(四层)
学科 subject
└─ 版本 version (publisher / textbooks[])
└─ 教材 textbook (name / level / volume / chapters[])
└─ 章 chapter (name / sections[])
└─ 节 section (name)
初中:level = 七年级/八年级/九年级/全一册;volume = 上册/下册/全一册。物理从八年级、化学从九年级开设。
高中:level = 必修/选择性必修各册。
四、全科知识体系
初高中全科知识体系覆盖 18 个学科(高中 9 科 + 初中 9 科),按”模块 → 知识点 → 题型 → 例题”四级组织,包含 LaTeX 公式、解题方法和难度标注。
| 学段 | 学科 | 模块 | 知识点 | 题型 |
|---|---|---|---|---|
| 高中 | 数学 | 18 | 77 | 131 |
| 语文 | 12 | 36 | 57 | |
| 英语 | 11 | 25 | 50 | |
| 物理 | 13 | 44 | 69 | |
| 化学 | 10 | 42 | 53 | |
| 生物 | 10 | 39 | 99 | |
| 政治 | 10 | 44 | 75 | |
| 历史 | 9 | 44 | 60 | |
| 地理 | 10 | 36 | 73 | |
| 初中 | 数学 | 13 | 61 | 109 |
| 语文 | 10 | 46 | 64 | |
| 英语 | 13 | 36 | 69 | |
| 物理 | 14 | 47 | 85 | |
| 化学 | 9 | 45 | 75 | |
| 生物 | 10 | 43 | 80 | |
| 政治 | 12 | 47 | 75 | |
| 历史 | 12 | 48 | 72 | |
| 地理 | 10 | 50 | 76 |
五、知识体系 ↔ 教材目录交叉映射
为知识体系的 206 个模块逐一匹配教材目录的对应章节。按三类标记:
- ✅ 精确匹配(51/206,24.8%):如”集合与常用逻辑用语”→ 数学必修第一册第一章
- 📌 考试板块/课标项目(25/206,12.1%):综合能力模块,无单一教材章节对应
- 🔗 跨册/综合(130/206,63.1%):覆盖多册或多章,如”必修第一册 第三、四章”
映射结果已写入增强版知识体系 JSON(每个 module 增加 catalog_mapping 字段),同时输出详细映射报告。
六、关键经验
- 工程分层架构:采集与构建分离,一文件一组合,可增量、可复用
- 稳定的四层数据模型:跨学段通用,仅 level 取值不同
- 学段结构差异专门处理:年级 vs 必修/选择性必修;物理/化学开设年级;特殊分册规则
- 多源交叉核对:人教社官网、国家智慧教育平台、电子课本网等;排除旧课标
- 子代理采集 + 后处理范式:临时文件落盘 → 补齐字段 → 校验入库,避免 JSON 损坏
- 知识体系 ↔ 教材目录映射:两套不同组织方式的数据实现交叉关联
七、下载资源
- 教材目录库(含初高中完整版):
textbook-catalog-all.zip - 全科知识体系 + 增强版 + 映射报告 + 教材目录:
knowledge_bundle.zip(含原始知识体系、增强版 JSON、映射报告、教材目录 JSON) - textbook-catalog-db Skill:可复用技能,说”帮我做教材目录数据库”自动触发
八、如何复用
- 直接用数据:解压 zip,读取 data/*.json 即可
- 增量更新教材目录:编辑 raw/ 下对应文件 →
python src/build_db.py→ 重新打包 - 用 Skill:在 ima.copilot 中说”帮我做教材目录数据库”,textbook-catalog-db 技能自动按流程走
- 知识体系扩展:增强版 JSON 每个 module 已标注教材映射,可直接用于教学资源对齐