中国初中数学(七—九年级)知识图谱 · 第一版草稿
用「知识点节点 + 先修边」的有向无环图(DAG)描述人教版初中数学(七上至九下)的知识结构,数据格式参考 Marble os-taxonomy(topics + dependencies)。
状态声明:这是 AI 生成的初稿,未经任何教师审核。 知识点的拆分粒度、掌握标准、诊断题答案,尤其是先修关系(哪些是 hard、哪些是 soft,甚至某条边该不该存在)都需要一线初中数学教师审核后才能用于教学、诊断或学习路径推荐。诊断题答案虽经抽查心算,但没有逐题由人工复核。
数据来源与对齐依据
-
课程标准:教育部《义务教育数学课程标准(2022年版)》第四学段(7—9 年级)的内容范围与学段要求(数与代数、图形与几何、统计与概率、综合与实践四个领域)。第三轮起,课标第四学段【内容要求】已拆成机器可读条目(
data/cn-curriculum-standards.json,157 条),每个正式知识点通过standards字段挂接 1–3 条(共 383 条映射);来源、规则、覆盖率与局限见 docs/standards-mapping.md。 -
教材顺序:人民教育出版社(人教版)义务教育教科书数学,采用 2024 年审定的新版。章节目录取自第三方电子课本目录站 dzskb.com(非人教社官方页面),核对情况如下:
册次 采用的目录 核实情况 七上 第一章 有理数 … 第六章 几何图形初步 已核对目录页 七下 第七章 相交线与平行线 … 第十二章 数据的收集、整理与描述 已核对目录页 八上 第十三章 三角形 … 第十八章 分式(2024 审定版) 已核对目录页 八下 第十九章 二次根式 … 第二十四章 数据的分析(2024 审定版) 已核对目录页 九上 第二十五章 一元二次方程 … 第三十章 直线与圆的位置关系(2024 审定版) 已核对目录页 九下 第三十一章 相似;第三十二章 锐角三角函数(章末综合与实践:停车设计问题);第三十三章 投影与视图(章末综合与实践:建筑中的数学);第三十四章 随机事件的概率(34.1.1 随机事件,34.1.2 概率,34.2 用列举法求概率,34.3 用频率估计概率) 非官方、待核,详见下方「九下目录的来源与核实情况」 新版教材相对旧版有较大调整(如多边形移入八下“四边形”、反比例函数移入九上、新增“数据的四分位数”“综合与实践”主题、概率由九上移到九下并改名“随机事件的概率”等),本图谱按新版目录处理。
九下目录的来源与核实情况(查证日期:2026-10-17;非官方、待核)
结论:没有找到人教社(pep.com.cn)官方发布的 2024 版九下目录页(官方“新教材介绍”页只介绍编写思路,未列各册章目;pep.com.cn 的“数学 九年级下册”页是旧版封面,页面不显示目录)。九下的 2024 版教材预计 2027 年春季学期才开始使用。下列目录是综合第三方来源后的最可靠推定,并非官方原文,章名、章号请以教材实物或人教社官方目录为准。
| 章 | 采用的章名 | 依据 |
|---|---|---|
| 第三十一章 | 相似 | 来源 A(搜索摘要);与来源 D 的九上末章“第三十章”衔接 |
| 第三十二章 | 锐角三角函数;章末“综合与实践:停车设计问题” | 来源 A(搜索摘要) |
| 第三十三章 | 投影与视图;章末“综合与实践:建筑中的数学” | 来源 A(搜索摘要) |
| 第三十四章 | 随机事件的概率:34.1.1 随机事件、34.1.2 概率、34.2 用列举法求概率、34.3 用频率估计概率 | 来源 B、C |
来源:
- A:知乎专栏《2024年秋季学期修订人教版初中数学7-9年级教材目录》https://zhuanlan.zhihu.com/p/706262283 。正文需登录无法读取,只看到搜索结果摘要:“九年级下册:第三十一章相似 第三十二章锐角三角函数 综合与实践:停车设计问题 第三十三章投影与视图 综合与实践:建筑中的数学 第三十四章随机……”(摘要在此截断)。
- B:LibreMath 教辅页 https://libremath.cn/textbook/renjiao-jiuxia-sui-ji-shi-jian-de-gai-lv/ ,标称“人教版(2024 审定)九年级下册第三十四章《随机事件的概率》”,列出 34.1.1—34.3 各小节,并说明 2027 春起使用、章名由“概率初步”改为“随机事件的概率”。第三方教辅,非官方。
- C:21cnjy 新教材九下页的搜索摘要(https://mip.21cnjy.com/mulu/7/326226-2.html ,页面本身抓取超时):“第三十四章随机事件的概率 34.1 随机事件与概率 34.2 用列举法求概率 ……”,与 B 一致。
- D:电子课本网 dzskb.com 的九上 2024 页 https://www.dzskb.com/rjbsx9sc-2024.html ,九上为第二十五至第三十章(反比例函数已在九上第二十七章),所以九下从第三十一章起,与 A 衔接。
未采用的来源:dzskb.com 标为“2024 审定版(现行)”的九下页 https://www.dzskb.com/rjbsx9sce-2024.html 列出的是“第二十六章 反比例函数 / 二十七 相似 / 二十八 锐角三角函数 / 二十九 投影与视图”,与同站旧版页内容完全相同,且与它自己的九上 2024 页矛盾(反比例函数不可能同时在九上第二十七章和九下第二十六章),判断为误标的旧版目录,不采用。
仍待核的部分:(1) 第三十一至三十三章的小节号没有查到,chapter 字段只写到章,不写小节号;第三十四章小节号来自 B、C。(2) “综合与实践”两项只来自来源 A 的摘要,活动的具体内容未核实,cnm_290、cnm_291 的描述与先修边是按主题名推定的。(3) 章内知识点是沿用第一版的拆分,没有逐节对照新教材。(4) 第三十四章章名“随机事件的概率”来自 B、C 两个第三方来源,来源 A 的摘要被截断。
- 小学先修:18 个外部节点(
cnm_ext_*)按小学数学课程内容概括,只作为图的根,不展开其内部结构。 - 格式参考:已阅读 Marble 的
data/topics.json/data/dependencies.json(节点含type、domain、evidence、assessmentPrompt;边为topicId依赖prerequisiteId)。其中文分支 os-taxonomy-beijing 只读了 README,没有解析它的数据文件。本项目在字段含义上对应关系为:mastery_criteria≈evidence,diagnostic_question≈assessmentPrompt;但文件顶层是裸数组(没有version/topicCount包装),id 为cnm_NNN,也没有centrality、ageRange、standards。
文件
data/topics.json 知识点节点(JSON 数组)
data/dependencies.json 先修边(JSON 数组)
data/cn-curriculum-standards.json 课标第四学段内容要求条目(157 条)
docs/standards-mapping.md 课标对齐说明:来源、映射规则、覆盖率、未映射清单、局限
data/questions.json 题库:每个正式知识点 4–5 题(共 1407 题)
data/verification_report.json 题库答案核验报告(自动核验 + 独立第二遍复核)
data/second_pass_log.json 第二遍复核的裁决与修正记录;data/_second_pass/ 是解题者的原始答案和推导
docs/questions.md 题库格式、核验方法、统计、局限
scripts/validate.py 校验脚本(仅标准库;含题库检查)
scripts/verify_questions.py 题库答案自动核验(受限表达式求值)
scripts/second_pass.py 独立第二遍复核的辅助脚本(出盲解题、比对答案)
CHANGELOG.md 按日期记录的变更日志(含 id 变动说明)
index.html 单文件浏览页面(无外部依赖)
diagnose/ 诊断小工具(纯静态:index.html、engine.js、app.js、style.css、README.md)
tests/test_engine.js 诊断引擎测试(Node,无依赖)
scripts/screenshot.js 无头 Chrome 冒烟测试与截图脚本
screenshots/ 诊断小工具截图(01-start / 02-question / 03-result / 04-graph / 05-explanation)
topics.json 字段
正式知识点(external: false):
| 字段 | 说明 |
|---|---|
id |
稳定 id,cnm_001 … |
name |
中文名称 |
domain |
数与代数 / 图形与几何 / 统计与概率 / 综合与实践 |
grade |
7 / 8 / 9(整数) |
semester |
"上" 或 "下" |
chapter |
人教版章节,如 七上 第一章 有理数 1.2.1 |
type |
conceptual / procedural / reasoning / application / modeling |
description |
通俗说明(1—2 句) |
mastery_criteria |
2—3 条掌握标准(字符串数组) |
diagnostic_question |
{"question": "...", "answer": "..."} |
external |
false |
standards |
课标映射数组,元素 {"id", "confidence", "note"?},见下节;可为空数组 |
root_reason |
仅当非外部节点没有任何先修边时必填(本版没有这样的节点,见下) |
外部(小学先修)节点:只有 id、name、domain、grade(固定为 "小学")、description、external: true,另有 standards: [](本版没有做第三学段课标条目)。
说明:
- 数学里函数归“数与代数”,点的坐标、图形变换归“图形与几何”(与课标领域划分一致)。
- “综合与实践”节点(如
设计学校田径运动会比赛场地)是教材中的主题活动,按modeling处理,诊断题只是对活动中某一数学要点的检查。 一元二次方程根与系数的关系(拓展):课标要求“了解”(例67),第三轮已据此更正描述;名称里的“(拓展)”保留,其是否作为必学请教师判断。
dependencies.json 字段
{"topicId": "A", "prerequisiteId": "B", "strength": "hard", "reason": "一句中文理由"}含义:A 依赖 B(学 A 之前需要 B)。
hard:不会 B 基本无法学 A;soft:会 B 对学 A 明显有帮助(类比、简化、背景),但不是硬门槛。这个区分是 AI 的主观判断,未经审核。- 只保留直接先修关系,并做了传递约简:
hard边仅在存在另一条全hard路径时才被删除,soft边在存在任何其他路径时即被删除(生成时共剔除 90 条冗余边)。因此若看到某条边“缺失”,通常是已经能由更近的先修推出。 - 由于每个正式知识点最终都能追溯到至少一个小学外部节点,本版没有需要
root_reason的根节点;图的根全部是cnm_ext_*。
当前统计(python3 scripts/validate.py 实际输出)
- 知识点总数 333:正式 315,小学外部 18
- 按领域(正式):数与代数 142,图形与几何 117,统计与概率 43,综合与实践 13
- 按册次(正式):七上 61,七下 58,八上 57,八下 57,九上 49,九下 33
- 按类型(正式):conceptual 102,procedural 101,reasoning 58,modeling 31,application 23
- 先修边 616 条:hard 497,soft 119;其中 53 条指向小学外部节点;正式知识点平均 1.92 条先修
- 未被任何知识点依赖的末端节点 63 个
第二轮迭代(2026-10-17)改了什么
详见 CHANGELOG.md。要点:
- 九下章目核实:去掉所有“(暂拟)”,九下
chapter改为第三十一至三十四章的实际章名(来源与“非官方、待核”说明见上)。原九下 22 个知识点的 id 全部不变;章名由“概率初步”改为“随机事件的概率”,并给概率各点补上 34.1.1/34.1.2/34.2/34.3 小节号。新增两个章末“综合与实践”(cnm_290停车设计问题、cnm_291建筑中的数学)。 - 统计与概率加厚:领域“统计与概率”正式知识点由 20 增至 43(新增 23)。分布:七下 17、八下 12、九下 14。七上、八上、九上在新版教材里没有统计与概率章,所以没有硬凑。另有 3 个相关的“综合与实践”(
cnm_109、cnm_218原有,cnm_315新增),不计入上面的 43。 - 边:新增 50 条(含统计新点的先修边及
cnm_288←cnm_297等连接原有统计点的边),删除 1 条冗余边(cnm_288←cnm_106,已可经新增的cnm_297到达);原有 287 条理由少于 8 个汉字的边,再加 79 条仍只有短语的边,共 366 条理由改写成完整一句话(最短的也有 9 个汉字以上)。 - 没有改动
scripts/validate.py。
课标对齐(第三轮)
- 课标条目:
data/cn-curriculum-standards.json,教育部《义务教育数学课程标准(2022年版)》第四学段【内容要求】共 157 条:数与代数 49、图形与几何 92、统计与概率 13、综合与实践 3。id 形如cms-2022:4.NA.01(NA 数与代数、GG 图形与几何、SP 统计与概率、IP 综合与实践),条文是课标原文,来自教育部官网 PDF。 - 知识点映射:每个正式知识点的
standards数组为{"id": "cms-2022:4.NA.17", "confidence": "exact"|"inferred", "note": "..."};exact 表示条款正文直接点名,inferred 表示前提、特例、延伸或教材细化,必须写 note。 - 覆盖率:315 个正式知识点中 313 个(99.4%) 有映射;2 个未映射(
cnm_130辅助线与模型、cnm_192折叠与动点问题)。另有 15 条课标条款没有对应知识点(多为作图、欣赏类和选学内容),列在文档里。 - 全部说明(来源与 URL、检索日期、映射规则、覆盖率、未映射清单、已知局限)见 docs/standards-mapping.md。映射由 AI 生成,未经课程专家审核。
- 小学外部节点的
standards为空数组,没有建第三学段(cms-2022:3.*)条目。 STRICT_STANDARDS=1 python3 scripts/validate.py会把“正式知识点 standards 为空”当作错误;默认只打印警告。
统计与概率知识点的教材落册(第二轮后)
- 七下 第十二章(17 个):调查方式与样本(
cnm_102—cnm_104、cnm_298、cnm_299、cnm_300),数据整理与统计图(cnm_105、cnm_292—cnm_297),直方图与趋势图(cnm_106—cnm_108、cnm_301)。 - 八下 第二十四章(12 个):平均数、加权平均数、中位数、众数、方差、四分位数、分组数据及新增的样本估计总体、极端值、方差比较、箱线图。
- 九下 第三十四章(14 个):随机事件、概率意义、列举法、列表法与树状图、频率估计概率、游戏公平性,以及新增的可能性排序、概率性质、等可能判断、放回与不放回、三步树状图、实际估计、统计图表综合、误解辨析。
- 小节号(如 12.1.2、24.2)是按第一版已有标注推定的,没有逐节核对新教材。新增的
cnm_305(箱线图)是否为教材必学内容、cnm_315(用随机试验检验游戏的公平性)是补充课题,均已在描述里标明,请教师取舍。
诊断小工具(第四轮;第五轮改为每个知识点最多 2 题)
diagnose/ 是一个基于上述数据的静态、可离线的诊断页面:选一个目标知识点(或整个章节),按先修关系自适应出题(第一题答对则掌握并跳过全部祖先;答错则再出一道同级或更容易的题——第二题也错才算薄弱并回溯到先修,hard 先于 soft;第二题答对标为「不稳」,不回溯),给出薄弱的根因、不稳的知识点、按拓扑序排列的学习路径、相关课标条目原文和一张纯 SVG 路径图;每题作答后显示解析和参考答案;进度保存在 localStorage,可导出 JSON 或打印。核心算法与判题在 diagnose/engine.js(纯函数,浏览器与 Node 通用),由 node tests/test_engine.js 测试。
python3 -m http.server 8000 # 访问 http://localhost:8000/diagnose/ (演示:?target=cnm_221&demo=1) node tests/test_engine.js # 引擎测试 node scripts/screenshot.js # 冒烟测试 + 截图(需要本机 Chrome)
算法说明、判题规则、URL 参数与局限见 diagnose/README.md;浏览页 index.html 右上角也有入口。每个知识点最多问 2 题,诊断结果只是线索。
题库(第五轮)
data/questions.json:给 315 个正式知识点各建 4–5 道题,共 1407 题;topics.json 里原有的 diagnostic_question 迁移为每个知识点的第 1 题(id 后缀 _q1),原字段保留不动。
| 统计 | 数量 |
|---|---|
| 按 type | numeric 903,choice 475,short 23,self 6(numeric + choice 占 97.9%) |
| 按 difficulty | basic 591,standard 537,advanced 279(每个知识点都含 basic 和 standard) |
| 每知识点题数 | 最少 4,最多 5,平均 4.47(4 题 × 168,5 题 × 147) |
自动核验(verify 表达式) |
875 题通过,mismatch 0,unverifiable 532(主要是文字选项的选择题) |
| 独立第二遍复核 | 1401 题盲解比对,原始不一致 3 处(全是解题者算错),发现并修正答案错误 0 处,另改 4 处含糊题干 + 1 处错误解析;second_pass_mismatch = 0 |
python3 scripts/verify_questions.py # 自动核验,写 data/verification_report.json;mismatch 为 0 才打印 VERIFICATION PASSED python3 scripts/validate.py # 含题库格式检查与题量统计
题目与答案全部由 AI 生成、未经教师审核,复核者与出题者是同一模型家族;格式、核验方法、统计与局限见 docs/questions.md。
已知局限
- 审核缺位:见开头状态声明;先修关系、hard/soft 强度、诊断题难度与区分度都没有经过教师或学生数据检验。
- 覆盖不均:统计与概率现为 43 个,但全部集中在七下、八下、九下三册(新教材只在这三册安排统计与概率,不含七上、八上、九上);九下目录为第三方来源推定,非官方、待核(见上);教材中的“阅读与思考”“数学活动”“小结”“信息技术应用”等栏目没有单独成点,仅少数“综合与实践”“探究与发现”并入。
- 粒度不统一:个别知识点(如各类应用题)按题型归并,个别(如三角形全等的各判定)拆得较细,需按实际教学再调。
- 题库很小:每个知识点 4–5 题、诊断时最多问 2 题,题与答案由 AI 生成、未经教师审核,难度与干扰项没有学生数据校准,不能代替完整测评。
- 按教材顺序推断:部分先修边(如命题、定理类内容)反映的是教材编排而非严格逻辑依赖,已尽量标为
soft。
运行校验
python3 scripts/validate.py
检查:JSON 合法;id 唯一;必填字段齐全;domain/type/strength 取值合法;每条边的两端都存在;无自环、无重复边;无环(有环时打印环路);每个非外部知识点要么有先修边要么有 root_reason;没有完全孤立的节点。并打印按领域、按册次的数量以及边数、hard/soft 数。第三轮新增:standards 引用的课标 id 必须存在于 data/cn-curriculum-standards.json,confidence 只能是 exact/inferred,课标文件自身的 id 格式与编号连续性;并打印课标条目数、映射覆盖率;正式知识点 standards 为空时只打印警告(至多 30 个),设置 STRICT_STANDARDS=1 才视为错误。全部通过时输出 VALIDATION PASSED 且退出码为 0,否则输出错误并以非 0 退出。
打开浏览页面
页面通过 fetch 读取 data/*.json,浏览器不允许直接用 file:// 打开,请在本目录启动一个静态服务器:
python3 -m http.server 8000
# 然后访问 http://localhost:8000/功能:左侧可按学科、年级/册次、类型筛选并搜索(名称、描述、章节);可勾选是否显示小学先修节点。点击知识点后显示描述、掌握标准、诊断题(答案默认折叠)、先修链(向上递归,树状或分层列表两种视图,边上标注硬/软先修及理由),以及它是哪些后续知识点的先修。地址栏 #cnm_219 形式的 hash 可直接定位到某个知识点。
后续建议
- 请初中数学教师先审先修边(尤其是 hard 边),并用教材实物或人教社官方目录核对九下的章名、章号和小节号。
- 请课程专家审核
standards映射(尤其 inferred),并考虑为 15 条无对应知识点的课标条款补点;再补充每个知识点的常见错误、典型例题。 - 用真实学生答题数据校准诊断题与先修强度。
许可证 / License
本项目(知识图谱数据、题库、诊断工具代码及文档)采用 知识共享 署名-非商业性使用 4.0 国际许可协议(CC BY-NC 4.0) 授权,完整条款见 LICENSE。
- ✅ 可以免费用于个人学习、教学、研究,可以修改和再分发,但需署名并注明来源(本仓库链接)。
- ❌ 不得用于商业用途(包括但不限于付费课程、付费 App、机构收费服务、售卖题库等)。
商用授权: 如需商业使用,请联系作者获取单独授权:X(Twitter)私信 @hassanyehiaa,或在本仓库 提交 Issue 说明用途。
This project is licensed under CC BY-NC 4.0. For commercial licensing, please contact the author via X @hassanyehiaa or open an issue.