一种用于网络考试的自动组卷方法与流程

文档序号:12551456阅读:475来源:国知局

本发明涉及一种组卷方法,尤其涉及一种用于网络考试的自动组卷方法。



背景技术:

目前,学校及社会上各种考试大都采用传统考试方式。在这种方式下,组织一次完整的考试至少要经历以下四个步骤:人工出卷、组织考试、人工阅卷、成绩统计和试卷分析。随着各种类型的考试不断增加和日益增长的考生数量,组织类似考试工作量会越来越大,效率也会越来越低。解决传统考试方式的趋势和方法,就是利用计算技术、网络技术形成一种新型考试方式即网络考试。目前的一个发展趋势是采用大规模试题库的计算机在线考试模式。传统考试的组卷、判卷方式以及学生成绩管理等正发生着巨大的变革。因此,如何使考试过程变得方便、高效、快捷、公正是现代教育的一个重要课题。在线考试系统是传统考场的延伸,它可以利用网络广阔的无限的空间,实现随时随地对学生进行考试,大大简化了传统考试的过程,降低了考试成本。在线考试的形式有着其科学、及时、准确、公平等优点,具有传统考试形式无法替代和比拟的优势。因此在线考试系统是电子化教学下迫切需要的产物。

网络考试系统应用比较广泛的组卷算法包括随机抽取、优先权算法、误差补偿算法、回溯试探法等方法。优先权算法会重新计算和排序,导致算法复杂度增加,而且效果不好。随机算法并不考虑最优化问题,组卷随机性很大,不确定性很大,也不能保证试卷合理性和科学性。考试系统中自动组卷种类较多,而且各自有优势和劣势。针对考试的应用的需求,尽量考虑各种情况,能提供多元化的解决方案。因此,在系统设计与实现时,采用了上述算法外,提出加入一种新的遗传算法来解决传统算法中存在不足,融合新的研究算法和开放接口来开发与实现。

基本的遗传算法有三种基本操作:选择、交叉和变异,是遗传算法中最常用的三种算法;

选择操作就是复制操作,只是有条件的复制,会遵循“优势劣汰”的原则来复制,而选择的目的就是为了优良的个体从当前群体中选择出来,作为有优良基因的父体来繁殖下一代,这样复制得到良好下一代的几率就会大一些。比如按照个体的适应度函数值的大小来选择,在考试系统组卷中就是题目的适应度越高越容易被选中。

交叉操作是遗传算法中最重要的遗传操作,交叉操作目的是希望通过交叉操作可以得到新一代个体,而新个体可以遗传父代个体的优良特性,从而得到更优良的新个体。在实际操作时,交叉操作是对群体内的各个个体按照一定概率随机交叉,从而得到两个新的个体。交叉操作过程在考试系统组卷中应用如:个体P1和P2,对个体内部分试题随机交换后得到新的G1和G2。

变异操作是为了遵循生物基因遗传时发生变异情况,为产生新的个体提供机会。变异操作在步骤是首先在当前群体中随机选择一个或者一些个体,按照一定变异概率随机改变某一个或者一些基因值,从而得到新的个体。具体在考试系统组卷中是选择某一份卷随机改变试卷的部分题目,从而得到一份试卷。

尽管考试系统采用遗传算法有很多优点,能够并行高效的运算,但是在实际应用过程中还是会经常出现遗传算法过早收敛、陷入局部值的现象。这种现象也被称为算法的早熟问题,这大大限制了遗传算法在网络考试系统普及应用。

遗传算法之所以会产生早熟收敛的现象,其原因主要有:

1、由于遗传算法中的算子如选择、交叉和变异算子的使用不当会导致早熟收敛现象,而且相应控制参数选择不当也会导致早熟收敛的产生。

2、群体规模的有限性。因为种群大小有限,导致搜索最优解空间也有限,容易近亲繁殖,使得种群模式快速趋于单一状态,从而陷入局部最优解。

3、群体中模式的丢失也是造成遗传算法早熟收敛现象。如果不加以控制,让种群随机不断的进行选择、交叉和变异操作,可能会导致种群有效基因的丢失。如果有效基因丢失到一定比例程度时,就会造成算法在局部停止不进,不能得到有效的进化。

因此,有必要提供一种新的自动组卷方法以提高计算机系统智能组卷的实用性和有效性。



技术实现要素:

本发明的目的是针对现有技术的不足,提供一种用于网络考试的自动组卷方法。

本发明是通过以下技术方案实现的:

一种用于网络考试的自动组卷方法,包括如下步骤:

S1.设置组卷约束条件;

S2.根据约束条件生成初始群体P0,所述初始群体P0中包括N个个体,其中N为正整数(又称种群规模,一般建议N为50,大少了遗传操作次数少,无法到达遗传进化的效果);

S3.计算每个所述个体的适应度函数F(X)值,求解F(X)值可以转换为求解目标函数f(x),求解过程如下:

f(x)为目标函数,需要根据每份试卷每道题的属性计算求值;每道题的属性包括题号、题型、试题总分值、难度系数、知识点分数、答题时间、认知分类和区分度;根据上述属性,确定一个n*8的矩阵,其中n是试卷所含的题目数,每道题的8个属性决定矩阵s一行元素的值,具体描述如下:

在以上矩阵中,A的第i行元素的意思表示为第i道题的题号ai1,题型ai2,试题总分值ai3,难度系数ai4,知识点分数ai5,答题时间ai6,认知分类ai7,区分度ai8,此矩阵也是求解的目标状态矩阵,矩阵元素的分布分别对应用户对试卷的各个不同方面的要求,当矩阵误差最小时即得到满足组卷各个要求的试卷;

组卷模型中,各个属性之间具有约束关系,组卷问题实质上是多个约束条件的组合优化问题,要生成一份合格的试卷,就要满足题型、分值、难度和知识点等多个条件的约束;将不同条件的约束赋予一定权重,设定f(x)为试卷整体指标误差,用来综合反映8个属性指标与用户要求的误差,那么整个试卷的属性指标就是8个属性指标乘以它们各自的权重的和,F(X)的求解表达式如下:

其中Wi为对应第i道组卷因素对组卷重要程度的权重,fi(X)为对应ai的属性分布误差;

S4.组卷的过程即为在约束条件下求目标函数最优解的过程;判断个体的适应度函数值是否满足组卷条件,即是否满足迭代次数内容有一个个体的适应度值差小于提前设置的目标适应度值与实际适应度值的差值,若满足则生成试卷并结束该自动组卷方法;若不满足则继续步骤S5;

S5.判断是否达到最大迭代次数;如果没有达到,将迭代次数加1,进行遗传操作;迭代次数一般取100-200,设置迭代100或者200次结束;迭代次数越大计算时间越长,遗传操作次数越多,也越接近最优解;所述遗传操作包括选择操作、交叉操作和变异操作;

S6.根据S5中所述遗传操作生成新群体P1,并返回步骤S3。

进一步地,所述步骤S2中每个个体的生成方法如下:将题库中的试题根据设定的约束条件中的题型参数形成多个题型集合并将每个题型集合中的试题按照实数方式排序,从各个题型集合中采用随机算法选取设定数量的试题,并按照相同题型集合中的试题序号相邻的方式将所选取试题的序号组成实数序列,所述实数序列即为群体中的个体。

进一步地,所述步骤S2包括根据设定的约束条件,生成多个个体,该多个个体即形成初始群体。

具体地,组卷模型中,各个属性之间的约束条件包括:题型约束、分值约束、难度分布约束、题型分数约束、知识点分数约束、区分度约束、答题时间约束和重复出现频率约束。

进一步地,所述属性之间的约束条件具体设置如下:

1)题型约束

题型设置有选择题、判断题、填空题、简答题、操作题和分析题,在组卷过程中每套试卷的题型结构一般是固定的,采用如下表达式:

TX=(TX1,TX2,…TXn)

其中TXi为每种题型题目数量;

2)分值约束

试卷总分表示为:一般默认是100,也可以由用户设定;当一套试卷的总分与目标分值S*相差不是很大时,试卷是可以接受的,故分值评估的函数如下:

f1(X)=abs(S-S*)/S*

3)难度分布约束

ND=∑ai3ai4/S,其中S为总分;

4)题型分数约束

第j题题型分数,其中

5)知识点分数约束

第j题知识点分数,其中

6)区分度约束

式中ai3——第i道题的总分值;ai8——第i道题的区分度;S总分——全卷的满分值,通常是100分;

7)答题时间约束

8)重复出现频率约束

为了防止同一知识点在同一份试卷中出现频率太高,造成知识点重复的现象,可以预先规定知识点在同一张试卷中使用的频度不能大于3次,即

f=ais≤3。

进一步地,满足组卷的条件为实际得到试卷中各个指标的满足情况与理论上得到的试卷中的各个指标满足情况的差异尽量达到最小,也就是偏差值最小,因此组卷的目标函数可以表示为求F(x)的公式的极小值,即:

min F(X),

适应度函数通常由目标函数直接变换而来,依据以上的组卷原则,目标函数是越小越好,而适应度函数则是越大越好,因此为了避免陷入局部最优解,对适应函数进行线性变换,转换为如下表达式:

F(X)=αf(x)+β

式中F(X)为适应度函数值,f(x)为目标函数,α为正常数,β为常数系数;根据上述步骤完成对F(X)的求值,并得到每个个体的适应度。

具体地,所述选择操作本质就是进行复制操作,只是复制是有条件的复制,遵循“优胜劣汰”的原则复制,目的是选择优良的个体来遗传;优良的个体是以适应度为基础,采用轮盘赌方式复制对象,在选取个体时按照个体适应度函数的大小来选择,适应度越大被选中的概率越高。

进一步地,所述交叉操作目的是希望通过交叉操作得到新一代个体,而新一代个体遗传了父代个体的优良特性,从而得到更优良的新个体;在实际操作中,交叉操作时对群体内的各个个体按照一定概率Pc随机交叉,从而得到两个新的个体,如对两个个体P1和P2相同题型进行编码成串:

按照Pc随机数为3,将两个个体的低三位交换,得到新的个体G1和G2,以此类推完成所有题型的交叉操作。

进一步地,所述变异操作目的是希望通过改变个别基因,得到新的个体;操作步骤是:首先在当前群体中随机选择一个或者一些个体,按照一定的变异概率随机改变某一个或者某些基因值,从而得到新的个体;对试卷中选择某些题型的题号按照编码成串进行变异操作:

上述操作按照变异概率为Pm=4,对从右到左第4位开始进行变异操作,将原来的1变为0,从而得到新的个体。

本发明的有益效果是:

(1)本发明采用遗传算法完成自动组卷,能够快速得到一份科学、准确的试卷,解决了考试系统在组卷过程中试卷随机性大、不稳定的问题,提高了考试的公平性、合理性;

(2)本发明遗传算法的选择、交叉、变异三个算子在实践应用过程中得到不断改进,通过调整遗传算子,从而不断完善和优化算法,使其具有自我学习能力;

(3)本发明按照题型、知识点等为编码分类,根据分类对原始群体进行选择、交叉、变异的操作得到新个体,便于快速得到满足条件约束的试卷,同时又能进行遗传的操作,让符合要求的试题遗传下来。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是本发明的一种用于网络考试的自动组卷方法流程图。

具体实施方式

下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

请参阅图1。如图所示,本发明公开了一种用于网络考试的自动组卷方法,包括如下步骤:

S1.设置组卷约束条件;

S2.根据约束条件生成初始群体P0,所述初始群体P0中包括N个个体,其中N为正整数(初始群体又称种群规模,一般建议N为50,大少了遗传操作次数少,无法到达遗传进化的效果),每个个体的生成方法如下:将题库中的试题根据设定的约束条件中的题型参数形成多个题型集合并将每个题型集合中的试题按照实数方式排序,从各个题型集合中采用随机算法选取设定数量的试题,并按照相同题型集合中的试题序号相邻的方式将所选取试题的序号组成实数序列,所述实数序列即为群体中的个体;根据设定的约束条件,生成多个个体,该多个个体即形成初始群体;

S3.计算每个所述个体(即得到一份试卷)的适应度函数F(X)值,求解F(X)值可以转换为求解目标函数f(x),求解过程如下:

f(x)为目标函数,需要根据每份试卷每道题的属性计算求值;每道题的属性包括题号、题型、试题总分值、难度系数、知识点分数、答题时间、认知分类和区分度;根据上述属性,确定一个n*8的矩阵,其中n是试卷所含的题目数,每道题的8个属性决定矩阵s一行元素的值,具体描述如下:

在以上矩阵中,A的第i行元素的意思表示为第i道题的题号ai1,题型ai2,试题总分值ai3,难度系数ai4,知识点分数ai5,答题时间ai6,认知分类ai7,区分度ai8,此矩阵也是求解的目标状态矩阵,矩阵元素的分布分别对应用户对试卷的各个不同方面的要求,当矩阵误差最小时即得到满足组卷各个要求的试卷;

组卷模型中,各个属性之间的约束条件包括:题型约束、分值约束、难度分布约束、题型分数约束、知识点分数约束、区分度约束、答题时间约束和重复出现频率约束,具体如下:

1)题型约束

题型设置有选择题、判断题、填空题、简答题、操作题和分析题,在组卷过程中每套试卷的题型结构一般是固定的,采用如下表达式:

TX=(TX1,TX2,…TXn)

其中TXi为每种题型题目数量;

2)分值约束

试卷总分表示为:一般默认是100,也可以由用户设定;当一套试卷的总分与目标分值S*相差不是很大时,试卷是可以接受的,故分值评估的函数如下:

f1(X)=abs(S-S*)/S*

3)难度分布约束

ND=∑ai3ai4/S,其中S为总分;

4)题型分数约束

第j题题型分数,其中

5)知识点分数约束

第j题知识点分数,其中

6)区分度约束

式中ai3——第i道题的总分值;ai8——第i道题的区分度;S总分——全卷的满分值,通常是100分;

7)答题时间约束

8)重复出现频率约束

为了防止同一知识点在同一份试卷中出现频率太高,造成知识点重复的现象,可以预先规定知识点在同一张试卷中使用的频度不能大于3次,即

f=ais≤3;

由以上分析可知,组卷问题实质上是多个约束条件的组合优化问题,要生成一份合格的试卷,就要满足题型、分值、难度和知识点等多个条件的约束;将不同条件的约束赋予一定权重,设定f(x)为试卷整体指标误差,用来综合反映8个属性指标与用户要求的误差,那么整个试卷的属性指标就是8个属性指标乘以它们各自的权重的和,F(X)的求解表达式如下:

其中Wi为对应第i道组卷因素对组卷重要程度的权重,fi(X)为对应ai的属性分布误差;满足组卷的条件为实际得到试卷中各个指标的满足情况与理论上得到的试卷中的各个指标满足情况的差异尽量达到最小,也就是偏差值最小,因此组卷的目标函数可以表示为求F(x)的公式的极小值,即:

min F(X),

适应度函数通常由目标函数直接变换而来,依据以上的组卷原则,目标函数是越小越好,而适应度函数则是越大越好,因此为了避免陷入局部最优解,对适应函数进行线性变换,转换为如下表达式:

F(X)=αf(x)+β

式中F(X)为适应度函数值,f(x)为目标函数,α为正常数,β为常数系数;根据上述步骤完成对F(X)的求值,并得到每个个体的适应度。

S4.组卷的过程即为在约束条件下求目标函数最优解的过程;判断个体的适应度函数值是否满足组卷条件,即是否满足迭代次数内容有一个个体的适应度值差小于提前设置的目标适应度值与实际适应度值的差值,若满足则生成试卷并结束该自动组卷方法;若不满足则继续步骤S5;

S5.判断是否达到最大迭代次数;如果没有达到,将迭代次数加1,进行遗传操作;迭代次数一般取100-200,设置迭代100或者200次结束;可以根据计算速度和试卷质量要求设定。迭代次数越大计算时间越长,遗传操作次数越多,也越接近最优解;所述遗传操作包括选择操作、交叉操作和变异操作;

(1)选择操作

选择操作本质就是进行复制操作,只是复制是有条件的复制,遵循“优胜劣汰”的原则复制,目的是选择优良的个体来遗传;优良的个体是以适应度为基础,采用轮盘赌方式复制对象,在选取个体时按照个体适应度函数的大小来选择,适应度越大被选中的概率越高。

(2)交叉操作

交叉操作目的是希望通过交叉操作得到新一代个体,而新一代个体遗传了父代个体的优良特性,从而得到更优良的新个体;在实际操作中,交叉操作时对群体内的各个个体按照一定概率Pc随机交叉,从而得到两个新的个体,如对两个个体P1和P2相同题型进行编码成串:

按照Pc随机数为3,将两个个体的低三位交换,得到新的个体G1和G2,以此类推完成所有题型的交叉操作。

(3)变异操作

变异操作目的是希望通过改变个别基因,得到新的个体;操作步骤是:首先在当前群体中随机选择一个或者一些个体,按照一定的变异概率随机改变某一个或者某些基因值,从而得到新的个体;对试卷中选择某些题型的题号按照编码成串进行变异操作:

上述操作按照变异概率为Pm=4,对从右到左第4位开始进行变异操作,将原来的1变为0,从而得到新的个体。

S6.根据S5中所述遗传操作生成新群体P1,并返回步骤S3。

本发明的有益效果是:

(1)本发明采用遗传算法完成自动组卷,能够快速得到一份科学、准确的试卷,解决了考试系统在组卷过程中试卷随机性大、不稳定的问题,提高了考试的公平性、合理性;

(2)本发明遗传算法的选择、交叉、变异三个算子在实践应用过程中得到不断改进,通过调整遗传算子,从而不断完善和优化算法,使其具有自我学习能力;

(3)本发明按照题型、知识点等为编码分类,根据分类对原始群体进行选择、交叉、变异的操作得到新个体,便于快速得到满足条件约束的试卷,同时又能进行遗传的操作,让符合要求的试题遗传下来。

以上所述是本发明的优选实施方式,应该指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1