2
2
Ο
第 29 卷 第 3 期
2007 年 6 月
电气电子教学学报
J OU RNAL OF EEE
Vol. 29 No. 3
J un. 2007
基于 Web 智能阅卷考试系统的设计与实现
丁卫平1 ,邓 伟2 ,顾 翔1
(1. 南通大学 计算机科学与技术学院 ,江苏 南通 226019 ;
2. 苏州大学 计算机科学与技术学院 ,江苏 苏州 215006)
摘 要 :智能阅卷是基于 Web 的考试系统的关键技术。从目前智能阅卷系统现状出发 ,针对计算机等级考试系统中不同题型的特征 ,进行了
相应智能阅卷算法的研究 ,最后设计了基于 Web 的 C 语言计算机等级考试智能阅卷考试系统 ,在实际教学中应用后取得了较好的教学效果 。
该系统的实现对计算机等级考试全面实现智能阅卷具有重要的应用和研究价值。
关键词 :智能阅卷 ,考试系统 ,主观题
中图分类号 : TP301
文献标识码 :A 文章编号 :1008 - 0686 (2007) 03 - 0102 - 04
An Intelligent Assessment System Based on the Web in the Examination System
DING Wei
ping1 , 2 ,DENG Wei2 , GU Xiang1
(1. S chool of Com p uter S cience an d Technolog y , N anton g Uni versit y , N anton g 226019 , Chi na ;
2. S chool of Com p uter S cience an d Technolog y , S uz hou Uni versit y , S uz hou 215006 , Chi na )
Abstract :The intelligent assessment is a key technology for t he examination system based on t he web. On
t he base of t he analyzed act uality of t he intelligent assessment system , t he corresponding intelligent assess
ment algorit hm is designed , aiming at different characters of t he test s in t he comp uter rank examination.
Then t he intelligent assessment system of t he C language comp uter rank examination based o n t he web is
designed. The system in t he application of t he teaching p ractice is better. The system is t he important
meaning of applying and st udy for t he intelligent assessment which is completely carried o ut in t he comp uter
rank examination.
Keywords :intelligent assessment ;examination system ; subjective questio ns
0 引 言
基于 Web 的考试系统是以计算机网络为基础 ,
利用先进的计算机技术 、网络技术 、数据库技术 、认
证技术和数据加密技术等 ,通过计算机和网络来完
成考试报名 、身份认证 、自动组卷 、下传考题 、上传考
试过程和结果 。学生全部考试过程都在计算机上进
行 ,由计算机自动或在人工干预下完成试题的评阅 ,
并能自动进行试卷分析和相关数据统计等 。基于
Web 的考试系统是目前一种全新的 、开放的考试模
式 。
基于 Web 的考试系统试题类型可以是客观题
或主观题 。目前针对判断题 、单选题 、多选题 、或具
有一个及多个确定答案的填空题等客观型试题的自
收稿日期 :2007 - 01 - 22 ;修回日期 :2007 - 05 - 10
基金资助 :江苏省现代教育技术研究课题 (2005
R
作者简介 :丁卫平 (1979 - ) ,男 ,江苏常州人 ,讲师 ,硕士 ,研究方向智能辅助教学系统 、数据挖掘等。
203) ,南通大学教学研究重点资助课题 (A0615)
邓 伟 (1967 - ) ,男 ,江苏苏州人 ,博士 ,教授 ,研究方向为人工智能、神经网络、模式识别等 。
顾 翔 (1973 - ) ,男 ,江苏南通人 ,博士 ,副教授 ,研究方向为通信软件测试理论与方法 。
第 3 期
丁卫平 ,邓 伟等 :基于 Web 智能阅卷考试系统的设计与实现
301
程序设计动态测试或正确性检验方面比较成熟的
自动测评系统 ,可见 ,在这一领域的研究有待深入
开展 。
2 智能阅卷原理与算法研究
目前 ,计算机等级考试的试题类型为选择题 、填
空题和程序题 ,要实现试卷的智能批阅 ,即要针对上
述三种题型的进行批阅 。所以本文重点研究如何采
用一些计算机理论和技术来实现对填空题和程序题
的智能评阅 ,给出较合理的分数 ,从而全面实现计算
机等级考试试卷的自动评阅 。
2. 1 客观试题阅卷方法
客观试题的自动评阅实现十分容易 ,将考生答
题结果与试题答案比对即可得出相应试题的得分 。
2. 2 填空题智能阅卷算法研究
我们在对现有的智能批改技术和阅卷系统[3 - 4 ]
进行分析和比较的基础上 ,针对计算机等级考试中填
空题一般为用程序设计语言书写的语句或表达式 ,且
语法规则严格、无歧义等特征 ,提出了以语句相似度
为评价机制来实现填空题自动批改技术的策略。语
句相似度是用来评价学生答案与标准答案的接近程
度 ,它主要考虑二者之间在语义上的相似程度 ,而对
于语法结构不作过多考虑 ,其具体思想如下 :
1) 采用类似于编译程序设计技术对标准答案进
行词法和语法分析 ,将其逐个分解成标识符 、常量和
运算符 ,并且由各部分得到整体语义 ;
2) 对每个标准答案生成语义等价类 ,因程序设
计语言中一个语句或表达式可能有多个等价形式 ;
3) 对学生的答案进行词法 、语法分析并进行优
化 ,将处理后的学生答案与等价答案匹配 ,匹配度达
到 95 %即认为答案正确 。
其填空题自动阅卷过程描述如下 :
动评分技术已经相当成熟 。但是对于那些非客观
题 ,如论述题 、问答题 、写作题以及计算机程序设计
中的程序设计题等无法要求有明确 、统一答案的试
题 ,由于其自动评阅涉及到人工智能 、模式识别和自
然语言理解等方面知识 ,需要解决许多技术上的问
题 ,这也就成为基于 Web 考试系统中的技术难点 。
因此积极探讨和研究试卷的智能批阅技术对于真正
实现基于 Web 的考试系统具有重大的意义 。
1 智能阅卷系统现状
对不同的试题类型 ,试卷自动批阅的难易程度
相差很大 。客观题的自动批阅易于实现 ,主观题的
智能批阅实现起来则相当复杂 ,这在一定程度上使
得在线考试不能真正实用化 ,从而成为制约网络考
试系统发展的一个重要因素 。目前在计算机等级考
试中随着考试人数的不断增加 ,阅卷人员的负担也
越来越重 ,尤其对于程序设计题的评阅 ,所给答案只
能作为一个参考 。计算机等级考试中采用智能阅卷
是一个理论性和实践性都很强的课题 ,要考虑到语
法分析 、交互式特征 、多线程并行处理特性 、消息处
理 、数据处理及系统健壮性等诸多技术上的难题 。
因此积极研究计算机等级智能阅卷考试系统这一课
题具有很高的实用价值 。
目前国外比较典型的计算机语言智能阅卷系统
是英国诺丁汉大学开发的 Course Master 系统[ 1 ] ,
是迄今为止较为成功的计算机程序设计语言智能阅
卷系统 。其 C TAA (计算机考试自动化测评) 研究
领域核心是能够对学生提交的计算机程序进行智能
测评并给出反馈意见 ,包括静态测评和动态测评两
部分 。但是 Course Master 系统中比较成熟的部分
是静态测试 ,而静态测试并非是程序自动测评的重
点 ,而自动阅卷系统所关心的是动态测试 。Course
Master 系统由于测试用例的选取方法不尽科学 ,其
测试效果并不理想 。国内比较典型的智能阅卷系统
有上海大学段汉周提出的 VB 程序设计考核自动评
阅系统 ,该系统中实现了对 VB 程序设计上机考核
实行实时智能评阅的功能[ 2 ] ,它所基于的判断程序
标准是认为没有通过编译或者不能运行的程序是属
于完全错误的 ,然后根据程序界面参数和运行结果
来进行程序的评阅等 。
综合国内外情况来看 ,尽管目前对智能阅卷
技术的研究正在不断深入 ,但目前还没有一个在
401
电气电子教学学报
第 29 卷
2. 3 程序题智能阅卷算法研究
目前程序题的大多数智能阅卷方法是通过运行
考生所编写的程序生成相应的输出文件 ,然后和标
准文件进行比较 ,根据比较结果给出一个相应的分
数 ,该类算法不能给出合理的分数以及考查学生的
实际编程能力 。我们在研究和实验的基础上[ 5 - 8 ] ,
提出采用执行可信度 、代码可信度和输出可信度这
三个重要衡量指标的 RF G(残差帧组) 算法来进行
程序题分数的确定 。在评分之前首先生成一个存放
分数的结构 ,用于存放每个衡量指标的得分 ,最后汇
总出总分 ,如表 1 所示 。
表 1 RF G 算法得分图
执行可信度得分 代码可信度得分 输出可信度得分
汇出总分
1) 执行可信度
在程序的执行过程中 ,一个扩展名为 exe 的文
件不一定就是真正的可执行程序 ,因为它可以通过
人为的方式改变一个文件的扩展名而实现 ,所以阅
卷时不但要检查可执行程序生成与否 ,还要检查其
合法性 。检查的结果可以分为三种情况 :可执行程
序不存在时为 0 ;存在但不合法时为 0. 1 ;存在并且
合法时为 1 ,这个数值我们称之为执行可信度 。
2) 代码可信度
根据题目的要求事先写一个参考程序 ,该程
序尽可能具有较大的代表性 ,一般是正常思维情
况下的实现方法 。另外在该程序中要以注释的方
式添加其他实现方法的程序代码 ,以扩大答案的
覆盖面 。自动阅卷时将考生所编写的程序与该程
序进行模糊比较 ,得出一个相似系数 。该系数是
衡量程序最大相似性的一个重要指标 ,我们称之
为代码可信度 。
3) 输出可信度
考生编写的程序运行时 ,根据预先提供的测试
数据 ,自动生成相应的输出文件 。测试数据一般有
多组 ,每组对应一组输出结果 。比较后不等时按相
应权重给分的 。
为了验证算法 RF G 的性能 ,我们选取性能参
考文献 [ 4 ]中 D TD 算法和参考文献 [ 7 ]中 DIS 算
法 为 实 验 比 较 对 象 。实 验 是 在 Celeron Ⅱ
920 M Hz ,512 MB 内 存 的 环 境 下 完 成 。Visual C
+ + 6 . 0 实现 源代码 , 使 用了与 文献 [ 4 ] 同 样 的
测试数据实验结果如图 1 所示 。可 以发 现 RF G
算法在随着 阅卷 题量 增加时 阅卷 的准 确率 优 于
D TD 和 D IS 算法 。
图 1 智能阅卷算法性能对比图
3 基于 Web 的智能阅卷考试系统设
计与实现
3. 1 系统结构设计
整个考试系统 Server 端采用 Micro soft IIS 4. 0
来构建 。IIS 的最大优点就是能够运行 ASP 脚本 ,
给用户提供一个动态界面 。通过比较各种数据库以
及各方面的利弊 ,选取了 SQL Server2000 数据库管
理系统来管理试题库 。试题和答案直接采用文本格
式存放在题库的 TEXT 字段中 ,A SP 脚本通过 J D
BC 来与数据库交互 ,客户端则采用浏览器直接访
问 ,可供学生考试使用 。
在基于 Web 考试系统实现智能阅卷过程中 ,我
们将系统设计为三个模块 ,其详细方框图如图 2 所
示 。
图 2 智能阅卷系统总体结构图
(1) 阅卷系统信息数据库模块 :该模块中包括了
标准答案 、考生答案和分数库 ,为自动阅卷系统记录
数据的主要部分 。
(2) 解析模块 :该模块主要完成对用户程序的分
析功能 ,并按上述设计的阅卷策略驱动用户程序 ,得
第 3 期
丁卫平 ,邓 伟等 :基于 Web 智能阅卷考试系统的设计与实现
501
到运行结果 。
(3) 评分模块 :该模块主要将考生结果与标准结
果进行比较 ,得出阅卷结果 ,并保存至数据库中 。
3. 2 智能阅卷考试系统主要实现部分
在该智能阅卷考试系统中 ,考生通过自己的用
户名和口令登陆进行考试时 ,可以通过下面阅读试
题部分进行试题阅读 。以 C 语言计算机等级考试
智能阅卷系统为例 ,其涉及到智能的阅卷主要包括
改错题和编程题 ,考生可逐一选择进行答题 。如图
3 所示 。
期间不会受到非授权方式的改动或破坏 ,任何未经
授权的增删和修改都能被及时阻止 ,从而避免信息
不一致等情况发生 。
3) 不可抵赖性 (nonrep udiation) :每台计算机在
批阅每份试卷时以及与本计算机的有关信息都会保
存一定的有效信息 ,起到监督和制约作用 。
4) 保密性 (confidentialit y) :该系统应用了加密
技术 ,通过对网络传输的试卷 、成绩等重要数据进行
加密 ,将其变换成网络传输中的密文 ,从而保证信息
不被泄露给其他非授权用户 。
4 结束语
本文从智能阅卷系统现状出发 ,针对计算机等
级考试系统中不同题型的特征 ,进行了相应智能阅
卷算法的研究 ,最后设计了基于 Web 的 C 语言计算
机等级考试智能阅卷考试系统 ,在实际使用后表明
该系统不仅节省人力物力 ,而且还极大地提高了考
试的保密性和公平性 。然而对于考试系统的精确智
能评分还有许多技术上的问题 ,有待进一步的探讨
和研究 。
参考文献 :
[ 1 ] Yasuhiro Ajiro , Kazunori Ueda. Kima : An Automated Error
Correction System forConcurrent Logic Programs. Automated
Software Engineering 2002 , 9 (2) : 67 - 94
[ 2 ] 段汉周 ,凌捷 ,郑衍衡. VB 程序设计考核自动评阅系统中若干
问题的研究[J ] . 上海 :计算机工程 ,2001 ,12 (4) : 167 - 168
[ 3 ] 张量 ,詹国华. 开放式智能化计算机考核阅卷系统的设计与实
现[J ] . 北京 :计算机工程与应用 ,2001 , 37 (10) : 108 - 110
[ 4 ] 屈志杰 , 郑衍衡 ,韩冬. XML 自动阅卷系统的设计与实现[J ] .
长沙 :计算机工程 ,2003 ,29 (16) :189 - 191
[ 5 ] 乔善平. 基于智能移动 Agent 的 C 语言考试系统[J ] . 上海 :计
算机工程与科学 ,2004 , 26 (4) : 101 - 105
[ 6 ] 董英斌 ,竹翠. 基于网络的新型计算机考试系统[J ] . 上海 :计算
机工程 ,2001 ,27 (8) :150 - 152
[ 7 ] 吴锦林 ,吴清锋. 分布式计算机应用水平考试系统的设计与实
现[J ] . 北京 :计算机工程与设计 2003 ,24 (3) : 52 - 54
[ 8 ] 孟爱国 ,卜胜贤 ,李鹰 ,甘文. 一种网络考试系统中主观题自动
评分的算法设计与实现[J ] . 武汉 :计算机与数字工程 ,2005 ,33
(7) :147 - 150
图 3 考试系统界面部分
在阅卷考试系统中 ,阅读试题部分包括题型选
择按钮 、答题和交卷按钮 、一个倒计时时钟以及考生
要答的试题和系统注意的提示部分 。点击“答题”按
钮可以进入 C 语言环境进行答题 ,点击“交卷评分”
按钮进行评分 。该评分过程就是用上述算法设计的
计算机后台处理过程 ,等待数秒钟后 ,考生可以当场
看到自己的得分 (包括改错题 、漏选题等评分) ,该得
分保存到考生对应的数据库服务器中 。
3. 3 智能阅卷考试系统安全性分析
基于 Web 的智能阅卷考试系统具有较好的开
放性和交互性特点 ,在实际教学中取得了较好效果 。
同时 ,该系统也具有较好的安全性 ,能保证试卷和分
数成绩得到安全 、可靠 、及时的存储和传输 ,其安全
性分析如下 。
1) 可用性 (availabilit y) : 计算机在智能阅卷过
程的任何时刻都可以从系统获得正确 、可靠的服务
或者响应等 。
2) 完整性 (integrit y) :考卷在传送过程或存放