摘要:文章介绍了自动阅卷算法的关键技术,按照不同类试题的特点分别提出了不同的匹配算法。在此基础上提出了同义词库的建设的设计思想,可以实现对主观题公平公正判分,实现了阅卷全过程的自动的自动化,对推进学校的教学创新,减少教师工作量,提高考务效率,节约资源有重要意义。
关键词:自动阅卷;模式匹配;同义词库;答案因子;标准答案集合;模式匹配算法
中图分类号:TP311 文献标识码:A 文章编号:1009-2374(2012)01-0048-03
自动阅卷算法的基础是模式匹配算法。无论是计算机,还是人类本身,批改作业的过程归根结底是一个匹配的过程。客观题的标准答案是唯一的,很明显其批改的过程是一个精确匹配的过程。主观题,因为标准答案在表示形式上常常不是唯一的,并且每种表示形式的标准答案一般是由提炼出来的多个“答案因子”共同组成。所以,在标准答案的编制时,应该建立一个由多个标准答案组成的同义词库,同时需要对各个“答案因子”建立同义词库;在评卷时采用分析性评分法,对各个解答关键因素个别给分。于是对一道主观题的批改就是对标准答案中的各个解答关键因素进行匹配,这也是精确匹配。
一、试题类型分析
自动阅卷首先需要将试题进行分类,然后针对每一种题型进行相应的处理。(1)简单题型:包含判断题、单选题等。对于这类题,计算机可以采用字符串比较的方法,将考生的答案与标准答案进行精确的匹配评分。(2)多选题:对于这类题,计算机可以采用“排列比较”或“排序比较”的方法阅卷。所谓“排列比较”,是指只要答题者答案集合中的各个元素能够与标准答案中的各个元素一一对应,该答案才是正确的。所谓“排序比较”,是指先按照相同的规则,分别对考生答案集合和标准答案集合中的各个元素进行排序,得到的两个结果必须相等,该答案才是正确的。(3)主观题:对于某些主观题目,要由考生综合自己所学的知识给出答案,只要答案属于标准答案的集合,便为正确。所以主观题阅卷科学性的关键在于标准答案的集合的建立。
二、主观题自动阅卷算法分析
1.一道主观题的标准答案是一个由多个标准答案组成的集合。而每一个标准答案由多个“答案因子”组成。所谓“答案因子”,可以理解为标准答案中的一个词组,它可以通过教师在建立同义词库时通过对标准答案拆分得到。我们用A表示标准答案集合,Ai表示标准答案集合中的第i个标准答案,B表示“答案因子”,Bij表示Ai的第j个“答案因子”。因此,A={A1,A2……An},Ai={Bi1,Bi2,......Bij},其中i,j=1,2,……,m。
由上可知,标准答案集合中的每一个标准答案的“答案因子”的个数可以相同,也可以不同。另外,标准答案集合中有满分的标准答案,也可以有零分的标准答案,只需要正确的确定标准答案Ai中的每一个“答案因子”Bi的分数,就可以确定Ai的分数,进而确定A的总分。这里说的正确的确定是指,在标准答案集合中,每一个标准答案的总分应该与该标准答案的各“答案因子”的分数之和相等。教师根据教学需要和教学策略合理地分配各“答案因子”的分数。
我们用Ti表示标准答案Ai的总分,用Tij表示Ai的每一个“答案因子”Bij的分数。因此,Ti=Ti1+Ti2+......+Tij,其中i,j=1,2,……,m。
既然标准答案集合中有多个标准答案,当计算机批改作业时,到底选择哪一个标准答案与学生的答案进行匹配呢?我们定义了一个“相似度”的概念。这里讲的“相似度”是指学生的答案与标准答案集合中每一个标准答案的相似程度,用S表示。下面介绍“相似度”的计算方法。
计算机将学生的答案与标准答案集合A中的一个标准答案Ai进行匹配,假设匹配成功的“答案因子”的个数为m,Ai的“答案因子”个数为n,则学生的答案相对于标准答案Ai,“相似度”Si=m/n,其中m 在计算机进行自动批改时,先将学生的答案与标准答案集合中的各个标准答案分别进行匹配,得到与各个标准答案相对应的“相似度”的得分。然后,从这些“相似度”中选取最大的“相似度”,找到与之对应的标准答案的得分。 例如A={A1,A2……An},Ai={Bi1,Bi2,......Bij},其中i,j=1,2,……,m。用A0表示学生答案,用T'i表示A0与Ai进行匹配后的得分,用T'表示A0最后的得分,那么自动阅卷过程的形式化描述如下。 具体算法流程如下: (1)i=1; (2)将A0与A中的Ai进行匹配得Si; (3)i=i+1; (4)if i (5)从S1,S2,......,Sm,中选取Sk,使Sk=MAX(S1,S2,......,Sm); (6)T'=T'k; 2.同义词库的建设。在上一部分我们提到,需要利用同义词库才能使填空题的自动阅卷得以实现.所以义词库的建设对实现智能批改,进行模糊匹配相当重要。同义词库的好坏直接影响着整个试卷填空题的批阅效果以及无纸化水平的程度。同义词库是根据学科进行划分和建立的,其使用的范围受到学科的限制.也就是说,不同学科的同义词库存在巨大差异。所以说,某一学科的同义词库即使在该学科内是相当完善的,它也不能在其它学科的阅卷中使用。否则会出现一些非常低级的阅卷错误,这样的话根本不可能促进教学,反而会误导学生的学习。 同义词库的使用,使得我们可以完成填空题的自动阅卷。而随着同义词库的不断丰富,其阅卷精确率会不断提高。这就给我们实现简答题的自动阅卷提供了一个很好的思路,目前市面上流行的考试系统对简答题的阅卷都是通过人工阅卷来完成的。其工作量大,效率低。 通过建立简答题答案的“答案因子库”,在辅以一定的算法,我们可以实现简答题的自动阅卷。 例如用A表示考生简答题的答案,用Bi表示标准答案中的第i个答案因子,其中i=1,2,……,m。则可以将学生的答案A与“答案因子库”中的每一个答案因子Bi进行匹配,假设匹配成功的“答案因子”的个数为m,该题的“答案因子”个数为n,则考生该题的成绩为m/n*权值。 简答题“答案因子库”的建设要相当谨慎,因为它直接影响着整个试卷简答题的批阅效果。必须从标准答案中挑选出有代表性的关键词组,而且要不断的修改和扩充,只有待相当完善后,方可投入使用。 三、自动改卷算法关键代码 下面是使用存储过程和函数实现的自动改卷算法: select @cnt=len(@answer),@ucnt=len(@uanswer) select @i=1,@j=1 if @cnt<@ucnt return "0" else begin while @j<=@ucnt begin set @sql ="false" set @gs1=substring(@uanswer,@j,1) while @i<=@cnt begin set @gs2=substring(@answer,@i,1) if @gs1=@gs2 begin set @sql ="true" break; end else set @i=@i+1 end set @j=@j+1 end end if @sql="true" set @sql="1" else set @sql="0" return @sql 四、结语 一般来说,同义词库在使用前已经录入了大量的同义词组。随着同义词库的不断使用,需要不断的对其进行扩充,这就要求对同义词库进行定期的维护。当同义词库的规模不大时,计算机可能会把本来是正确的学生答案判定为错误的,这时要通过学生和教师的交流(譬如:学生认为存在判定错误,通过电子邮件或其它渠道向教师反映情况并提出疑问),由教师把学生的正确答案增加到标准答案集合中,或者扩充同义词库,使学生本来正确的答案被计算机判定为正确。所以,通过人工的干预,完全可以做到对同义词库的不断扩充,使同义词库逐渐完善,计算机自动阅卷能力会逐渐接近甚至超过人的水平。 参考文献 [1]唐洪彬.WORD、EXCEL自动阅卷系统的设计与实现 [J].宿州教育学院学报,2005,(2). [2]刘应成.主观试题计算机辅助判卷系统的设计与实现 [J].中山大学学报论丛,2004,(6). [3]李涛.网络在线考试系统研究与实现[D].昆明理工大学,2007. 作者简介:陈强(1977-),男,河南南阳人,供职于南阳市中心医院,研究方向:软件理论、算法、数据库技术。 (责任编辑:陈 倩)