孫麗娜
摘要:本文分析了在無紙化考試中自動組卷的方法,對于試題庫的準備定義了一定的原則和要求,將用Word錄入的試題庫進行了轉換,使之成為Visual FoxPro環境下的試題庫表結構,并對該表構造了自動組卷的算法,最后給出了一種從試題庫表中隨機抽出試題生成試卷庫的Vsiual FoxPro程序。
關鍵詞:Visual FoxPro;試題庫;計算機組卷;試卷庫
1關于無紙考試
隨著計算機的普及和計算機技術的發展,一個新的考試形式--無紙化考試的形成已經成為趨勢。在計算機上實現考試功能,對于我們有著重要的意義。無紙化考試系統與傳統考試方式相比,其效率的提高是十分顯著的。因此無紙化考試已經受到了各類考試的青睞,從國家級考試的計算機等級考試、職稱計算機考試、省計算機二級考試到各省計算機的會考以及各行業、各學校的遠程考試,這些無紙化考試既確保了考試的公平、公正,又大大提高了考試的效益、效率,同時降低了考試閱卷的人為因素。然而在這類考試中試卷的滿意率并不高,試題重復、知識點重復或知識點遺漏、試卷覆蓋面太窄等現象時有發生,為此,下面結合本人在實踐中的體會,給出一種用Visual FoxPro實現的計算機自動組卷的方法和技術。
2 自動組卷方法
通過對現有無紙化考試系統分析,本人認為:要完成自動組卷,必須認真做好試題庫的準備。即嚴格把握試題庫的內容和表現形式,這一基礎工作做好后,接著將其轉入到Visual FoxPro數據表中,最后通過計算機程序進行若干試卷的生成。
2.1 題庫的準備工作
試題庫的準備就是將按考試大綱知識點所命的試題,通過文字處理軟件錄入計算機中。為便于計算機自動組卷,每一試題除保證準確無誤外,還必須另設一特征碼,特征碼中包含試題所屬章節號、順序號、難易程度、題型、分值等。設定每一部分用2位表示,那么040506030201這一特征碼則代表第4章第5節的第6個題、難易程度為3、題型為2、分值為1分的一個試題。通過特征碼可將非結構化題庫轉換成結構化題庫。命題時還要注意,題庫中不能有完全相同的試題,當一道試題包含多個知識點時,應將該題歸入考核關鍵知識點所在章節中。總之要確保試題惟一、試題內容與特征碼所代表的含義要一致。試題錄入修改可用Word完成,錄入時注意一個試題未錄完不要按回車鍵,每試題可按特征碼、題干、答案或特征碼、題干、答案、選擇題選項的順序錄入。錄入時可按特征碼從小到大順序錄入,也可隨機錄入。
要提高試題庫的質與量,庫中試題既能有效涵蓋課程的知識點,又要對重點部分有所側重。針對試題指標不同,分別配以一定數量的試題,使同樣指標試題的可選度大些。適當增加小分值的試題,使分數要求乃至卷面總分值能順利匹配成功。試題的各項指標值應有內在聯系,需準確把握,如每一試題的分值、難度系數及參考答題時間等應對應,以便控制試卷的難度及答卷的時間等。高質量的題庫至少應體現在兩個方面:其一,庫中試題是否能合理涵蓋該課程的內容和知識點,且對重點部分有所側重;其二,為組卷需要而對庫中試題所制定的指標體系是否科學合理。
2.2 題庫數據表的生成
經Word等文字處理軟件錄入的試題,其文檔結構為非結構化的,為了能在VFP中進行處理,先將試題庫的Word文檔格式轉換成VFP中能接受的文本格式,再將文本格式的試題庫變換成數據表形式,經過二次變換后的題庫數據表具有由若干行和若干列組成的二維表結構,事實上,每行代表一試題,每列代表每試題的特征碼、題干、答案或特征碼、題干、答案、選擇題選擇項等。
2.3 自動組卷算法
通過初始化工作產生空試卷庫表、獲取試題庫表的參數(如每章每節試題數、每章節不同類型試題數)。組卷要求中輸入:卷面總分、各章節分值分布、卷面所含不同題型數目、組卷套數M等。選題策略:每章每種題型個數在組卷要求可行情況下,均勻地從各章中隨機抽題。選題組卷是試題庫自動組卷的核心部分之一,系統進行組卷的方式方法是題庫系統自動生成有效(對測驗目標來說)試卷的關鍵。在自動組卷系統中,用戶僅僅提供試卷總分,試題總量,試卷難度,考試范圍或知識點,題型及比例等參數,如何合理的分配不同難度下試題的數量是組卷算法中需要解決的問題。常用的組卷算法有三種:
隨機選取法:根據狀態空間的控制指標,由計算機隨機的抽取一道試題放入試題庫,此過程不斷重復,直到組卷完畢,或已無法從題庫中抽取滿足控制指標的試題為止。
回溯試探法:這是將隨機選取法產生的每一狀態類型紀錄下來,當搜索失敗時釋放上次紀錄的狀態類型,然后再依據一定的規律(正是這種規律破壞了選取試題的隨機性)變換一種新的狀態類型進行試探,通過不斷的回溯試探直到試卷生成完畢或退回出發點為止。
遺傳算法:是一種并行的、能夠有效優化的算法,模擬達爾文的自然界遺傳學。運用遺傳算法求解問題首先需將所要求解的問題表示成二進制編碼,然后根據環境進行基本的操作:selection,crossover,mutation……這樣進行不斷的所謂"生存選擇",最后收斂到一個最適應環境條件的個體上,得到問題的最優解。
隨機組卷策略是常用的組卷策略。
3 實現技術
3.1 Word文檔與VFP表的相互轉換
Word文檔轉換為VFP表:先將Word文檔的試題庫變成文本格式,再使用VFP中的"APPEND FROM 文本文件名 TYPE格式類型"命令將文本格式中的數據轉入事先建好的空數據表。
VFP表格式的試卷轉換成Word文檔:組卷生成的的試卷庫表,若需要編輯打印,可用VFP中的"COPY TO 文本文件名TYPE格式類型"命令轉換成文本格式,再將其選定后復制到Word文檔中。
3.2 隨機組卷實例
已知,試題庫中有80道試題,分成5種類型,每種類型有16個題,現要從每種類型題中隨機抽取1道題生成10份試卷,即每份試卷由試題庫中的5道題組成;設試題庫表名為ST.DBF,將要生成的10份試卷的試卷庫表名分別為SJ0.DBF、SJ1.DBF、……、SJ9.DBF,各表的結構相同,字段數均為6。用Visual FoxPro設計的程序如下:
set talk off
clear
select 2
use ST
dime temp(6)
For N=0 TO 9
FN=STR(N,1)
Copy stru to SJ&FN
Select 1
Use SJ&FN
For j=1 to 5
R=(j-1)*16 1 int(rand()*16)
Select 2
Go R
Scat to s
Select 1
Appe blan
Gath from S
Next
Next
Close ALL
Return
4 結束語
本文闡述了無紙化考試中試卷自動生成的方法和技術,其方法改善了組卷效率、節省了大量人力、確保了試卷的覆蓋范圍和準確性、有利用于題庫的及時更新和維護,且組卷生成的試卷庫數據表可供各開發工具導入使用。但將Word格式的試題庫轉換到VFP數據表中的方法還有待進一步探討和改進。