馬華,彭思雨,秦宏毅
(湖南師范大學(xué)信息科學(xué)與工程學(xué)院,長(zhǎng)沙 410081)
近年來,在線學(xué)習(xí)開始大規(guī)模普及,各類在線學(xué)習(xí)平臺(tái)發(fā)展迅速,在線學(xué)習(xí)一方面為教師提供了有力的線上實(shí)時(shí)教學(xué)支持,另一方面為學(xué)生開展個(gè)性化學(xué)習(xí)提供了豐富的學(xué)習(xí)資源。在個(gè)性化教學(xué)過程中,準(zhǔn)確感知學(xué)生實(shí)時(shí)的知識(shí)狀態(tài)(即對(duì)知識(shí)點(diǎn)的掌握情況)尤為重要,而習(xí)題測(cè)試是主要的實(shí)現(xiàn)途徑[1]。傳統(tǒng)的習(xí)題測(cè)試系統(tǒng)僅統(tǒng)計(jì)學(xué)生在每道題上的得分總值,未分析學(xué)生對(duì)于習(xí)題所關(guān)聯(lián)的知識(shí)點(diǎn)的不同掌握程度。而現(xiàn)實(shí)中,總分值相同的學(xué)生知識(shí)狀態(tài)可能差異明顯。如果完全依靠教師的經(jīng)驗(yàn)對(duì)學(xué)生的認(rèn)知狀況進(jìn)行人工判斷,不僅耗時(shí)耗力,其結(jié)果的準(zhǔn)確度也可能難以得到保障。尤其面對(duì)當(dāng)前大規(guī)模在線學(xué)習(xí)背景下龐大的學(xué)生規(guī)模,更凸顯出實(shí)現(xiàn)自動(dòng)化的學(xué)生認(rèn)知狀態(tài)診斷的必要性。
認(rèn)知診斷理論是認(rèn)知科學(xué)與心理測(cè)量學(xué)相結(jié)合并應(yīng)用于教育領(lǐng)域的結(jié)果[2]。認(rèn)知診斷理論的蓬勃發(fā)展,產(chǎn)生了一系列認(rèn)知診斷模型。傳統(tǒng)的認(rèn)知診斷模型,例如DINA(deterministic inputs,noisy and-gate)模型[3],僅處理客觀題題型。為擴(kuò)展實(shí)現(xiàn)認(rèn)知診斷模型對(duì)于主觀題題型的支持,Liu等人提出了模糊認(rèn)知診斷框架(fuzzy cognitive diagnosis framework,F(xiàn)uzzyCDF)[4]。
本文基于模糊認(rèn)知診斷框架,設(shè)計(jì)并開發(fā)了一個(gè)基于認(rèn)知診斷建模的個(gè)性化在線習(xí)題測(cè)試系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了試題管理、課程管理、組卷管理、測(cè)驗(yàn)管理、學(xué)情報(bào)告等功能模塊,系統(tǒng)基于學(xué)生對(duì)測(cè)試試題的作答情況,對(duì)學(xué)生進(jìn)行個(gè)性化的認(rèn)知診斷分析,獲得學(xué)生對(duì)不同知識(shí)點(diǎn)的掌握情況,生成學(xué)情分析報(bào)表,從而為教師實(shí)施因材施教和學(xué)生開展有針對(duì)性的自主學(xué)習(xí)提供重要支持。
認(rèn)知診斷的主要任務(wù)是根據(jù)學(xué)生參與考試得到的分?jǐn)?shù)反饋,挖掘出不同學(xué)生個(gè)體的認(rèn)知結(jié)構(gòu)。最具有代表性的認(rèn)知診斷模型是項(xiàng)目反應(yīng)理論(item response theory,IRT)[5]和DINA模 型[3]。其中,IRT將學(xué)生的認(rèn)知狀態(tài)描述成一維的能力值,并結(jié)合難度、區(qū)分度等試題參數(shù)對(duì)學(xué)生進(jìn)行建模。IRT存在單維性假定難以滿足、計(jì)算復(fù)雜、對(duì)測(cè)驗(yàn)條件要求較嚴(yán)格等不足。不同于IRT,DI?NA模型不僅將學(xué)生在試題上的作答情況(X矩陣)作為輸入,同時(shí)結(jié)合試題知識(shí)點(diǎn)關(guān)聯(lián)矩陣(Q矩陣),將學(xué)生建模成一個(gè)在多維知識(shí)點(diǎn)上的掌握向量。X矩陣和Q矩陣定義為:①得分矩陣X。每行表示一名學(xué)生,每列表示某個(gè)學(xué)生在某個(gè)測(cè)試題上的得分情況,用0表示該學(xué)生在當(dāng)前題目上未得分,1表示得了滿分。②知識(shí)點(diǎn)矩陣Q。它表示每個(gè)測(cè)試題與各個(gè)知識(shí)點(diǎn)之間的對(duì)應(yīng)關(guān)系。每行表示一道測(cè)試題,每列表示某個(gè)測(cè)試題與各個(gè)知識(shí)點(diǎn)的相關(guān)性。用1表示該題與某個(gè)知識(shí)點(diǎn)相關(guān),0表示不相關(guān)。
針對(duì)DINA模型僅支持客觀題的局限性,Liu等人設(shè)計(jì)了FuzzyCDF。它利用IRT的雙參數(shù)反應(yīng)模型[6]表達(dá)式計(jì)算學(xué)生對(duì)于知識(shí)點(diǎn)的認(rèn)知狀態(tài),將學(xué)生對(duì)于知識(shí)點(diǎn)的認(rèn)知能力表示為模糊集合的隸屬度,再采用模糊交和模糊并來建??陀^題和主觀題的認(rèn)知作答模式。學(xué)生i對(duì)知識(shí)點(diǎn)k的掌握程度由知識(shí)點(diǎn)相關(guān)的模糊集的隸屬函數(shù)來確定,即:
上式中,αik表示學(xué)生i對(duì)知識(shí)點(diǎn)k的掌握程度,即學(xué)生i對(duì)知識(shí)點(diǎn)k的隸屬度i(k);a i k表示知識(shí)點(diǎn)的區(qū)分度;b ik表示知識(shí)點(diǎn)k對(duì)學(xué)生i的難度;θi表示學(xué)生i的潛在特質(zhì)水平;D為常數(shù)等于-1.7。
對(duì)于客觀題,學(xué)生只有掌握試題考察的所有知識(shí)點(diǎn)才能答對(duì)該試題。于主觀題,學(xué)生掌握的知識(shí)點(diǎn)越多,其對(duì)主觀題的掌握程度也越高,進(jìn)而在主觀題上的得分也越高??陀^題和主觀題的計(jì)算公式如下。
其中,ηij表示學(xué)生i在試題j上的掌握程度;αi k表示學(xué)生i在知識(shí)點(diǎn)k上的掌握程度;q jk表示試題j是否考察了知識(shí)點(diǎn)k,取值為1代表考察了,取值為0代表未考察;∩和∪分別代表模糊理論中的模糊交和模糊并。
已知學(xué)生i的知識(shí)點(diǎn)掌握向量{αi1,αi2,αi=…,αik}時(shí),可由式(4)計(jì)算學(xué)生i對(duì)試題j的掌握程度:
其中,q jk表示試題j是否考察了知識(shí)點(diǎn)k,取值為1代表考察了,取值為0代表未考察;ηij=0表示學(xué)生i無法正確回答試題j,ηij=1則認(rèn)為學(xué)生i可以正確回答試題j。
本系統(tǒng)支持管理員、教師、學(xué)生三類用戶,管理員負(fù)責(zé)權(quán)限管理,教師負(fù)責(zé)試題、課程、組卷和學(xué)情報(bào)告管理,學(xué)生可進(jìn)行試題測(cè)驗(yàn)、查看個(gè)人學(xué)情報(bào)告??傮w功能包括用戶管理、試題管理、課程管理、組卷管理、學(xué)情報(bào)告、試題測(cè)驗(yàn)、系統(tǒng)設(shè)置、個(gè)人中心等8個(gè)模塊。以下介紹核心的五個(gè)模塊。
(1)試題管理模塊。管理試題庫(kù),支持選擇題和判斷題,教師可增、刪、改、查各個(gè)試題。
(2)知識(shí)點(diǎn)管理模塊。管理課程涉及的的知識(shí)點(diǎn)模型。教師可增、刪、改、查知識(shí)點(diǎn),也可將測(cè)試題與知識(shí)點(diǎn)進(jìn)行關(guān)聯(lián),從而生成Q矩陣。
(3)組卷管理模塊。教師可根據(jù)教學(xué)需要選取測(cè)試題組成一套試卷并發(fā)布,全體學(xué)生均需作答。教師可查看組卷歷史、試卷涉及的知識(shí)點(diǎn)數(shù)量以及覆蓋面。
(4)學(xué)情報(bào)告模塊。展示學(xué)生當(dāng)前的學(xué)習(xí)情況,分為學(xué)生總體報(bào)告和學(xué)生個(gè)人報(bào)告兩個(gè)部分。學(xué)情報(bào)告由認(rèn)知診斷模型根據(jù)學(xué)生歷次測(cè)驗(yàn)答題情況生成,通過表格以及折線圖展示。總體報(bào)告僅供教師查看,學(xué)生只可查看個(gè)人的學(xué)情報(bào)告。
(5)試題測(cè)驗(yàn)?zāi)K。分教師組卷測(cè)驗(yàn)和自我測(cè)試兩部分。學(xué)生必須完成教師手工組卷發(fā)布的測(cè)驗(yàn),自我測(cè)試是由系統(tǒng)根據(jù)學(xué)生的學(xué)習(xí)狀態(tài)自動(dòng)組卷編制而成,用于幫助學(xué)生自主學(xué)習(xí)。學(xué)生可查看歷次測(cè)驗(yàn)的答題時(shí)間、總體得分,以及每道測(cè)試題的作答情況和正確答案。每次測(cè)驗(yàn)試題提交后,系統(tǒng)即通過Flask框架請(qǐng)求認(rèn)知診斷模型根據(jù)當(dāng)前答題情況進(jìn)行認(rèn)知診斷,并更新當(dāng)前學(xué)生的學(xué)情報(bào)告。
系統(tǒng)采用Java Swing開發(fā),使用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),以Python語(yǔ)言編碼的FuzzyCDF算法通過Flask框架發(fā)布成服務(wù)后,通過發(fā)送HTTP請(qǐng)求對(duì)FuzzyCDF進(jìn)行調(diào)用,認(rèn)知診斷完成后將認(rèn)知結(jié)果更新到數(shù)據(jù)庫(kù),并使用JFreechart在Java Swing界面對(duì)認(rèn)知診斷結(jié)果以折線圖形式展示。
以下給出了本系統(tǒng)中的關(guān)鍵庫(kù)表的結(jié)構(gòu)設(shè)計(jì),選擇題相關(guān)的數(shù)據(jù)庫(kù)表如表1和表2所示,其它題型的數(shù)據(jù)庫(kù)表不再贅述。與知識(shí)點(diǎn)、習(xí)題、試題、試卷等相關(guān)的關(guān)鍵數(shù)據(jù)庫(kù)如表3—表8所示。
表1 選擇題表choice
表2 選擇題選項(xiàng)表choice_items
表3 試題表exercise
表4 試卷表test
表5 試卷-試題映射表exam_exercise
表6 測(cè)試得分表grade
表7 知識(shí)點(diǎn)表knowledge
表8 習(xí)題-知識(shí)點(diǎn)關(guān)聯(lián)表Q
以《Java程序設(shè)計(jì)》課程為例,我們完成了一個(gè)實(shí)際系統(tǒng)的開發(fā)。以下重點(diǎn)介紹教師端模塊的實(shí)現(xiàn)情況。圖1為試題管理模塊進(jìn)行選擇題管理的實(shí)現(xiàn)界面。
圖1 選擇題管理界面
圖2 為課程管理模塊中進(jìn)行試題和知識(shí)點(diǎn)映射的操作界面。
圖2 知識(shí)點(diǎn)建模界面
圖3 為學(xué)情報(bào)告模塊中教師端的查看界面。
圖3 教師端學(xué)情報(bào)告界面
獲取學(xué)生實(shí)時(shí)的認(rèn)知水平是實(shí)現(xiàn)精準(zhǔn)的個(gè)性化教學(xué)的關(guān)鍵前提。如何更準(zhǔn)確地對(duì)學(xué)生認(rèn)知狀態(tài)進(jìn)行分析是大家關(guān)注的焦點(diǎn)。本文通過引入認(rèn)知診斷理論,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于模糊認(rèn)知診斷框架的《Java程序設(shè)計(jì)》習(xí)題測(cè)試系統(tǒng)。該系統(tǒng)以學(xué)生在系統(tǒng)內(nèi)的測(cè)試數(shù)據(jù)為輸入,經(jīng)過認(rèn)知診斷建模與分析,獲取學(xué)生當(dāng)前的認(rèn)知狀態(tài),從而為教師對(duì)學(xué)生進(jìn)行針對(duì)性教學(xué)提供決策基礎(chǔ),也有利于學(xué)生根據(jù)自身認(rèn)知水平對(duì)知識(shí)進(jìn)行鞏固與加強(qiáng)。未來,我們將重構(gòu)該習(xí)題測(cè)試系統(tǒng)成客戶端-服務(wù)端模式,并完善對(duì)多種主觀和客觀題型的靈活支持機(jī)制。