计算机自适应的应用领域,计算机自适应题库的建立

摘    要:结合经典测量理论(CTT)和项目反应理论(IRT)的优点,建立了计算机自适应题库。本题库能为应试者建立更适合自己能力的个性化测验,在评估应试者真实能力方面取得了良好的效果。

关键词:计算机自适应题库; 经典测量理论; 项目反应理论

在软件的开发中,基于题库的计算机自适应考试已成为一个重要的发展方向,而计算机自适应题库的建立就显得尤为重要。目前,国内的考试系统大多数还是采用经典测量理论(CTT)[1],简单地将数量众多的试题存储在计算机中,其本质与笔试一样,一般不能测试出应试者的真实水平。

目前国际上最新的考试理论研究成果——项目反应理论(IRT)[1]是针对经典测量理论的不足提出来的,采用该测量理论的考试系统可以给每一个应试者建立适合自己能力的个性化测验,以达到更准确、更快速的测量。但是,该理论存在试题质量参数确定困难的问题,造成试题库建立的难度加大。本文结合经典测量理论和项目反应理论,有效解决了计算机自适应题库的建立问题。

1  题库的分析与实现

1.1  原理  计算机自适应题库要解决的关键问题是建立适合每一个应试者能力的个性化测验。

经典测量理论是20世纪初提出来的亦称真分数理论。它对建立试卷、考分转换、等值等均有一套较为完整的方法。但随着测验实践的深入,此理论暴露了难以克服的弱点: (1)题目难度、区分度等严重依赖于应试者;(2)对应试者的某项能力或特质水平的估计值,只有当所有应试者使用的都是同一个或并行测验时才是可以比较的,而对于同一能力或特质的不同测验的测量效果则无法进行直接比较;(3)在应用方面,经典测量理论也表现出许多不足。

项目反应理论是针对经典测量理论的不足而提出来的一种新的测量理论。它是以应试者回答问题的情况,经题目特征函数的运算,推测应试者的能力。根据参数的不同,特征函数可分为单参数、双参数和三参数3种模式。由于单参数模式仅考虑到试题难度,虽然双参数模式中也考虑到了试题区分度,但在实际考试中,存在有应试者猜题的因素,因此本题库中采用了特征函数的三参数模式。三参数模式的公式为:

886e32c8e85702f48fcbe5afb099900e.gif

式中,D=1.702;θ是应试者能力值;a是题目的区分度;b是题目的难度;c是题目的猜测系数;P(θ)能力为θ的人答对此题目的概率。

根据特征函数可画出题目的特征曲线,图1为典型的三参数模式的特征曲线。从该图中可以看出:

(1)a参数,即特征曲线的斜率。它的值越大说明题目对应试者的区分程度越高。

(2)b参数,即特征曲线在横坐标上的投影。

(3)c参数,即特征曲线的截距。它的值越大,说明不论应试者能力高低,都容易猜对本道题目。

8fd037cc6528f82269247d204d654e92.gif

项目反应理论同经典测量理论相比,最大优点就是项目参数的不变性。对项目各参数值的确定,采用了2种途径:一是经试测后进行统计分析,另一种是由专家进行评估后,再采用统计方法确定参数。这2种途径都存在着统计中使用的样本采集异常困难的问题,因此本题库设计中使用CTT采集样本,结合IRT的三参数模式,确定了试题的3个质量参数。

1.2  题库的建立  本题库建立过程中,首先要录入试题编号及题干等信息,其次录入参加试题参数测试人员做题情况的信息,最后进行试题的三质量参数测试,并将测试结果写入数据库。

1.3  模块设计  本题库中的模块及功能如下:

(1)试题质量参数测试

该模块包括试题的CTT参数[2]计算和IRT参数[2]计算等功能。

①试题的CTT参数计算。根据参加试题参数测试人员的做题情况,使用CTT获取标准分Z:

a0f1321ed29ee27f73b83843d5de2232.gif

式中,RH、RL分别表示高分组和低分组通过该题的人数;n为每组的人数。

②试题的IRT参数计算。对IRT能力参数和质量参数的估计如下:

首先,按下列方式为能力参数、质量参数指定初值:

IRT能力参数的初值=经典测量理论中的标准分Z;

IRT区分度参数的初值=经典测量理论中的难度值

+2(2是比例因子),其中难度

8f363e5d65c986435dcfc585284d6b0f.gif; 

IRT猜测参数的初值=试题j的可选项数倒数。

然后,按以下步骤进行迭代运算:

●把3个质量参数看作已知值,用极大似然估计法[2]估算出能力参数;

●将上一步中估需出的能力参数作为已知值,用极大似然估计法估算出3个质量参数;

●判别结束条件是否满足,若满足,则最后1次的估计值即为最终估计值;若不满足,则返回第1步继续迭代运算。结束条件可以是指定的迭代次数,也可以是趋于稳定的参数值(当前后2次估计值之差小于某个指定值时,即可认为趋于稳定)。

(2)试题库维护

该模块包括试题、样本信息的录入和增添等功能。

①试题和样本信息的录入。该功能包括试题录入和样本信息录入,其中前者录入的是试题编号及题干等信息;后者录入的是参加试题参数测试人员做题情况的信息。

② 试题和样本信息的增添。试题管理员可以及时添加样本信息和试题。系统管理员可以根据情况重新计算试题的质量参数。

1.4  数据库表的结构设计  在本系统建立的自适应试题库中,有单选题、多选题、判断题等3类题型。在单选题题型中需要用到单选表single_choice、单选分析表single_choice_analysis。单选表、单选分析表single_choice_analysis以及二表之间的主外键关系如图2所示,多选题、判断题等题型的逻辑结构图设计类似于此。

59a63fd0514b7c63420c0f3ca227ad40.gif

df8f83cba3f103282187bedbf886ae39.gif

本系统涉及到的人员有教师、管理员、应试者和参加试题参数测试人员,他们的相关信息如图3所示。其中,student_info表用来存放应试者和参加试题参数测试人员的基本信息, login表用来存放所有人员的登录信息。

1.5 题库的实现  以经典测量理论(CTT)和项目反应理论(IRT)为基础,使用三参数模式建立了计算机自适应题库,从而能够根据题目的参数及应试者的反应情况估计应试者的能力参数,然后根据“最大信息量原则”从题库中选取符合应试者能力的题目进行测试。

由于篇幅有限,下面只给出其中的几个实现算法。

(1) 计算一阶导数的函数

yijiedaoshu(parameters para[ ],integer j, integer n),返回 double 类型的值。其中parameters{ double a,double b,double c,double  ability,double  u}是一个结构体,由某试题的三质量参数a、b、c、应试者当前能力值 ability和做题情况u 组成。

该函数的功能是计算对某试题的第j次迭代的一阶导数,用于计算具备初始能力值ability的受测者的真实能力值。实现代码如下:

double result;

int i;

for i=1 to n

result +=  para[i].a * (para[i].u - calculate(para[i].  a,para[i].b,para[i].c,para[i].ability)) & * (calculate

(para[i].a,para[i].b,para[i].c,para[i].ability) - para  [i].c)

next i

if (calculate(para[j].a,para[j].b,para[j].c,para[j].ability))

* (1 - para[j].c) <> 0 then result = (1.702 *

result) / (calculate(para[j].a,para[j].b,para[j].c,para [j].ability)) & *(1 - para[j].c);

else

MessageBox(“错误提示”,“错误编号:005~r~n计算错误!程序终止!”);

halt;

end if

// 第j次迭代一阶导

return result

(2) 计算概率的函数

calculate(double a ,double b, double c,double ability),返回double 类型的值。

该函数的功能是计算某试题被答对的概率。实现代码如下:

double resultnum,mid;

mid= - 1.702*a*(ability - b);

if (1+exp(mid)) < > 0 then

resultnum=(1 - c)/(1+exp(mid))+c;

else

MessageBox(“错误提示”,“错误编号:

006~r~n计算 错误!程序终止

!”);

halt;

end if

return resultnum;

(3) 计算信息函数

information(parameters para[],integer j, double  ability),返回double类型的值。

该函数的功能是用来计算某试题的信息量,用来为具备ability初始能力值的应试者选择合适的下一道试题。实现代码如下:

double result=0

result = (1.702 * 1.702 * para[j].a * para[j].a) * (1 -

para[j].c);

if ((para[j].c + exp(1.702 * para[j].a * ((1 - (calculate

(para[j].a,para[j].b,para[j].c,ability)) &-para[j].b))))* (1 + exp(- 1.702 * para[j].a * (1 -

(calculate(para[j].a,para[j].b,para[j].c,ability)) & - para[j].b))) * (1 + exp(- 1.702 * para[j].a * (1 -

(calculate(para[j].a,para[j].b,para[j].c,ability)) &- para[j].b)))) < > 0 then

result=result/((para[j].c+exp(1.702*para[j].a*((1-(calcu- late(para[j].a,para[j].b,para[j].c,&

ability))-para[j].b))))*(1+exp(-1.702*para[j].a*(1 - (calculate(para[j].a,para[j].b,para[j].c,&

ability))-para[j].b)))*(1+exp(-1.702*para[j].a * (1 -  (calculate(para[j].a,para[j].b,para[j].c,&

ability)) - para[j].b))))

else

MessageBox(“错误提示”,“错误编号:007~r~n计算错误!程序终止!”);

halt;

end if

return result

本计算机自适应题库以经典测量理论和项目反应理论为基础,采用Newton-Raphson迭代法,解决了基于IRT的考试系统建设中出现的系统题库建设的最大难题,具有相对便捷、实用的特点,在为应试者建立更适合自己能力的个性化测验中做出了新的尝试。

参考文献[1] 张敏强. 20世纪教育测量学发展的回顾与现状评析[J].教育研究,1999(11):32-37.

[2] 张玉玲.自适应考试的具体实现[第六届全球华人计算机教育应用大会论文].上海:华东师范大学,2002.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值