一种试题对相关度在线计算的方法与流程

文档序号:14402979阅读:129来源:国知局
本发明涉及在线学习领域,一种试题对相关度在线计算的方法。
背景技术
:随着互联网教育的发展,在互联网上不断涌现出各式各样的在线学习平台。不同于传统教育,网络环境下的在线学习平台,可以记录和跟踪学习者的整个学习过程,包括学习者的输入、反馈、在线学习时间以及所有答题记录,最终形成了海量的学习过程性数据库,其中比较重要的就是学生的做题记录,这就需要用到数据挖掘技术。通过数据挖掘,可以管理学习者的整个网络学习过程,构建有效的学习模式,提供智能化的学习服务以及支持学习者个性化学习。对学习平台中的错题记录进行数据挖掘,可以分析得到试题间的相关性,从而给学生提供一个针对性的学习方法。但是传统上对学生答题记录的挖掘分析都是基于从数据库中导出数据表上操作的,并且每当新增一定量的学生答题记录就要重复操作,这样导致数据挖掘的工作量增大,导致效率低下,不能做到实时更新数据。因此提出了在线对学生错题记录进行相关性分析的方法,但是当学生产生新的答题记录的时候,每次相关性分析就需要遍历所有答题记录,明显影响计算速度,通过引入增量式添加以及哈希算法来提高整个试题对相关度在线计算过程的效率。技术实现要素:为了克服现有技术的不足,实现高效地在线计算试题对相关度,本发明的目的是提供一种试题对相关度在线计算的方法。一种试题对相关度在线计算的方法,包括如下步骤:1)在数据库中新建试题记录表,该表用来存放学生答题记录,其中字段包括同一场考试中的所有试题题号以及所有试题答题结果、答题时间,该数据表在学生答题时自动更新;2)在数据库中新建错题表,该表用来存放错题信息,其中字段包括所有错题题号以及试题答错次数;3)在数据库中新建试题对表,该表用来存放每条答题记录中的错题两两组合形成的所有不重复的试题对信息,其中字段包括试题对中两错题的题号及该试题对出现次数;4)在数据库中新建试题对相关度表,该表用来存放所有试题对的相关度,其中字段包括试题对中两错题的题号以及试题对的相关度;5)每天24点时自动更新错题表,每次更新只需读取该时刻点前24小时内的学生答题记录,然后遍历所有错题记录统计得到错题题号以及试题答错次数,最后利用错题题号索引去更新错题表;6)每天24点时自动更新试题对表,每次更新只需读取该时刻点前24小时内的学生答题记录,然后对每条错题记录中的试题两两组合形成不重复的试题对,并且统计所有试题对的出现次数,最后利用哈希算法去更新试题对表;7)每天24点时自动更新试题对相关度表,当试题对中的两试题的答错次数均大于15次并且试题对中的两试题的答题次数均不超过1000次时,读取试题对表以及错题表中所有数据,根据试题关联算法求得试题对相关度并更新试题对相关度表。所述的步骤7)中,1)试题对相关度的计算公式如下:其中,ta为题a的答错次数,tb为题b的答错次数,tab为a,b共同答错的次数,t为答题记录总条数。所述的步骤5)中,更新错题表的具体过程如下:当24小时内的错题记录中的错题也存在错题表中时,读取错题表中所有数据,然后利用错题题号索引直接找到对应的试题答错次数,再与24小时内的试题答错次数相加求和即为该试题总的答错次数,最后去更新错题表中对应试题的答错次数,对产生的新错题直接把错题题号以及试题答错次数插入到错题表即可。所述的步骤6)中,更新试题对表的具体过程如下:a)哈希算法:构建哈希表,以试题对的两个题号组成的字符串作为关键字,根据试题对字符串找到对应试题对的出现次数。b)当24小时内的错题记录产生的试题对也存在试题对表中时,利用哈希算法根据试题对直接找到对应的试题对出现次数,再与24小时内的试题对出现次数相加求和即为该试题对总的出现次数,最后去更新试题对表中对应试题对的出现次数,对产生的新试题对直接把试题对题号与试题对出现次数插入到试题对表即可。所述的步骤7)中,更新试题对相关度表的具体过程如下:读取试题对表中的所有试题对,根据试题对中的两个题号分别找到错题表中对应试题的答错次数,利用试题关联算法求得试题对的相关度,对于试题对相关度表中已经存在的试题对,重新计算并更新试题对相关度表中对应试题对的相关度值即可,对于不存在的试题对,也只需计算试题对相关度并插入试题对相关度表即可。该发明具有如下有益效果:一般来说,分析试题间的相关性需要从数据库中导出学生的答题记录,并且随着学生不断在线答题而产生的大量答题记录又会新增到数据库对应的试题记录表中,因此每次更新试题对相关度时就要重新遍历整张试题记录表进行相关度计算。本发明能够实现自动读取数据库中的学生答题记录,只对错题记录进行相关性分析,利用了增量式添加及哈希算法来加快查找速度。通过实验发现,当试题对中两试题的答错次数均大于15次且试题对中两试题答题次数均不超过1000次时,试题对相关度的计算值相对稳定。该发明能够高效地在线计算试题对相关度。附图说明图1是一种试题对相关度在线计算方法的流程图。具体实施方式下面结合附图和实施例对本发明做进一步阐述和说明。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。一种试题对相关度在线计算方法,包括如下步骤:1)在数据库中新建试题记录表,该表用来存放学生答题记录,其中字段包括同一场考试中的所有试题题号以及所有试题答题结果、答题时间,该数据表在学生答题时自动更新;2)在数据库中新建错题表,该表用来存放错题信息,其中字段包括所有错题题号以及试题答错次数;3)在数据库中新建试题对表,该表用来存放每条答题记录中的错题两两组合形成的所有不重复的试题对信息,其中字段包括试题对中两错题的题号及该试题对出现次数;4)在数据库中新建试题对相关度表,该表用来存放所有试题对的相关度,其中字段包括试题对中两错题的题号以及试题对的相关度;5)每天24点时自动更新错题表,每次更新只需读取该时刻点前24小时内的学生答题记录,然后遍历所有错题记录统计得到错题题号以及试题答错次数,最后利用错题题号索引去更新错题表;6)每天24点时自动更新试题对表,每次更新只需读取该时刻点前24小时内的学生答题记录,然后对每条错题记录中的试题两两组合形成不重复的试题对,并且统计所有试题对的出现次数,最后利用哈希算法去更新试题对表;7)每天24点时自动更新试题对相关度表,当试题对中的两试题的答错次数均大于15次并且试题对中的两试题的答题次数均不超过1000次时,读取试题对表以及错题表中所有数据,根据试题关联算法求得试题对相关度并更新试题对相关度表。试题对相关度的计算公式如下:其中,ta为题a的答错次数,tb为题b的答错次数,tab为a,b共同答错的次数,t为答题记录总条数。更新错题表的具体过程如下:当24小时内的错题记录中的错题也存在错题表中时,读取错题表中所有数据,然后利用错题题号索引直接找到对应的试题答错次数,再与24小时内的试题答错次数相加求和即为该试题总的答错次数,最后去更新错题表中对应试题的答错次数,对产生的新错题直接把错题题号以及试题答错次数插入到错题表即可。更新试题对表的具体过程如下:1)哈希算法:构建哈希表,以试题对的两个题号组成的字符串作为关键字,根据试题对字符串找到对应试题对的出现次数。2)当24小时内的错题记录产生的试题对也存在试题对表中时,利用哈希算法根据试题对直接找到对应的试题对出现次数,再与24小时内的试题对出现次数相加求和即为该试题对总的出现次数,最后去更新试题对表中对应试题对的出现次数,对产生的新试题对直接把试题对题号与试题对出现次数插入到试题对表即可。更新试题对相关度表的具体过程如下:读取试题对表中的所有试题对,根据试题对中的两个题号分别找到错题表中对应试题的答错次数,利用试题关联算法求得试题对的相关度,对于试题对相关度表中已经存在的试题对,重新计算并更新试题对相关度表中对应试题对的相关度值即可,对于不存在的试题对,也只需计算试题对相关度并插入试题对相关度表即可。实施例为了便于本领域一般技术人员理解和实现本发明,现给出一种本发明所述方法的具体实施案例。提供试题对相关度在线计算的核心思想是量化试题间的相关性以及采用了增量式添加、哈希算法来加快查找速度,从而为中小型在线学习平台对学生答题记录的相关性在线分析提供了一个具体的实现方案。本实施例中,要先在数据库中新建四张数据表,首先是存放学生答题记录的试题记录表,该表的字段包括同一场考试中的所有试题题号及所有试题答题结果、答题时间,其次是存放错题的错题表,字段包括所有错题题号及试题答错次数,另外是存放所有试题对的试题对表,字段包括试题对中两错题的题号以及试题对出现次数,最后是存放所有试题对相关度的试题对相关度表,字段包括试题对中两错题的题号及试题对的相关度,下面用一个案例来描述本实施例。案例的数据来源于某高校的学生在数据结构在线学习平台上过关测试的答题情况,其中,每个学生作答的10道题均来自同一场考试,当学生答题时就会自动更新试题记录表,以下为在24点首次更新试题对表、错题表、试题对相关度表时前24小时内产生的学生答题记录,具体见表1。表1学生试题记录表部分数据其中,time为学生答题时间,item为同一场考试所有学生答题记录的题号,resp为学生所有对应题号的答题结果,若resp为1则表示学生答对该试题;试题记录表中的试题均为客观题,只有4个选项。若resp为负数则表示用户答错该试题,-1,-2,-3,-4分别代表选择了错误的a,b,c,d选项;若resp为0则表示学生未作答该试题。试题记录表通过学生答题而自动更新,错题表及试题对表、试题对相关度表在每天24点时自动更新。当首次更新试题对表、错题表、试题对相关度表时,三表均为空,只需读取该时刻前24小时内的答题记录,然后根据错题记录统计得到的所有错题题号以及试题答错次数插入到错题表中,将所有试题对以及试题对出现次数插入到试题对表中即可。若试题对中两个试题答错次数均超过15次,则读取试题对表中的试题对出现次数以及错题表中试题对对应的两个试题的答错次数后,根据试题关联算法求得试题对的相关度并插入到试题对相关度表中即可。在这里选取试题对表中部分数据展示,如下表2所示,其中item1,item2为试题对中两题题号,group为试题对出现次数。选取错题表中部分数据展示,如下表3所示,其中item为错题题号,number为试题答错次数。最后选取试题对相关度表中部分数据展示,如下表4所示,其中item1,item2分别为试题对的两个题号,cal_rho为试题对的相关度。表2试题对表部分数据item1item2group182481830424293243022930411184112351823811293表3错题表部分数据itemnumber23213524183224153018371629161118451546254939表4试题对相关度表部分数据item1item2cal_rho18240.3618300.1624290.1924300.1129300.2311180.1611230.2518230.3011290.1711300.2723290.38接下去每次在24点更新试题对表、错题表、试题对相关度表,也只需读取前24小时内的错题记录,然后统计得到试题对以及试题对出现次数、错题题号以及试题答错次数。当前24小时内错题记录产生的错题也存在于错题表中时,读取错题表中的所有数据,然后根据错题题号索引直接找到对应的试题答错次数,再与24小时内的试题答错次数相加求和即为该试题总的答错次数,并且去更新错题表中该试题的答错次数,对于该24小时内错题记录产生的未存在于错题表中的错题直接插入到错题表中即可。其中item为错题题号,number为试题答错次数,在这里展示第二次更新后的部分错题表数据,如下表5所示。当这些试题对也存在于试题对表中时,读取试题对表中的所有数据,然后利用哈希算法根据试题对直接找到对应的试题对出现次数,再与24小时内的试题对出现次数相加求和即为该试题对总的出现次数,并且去更新试题对表中该试题对的出现次数,对于该24小时内错题记录产生的未存在于试题对表中的试题对直接插入到试题对表中即可。其中item1,item2为试题对中两题题号,group为试题对出现次数,在这里展示第二次更新后部分试题对表数据,如下表6所示。对于试题对相关度表,同样是每天24点自动更新一次。若试题对中两个试题的答题次数均不超过1000次且两个试题的答错次数均大于15次,则更新该试题对的相关度。读取试题对表中的试题对的出现次数以及错题表中该试题对中两个试题的答错次数,然后根据试题关联算法求得试题对的相关度并去更新试题对相关度表中该试题对的相关度,对于试题对相关度表中未出现的试题对直接计算相关度后插入表中即可,如下表7所示,其中item1,item2分别为试题对的两个题号,cal_rho为试题对的相关度,下面展示第二次更新试题对相关度表后的部分数据。表5第二次更新错题表后部分数据itemnumber23353545184324343030372329301130453946384956表6第二次更新试题对表后部分数据item1item2group1824121830524298243042930711185112361823101129411305232911表7第二次更新后试题对相关度表部分数据item1item2cal_rho18240.1918300.0924290.0824300.0429300.1211180.0911230.1418230.1911290.0811300.1523290.20接下去的更新,对于试题记录表而言,只要有学生答题就会自动更新试题记录表,其余三表的更新均和第二次更新过程一样,更新时间也是在24点,直到试题对中两试题的答题次数均超过1000次时不更新该试题对的相关度,保持前一次更新后的试题对相关度。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1