一、项目背景

目标:构建”现行中小学各学科各版本教材目录数据库”与”全科知识体系”,覆盖学科、教材版本、教材名称、章名称、节名称,以及知识点的知识体系,最终交付结构化 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 字段),同时输出详细映射报告。

六、关键经验

  1. 工程分层架构:采集与构建分离,一文件一组合,可增量、可复用
  2. 稳定的四层数据模型:跨学段通用,仅 level 取值不同
  3. 学段结构差异专门处理:年级 vs 必修/选择性必修;物理/化学开设年级;特殊分册规则
  4. 多源交叉核对:人教社官网、国家智慧教育平台、电子课本网等;排除旧课标
  5. 子代理采集 + 后处理范式:临时文件落盘 → 补齐字段 → 校验入库,避免 JSON 损坏
  6. 知识体系 ↔ 教材目录映射:两套不同组织方式的数据实现交叉关联

七、下载资源

  • 教材目录库(含初高中完整版):
    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 已标注教材映射,可直接用于教学资源对齐

Leave A Comment

Recommended Posts