摘 要介紹了項(xiàng)目反應(yīng)理論和組卷算法實(shí)現(xiàn)的基本步驟,并以此為基礎(chǔ)設(shè)計(jì)了一個(gè)基于 Web 的在線考試系統(tǒng),介紹了采用ASP 技術(shù)的實(shí)現(xiàn)方案和幾個(gè)關(guān)鍵技術(shù)問題的解決。
關(guān)鍵字 項(xiàng)目反應(yīng)理論;數(shù)據(jù)庫連接;考試系統(tǒng);Web
中圖分類號:G434文獻(xiàn)標(biāo)識碼:A文章編號:1671-489X(2008)02-0058-02
1 項(xiàng)目反應(yīng)理論(IRT)概述
IRT(Item Response Theory)是CAT的理論基礎(chǔ)。IRT是通過研究個(gè)體的潛在特質(zhì)(如能力水平)與項(xiàng)目基本特征(如難度、區(qū)分度、猜測度)之間的關(guān)系,即用函數(shù)關(guān)系P(我們稱為項(xiàng)目反應(yīng)函數(shù))來描述某個(gè)個(gè)體(其潛在特質(zhì)為θ)答對某個(gè)項(xiàng)目(其難度、區(qū)分度、猜測度分別為b、a、c)的概率。在IRT理論中,項(xiàng)目反應(yīng)函數(shù)有多種,在本系統(tǒng)中,我們以比較成熟的三參數(shù)Logistic模型為基礎(chǔ),其反應(yīng)函數(shù)如下:
其中D=1.702,ai,bi,ci分別表示該項(xiàng)目的區(qū)分度、難度和猜測度。Pi(θ)表示能力為θ的被試答對項(xiàng)目i的概率,一般規(guī)定θ∈[-3,3]。
假設(shè)被試對各個(gè)項(xiàng)目的作答是相互獨(dú)立的,且所有項(xiàng)目采用0、1記分,則基于u=(u1,u2,u3,…,um)的似然函數(shù) ,它表示具有能力為的被試得分向量u與能力 之間的關(guān)系,簡記為 。 表明能力為 的被試對象其得分向量為u的可能性,當(dāng)u已知時(shí),若 在一個(gè)集合⊙中變化,應(yīng)選擇θ∈e,使?jié)M足上式的θ稱為θ的似然估計(jì),這種將似然估計(jì)取極大值的自變量取值作為待估參數(shù)估計(jì)方法,叫極大似然估計(jì)法。就是我們系統(tǒng)中能力估計(jì)采用的方法。
挑選項(xiàng)目的原則,一般就是要適應(yīng)被試水平,從題庫中挑選能提供最大信息量的項(xiàng)目。項(xiàng)目信息量取值最大時(shí),難度和特質(zhì)水平有如下關(guān)系:
也就是說,若被試特質(zhì)水平根據(jù)所測的以往資料已估得是^θ的話,進(jìn)一步繼測的最適合項(xiàng)目的難度值應(yīng)為biθ,這個(gè)比估計(jì)特質(zhì)值θ略小。信息量由下式計(jì)算:
2 組卷算法
組卷算法在遺傳算法(GA)的基礎(chǔ)上,針對所要解決的問題提出了多適應(yīng)度遺傳算法。系統(tǒng)利用專家知識首先組成默認(rèn)的組卷策略,它可以在組卷要求選項(xiàng)缺少的情況下,實(shí)現(xiàn)自動(dòng)添加組卷要求的作用。在系統(tǒng)默認(rèn)組卷策略的基礎(chǔ)上,采用多適應(yīng)度遺傳算法對難度、知識點(diǎn)、知識點(diǎn)教學(xué)要求度(包含在知識點(diǎn)中)進(jìn)行并行運(yùn)算,在全局試題庫中搜索符合組卷策略的試題組成試卷。對經(jīng)過優(yōu)化組成的試卷再進(jìn)行試卷相關(guān)性、已出題次數(shù)、出題頻率的檢驗(yàn),如合格,則通過試卷打印模塊打印成卷;如檢驗(yàn)未通過,則將系統(tǒng)分析結(jié)果反饋到組卷策略模塊中,修改組卷策略模塊,再次循環(huán)運(yùn)算,直到系統(tǒng)驗(yàn)證通過,組成試卷為止。針對自動(dòng)組卷系統(tǒng),提出了多適應(yīng)度遺傳算法。多適應(yīng)度遺傳算法是一種模擬自然選擇和遺傳機(jī)制的全局概率尋優(yōu)算法,具有高度并行性和自適應(yīng)的搜索能力。GA的尋優(yōu)過程是一個(gè)迭代過程,通過基因遺傳機(jī)制將每一代的基本特征被遺傳到下一代。其過程包括4個(gè)基本要素:
(1)基因編碼。即將要解決的問題編制成可進(jìn)行數(shù)學(xué)討論的編碼。采用混合編碼方法,將難度、知識點(diǎn)、教學(xué)要求度編成9位二進(jìn)制碼。如a0a1b0b1b2b3b4c0c1,其中,a0a1是難度編碼,b0b1b2b3b4是知識點(diǎn)編碼,c0c1是教學(xué)要求度編碼。
(2)適應(yīng)度函數(shù)。又稱目標(biāo)函數(shù),是進(jìn)化的優(yōu)劣標(biāo)準(zhǔn)。多適應(yīng)度遺傳算法采用多適應(yīng)度機(jī)制,針對每一種結(jié)構(gòu)屬性給出相應(yīng)的適應(yīng)度函數(shù),ξ(x)、Ψ(y)、ζ(z)分別是難度適應(yīng)度函數(shù)、知識點(diǎn)適應(yīng)度函數(shù)、教學(xué)要求度適應(yīng)度函數(shù)。
(3)遺傳算子。最重要的有3種:選擇(selection)、交叉(crossover)、突變(mutation)。選擇算子也稱復(fù)制(reproduction)算子,它的作用在于根據(jù)個(gè)體的優(yōu)劣程度決定它在下一代是被淘汰還是被復(fù)制。
交叉算子在遺傳進(jìn)化中起著最主要的作用首先根據(jù)適應(yīng)度選擇交叉的兩個(gè)染色體,接著選擇任一整數(shù)k∈(1,2,3∧L-2),作為交叉位置,交叉過程描述如下:
親代:a10∧a1(k-1)a1kZa1(k+1)∧a1(L-1)
a20∧a2(k-1)a2kZa2(k+1)∧a2(L-1)
子代:a10∧a1(k-1)a1kZa2(k+1)∧a2(L-1)
a20∧a2(k-1)a2kZa2(1+1)∧a1(L-1)
在基本遺傳算法(SGA)中,交叉操作的交叉概率pC一般取較大值0.4~0.99[19]。突變操作可以彌補(bǔ)遺傳物質(zhì)的丟失,選擇任一整數(shù)k∈(1,2,3∧L-2),變異過程描述如下:
親代:a0a1∧a(k-1)akZa(k+1)∧a(L-1)
變異子代:a0a1∧a(k-1)-akZa(k+1)∧a(L-1)
突變保證GA的全局收斂性,為了減少算法的隨機(jī)性,突變概率pm取較小,一般為0.000 1~0.1[19]。
(4)解碼。解碼只要把符合策略要求的試題二進(jìn)制編碼對應(yīng)到試題編號上即可。
3 實(shí)現(xiàn)過程中的若干問題
3.1 ASP 連接到后臺數(shù)據(jù)庫的方法ADO(ActiveX Data object)是一組優(yōu)化的訪問數(shù)據(jù)庫的專用對象集,它為 ASP 提供了完整的站點(diǎn)數(shù)據(jù)庫訪問解決方案。ADO 對象在服務(wù)器端執(zhí)行,并向客戶端提供含有數(shù)據(jù)庫信息的內(nèi)容,客戶端也可以根據(jù)指定的權(quán)限返回參數(shù)來對數(shù)據(jù)庫進(jìn)行讀寫等操作。因?yàn)?ADO 是通過 ODBC 或 OLEDB 驅(qū)動(dòng)來對數(shù)據(jù)庫進(jìn)行訪問的,所以它可以連接類型的數(shù)據(jù)庫,如Access、SQLServer、Oracle、Informix 等。在使用 ADO 之前要先在ODBC中添加相應(yīng)的數(shù)據(jù)庫驅(qū)動(dòng)程序,并創(chuàng)建相應(yīng)的 DSN。另外一種方式是可以直接指定其數(shù)據(jù)庫驅(qū)動(dòng)器而不必創(chuàng)建其 ODBC 數(shù)據(jù)源。利用 ADO 對象集合中的Connection對象,來建立和數(shù)據(jù)庫的連接。其相應(yīng)的ASP代碼如下:
<%
varconn;vardbpath;
conn=Server.CreateObject\"(ADODB.Connection\");
dbp=Server.MapPath\"(/ecam。mdb\");
conn. Open \"(Driver={MicrosoftAccessDriver (.mdb)};
DBQ=\"+dbp);
%>
3.2 斷線續(xù)考問題在考試過程中,經(jīng)常會(huì)存在計(jì)算機(jī)斷線、死機(jī)等許多不可預(yù)測的問題,造成考試的中斷,極大地影響了考試的進(jìn)行,斷線是否能續(xù)考是在線考試系統(tǒng)的一個(gè)關(guān)鍵問題??忌5侨肟荚囅到y(tǒng)后,系統(tǒng)抽題組卷成功,生成一個(gè)以“考生+試卷名”的臨時(shí)表供考生解答,記錄考生的答案。如出現(xiàn)斷線問題,考生重新登入后,系統(tǒng)自動(dòng)查找是否存在該生的暫存試卷,如有,則調(diào)出試卷,同時(shí)讀出考生的答卷,供考生繼續(xù)考試??忌?荚嚱Y(jié)束,將這份暫存試卷轉(zhuǎn)為考生的最終試卷,評分并保存。
3.3 隨機(jī)抽題組卷問題可采用回溯試探法進(jìn)行組卷。根據(jù)題型、難度等參數(shù)逐步隨機(jī)抽取試題,同時(shí)記錄下抽取不同類型試題時(shí)產(chǎn)生的每一狀態(tài)類型,當(dāng)搜索失敗時(shí)釋放上次紀(jì)錄的狀態(tài)類型,然后再根據(jù)情況調(diào)整搜索規(guī)則,變換一種新的狀態(tài)類型進(jìn)行試探,通過不斷的回溯試探直到試卷生成完畢或退回出發(fā)點(diǎn)為止,這種有條件的深度優(yōu)先算法,組卷成功率高,效果好。
4 結(jié)束語
在線考試系統(tǒng)利用基于 Web 的軟件實(shí)現(xiàn)方式, 在現(xiàn)有校園網(wǎng)絡(luò)的基礎(chǔ)上,構(gòu)建了性能穩(wěn)定的無紙化考試系統(tǒng),使學(xué)生的報(bào)名、試卷的生成、考試的時(shí)間控制、試卷的批改和成績的發(fā)布和統(tǒng)計(jì)都實(shí)現(xiàn)了自動(dòng)化,為教學(xué)工作節(jié)省了大量人力、物力,有良好的實(shí)用價(jià)值和應(yīng)用前景。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。