周藝偉 洪逸凡
摘要:基于現(xiàn)今教師出題題目難度評(píng)級(jí)客觀性差,現(xiàn)有題庫(kù)系統(tǒng)對(duì)于題目難度評(píng)級(jí)過于簡(jiǎn)單的現(xiàn)象,本系統(tǒng)采用GA算法,BP算法,解決了客觀評(píng)價(jià)試題難度評(píng)級(jí)的問題,并且可以根據(jù)給定條件快速生成符合要求的試卷。該系統(tǒng)在微服務(wù)架構(gòu)下完成敏捷開發(fā)作為實(shí)現(xiàn)。
關(guān)鍵詞:GA算法;BP算法;動(dòng)態(tài)題庫(kù);智能組卷;微服務(wù)
中圖分類號(hào):G424 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)24-0183-02
1 題目難度客觀評(píng)級(jí)的實(shí)現(xiàn)
1.1 題目評(píng)級(jí)樣本的初次統(tǒng)計(jì)
本系統(tǒng)利用了BP網(wǎng)絡(luò)的有指導(dǎo)的學(xué)習(xí)方式,通過選取2000道歷年由任課教師所出的java考試試卷題目,首先對(duì)任課教師進(jìn)行問卷訪問,將結(jié)果匯總后進(jìn)行人工錄入統(tǒng)計(jì),獲得教師對(duì)于題目的難度評(píng)級(jí)評(píng)價(jià)。
試卷的難度評(píng)級(jí)定義為四級(jí),1級(jí)為難,2級(jí)為較難,3級(jí)為較簡(jiǎn)單,4級(jí)為簡(jiǎn)單。人工首次統(tǒng)計(jì)教師對(duì)于題目的難度評(píng)級(jí)時(shí),計(jì)算難度評(píng)級(jí)的平均值作為最終評(píng)判結(jié)果,并且計(jì)算評(píng)級(jí)標(biāo)準(zhǔn)差,將標(biāo)準(zhǔn)差高于0.5的題目剔除,避免因?yàn)榻處煹囊庖娤嗖钸^大造成題目評(píng)級(jí)不精準(zhǔn)。最終統(tǒng)計(jì)結(jié)果保留了1342道題目。
采用同樣的方法,通過問卷訪問,統(tǒng)計(jì)上述1342道題目在學(xué)生立場(chǎng)的難度評(píng)級(jí),采樣群體來自上文中被統(tǒng)計(jì)的任課教師所教授的同一學(xué)年全體學(xué)生。同樣計(jì)算難度評(píng)級(jí)的平均值作為最終評(píng)判結(jié)果,并且計(jì)算評(píng)級(jí)標(biāo)準(zhǔn)差,將標(biāo)準(zhǔn)差高于0.5的題目剔除,最終保留了1132道題目。
因?yàn)榻虒W(xué)的本質(zhì)目標(biāo)主體在于學(xué)生,該題庫(kù)數(shù)據(jù)的首次難度評(píng)級(jí)采用學(xué)生的難度評(píng)級(jí)作為真正的過往難度評(píng)級(jí)數(shù)據(jù)和實(shí)際值,教師的難度評(píng)級(jí)作為期望值,選取部分?jǐn)?shù)據(jù)對(duì)比結(jié)果進(jìn)行展示,如表1所示:
可以看到,期望值和實(shí)際值之間的差值有的相差過大(差值>1),這體現(xiàn)了教師和學(xué)生對(duì)于題目難度評(píng)價(jià)存在較大的分歧現(xiàn)象,直接證實(shí)了考試試題的難度評(píng)級(jí)難以及時(shí)得到客觀性評(píng)價(jià)問題的存在性。
1.2題目評(píng)級(jí)參數(shù)的選取
考慮到常見的題庫(kù)系統(tǒng)評(píng)級(jí)一般采用人工賦值或者僅僅依靠錯(cuò)誤率來維護(hù)更新的情況,這也會(huì)導(dǎo)致一些評(píng)級(jí)不夠客觀的問題,例如選取市面上某題庫(kù)系統(tǒng),通過加入上文中保留的1132道題目,獲取題目難度評(píng)級(jí)和學(xué)生難度評(píng)級(jí)進(jìn)行對(duì)比。如表2所示:
可以根據(jù)數(shù)據(jù)觀察到,期望值和實(shí)際值在某些題目上仍然存在較大差距,題目難度評(píng)級(jí)的客觀性仍然沒有得到保證。
因此本系統(tǒng)在對(duì)于題庫(kù)中題目評(píng)級(jí)的維護(hù)和更新過程中,加入了知識(shí)點(diǎn),和過往評(píng)級(jí)對(duì)于過往錯(cuò)誤率進(jìn)行結(jié)合,形成綜合考慮。
1.3 BP神經(jīng)網(wǎng)絡(luò)的選取
本系統(tǒng)為了減少了網(wǎng)絡(luò)的訓(xùn)練時(shí)間和訓(xùn)練過程中出現(xiàn)“過擬合”的傾向。隱藏層數(shù)目的確定十分重要。由于隱含層數(shù)目對(duì)于學(xué)習(xí)時(shí)間的約束限制[1],并且按照Kosmogorov定理的內(nèi)容可知, 在合理的結(jié)構(gòu)和恰當(dāng)?shù)臋?quán)值條件下, 3層BP神經(jīng)網(wǎng)絡(luò)可以逼近任意的連續(xù)函數(shù),所以本系統(tǒng)選擇3層BP神經(jīng)網(wǎng)絡(luò)進(jìn)行具體測(cè)試。
1.4隱藏層節(jié)點(diǎn)的確定
相比于傳統(tǒng)系統(tǒng)評(píng)級(jí)的粗糙情況,本系統(tǒng)考慮到題庫(kù)中題目難度評(píng)級(jí)主要有知識(shí)點(diǎn)包含數(shù)量,過往錯(cuò)誤率以及上一次難度評(píng)級(jí)來決定。在保證收斂的準(zhǔn)確性的前提下,節(jié)點(diǎn)數(shù)越少,網(wǎng)絡(luò)的速度越快。三層神經(jīng)網(wǎng)絡(luò)為了保證最低的準(zhǔn)確性,根據(jù)過往實(shí)驗(yàn)統(tǒng)計(jì)擬合,如圖1所示:
節(jié)點(diǎn)數(shù)在2時(shí)就能達(dá)到準(zhǔn)確率的極值,而且增加節(jié)點(diǎn)數(shù)之后,耗時(shí)逐漸增長(zhǎng)到一個(gè)極值,因此本系統(tǒng)選擇輸入層節(jié)點(diǎn)數(shù)目為3,是足夠達(dá)到學(xué)習(xí)精準(zhǔn)度的。設(shè)置輸出節(jié)點(diǎn)數(shù)為1,作為重新計(jì)算的難度評(píng)級(jí)分值。本系統(tǒng)采用S型函數(shù)
1.5學(xué)習(xí)速率的確定
雖然人工設(shè)定學(xué)習(xí)速率有一定的限制性,但是考慮到本系統(tǒng)題目難度評(píng)級(jí)設(shè)定為整數(shù),因而評(píng)級(jí)計(jì)算的要求只需要保留到小數(shù)點(diǎn)后面一位即可。通過多次試驗(yàn)將學(xué)習(xí)速率確定為0.5。
1. 6 實(shí)驗(yàn)結(jié)果分析
通過選取1000條題目進(jìn)行測(cè)試,本系統(tǒng)通過訓(xùn)練后,得到的部分訓(xùn)練結(jié)果如表3所示:
通過計(jì)算期望值和實(shí)際輸出差值,可以觀察到誤差基本都小于0.001,符合實(shí)際情況的需求,和表1與表2的差值對(duì)比也能觀測(cè)到,該系統(tǒng)的確能夠通過增加參數(shù)設(shè)置,解決題目難度評(píng)級(jí)客觀性的問題。同時(shí)本系統(tǒng)的具體實(shí)現(xiàn)對(duì)于學(xué)習(xí)率設(shè)置,隱藏層節(jié)點(diǎn)數(shù)目要求不高,節(jié)省了訓(xùn)練時(shí)間,仍能夠保證具有較高的準(zhǔn)確度。
2 快速生成組卷
2.1 GA算法應(yīng)用目的
為了解決由于在實(shí)際情況下,采用傳統(tǒng)的查找方式進(jìn)行試卷生成,系統(tǒng)往往反應(yīng)速度較慢,難以投入到真正教學(xué)使用的過程當(dāng)中,解決緩解教師出卷壓力的問題,本系統(tǒng)采用的GA算法進(jìn)行選題組卷生成試卷。
2.2 GA算法在本系統(tǒng)的實(shí)現(xiàn)
為了減少交叉,優(yōu)化的速度,根據(jù)實(shí)際情況,將組卷參數(shù)矩陣設(shè)定為以下形式:(每題有4項(xiàng)主要參數(shù):過往錯(cuò)誤率a1,知識(shí)點(diǎn)數(shù)a2,上一次難度評(píng)級(jí)a3,題目類型a4)
通過隨機(jī)函數(shù)產(chǎn)生N道題目,通過計(jì)算第i項(xiàng)的誤差fi和和ai指標(biāo)值的成績(jī)總和。當(dāng)結(jié)果最小時(shí),交叉變異產(chǎn)生下一代。由于難點(diǎn)在于匹配題目的難度評(píng)級(jí),而上文中提到的BP算法對(duì)于評(píng)級(jí)有較好的擬合,因而可以進(jìn)行成功的組卷。
3 系統(tǒng)具體實(shí)現(xiàn)
3.1系統(tǒng)分析
系統(tǒng)的模塊獨(dú)立開發(fā),主要使用J2EE為開發(fā)平臺(tái),客戶端服務(wù)端分離開發(fā),web頁(yè)面使用react編寫,后臺(tái)采用spring boot框架,提供REST接口訪問,通過nginx配置實(shí)現(xiàn)反向代理解決跨域訪問問題,采用MySQL數(shù)據(jù)庫(kù)進(jìn)行題目存儲(chǔ)。系統(tǒng)模塊主要分為以下四個(gè)部分:用戶管理,試題庫(kù)管理,組卷管理,成績(jī)管理。系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖如圖2所示:
3.2具體實(shí)現(xiàn)過程
在實(shí)現(xiàn)過程中,首先,通過設(shè)計(jì)數(shù)據(jù)庫(kù)相應(yīng)表,存儲(chǔ)教書,學(xué)生,成績(jī),題目相關(guān)數(shù)據(jù)。
通過服務(wù)器端開發(fā),實(shí)現(xiàn)對(duì)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的CURD基本操作,能夠?qū)崿F(xiàn)用戶管理,試題庫(kù)查詢和組卷請(qǐng)求的響應(yīng),實(shí)現(xiàn)對(duì)于成績(jī)的基本錄入。
客戶端開發(fā)頁(yè)面主要有登錄,查詢,選題,組卷,做題等功能界面
利用本文中提及的BP算法,編寫試題庫(kù)管理模塊,對(duì)題目難度進(jìn)行合理化評(píng)級(jí),實(shí)現(xiàn)試題庫(kù)的動(dòng)態(tài)更新。
編寫組卷模塊,通過GA算法,在完成合理化的難度評(píng)級(jí)前提下,能夠根據(jù)給定條件快速生成合乎條件的試卷。
整個(gè)系統(tǒng)在微服務(wù)架構(gòu)下完成,因而可以使得每個(gè)模塊獨(dú)立開發(fā),采用更加方便的語(yǔ)言和庫(kù)調(diào)用。
本系統(tǒng)通過人工錄入1000到題目進(jìn)行測(cè)試,組卷題目評(píng)級(jí)以及生成試卷響應(yīng)時(shí)間都有一個(gè)較好的效果。因而證實(shí)了本系統(tǒng)是一個(gè)良好的組卷系統(tǒng)解決方案。
4總結(jié)
本文通過BP算法應(yīng)用可行性分析為基礎(chǔ),提供了客觀的試題難度評(píng)級(jí)方法,使得智能組卷的題庫(kù)題目難度能夠被切實(shí)有效的客觀評(píng)級(jí)。利用GA算法使得題庫(kù)系統(tǒng)的組卷過程能夠得到快速實(shí)現(xiàn)。依托了先進(jìn)敏捷開發(fā)的微服務(wù)架構(gòu),針對(duì)題庫(kù)系統(tǒng)做出了基本的實(shí)現(xiàn),為解決教師出卷主觀性強(qiáng),難度評(píng)級(jí)和現(xiàn)實(shí)相差較大的問題提供了一個(gè)良好的解決方案。
參考文獻(xiàn):
[1] Hadi M N S . Neural networks applications in concrete structures[J]. Computers & Structures, 2003, 81(6):373-381.
【通聯(lián)編輯:唐一東】