柳浪濤,谷 林
(西安工程大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安710048)
題庫(kù)管理系統(tǒng)的自動(dòng)組卷功能在教學(xué)活動(dòng)中可以減輕教師出卷的工作負(fù)擔(dān),能夠科學(xué)、全面考核學(xué)生的學(xué)習(xí)成績(jī),及時(shí)反饋學(xué)生對(duì)知識(shí)的掌握情況,提高教學(xué)質(zhì)量[1-4].自動(dòng)組卷通常需要按照組卷人對(duì)試卷的要求設(shè)置基本信息(題型,各題型對(duì)應(yīng)題目的數(shù)量,題型的難易等級(jí),每道題目的分值),然后依照設(shè)置生成一套符合要求的試卷[5-6].
題庫(kù)管理系統(tǒng)中能夠?qū)崿F(xiàn)自動(dòng)組卷的核心是自動(dòng)組卷的算法.目前已有不少學(xué)者對(duì)此類(lèi)算法進(jìn)行了研究,文獻(xiàn)[7]以分類(lèi)的方法將試題庫(kù)全集劃分成若干個(gè)子集,并且把將要生成試卷的試題按一定的規(guī)則分解成不同的試題子集,然后針對(duì)不同的試題子集隨機(jī)抽取指定數(shù)量的試題,此算法縮小了隨機(jī)抽題的范圍,并且在一定條件下提高了組卷的效率,但是在約束條件變少,導(dǎo)致劃分的試題子集也減少的情況下,對(duì)試題的抽取難以實(shí)現(xiàn)精確控制;文獻(xiàn)[8]提出了基于線性遞減系數(shù)粒子群優(yōu)化算法策略,試圖避免粒子群優(yōu)化算法在組卷過(guò)程中陷入局部最優(yōu)的困局,但本質(zhì)上是調(diào)整了粒子群優(yōu)化算法的慣性系數(shù),使得算法中的步長(zhǎng)減小,這只會(huì)減小組卷過(guò)程中出現(xiàn)局部最優(yōu)問(wèn)題的概率,但不能從根本上避免粒子群優(yōu)化算法中的局部最優(yōu)問(wèn)題;文獻(xiàn)[9]在實(shí)現(xiàn)組卷的過(guò)程中依靠蟻群算法的快速和智能搜索能力,先對(duì)建立的數(shù)學(xué)模型進(jìn)行求解,然后得到最優(yōu)組卷方案進(jìn)行組卷.
文中研究的組卷算法綜合考慮了組卷人對(duì)試卷各指標(biāo)(難度、章節(jié)、知識(shí)點(diǎn))的設(shè)置,在組卷過(guò)程中系統(tǒng)依照“卷內(nèi)分塊、組塊分層”的機(jī)制將被組的試卷按照題目的類(lèi)型分成若干個(gè)題型塊,并且在算法實(shí)現(xiàn)過(guò)程中將每一個(gè)塊分成數(shù)據(jù)層、處理層、存儲(chǔ)層.系統(tǒng)會(huì)在處理層完成每一個(gè)題型塊的所有組卷操作,每當(dāng)一個(gè)題型塊的組卷動(dòng)作完成,系統(tǒng)會(huì)將被組卷模塊的難易等級(jí)與設(shè)置的參數(shù)進(jìn)行比較,如果分析的結(jié)果和設(shè)置的參數(shù)一樣則此模塊的組卷完成,進(jìn)行下一個(gè)模塊的組卷動(dòng)作,否則系統(tǒng)要不斷調(diào)整處理層數(shù)據(jù)的難易等級(jí),向被設(shè)置的參數(shù)逐漸逼近直到相等為止.
將題目的知識(shí)點(diǎn)和難易程度作為組卷過(guò)程的兩個(gè)因素,為了對(duì)其進(jìn)行有效控制,所定義的題庫(kù)信息如表1所示.其中,知識(shí)點(diǎn)用于說(shuō)明題目所屬章節(jié)信息,它是出卷時(shí)進(jìn)行知識(shí)點(diǎn)覆蓋規(guī)則匹配的一個(gè)重要參數(shù).將試卷本身看成一個(gè)整體研究對(duì)象,其組卷過(guò)程如式(1)所示:
表1 題目信息表Table 1 Title information
式中,P表示一個(gè)對(duì)象的組卷,Q表示成功組成一套試卷的所有動(dòng)作,F(xiàn)表示只考慮難易程度(H),知識(shí)點(diǎn)(K),題目類(lèi)型(T)3因素的組卷動(dòng)作,f1(H,K,T)表示對(duì)此模塊進(jìn)行第一次有關(guān)難易程度(H)、知識(shí)點(diǎn)(K)、題目類(lèi)型(T)的驗(yàn)證操作,Qt表示對(duì)同種類(lèi)型題目的知識(shí)點(diǎn)和難易程度進(jìn)行平衡操作,其中fs(H,K,T)中s由其迭代的次數(shù)決定.依照此方法實(shí)現(xiàn)系統(tǒng)的組卷,由于要將題型、知識(shí)點(diǎn)、難易等級(jí)綜合考慮在內(nèi),所以涉及的內(nèi)容廣,實(shí)現(xiàn)起來(lái)對(duì)程序員的要求高,并且由于程序的嵌套導(dǎo)致系統(tǒng)的效率不高.
按卷內(nèi)分塊和組塊分層的機(jī)制把一套完整的試卷按照題目類(lèi)型分成若干個(gè)模塊,再將每一個(gè)模塊看成一個(gè)對(duì)象,其次再把每個(gè)對(duì)象分成3個(gè)層次:首先,處理層根據(jù)隨機(jī)函數(shù)從數(shù)據(jù)層取出對(duì)應(yīng)數(shù)量的題目(數(shù)量的大小在試卷的指標(biāo)信息表里獲取,其中試卷的指標(biāo)設(shè)置如表2所示),再將當(dāng)前題型塊的難易等級(jí)(其中難易等級(jí)的計(jì)算如式(4)所示)與試卷指標(biāo)里設(shè)置的難易等級(jí)進(jìn)行比較,如果相等表示此模塊的組卷動(dòng)作完成,并且將處理層數(shù)據(jù)存入到存儲(chǔ)層,否則執(zhí)行處理層的組卷均衡動(dòng)作,如式(2)所示.
表2 試卷指標(biāo)信息Table 2 Papers index information
式(2)所描繪的是單個(gè)對(duì)象在處理層的驗(yàn)證過(guò)程,G表示此次組卷的所有動(dòng)作,g1(H,U)表示對(duì)此模塊進(jìn)行一次有關(guān)難易程度(H)、知識(shí)點(diǎn)(K)的驗(yàn)證操作,gn(H,K)表示對(duì)當(dāng)前模塊信息進(jìn)行n次查詢(xún)?nèi)缓笈c組卷要求進(jìn)行比較,如果不符合組卷要求則要剔除相應(yīng)題目,然后重新來(lái)組織此模塊,其中n的大小是由驗(yàn)證次數(shù)決定.要想依照此設(shè)計(jì)思想完成組卷,關(guān)鍵點(diǎn)就在于對(duì)試卷難易等級(jí)的測(cè)量.
為了衡量大多數(shù)人的學(xué)習(xí)情況,難易等級(jí)是按照正態(tài)概率分布思想來(lái)劃分的,各個(gè)等級(jí)的概率分布如圖1所示.圖1中不同難易等級(jí)的值是將標(biāo)準(zhǔn)正態(tài)分布在-2σ,-σ,σ,2σ處分割成5塊,分別取各塊所占面積的近似值,其中容易和難各占2.5%,較易和較難各占13.5%,中等占68%.同時(shí),在估計(jì)某種題目類(lèi)型的難易程度時(shí)依照統(tǒng)計(jì)學(xué)中均值的思想,以百分制為例,系統(tǒng)分別給這5個(gè)等級(jí)賦予一組不同的估計(jì)系數(shù),其系數(shù)的估計(jì)公式如式(3)所示:
圖1 等級(jí)概率分布圖Fig.1 Level probability distribution
式中,Yn表示第n等級(jí)的估計(jì)系數(shù),Xk表示第k等級(jí)在概率分布圖中所占的比重.圖1中從右往左5個(gè)等級(jí)的估計(jì)系數(shù)分別是0.987 5,0.917 5,0.51,0.092 5,0.012 5.系統(tǒng)通過(guò)計(jì)算所有題目的分?jǐn)?shù)所對(duì)應(yīng)的均值來(lái)估計(jì)同一試卷的難易等級(jí).其估計(jì)公式如式(4)所示:
式中,Xk表示第k個(gè)題目的分?jǐn)?shù),Yn表示當(dāng)前題目的難易等級(jí)系數(shù),Z是最終計(jì)算獲得的一個(gè)統(tǒng)計(jì)分值,通過(guò)查看Z值落在的等級(jí)區(qū)間即可獲得試卷的難易等級(jí).其中試卷的等級(jí)區(qū)間是依靠難易程度所占的比重來(lái)計(jì)算的.以總分為百分制的試卷為例,易等級(jí)所占比重為2.5%,所以它的分值的區(qū)間就是[0,2.5],其他等級(jí)依次類(lèi)推.
本算法優(yōu)先考慮組卷人對(duì)試卷的指標(biāo)設(shè)置,在滿(mǎn)足試卷指標(biāo)設(shè)置的情況下,通過(guò)難易等級(jí)分析公式對(duì)組成的試卷進(jìn)行難易等級(jí)分析,如果分析的結(jié)果不滿(mǎn)足組卷要求則調(diào)用均衡難易等級(jí)的方法調(diào)整組成的試卷,否則執(zhí)行下一模塊的組卷.算法主要過(guò)程如下:
(1)初始化數(shù)組a[4][4]用于存放組卷人對(duì)試卷的指標(biāo)設(shè)置信息,初始化標(biāo)簽i設(shè)置初始值0,用于訪問(wèn)第i行指標(biāo)a[i][0]到a[i][3]的數(shù)據(jù).初始化3個(gè)緩沖區(qū)tempor List、title List、examation List分別用于存儲(chǔ)組卷過(guò)程中數(shù)據(jù)層、處理層、存儲(chǔ)層數(shù)據(jù).
(2)從a[i][0]到a[i][3]中取出第i行的數(shù)據(jù),按照取出數(shù)據(jù)的要求(試卷指標(biāo))從數(shù)據(jù)庫(kù)里面獲取對(duì)應(yīng)的題目(此題目類(lèi)型中,不同知識(shí)點(diǎn)的不同難易等級(jí)題目各兩道)信息存入tempor List,然后從tempor List里隨機(jī)獲取指定數(shù)量(在存儲(chǔ)指標(biāo)的數(shù)組中獲?。┑脑囶}存入title List.
(3)調(diào)用式(4)估算title List中試題的難易等級(jí),如果比要求高(低)執(zhí)行步驟(4),否則執(zhí)行步驟(5).
(4)從title List中剔除高于或等于(低于或等于)的一道試題,從tempor List里面找出難易等級(jí)為次高(次低)的且title List中沒(méi)有此知識(shí)點(diǎn)的試題.如果還高(低)跳轉(zhuǎn)到步驟(3).如果出現(xiàn)低(高)跳轉(zhuǎn)到步驟(6),表示試題不足不能組卷.
(5)將title List數(shù)據(jù)存入examation List(就是存放整個(gè)試卷的試題),如果標(biāo)簽i的值小于4(題目類(lèi)型只有4種),標(biāo)簽i的值加1,然后跳轉(zhuǎn)到步驟(1),否則跳轉(zhuǎn)到步驟(7).
(6)輸出提示,試題不足不能完成組卷.
(7)將titleList中試卷打出組卷完成,結(jié)束.
實(shí)驗(yàn)針對(duì)一般隨機(jī)算法和文中描述算法,在同一難易等級(jí)的題目數(shù)量不變,組卷中分別取題目數(shù)量為15,19,20,21,25的條件下完成.實(shí)驗(yàn)結(jié)果統(tǒng)計(jì)如圖2和圖3所示,根據(jù)數(shù)據(jù)表明,依靠一般隨機(jī)算法實(shí)現(xiàn)組卷成功與否只取決于題庫(kù)里試題的數(shù)量,但是組卷結(jié)果符合組卷要求的概率比較低.圖3中實(shí)驗(yàn)五的成功率沒(méi)有達(dá)到100%,究其原因發(fā)現(xiàn),在題庫(kù)中只有20道題目的難易等級(jí)為“容易”,不能組成具有25道題目且難易等級(jí)為“容易”的試卷,從而造成組卷失敗.但是在真實(shí)的組卷環(huán)境下,題庫(kù)中題目數(shù)量會(huì)遠(yuǎn)遠(yuǎn)大于要組試題的數(shù)量,所以不會(huì)出現(xiàn)類(lèi)似于圖3中實(shí)驗(yàn)五的情況.
圖2 一般隨機(jī)算法實(shí)驗(yàn)結(jié)果圖Fig.2 General stochastic algorithm test results
圖3 文中描述算法實(shí)驗(yàn)結(jié)果圖 Fig.3 Algorithmic test results
表3是使用一般隨機(jī)算法和文中所述算法實(shí)現(xiàn)要求難度為“較難”的組卷結(jié)果分析表.由表3看出,一般隨機(jī)算法的試卷難易等級(jí)為“中等”,不符合組卷中難度的等級(jí)要求,并且存在知識(shí)點(diǎn)重復(fù)(同一章節(jié)號(hào)的多道題目)的現(xiàn)象,而文中描述算法的組卷結(jié)果,難度等級(jí)為“較難”符合組卷要求,并且克服了知識(shí)點(diǎn)重復(fù)現(xiàn)象.因此綜合對(duì)以上2種算法的實(shí)驗(yàn)結(jié)果與組卷結(jié)果可知,文中描述的組卷算法,組卷結(jié)果更加合理.
表3 結(jié)果分析Table 3 Result analysis
本文采用“卷內(nèi)分塊、組塊分層”的組卷機(jī)制,設(shè)計(jì)了一套完整的自動(dòng)組卷算法.經(jīng)過(guò)實(shí)驗(yàn)并與一般隨機(jī)算法對(duì)比分析,證明此算法在試卷難度和知識(shí)點(diǎn)覆蓋控制方面具有良好的改進(jìn)效果,并且系統(tǒng)運(yùn)行速度較快、組卷效率較高.
[1] 李麗,陳未如,王翠青.通用職能題庫(kù)管理系統(tǒng)的研究與實(shí)現(xiàn)[J].沈陽(yáng)化學(xué)學(xué)院學(xué)報(bào),2005,19(3):236-240.LI Li,CHEN Weiru,WANG Cuiqing.Study and realization of general intelligentItem bank system[J].Journal of Shenyang Institute of Chemical Technology,2005,19(3):236-240.
[2] 夏萬(wàn)東,藏玉紅,齊曉旭,等.通用試庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].承德石油高等專(zhuān)科學(xué)校學(xué)報(bào),2014,16(3):44-47.XIA Wandong,ZANG Yuhong,QI Xiaoxu,et al.Design and implementation of general test questions library managenebt system[J].Journal of Chengde Petroleum College,2014,16(3):44-47.
[3] 龍草芳,肖衡.試題庫(kù)建設(shè)與組卷算法研究[J].電腦知識(shí)與技術(shù),2013,13(9):2955-2959.LONG Caofang,XIAO Heng.Research on design of test database and algorithm of examination paper[J].Journal of Computer Knowledge and Technology,2013,13(9):2955-2959.
[4] 楊勛.在線考試系統(tǒng)的組卷算法研究[J].電腦知識(shí)與技術(shù),2014,10(32):7621-7623.YANG Xun.Research on the test paper composition algorithm of online examination system[J].Computer Knowledge and Technology,2014,10(32)::7621-7623.
[5] 趙靜雅,高斐,高震宇.在線考試系統(tǒng)自動(dòng)組卷算法研究[J].電子制作,2014(8):282-283.ZHAO Jingya,GAO Pei,GAO Zhenyu.Research of auto generating test paper algorithm of online examination system[J].Electronic Production,2014(8):282-283.
[6] 陳曉敏,梁靜,葛宇.基于改進(jìn)遺傳算法的智能組卷研究[J].西南師范大學(xué)學(xué)報(bào):自然科學(xué)版[J].2012,37(5):98-101.CHEN Xiaomin,LIANG Jing,GE Yu.On intelligent test paper auto-generation based on improved genetic algorithm[J].Journal of Southwest China Normal University:Natural Science Edition,2012,37(5):98-101.
[7] 呂東哲,蘇烈華.基于分類(lèi)隨機(jī)算法的試卷生成算法研究[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2014(8):190-191.LYU Dongzhe,SU Liehua.Based on the papers random generation algorithm classification algorithm[J].Computer CD Software and Applications,2014(8):190-191.
[8] 白雁.基于線性遞減系數(shù)粒子群優(yōu)化算法的組卷實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2014,37(24):41-44.BAI Yan.Implementation of test paper generation based on particle swarm optimization algorithm with linear decreasing inertia weight[J].Modern Electronics Technique,2013,37(24):41-44.
[9] 劉毅.人工智能在自動(dòng)組卷建模中應(yīng)用研究[J].計(jì)算機(jī)仿真,2011,28(8):385-388.LIU Yi.Auto-generating test paper based on artificial intelligence[J].Computer Simulation,2011,28(8):385-388.