Skip to content

fix: 重写小学道德与法治 135 课的模板化重复题 - #47

Open
margrop wants to merge 1 commit into
xiaoyang111222:mainfrom
margrop:fix/primary-morality-questions
Open

margrop wants to merge 1 commit into
xiaoyang111222:mainfrom
margrop:fix/primary-morality-questions

Conversation

@margrop

@margrop margrop commented Nov 11, 2026

Copy link
Copy Markdown

修复 #46:小学道德与法治的题目大量重复。

问题

小学道法 159 个知识点中:

  • 122 个知识点的 4 道题与其他知识点完全相同。例如课名带「家」的 20 课共用同一组家庭题。
  • 另有 13 个知识点含「学习《××》最重要的是什么」这类换个课名就通用的题,共 39 道。

原因是 scripts/_write_mor_grades.py 按课名关键词套用同一组模板题。按知识点诊断时,这些题无法区分学生掌握的是哪一课。

改动

  • 为这 135 课各重写 4 道单选题,共 540 题,写在 scripts/mor_g1.py–mor_g6.py 中。知识点 key、题目 id、每课的难度梯度(basic、basic、standard、challenge)都没变。
  • data/questions.json 和 data/topics.json 由 python3 scripts/mor_build.py 重新生成。只有这 540 道题和 135 个知识点的 diagnostic_question 变了,其余内容和顺序与 main 一致。
  • mor_build.py 还会改写 data/cn-curriculum-standards.json 里道法的说明字段,把 jmor_build.py 写入的初中部分覆盖掉。这与本次修复无关,所以该文件没有提交。
  • 在 scripts/_write_mor_grades.py 顶部注明不要再用它生成题目,重新运行会覆盖这次的修改。这个脚本在 main 上第 202 行本来就有语法错误,我没有改动它的其他部分。

一年级上册 19 课和二年级上册 5 课的题目原本就是逐课编写的,没有改动。

题目是怎么写的

  • 初稿由大模型按课名、所在单元和课标要求转述逐课生成,之后人工逐题读过一遍,修改了 33 处:干扰项本身也成立、答案照抄题干、安全做法不妥、史实表述不严谨、相邻课题目雷同等。
  • 五、六年级涉及党史、宪法、国家机构、未成年人保护法的事实逐题核对过。
  • 没有逐页对照教材原文。 题目是否贴合每课教材的具体内容,尤其是低年级,需要一线教师再审。
  • 一至三年级部分题的干扰项较容易排除,区分度有限。

检查

  • 小学道法 636 题没有重复题干,改前 122 个知识点的题与其他知识点完全相同。
  • 正确答案在 A、B、C、D 各 159 题;只选最长选项的猜中率为 25.8%,与随机持平。
  • CI 中的全部步骤在本地通过:scripts/validate.py、scripts/verify_questions.py、scripts/check_figures.py、tests/test_jmor_safety.py,以及 tests/ 下的 9 个 Node 测试。

🤖 Generated with Claude Code

小学道法 159 个知识点中,122 个知识点的 4 道题与其他知识点完全相同,
另有 13 个知识点含「学习《××》最重要的是什么」这类换课名通用的空题(xiaoyang111222#46)。
原因是 _write_mor_grades.py 按课名关键词套用同一组模板题。

- 为这 135 课各重写 4 道题(共 540 题),每题对应该课自己的内容,
  题目 id、知识点、难度梯度不变
- data/questions.json、data/topics.json 由 mor_build.py 重新生成,
  只改动这 540 道题和 135 个知识点的诊断题,其余内容与顺序不变
- 在 _write_mor_grades.py 顶部注明不要再用它生成题目

题目依据课名与课标要求转述编写,未逐页对照教材原文。

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant