Skip to content

Latest commit

 

History

History
46 lines (22 loc) · 2.01 KB

File metadata and controls

46 lines (22 loc) · 2.01 KB

Test_Generator_Core:配置驱动的教学组卷引擎

本项目致力于解决教学场景中“从题库到试卷”的转化问题。不同于传统的随机抽取,本项目强调对试卷结构的精确控制教学意图的还原

核心思想:实用主义驱动

在组卷这件事上,我们认为**“清晰的规则”优于“复杂的黑盒”**。目前系统采用分层随机抽样(Stratified Random Sampling)作为核心逻辑,将组卷过程拆解为:

  1. 需求定义:通过 YAML 配置文件明确总分、题型比例、难度分布等硬性指标。

  2. 离散化对齐:使用数学算法将抽象的比例转换为具体的题目数量,确保总题量与总分严格闭合。

  3. 分池抽样:在符合条件的题目池中进行随机筛选,兼顾公平性与离散分布。

现阶段功能特性

  • YAML 配置驱动:试卷的“规格说明书”与程序逻辑分离,非开发人员也能通过修改配置文件调整组卷策略。

  • 精确的难度分桶:支持将难度划分为不同的星级或区间,并按预设比例进行抽样,避免试卷难度出现极端偏差。

  • 分值与题量校准:内置自动补齐逻辑,确保生成的试卷在总分和题数上完全符合教学要求。

  • 结果可回溯:通过日志记录抽样过程,方便对组卷结果进行复盘与调整。

为什么选择这种方式?

在当前的教学实践中,教师往往有明确的命题蓝图(如:基础题占 60%,中档题 30%,难题 10%)。直接使用复杂的优化算法有时会产生“数学上最优但直觉上奇怪”的结果。通过分层规则抽样,我们可以:

  • 保证教学目标的直观落地。

  • 降低系统的维护成本,让逻辑变得透明、可预测。

  • 提供稳定的生成质量,不追求单纯的计算速度,而追求结果的合理性。

后续规划

随着题库规模的扩大和约束条件的复杂化(如 A/B 卷去重、知识点冲突等),我们计划在未来引入 OR-Tools CP-SAT 求解器作为高级插件,以应对更深层次的离散优化挑战。


许可证

本项目采用 GNU General Public License v3.0 (GPL-3.0)