摘 要: 針對(duì)當(dāng)前在線考試基于知識(shí)點(diǎn)智能組卷的需求,分析了現(xiàn)有的基于知識(shí)點(diǎn)組卷方案存在的問(wèn)題與不足,提出了一種改進(jìn)的基于知識(shí)點(diǎn)均衡的智能組卷方案。首先介紹了知識(shí)樹(shù)的建構(gòu)方法,然后對(duì)試題庫(kù)結(jié)構(gòu)進(jìn)行了研究與設(shè)計(jì),進(jìn)而具體論述了知識(shí)點(diǎn)均衡策略,最后對(duì)算法的實(shí)現(xiàn)作了整體闡述。
關(guān)鍵詞: 知識(shí)點(diǎn);智能組卷;題庫(kù)結(jié)構(gòu);均衡策略;計(jì)算機(jī)應(yīng)用
計(jì)算機(jī)輔助教學(xué)CAI(Computer Assistant Instruction)是當(dāng)前高等教育的重點(diǎn)工程,在線考試已經(jīng)成為CAI的一個(gè)重要研究課題。智能組卷是在線考試的核心目標(biāo)之一。目前智能組卷算法主要有隨機(jī)抽取法、回溯試探法以及遺傳算法[1]。決定組卷效率和試卷質(zhì)量的主要因素有兩個(gè):一是試題庫(kù)的結(jié)構(gòu);二是組卷算法的設(shè)計(jì)是否合理[2]。隨著在線考試智能組卷需求的提升,人們提出了一些基于知識(shí)點(diǎn)的組卷方案,這些方案在實(shí)際應(yīng)用中取得了一定的效果,但仍存在一些問(wèn)題與不足,歸納起來(lái)主要有:(1)在知識(shí)點(diǎn)的劃分中沒(méi)有明確區(qū)分元知識(shí)點(diǎn)與復(fù)合知識(shí)點(diǎn),組卷時(shí)僅從元知識(shí)點(diǎn)著手,對(duì)于綜合試卷的組卷,容易造成所選擇的多數(shù)試題來(lái)自所屬科目的同一章節(jié)的元知識(shí)點(diǎn),不符合實(shí)際要求;(2)在建立試題庫(kù)結(jié)構(gòu)時(shí)缺乏對(duì)實(shí)際問(wèn)題中題干及答案多樣性的分析處理;(3)沒(méi)有涉及到知識(shí)點(diǎn)出題數(shù)量的平衡策略,如在實(shí)際按章節(jié)范圍組卷中,當(dāng)要求的出題數(shù)目大于或幾倍于限制知識(shí)點(diǎn)的數(shù)目時(shí)的處理策略?;诖?,本文將在知識(shí)點(diǎn)的劃分、試題庫(kù)結(jié)構(gòu)與算法實(shí)現(xiàn)上作一些探討,以期對(duì)今后組卷方案的設(shè)計(jì)與優(yōu)化起到一定的借鑒作用。
1 知識(shí)樹(shù)的構(gòu)建
知識(shí)點(diǎn)是教學(xué)活動(dòng)過(guò)程中傳遞教學(xué)信息的基本單元,包括理論、原理、概念、定義、范例和結(jié)論等[3]。知識(shí)點(diǎn)可以分為元知識(shí)點(diǎn)和復(fù)合知識(shí)點(diǎn),元知識(shí)點(diǎn)是不能再被分割的知識(shí)點(diǎn),復(fù)合知識(shí)點(diǎn)是由若干個(gè)元知識(shí)點(diǎn)或復(fù)合知識(shí)點(diǎn)組成的知識(shí)點(diǎn)。知識(shí)樹(shù)(Knowledge Tree)是知識(shí)點(diǎn)及其關(guān)系的集合,即知識(shí)樹(shù)={知識(shí)點(diǎn)集合,知識(shí)點(diǎn)關(guān)系集合},其中知識(shí)點(diǎn)關(guān)系集合是指知識(shí)點(diǎn)之間的父子關(guān)系集合[4]。根據(jù)知識(shí)體系結(jié)構(gòu),知識(shí)點(diǎn)的劃分一般以教材為基礎(chǔ),采用細(xì)化的思想進(jìn)行。從提高組卷效率的實(shí)際出發(fā),將知識(shí)點(diǎn)按照科目的章節(jié)和內(nèi)容自上而下劃分為3個(gè)層次,構(gòu)建一棵深度為4的知識(shí)樹(shù),如圖1所示。
知識(shí)樹(shù)根結(jié)點(diǎn)為科目名稱,除根結(jié)點(diǎn)之外的所有結(jié)點(diǎn)為各級(jí)知識(shí)點(diǎn),分為一、二、三級(jí)。對(duì)于不同的科目,各級(jí)知識(shí)點(diǎn)可以有不同的表征。一、二級(jí)知識(shí)點(diǎn)可分別表征為相應(yīng)科目的章、節(jié),三級(jí)知識(shí)點(diǎn)可表征為章節(jié)下的元知識(shí)點(diǎn)。一般地,一、二級(jí)知識(shí)點(diǎn)最多下轄20個(gè)左右下級(jí)知識(shí)點(diǎn)。因此,設(shè)定每個(gè)結(jié)點(diǎn)最多可以有26個(gè)孩子結(jié)點(diǎn),用字母A到Z表示。為了便于處理,除根結(jié)點(diǎn)之外的所有結(jié)點(diǎn)統(tǒng)一采用4個(gè)字符編碼,編碼的最后一個(gè)字符為“*”。由于各級(jí)知識(shí)點(diǎn)的孩子結(jié)點(diǎn)數(shù)目存在差異,當(dāng)葉子結(jié)點(diǎn)的層次不足3時(shí),編碼時(shí)在后面追加字符“*”以補(bǔ)足編碼。例如,圖1中二級(jí)知識(shí)點(diǎn)C編碼為AC**,三級(jí)知識(shí)點(diǎn)A編碼為ACA*。
2 試題庫(kù)結(jié)構(gòu)的設(shè)計(jì)
建立合理的試題庫(kù)結(jié)構(gòu)是實(shí)現(xiàn)智能組卷的重要環(huán)節(jié)。為了客觀全面地反映試題固有的特征,試題庫(kù)結(jié)構(gòu)的建立必須綜合考慮以下方面因素:
(1)各類題型格式的多樣性。題型格式的多樣性主要體現(xiàn)在:一部分試題只有1個(gè)問(wèn)題,而另一部分試題則囊括2個(gè)或更多的子問(wèn)題。前者如傳統(tǒng)的單項(xiàng)選擇題、只有1個(gè)空的填空題等;后者如英語(yǔ)試卷的閱讀理解題、含有多個(gè)空的填空題等。
(2)試題答案可能不唯一,并且答案出現(xiàn)位置可能具有不確定性。這種情況主要體現(xiàn)在填空題上。例如有以下試題:“數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)是指數(shù)據(jù)庫(kù)系統(tǒng)是由____、____和____三級(jí)構(gòu)成。”答案是“外模式;內(nèi)模式;模式”,但各答案的位置不確定,具體有A33=6種情況。再如有以下試題:“面向?qū)ο蟮娜筇卣魇莀___、____和____。”答案可以是“封裝性;繼承性;多態(tài)性”,也可以是“封裝;繼承;多態(tài)”,并且各答案位置也不確定。這就明顯為試題庫(kù)的建立增加了難度。
(3)便于智能組卷。建立試題庫(kù)是以智能組卷為出發(fā)點(diǎn),必須為智能組卷提供便利。
綜合上述因素考慮,設(shè)計(jì)試題庫(kù)結(jié)構(gòu)如圖2所示。
試題的屬性有試題ID、題型ID、試題內(nèi)容、試題擴(kuò)展、試題分值、難度等級(jí)、是否試題組、估計(jì)用時(shí)、曝光度、知識(shí)點(diǎn)ID及科目ID。其中,題型包括選擇題、填空題、判斷題與問(wèn)答題。選擇題又包括單選題、多選題和不定項(xiàng)選擇題。計(jì)算題、分析題、設(shè)計(jì)題、敘述題等均可以歸到問(wèn)答題中。試題內(nèi)容和試題擴(kuò)展共同體現(xiàn)整個(gè)試卷完整的試題內(nèi)容。擴(kuò)展內(nèi)容、答案、答案擴(kuò)展作為試題擴(kuò)展的屬性存在。難度等級(jí)包括簡(jiǎn)單、基本、中等、較難、難題5個(gè)級(jí)別,分別用整型常數(shù)1、2、3、4、5表示。是否試題組標(biāo)識(shí)該試題是否囊括兩個(gè)或兩個(gè)以上的子問(wèn)題。曝光度反映了試題被選中使用的次數(shù),曝光度越大說(shuō)明在以往的試卷中該題被考的次數(shù)越多[5]。曝光度設(shè)為整型常數(shù)-1、0、1、2、3、4。組卷時(shí)在曝光度為0到4的試題中選題,對(duì)選中的試題使其曝光度遞增。每次組卷結(jié)束后,修改試題庫(kù)中曝光度為-1與5的試題,曝光度為-1的增加為0,以進(jìn)入下次組卷選題范圍;曝光度為5的重置為-1,避免其下次組卷時(shí)被選中。試題內(nèi)容有文字內(nèi)容和圖形內(nèi)容,相應(yīng)的試題答案也有文字內(nèi)容答案和圖形內(nèi)容答案[6]。在試題庫(kù)中以記錄的形式組織上述的數(shù)據(jù)結(jié)構(gòu)。
3 組卷控制參數(shù)的確立
組卷控制參數(shù)表征組卷的要求,由系統(tǒng)界面人機(jī)交互的方式獲得。本文采用的組卷控制參數(shù)有考試科目、題型、題型的知識(shí)點(diǎn)(可選)、題型的題量、題型的分值分配、題型的時(shí)間分配、試卷平均難度等級(jí)以及試卷允許時(shí)間誤差。
其中,為了滿足實(shí)際中諸如單元試卷、期中試卷、期末試卷、專題試卷等不同形式的組卷需求,設(shè)定題型的知識(shí)點(diǎn)為可選的組卷控制參數(shù)。組卷人員可以根據(jù)實(shí)際需求靈活地指定考試科目相應(yīng)知識(shí)樹(shù)中的一級(jí)知識(shí)點(diǎn)、二級(jí)知識(shí)點(diǎn)、三級(jí)知識(shí)點(diǎn)或它們的任意組合,也可以不指定任何知識(shí)點(diǎn),系統(tǒng)在組卷時(shí)將根據(jù)下文所述的知識(shí)點(diǎn)均衡策略進(jìn)行知識(shí)點(diǎn)均衡。
4 智能組卷方案的實(shí)現(xiàn)
4.1 知識(shí)點(diǎn)均衡策略
為了保證組卷最大限度地趨近真實(shí)效果,知識(shí)點(diǎn)均衡很關(guān)鍵。本文采用如下策略在組卷過(guò)程中對(duì)各題型進(jìn)行知識(shí)點(diǎn)均衡,結(jié)合圖1所示,下面分兩種情況討論:
(1)當(dāng)組卷人員沒(méi)有指定知識(shí)點(diǎn)時(shí),按圖3所示策略實(shí)施。首先遍歷考試科目對(duì)應(yīng)的知識(shí)樹(shù),檢索該科目中一級(jí)知識(shí)點(diǎn)的數(shù)目,然后再依次檢索隸屬于每級(jí)知識(shí)點(diǎn)的下一級(jí)知識(shí)點(diǎn)的數(shù)目,分別存入到數(shù)組中。然后根據(jù)題型的題量確定該題型的各級(jí)目標(biāo)知識(shí)點(diǎn)及相應(yīng)的目標(biāo)題量,步驟如下:
①設(shè)考試科目的一級(jí)知識(shí)點(diǎn)數(shù)目為K1,題型的題量為Q1,首先求得Q1相對(duì)于K1的倍數(shù)M1與余數(shù)R1:M1=Q1/K1;R1=Q1%K1;然后進(jìn)行相應(yīng)的判斷。若M1=0,則在這K1個(gè)一級(jí)知識(shí)點(diǎn)中隨機(jī)選擇R1個(gè)作為目標(biāo)一級(jí)知識(shí)點(diǎn),再分別在以這R1個(gè)目標(biāo)一級(jí)知識(shí)點(diǎn)為根結(jié)點(diǎn)的子樹(shù)的所有葉子結(jié)點(diǎn)中隨機(jī)選擇1個(gè)知識(shí)點(diǎn)作為目標(biāo)三級(jí)知識(shí)點(diǎn),各目標(biāo)題量為1,知識(shí)點(diǎn)均衡結(jié)束;若M1>0,并且R1=0,則這K1個(gè)一級(jí)知識(shí)點(diǎn)均作為目標(biāo)一級(jí)知識(shí)點(diǎn),各目標(biāo)題量為M1;若M1>0,并且R1>0,則這K1個(gè)一級(jí)知識(shí)點(diǎn)仍均作為目標(biāo)一級(jí)知識(shí)點(diǎn),再在目標(biāo)一級(jí)知識(shí)點(diǎn)中隨機(jī)選擇R1個(gè),各目標(biāo)題量為M1+1,剩下的目標(biāo)一級(jí)知識(shí)點(diǎn)的目標(biāo)題量均為M1。
②若步驟①中的“M1>0,并且R1=0”或“M1>0,并且R1>0”成立,用步驟①中同樣的策略逐級(jí)進(jìn)行知識(shí)點(diǎn)均衡。
(2)當(dāng)組卷人員指定知識(shí)點(diǎn)時(shí),按以下策略實(shí)施:
①若組卷人員指定的知識(shí)點(diǎn)既有知識(shí)樹(shù)中的葉子結(jié)點(diǎn)(設(shè)其數(shù)目為X),又有非終端結(jié)點(diǎn),則首先遍歷考試科目對(duì)應(yīng)的知識(shí)樹(shù),檢索以這些非終端結(jié)點(diǎn)為根結(jié)點(diǎn)的子樹(shù)對(duì)應(yīng)的葉子結(jié)點(diǎn)的數(shù)目(設(shè)其總數(shù)目為Y),設(shè)題型的題量為Q,然后求得Q相對(duì)于X+Y的倍數(shù)M:M=Q/(X+Y)。若M=0,則對(duì)于葉子結(jié)點(diǎn)構(gòu)成的目標(biāo)知識(shí)點(diǎn),各目標(biāo)題量為1,對(duì)于非終端結(jié)點(diǎn),分配題量為Q-X,再按(1)中策略進(jìn)行均衡;若M>0,則對(duì)于葉子結(jié)點(diǎn)構(gòu)成的目標(biāo)知識(shí)點(diǎn),各目標(biāo)題量為M;對(duì)于非終端結(jié)點(diǎn),分配題量為Q-M,再按(1)中策略進(jìn)行均衡。
②若組卷人員指定的知識(shí)點(diǎn)全部為知識(shí)點(diǎn)樹(shù)中的葉子結(jié)點(diǎn),仍按(1)中策略進(jìn)行均衡。
4.2 算法描述
經(jīng)過(guò)知識(shí)點(diǎn)均衡之后,組卷控制參數(shù)中的考試科目、題型、題型的知識(shí)點(diǎn)(可選)、題型的題量4項(xiàng)已滿足要求。為了最大限度地滿足所有組卷控制參數(shù)的要求,在組卷過(guò)程中,各題型的選擇順序應(yīng)按平均分值從大到小的順序進(jìn)行,優(yōu)先選擇試題平均分值高的題型。組卷的具體算法如下:
定義general_d表示試卷當(dāng)前實(shí)際難度等級(jí),初值賦為0;question_d表示當(dāng)前選擇的試題的難度等級(jí);direct_d表示難度等級(jí)調(diào)節(jié)方向;定義general_s表示試卷當(dāng)前的總分,初值賦為0;question_s表示當(dāng)前選擇的試題的分值;direct_s表示分值調(diào)節(jié)方向;定義question_t表示當(dāng)前選擇的試題的估計(jì)用時(shí);direct_t表示時(shí)間調(diào)節(jié)方向;各調(diào)節(jié)方向的調(diào)節(jié)規(guī)則均為:取1時(shí)表示向上調(diào)節(jié),取0時(shí)表示向下調(diào)節(jié),取-1時(shí)表示暫時(shí)不調(diào)節(jié)。
(1)對(duì)組卷人員提出的組卷要求進(jìn)行合理性驗(yàn)證。
(2)確定各題型的選擇順序。對(duì)各種題型,比較它們組卷控制參數(shù)中的平均分值(題型的分值分配/題型的題量)的大小,確定其大小順序,該順序即為各題型的選擇順序。
(3)進(jìn)行知識(shí)點(diǎn)均衡。采用上文所述的知識(shí)點(diǎn)均衡策略實(shí)施,確定最終的各目標(biāo)知識(shí)點(diǎn)及目標(biāo)題量。
(4)按照組卷控制參數(shù)與確定的目標(biāo)知識(shí)點(diǎn)及目標(biāo)題量,從試題庫(kù)未選擇的試題中隨機(jī)選題。定義各種題型的已選試題數(shù)組,每選擇一道題,將其試題ID存入相應(yīng)題型的已選試題數(shù)組中,并按以下方法修改或調(diào)整相關(guān)定義的參數(shù)的值[6]:
(5)所有題型的試題選擇完成之后,整體上對(duì)試卷的平均難度等級(jí)、總分和總時(shí)間進(jìn)行核對(duì)及相應(yīng)優(yōu)化調(diào)整。通過(guò)反復(fù)地組卷試驗(yàn)發(fā)現(xiàn),試卷的平均難度等級(jí)基本得到滿足,需要進(jìn)行微調(diào)的一般是總分及總時(shí)間。在保證試題其他屬性不變的情況下,可以采用試題庫(kù)中相應(yīng)的試題替換試卷中個(gè)別試題的辦法進(jìn)行試卷優(yōu)化調(diào)整。
(6)算法結(jié)束。
本文針對(duì)現(xiàn)有的基于知識(shí)點(diǎn)組卷方案存在的問(wèn)題與不足,提出了一種改進(jìn)的基于知識(shí)點(diǎn)均衡的智能組卷方案。通過(guò)多次試驗(yàn),證明了該方案具有較高的有效性和魯棒性。將該方案分別應(yīng)用到學(xué)校針對(duì)在校學(xué)生的在線考試系統(tǒng)與企事業(yè)單位的在線考試系統(tǒng)中,知識(shí)點(diǎn)覆蓋與分布合理,滿足試卷平均難度等級(jí)、分值分配、時(shí)間分配等要求,取得了比較理想的效果。
參考文獻(xiàn)
[1] 王友仁,張砦,施玉霞,等.題庫(kù)系統(tǒng)智能成卷理論和組卷方法研究[J].電子科技大學(xué)學(xué)報(bào),2006,35(3):363-366.
[2] 王雍鈞,黃毓瑜.基于知識(shí)點(diǎn)題型分布和分值的智能組卷算法研究[J].計(jì)算機(jī)應(yīng)用與軟件,2004,21(8):111-113.
[3] 施岳定,張樹(shù)有,項(xiàng)春.網(wǎng)絡(luò)課程中知識(shí)點(diǎn)的表示與關(guān)聯(lián)技術(shù)研究[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2003,37(5):508-511.
[4] 黃萬(wàn)艮.基于知識(shí)樹(shù)的多媒體課件[J].中國(guó)教育信息化,2009(7):56-58.
[5] 林雪明,張鈞良,蔣偉鋼.基于知識(shí)點(diǎn)的試題庫(kù)組卷算法的建立[J].微機(jī)發(fā)展,2001,11(2):77-80.
[6] 周文舉.一種基于知識(shí)點(diǎn)的遺傳算法組卷的改進(jìn)應(yīng)用[J].山東師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,21(3):39-42.