考试系统中自动组卷策略论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈考试系统中自动组卷策略
[摘要] 本文根据计算机基础考试系统的开发实现过程,介绍了衡量试卷的指标、组卷约束条件、组卷策略以及随机组卷的实现。
[关键词] 试卷的指标组卷约束条件自动组卷策略
自动组卷是考试系统自动化的核心目标之一,而保证生成的试卷能最大程度的满足用户的不同需要,并具有随机性、科学性、合理性,这是实现中的重点和难点。一个理论上较完美的算法可能会以牺牲时间作为代价,往往不能达到预期的效果。因此,选择一个高效、科学、合理的算法是自动组卷的关键。
1.衡量试卷质量的基本指标
组卷就是依照设定的组卷策略方式,从试题库中抽取符合要求的题目,组成试卷。衡量一份试卷是否合适,取决于抽取试题后生成试卷的质量[1]。它包括以下两个方面。
(1)信度
试卷的信度是表征试卷作为测试工具的可靠性程度的指标。任何一项有效的测量,如果能对同一对象实施多次,各次所测的结果应该比较一致,比较稳定。一致性程度越高,稳定性越大,这项测量就越可靠。
(2)效度
效度是反映一项考试实现其既定目标成功程度的指标。考试效度指的是根据考试分数做出推论或预测的准确程度。
2.组卷约束条件分析
根据对有关试卷和试题指标要求以及专家经验分析可以得出以下几个指标,这些指标形成了实际组卷过程中对试卷的约束条件[2]:
(1)试题惟一性约束:对于某一份试卷,试题是否具有惟一性,不重复。
(2)试卷总分约束:试卷的总分是不是等于指定的分数值。
(3)题型分布约束:试卷的各类题型和题目数是否满足要求。
(4)知识点覆盖面约束:试卷是否最大程度地覆盖了指定的知识点。
(5)认知分类约束:试卷的认知分布是否满足要求。
(6)难度分布约束:试卷总体难度是不是达到指定的难度系数。
(7)试卷估计用时:试卷的估计用时与答卷用时是否相差不大。
计算机基础考试系统基于各个章节的不同,划分成不同的考试题型。计算机概述和网络知识,均作为选择题和判断题考查的内容。而其他题型均根据章节的特点而设置。所以该系统在组卷时将从各种题型库中抽取试卷,这样就减少了组卷过程需要考虑的约束条件。
3.组卷策略分析
从试题库中选取满足要求的试题需要一定的算法和技巧,这些算法和技巧称为组卷策略。计算机智能组卷常用的组卷策略有随机组卷策略、回溯组卷策略、优先权组卷策略以及遍历组卷策略[2]。
(1)随机组卷:随机组卷算法有两种情况,一是从试题全集中
抽取一题,然后判断是否符合试卷参数的要求,二是从符合试卷参数的某个参数要求的试题子集中随机抽取一题,然后判断是否符合试卷参数的其他项要求。符合要求的全入选试题,并根据该题的有关指标更新未分配的分数。
(2)回溯组卷
随着选题数量的增加,各参数之间的约束越来越大,很可能出现或者超出范围或者徘徊不前的现象,这就说明,随机选中的试题可能不是最优的。这时可采用回溯组卷算法继续组卷。所谓回溯组卷就是抽到第k题,组卷无法进行下去时用第i(i (3)优先权组卷 在组卷过程中,组卷参数比较多,需要满足十几种预定的值,例如各种题型的比例、章节的比例、难度的比例都要满足。选中一题后,对应的试题模式项目中的某些值会有所增加,使它更接近预定分值。在选题的开始阶段,不存在参数间的牵制,因为各项都有很大的取值范围,但是随着被选试题数量的增加,取值范围的缩小,矛盾也随之产生,会出现一道待选题使某个参数项达到预定要求,而其他各项却均不满足。为了避免这种情况可以考虑采用优先权算法组卷,将难选的试题放在前面选出。决定优先权的因素有:第一,某类试题的数量(m),数量越少的越难选出应优先考虑。第二,某一类试题的平均分,平均分越大的试题越难选,应优先考虑。第三,参数项目累加值与预定分值之间的差距(r已就),差距越大者越需 要补充,优先权越高。综合三个因素,可以得到优先权(priority)的公式:p=(rest*average)/m。 每选中一题优先全都会发生变化,因此在选下一题时要重新计算优先权。在计算机实现过程中,以题型参数为主参考参数,利用优先权公式得到应该考虑的题型,确定后,再利用优先权公式该题型中难度和章节的优先权,最终确定要选的试题。当选过一题后,应该重新计算优先权,其中包括题型、难度、章节。 (4)遍历算法 遍历算法就是把题库中的试题一一进行检验,选出所有符合条件的试题的方法。由于随机算法的使用,有些符合条件的试题可能不被选中。所以,当所有算法均不能选出所有符合条件的试题时,可以考虑使用遍历算法,使那些没有机会被选中的符合条件的试题可以被选出来。由此可见,利用遍历算法比较简单,但是方法应该在其他算法使用完毕才能使用,从而使组卷工作更为科学。 4.随机组卷的实现 由于采用题库,每次考试都要随机从题库中按照要求生成若干套试题,因而如何随机选题成为考试系统的重点之一。系统要求考试能够根据章节、试题难度、题型等组合出试卷,本系统目前采用根据单一条件组合试题(题型),指定它们的题量,生成试题。算法思想如下: (1)查询符合条件的所有试题(如根据题型查询) (2)将符合条件的所有试题的id号存入数组 (3)根据数组大小采用c#中的随机类random类,产生一个随机数。使用系统时间作为种子random randoml=new random((int)datetime.now.tieks);datetime.tieks获取表示此实例的日期和时间的刻度数,此属性的值为自0001年1月1日午夜12:00以来所经过时间以100毫微秒为间隔表示时的数字。产生随机数后,找到相应数组元素对应的id号,并取出id号,以特定的方式存到专门记录题号的字符串变量中如,“38,22,143,7,1,……”,同时将该数组元素做上标记。 (4)继续循环产生随机数,重复第(3)步,如果发现该数组元素已经被做上标记,表明此题己选,则继续下一次循环。 (5)循环完毕,根据获得的id号字符串“38,22,143,7,1,……”查询出所有试题,即得到一套试题。 参考文献: [1]陈辉.在线考试系统的设计与实现.消费导刊·科技论坛,2009.09:125-170. [2]李态奎. 基于b/s模式的网络通用考试系统的研究与实现:[学位论文]浙江:浙江工业大学教育科学与技术学院,2009.