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