?

基于知識結構的自適應測試模型及其應用

2024-01-25 12:51許晴媛
喀什大學學報 2023年6期
關鍵詞:受測者知識結構選題

鄭 瓊,許晴媛

(1.閩南師范大學a.教育與心理學院;b.計算機學院,福建漳州 363000)

0 引言

目前,對課業的評估大多采用所有學習者考同一張試卷的傳統方式.學習者獲得的評估結果僅是分數或排名,對獲得自身當前的知識狀態及缺失的知識點顯得無能為力,僅有少數學習者有機會獲得有經驗的教師人工診斷每道錯題背后缺失的知識點.若利用計算機模擬這個過程,可讓所有學習者隨時隨地獲得這方面的幫助,有利于教育資源公平化,也能減輕教師負擔.要實現不僅能給出測試的分數、還能給出學習者當前的知識狀態及缺失的知識點的計算機自適應測試(Computer adaptive testing,CAT),需要引入新的理論做基礎.而知識空間理論(Knowledge Space Theory,簡稱“KST”)[1]在評估學習者知識結構和能力水平方面極具優勢.本文以知識空間理論為基礎,建立基于知識結構的自適應測試模型.KST是由美國數學心理學家Falmagne 和比利時數學心理學家Doignon 于1985 年提出的用數學的方法對學習者進行知識評價和指導學習的一種數學心理模型.國外已有大量對知識空間理論的研究,并成功將其理論應用于自適應教學系統和測評系統[1-4].

近年來,國外的KST 研究持續有新成果涌現,如:Pasquale 等[5]將GaLo 模型擴展到技能不獨立的情況,并通過一個良級的能力空間來描述技能之間的依賴關系;Heller 等[6]闡述了唯一技能評估的充要條件;Anselmi 等[7]在文中提出了技能評估測試開發的新方法——引入基于能力的測試開發.

國內學者對知識空間理論也開展了一些研究,如:周弦[8]基于傳統的知識空間理論,提出了從知識狀態邊界角度研究自適應測試的選題方法;孫波等[9]將KST 延伸至技能層面,得到了擴展KST 并采用二分法的選題策略;劉艷花等[10]把知識狀態邊界推廣到擴展知識空間理論;周銀鳳等[11]運用形式概念分析的方法尋找學習路徑并進行技能評估;其勒格爾[12]利用KST 的學習診斷模型在“大學計算機基礎”課程中進行實踐研究;楊桃麗等[13-16]對技能背景下的知識空間理論做許多研究.

從國內外文獻研究來看,知識空間理論的研究經過30 多年的發展已趨于成熟,利用知識空間理論實現自適應測試是一種很好的方式,但在應用上還有很多值得探討的方面.首先,現有研究在測試實施前,大多采用先從問題出發建立知識結構再測試的方式.這樣做的弊端是隨著試題數量的增加,試題間關系確定難度大.從學科的角度看,特定學科的試題數量往往繁多,甚至海量.且先由問題建立知識結構,當問題改變時,初始步驟就要重建,這將帶來麻煩.其次,現有研究在測試過程中,通常采用二分法選題的選題策略,該方法偏程序化,不能真正根據測試對象的特征實現個性化.再次,選題方式會影響測試效率.根據受測者當前的知識狀態的選題方法,能符合受測者的特征出題,真正實現個性化.

為了解決以上問題,本文利用知識空間理論,提出了一種基于知識結構的自適應測試模型,設計了該模型的詳細實施步驟.在測試中,選題策略采取了在知識基中找邊界的方法,提升了選題效率.依據該模型,以“數據庫原理與應用”課程中的“SQL 單表查詢”內容為對象,編寫了自適應測試程序,用程序模擬實現了受測者對該領域知識的個性化診斷,并給出其知識結構和能力水平.

1 預備知識

1.1 知識空間理論

知識空間理論的核心概念包括:問題域、知識狀態、知識結構、知識空間和問題之間的推測關系.

問題域是指由一系列問題組成的一個非空有限集Q.

定義1[3]若K是由非空問題域Q的子集構成的集族,且K至少包含?和Q,則稱(Q,K)為知識結構.若K滿足并封閉,即對任意Ki,Kj∈K,有Ki?Kj∈K,則稱(Q,K)為知識空間.K中的元素被稱為知識狀態.

知識狀態是在非空問題域Q={q1,q2,q3,…,qn}中,受測者在理想狀態下所能正確解決的問題的集合,用K表示,其中K?Q.理想狀態是指受測者在沒有受到外界壓力或情緒干擾的情況下,沒有粗心導致的錯誤和僥幸猜對的情況.

在問題域Q明確的情況下,可直接用K表示知識結構.受測者的知識狀態為空集?,表示其對所測問題域的知識一無所知.受測者的知識狀態為全集Q,表示其已全部掌握所測問題域的知識.

定義2[3](Q,K)是一個知識結構,?是定義在Q上的關系:r?q?Kr?Kq,其中r,q∈Q,Kr,Kq?K分別表示包含問題r和q的知識狀態的集合.當滿足r?q時,稱r是q的前提,對應的關系“ ?”稱為推測關系或前提關系.

不與推測關系相沖突的問題集合構成了K的成員.r?q在語義上可以理解為:解決r是解決q的前提;或者說受測者可以正確回答q,那么就能正確回答r.

定義3[8]設問題域Q是非空有限問題集,K是問題域Q上的知識空間.對任意知識狀態K∈K,知識狀態K的鄰居記作N(K),且N(K)={K′∣K′ ∈K,d(K,K′)≤1};知識狀態K與K′之間的距離記作d(K,K′),且d(K,K′)=∣K△K′∣=∣(KK′) ?(K′K)∣;知識狀態K的邊界記作F(K),且F(K)

定義4[2]設F是問題域Q的非空子集族,q∈?F,F中包含q的極小集合稱為元素q的一個原子(atom),知識基B就是Q中所有問題的原子構成的集族.

例1 設有一知識結構(Q,K),K={?,{a},{a,b},{b,c},{a,b,c}}中,知識狀態{b,c} 是元素b的一個原子,同時也是元素c的一個原子;元素b有兩個原子:{a,b} 和{b,c} ;元素a只有一個原子{a} .

一個知識狀態可以是幾個問題的原子,一個問題也可以有多個原子.這些原子不能由其它知識狀態通過并操作來構成,且有限的知識結構中每個問題至少有一個原子.

文獻[17]介紹了知識空間中關于基的基本理論和方法.有限的知識空間必有一個基,且知識空間可由基唯一確定.由文獻[8]我們有如下定理.

定理1知識空間(Q,K)中,F(K)為知識狀態K在知識基B中的邊界,則有:

(1) 對任意問題q?K,如果q∈F(K),當且僅當存在包含q的元素Bq∈B,Bq{q} ?K;

(2) 對任意問題q∈K,如果q∈F(K),當且僅當存在不包含q的元素

例2 設有一知識空間(Q,K),Q={a,b,c},K={?,{a},{c},{b,c},{a,c},{a,b,c}},知識狀態K={a,c} .

由定義4,易求得其知識基B={{a},{c},{b,c}},B中的元素分別為問題a,c,b的原子.由定理1,解得知識狀態K在知識基B中的邊界為:F(K)={a,b,c}.

1.2 基于技能的知識空間理論

基于技能的知識空間理論是知識空間理論引入了技能的擴展[12],原理論中的內容依然有效.基于技能的知識空間理論中有技能域、技能狀態、技能結構、技能空間和技能之間的推測關系等概念,這些概念與原理論類似,主要概念描述如下.

定義5[3]若T是由非空技能集S的子集構成的集族,且T至少包含?和S,則稱(S,T)為技能結構;S稱為技能結構的域(domain),簡稱為技能域,T中的元素稱為技能狀態;若T滿足并封閉,則稱(S,T)為技能空間.

定義6[3](S,T)是一個技能結構,?是定義在S上的關系:s?t?Ts?Tt,其中s,t∈S,Ts,Tt?T分別表示包含問題s,t的技能狀態的集合.當滿足s?t時,稱s是t的前提,對應的關系“ ?”稱為推測關系或前提關系;T的成員是不與推測關系相沖突的技能集合.

知識結構(Q,K)和技能結構(S,T)之間通過技能函數和問題函數相互聯系.對于給定的知識結構與技能結構,以下定義描述了二者之間的聯系.

定義7[9]技能函數γ:Q→22S,γ(q) 表示解決問題q所需的極小技能集合的集族,γ(q) 中的元素也稱為極小技能狀態.

若|γ(q)|=1,表示解決問題q的方法只有一種;若|γ(q)|>1,則表示解決問題q的方法有多種.在建立了技能函數γ的基礎上,再定義技能狀態函數η.

定義8[9]技能狀態函數η:Q→2T,η(q) 表示解決問題q可能的技能狀態集合.

由定義7 和定義8 可知,在給定的技能結構(S,T)中,任意問題q,且| |γ(q)=1 時,η(q) 中所有元素的交集即是γ(q) .

定義9[9]問題函數δ:2S→2Q,并且要求滿足:δ(?)=?,δ(S)=Q.δ(t)表示技能集合t能解決問題的集合.

例3 設有一技能結 構(S,T),S={u,v,w},T={?,{u},{v},{u,v},{u,w},{u,v,w}},問題域Q={1,2,3}技能函數γ(q)的取值分別為γ(1)={{u}},γ(2)={{v}},γ(3)={{u,w}}.

根據定義8,可求得對應的技能狀態函數值分別為

根據定義8,可以求得問題函數:

進而得到知識結構K={?,{1},{2},{1,2},{1,3},{1,2,3}},從而實現了技能結構與知識結構的聯系.

下面闡述基于知識結構的自適應測試模型,并以教育技術學專業課程“數據庫原理與應用”中的“SQL 單表查詢”內容為實驗對象,應用該模型進行自適應測試.

2 基于知識結構的自適應測試模型

基于知識結構的自適應測試模型是對于某個具體的知識領域,利用知識空間理論,建立知識結構并進行自適應測試,并把整個測試過程劃分成不同的步驟.基于知識結構的自適應測試模型包括四個步驟.

2.1 建立技能結構

本文統一把知識點當作技能.對于特定學科領域,雖然題目眾多,但知識點的數量較固定且有限,故選擇從技能開始建立技能結構.學科專家根據測試目標確定技能結構的域,并根據經驗確定技能間的推測關系,由推測關系,建立技能結構(S,T).

2.2 構建知識結構

學科專家根據技能結構的域S,選擇問題構成知識空間的問題域Q;根據經驗和定義7,建立技能函數γ:Q→22S;根據定義8,計算得出技能狀態函數的值η:Q→2T;再根據定義9,求得問題函數δ:2S→2Q;進而構建用于測試的知識結構(Q,K).

下面給出構建知識結構的算法.

算法1 構建知識結構.

輸入:問題域Q,各問題和其前提問題的鍵值對preKps.

輸出: 知識結構KStruct.

步驟1: 計算所有可能的知識狀態AllStateSet.

步驟2:構建知識結構.

(1)KStruct=set()

(2)for KState in AllStateSet:

如果KState 中任意問題如果存在前提問題,且其前提問題都在KState 中,則將該問題加入到KStruct 中;

如果KState 中有問題不存在前提,則將該問題加入到KStruct 中.

步驟3:輸出KStruct.

2.3 實施基于知識結構的自適應測試

建立技能結構和知識結構后就可以進行測試.測試的重點是選題策略,即每次選出哪個問題進行測試.根據受測者當前已掌握知識狀態出題能真正實現個性化.更優的選題策略能兼顧個性化又能盡快的診斷出結果,從而提升測試效率.常用的選題算法是二分法,如文獻[9],該方法偏程序化,不能真正實現個性化.另一種方法是在知識狀態的邊界中選出下一測試問題,如文獻[10],通過計算各當前知識狀態的鄰居(距離≤1),從而得到該知識狀態K的邊界F(K),進而按照規則在F(K)中選擇下一個要進行測試的問題.此法較二分法更能實現“個性化”,但隨著問題數量增多,知識狀態的數量將會成指數增長,此法需要不斷的計算當前知識狀態的鄰居和邊界,將消耗大量的時間和內存,勢必會影響選題效率.而在一個知識空間中,知識基的數量遠小于所有知識狀態的數量.故本文引入知識基的概念,采用在知識基的邊界進行選題的策略來解決這個問題,以實現更高效的個性化測試.

在測試中,判斷受測者是否掌握了某個問題q或極小知識狀態B,B∈B,約定以下規則:

(Ⅰ)掌握了q,則一定掌握了q的至少一個極小知識狀態B;

(Ⅱ)掌握了某個極小知識狀態B,則一定掌握了B中所有的問題;

(Ⅲ)沒有掌握q,則沒有掌握q所有的極小知識狀態,反之亦然.

當受測者正確回答某一問題r時,應用規則(Ⅰ)確定其掌握了r的極小知識狀態K′(如果r有多個極小知識狀態,則隨機選擇一個),反復應用規則(Ⅰ)、(Ⅱ)可以確定受測者掌握了屬于K′的問題和包含于K′的極小知識狀態K″,并令該受測者已掌握問題的集合為當前知識狀態K,進而根據定理1,計算K的邊界F(K),并從F(K)中選取還未掌握的問題出題.

如果受測者錯誤回答某一問題r時,應用規則(Ⅲ)確定其沒有掌握r所有的極小知識狀態,則保持其當前知識狀態K不變,并繼續從F(K)中選取還未掌握的問題出題.

測試結束條件:邊界F(K)中無題可選或F(K)為空.受測者的最終知識狀態為K,計算最終知識狀態K與Q之間的距離d(K,Q)可以確定受測者的能力水平,并轉換為技能狀態.

下面給出基于知識結構的自適應測試中,采用在知識基的邊界進行選題的策略,由受測者某一時刻知識狀態,得到最終知識狀態的測試算法.

算法2 基于知識基邊界選題策略的測試算法.

輸入: 受測者在某時刻的知識狀態temp_KState.

輸出: 測受測者最終掌握的知識狀態.

步驟1: 約定幾個變量.

令Q為問題域,Bk為知識基,KState 為受測者的知識狀態,YcT 為已出題的集合.

步驟2: 定義函數FK(tempKState),其功能是在知識基中求知識狀態的邊界.

步驟3: 在知識基的邊界中選題.

(1)border=FK(temp_KState)#border 為知識狀態在知識基中的邊界.

(2)choicedTp=list(border-temp_KState)#choicedTp 為可選問題.

(3)while choicedTp:

步驟4: 當無題可選或邊界為空時,return KState.

2.4 輸出測試結果

通過技能函數,把受測者的最終知識狀態轉化為對應的技能狀態,計算其與技能域S 的差可得到受測者缺失的技能.自此,基于知識結構的自適應測試已完成,實現了對測試對象能力的評估.

上述基于知識結構的自適應測試模型可用圖1 描述.如圖1 所示,左圖是測試的主要步驟,右圖是選題過程的主要流程.

圖1 基于知識結構的自適應測試模型

3 基于知識結構的自適應測試模型應用

通過“數據庫原理與應用”課程的學習中可知,建立數據庫的目的是存儲數據、查詢和處理分析數據.數據庫查詢是數據庫的核心操作.在學習過程中,獲取學習者對查詢操作的掌握情況,可幫助學習者及時查漏補缺,有利于個性化學習.下面以“SQL 單表查詢”內容為例,闡述基于知識結構的自適應測試模型進行測試的具體實施過程.

3.1 建立技能結構(S1,T1)

由學科專家確定“SQL 單表查詢”內容的知識點,則技能結構的域S1={a,b,c,d,e}中各技能編碼及描述如下:a為select 語句的一般格式,b為查詢表中的若干列,c為查詢表中的若干元組,d為對查詢結果進行排序,e為對查詢結果進行分組.

學科專家根據經驗,定義技能域S1={a,b,c,d,e}中各技能之間如下語義:

(1)若受測者掌握了技能b,那么必掌握了其前提技能a;

(2)若受測者掌握了技能c,那么必掌握了其前提技能a;

(3)若受測者掌握了技能d,那么至少掌握了其前提b,c中的一個;

(4)若受測者掌握了技能e,那么必掌握了其前提技能b.

根據以上語義,由定義6 易得技能域S1={a,b,c,d,e}中各技能的推測關系為:a?b,a?c,b?c?d,b?e.如圖2 所示.

圖2 技能域S1={a,b,c,d,e}中各技能推測關系

根據定義6,符合以上推測關系的技能狀態有12 種,它們構成了技能結構T1={?,{a},{a,b},{a,c},{a,b,c},{a,b,d},{a,b,e},{a,c,d},{a,b,c,d},{a,b,c,e},{a,b,d,e},{a,b,c,d,e}}.自此,建立了技能結構(S1,T1),其哈斯圖如圖3所示.由定義5可知,T1在并上封閉,故(S1,T1)是一個技能空間.

圖3 技能結構(S1,T1)哈斯圖

3.2 構建知識結構(Q1,K1)

下面在“SQL 單表查詢”內容建立技能結構(S1,T1)基礎上構建其對應的知識結構(Q1,K1),具體步驟如下:

第1步 由學科專家根據技能結構(S1,T1),從教材《數據庫系統原理教程(第2 版)》[18]中選出基于“學生-課程”數據庫的查詢題目,構成一個關于“SQL 單表查詢”的問題域Q1={q1,q2,q3,q4,q5},如表1 所示.開放性的問題可一定程度上避免僥幸猜對的情況.

表1 “SQL 單表查詢”的問題域Q1

學科專家根據經驗,給出問題域Q1中各問題之間存在的如下語義:

(1) 若受測者能解決問題q2,那么一定能解決問題q1;

(2) 若受測者能解決問題q3,那么一定能解決問題q1;

(3) 若受測者能解決問題q4,那么至少能解決問題q2,q3中的一個;

(4) 若受測者能解決問題q5,那么一定能解決問題q2.

根據以上語義,由定義2 易得問題域Q1={q1,q2,q3,q4,q5}中各問題的推測關系為:q1?q2,q1?q3,q2?q3?q4,q2?q5..如圖4 所示.

圖4 問題域Q1 上的推測關系?

第2步 由定義7,學科專家依據經驗,對“SQL 單表查詢”內容,給出技能函數γ1:Q1→22S1,取值如下:

根據定義8,在技能函數的基礎上,計算技能狀態函數η1:Q1→2T1的值.由T1={?,{a},{a,b},{a,c},{a,b,c},{a,b,d},{a,b,e},{a,c,d},{a,b,c,d},{a,b,c,e},{a,b,d,e},{a,b,c,d,e}},可以求得對應的技能狀態函數η1值為:

這里需要檢查技能狀態函數η1是否是單射.如果不是單射,即存在不同問題有相同的技能狀態函數值,則根據需要保留其中一個問題,從而保證每一個問題都是可辨識的,滿足|Q1|≤|T1-{?}|.因η1(q1),η1(q2),η1(q3),η1(q4),η1(q5)的值都不同,即問題域Q1中所有的問題是可辨識的.

第3步 由定義9,求解問題函數δ1:2S1→2Q1.我們僅須考慮有意義的元素,即縮小定義域為T1,因此問題函數δ1:T1→2Q1,T1?2S1.對技能結構T1中的每一個技能狀態都進行計算,結果如下:

根據以上計算得出所有問題函數的值,就是知識結構K1的值.故有

由以上方法構建的知識狀態與技能狀態是一一對應的.自此,建立了測試用的知識結構(Q1,K1),其哈斯圖如圖5 所示.由定義1 可知,K1在并上封閉,故(Q1,K1)是一個基于能力的知識空間.

圖5 知識結構(Q1,K1)的哈斯圖

3.3 實施“SQL 單表查詢”內容的自適應測試

由定義4,易得“SQL 單表查詢”內容對應的知識空間K1的知識基B1={q1},{q1,q2},{q1,q3},{q1,q2,q4},{q1,q3,q4},{q1,q2,q5},即B1中各元素分別是問題q1,q2,q3,q4,q5(q4有2 個原子:{q1,q2,q4},{q1,q3,q4})的極小知識狀態.

“SQL 單表查詢”基于知識結構的自適應測試過程闡述如下:

(1) 假定受測者初始知識狀態K=?,初始邊界為?.

(2) 隨機選擇問題域Q1中的一個問題作為初始測試問題.

若受測者對初始問題回答錯誤,則選擇該問題的前提問題再測試.如果一直回答錯誤,直到空集,表示受測者對這個領域的知識一無所知.如果回答正確,按照下述方法繼續測試.

假定初始測試問題是q2,且受測者回答正確,根據基于知識結構的自適應測試規則(Ⅰ)可知其掌握了問題q2的極小知識狀態{q1,q2},分別根據規則(Ⅱ)、(Ⅰ)可知受測者掌握了問題q2,q1以及{q1},此時受測者的知識狀態K1為已掌握問題的集合,即K1={q1,q2}.

(3) 由定理1,解得知識狀態K1={q1,q2}在知識基B1中的邊界為F(K1)={q2,q3,q4,q5}.因為q2已經在其當前知識狀態K1中,故從邊界中任選其它問題q3,q4,q5.不妨選擇q3,若受測者回答正確,根據規則(Ⅰ)可知其掌握了問題q3的極小知識狀態{q1,q3},根據規則(Ⅱ)可知其掌握了問題q1,q3,故受測者的知識狀態被更新為K2={q1,q2,q3}.

(4) 由定理1,解得知識狀態K2={q1,q2,q3}在知識基B1中的邊界為.由于q2q3已經在受測者的知識狀態中,不必重復測試,故在q4,q5中隨機選擇q5,假定受測者回答正確,根據規則(Ⅰ)可知其掌握了問題q5的極小知識狀態{q1,q2,q5},根據規則(Ⅱ)可知其掌握了題目q1,q2,q5,受測者此刻的知識狀態被更新為K3={q1,q2,q3,q5}.

(5) 由定理1,解得知識狀態K3={q1,q2,q3,q5}在知識基B1中的邊界為由于q3已測試過,不必重復測試,故擇問題q4,假定受測者回答錯誤,根據規則(Ⅲ)可知,受測者對于問題q4的兩個極小知識狀態({q1,q2,q4},{q1,q3,q4})均沒有掌握,受測者此刻的知識狀態保持不變,即K4=K3.繼續從F(K3)中選取沒有被掌握的問題出題,而F(K3)中已無題可選,故測試結束.該受測者最終知識狀態為K4={q1,q2,q3,q5}.

測試過程如圖6 所示,圖中描述了由初始試題q2沿箭頭方向依次出題q3,q5,q4的全過程,圓角矩形框內為題目qi對應的極小知識狀態;Ki為受測者在某一時刻的知識狀態;“q2+”表示受測者正確回答問題q2;“q4-”表示受測者錯誤回答問題q4.

圖6 基于知識結構的自適應測試過程

3.4 輸出測試結果

通過技能函數γ1,把受測者最終的知識狀態K4={q1,q2,q3,q5}轉化為對應的技能狀態{a,b,c,e},于是,得到該受測者未掌握的技能是{d} .至此,該受測者本次就“SQL 單表查詢”內容基于知識結構的自適應測試已經完成,并得到了受測者知識結構和能力水平.

4 實驗模擬

下面依據基于知識結構的自適應測試模型,使用Python 編程語言,在算法1、算法2 的基礎上編寫程序.該程序主要功能是實現對“SQL 單表查詢”的自適應測試,受測者通過與程序交互,完成測試,實現對受測者能力水平的快速測試.運行環境為:Intel(R)Core(TM)i7-5500UCPU@2.40GHz 處理器,8GB 內存,64 位Windows7操作系統,Anaconda3,Python3.8.

下面給出兩次模擬實驗演示的具體測試情況.

模擬實驗1 是運行自適應測試程序并模擬受測者作答的一次測試過程,其具體過程如下:

首先,系統隨機出題q3,根據程序提示,模擬受測者輸入的正確答案“select sname,sage from student where sage<20”,程序立即給出作答正確反饋,并計算出當前知識狀態為{q1,q3},邊界為{q2,q3,q4},可選問題為{q2,q4}.繼續出題q4,模擬輸入錯誤答案“>”,程序批改并保持知識狀態不變.繼續出題q2,模擬輸入正確答案“select sno,sname from student”,程序給出作答正確反饋且更新當前知識狀態為{q1,q2,q3},邊界為{q2,q3,q4,q5},因q2,q3已掌握,q4已測試過,不必重新測試,故可選問題為{q5}.繼續出題q5,模擬輸入錯誤答案“<”,程序給出作答錯誤反饋,并保持知識狀態不變.此時,已無題可選,故測試結束.

最后,給出本次測試結果:受測者最終的知識狀態為{q1,q2,q3},已掌握技能為{a,b,c},缺失技能為{d,e}.模擬實驗1 的自適應測試過程如圖7 所示.

圖7 基于知識結構的自適應測試過程實驗模擬1

模擬實驗2 是運行自適應測試程序并模擬受測者作答的再一次的測試過程,如圖8 所示.程序運行后,進入測試環節,依次出題q5,q4,q3,分別模擬受測者給予正確、錯誤、正確的回答,程序依次根據作答情況給出反饋,并迅速得出本次測試結果:測試者最終知識狀態為{q1,q2,q3,q5},已掌握技能為{a,b,c,e},缺失技能為{d}.本次模擬測試結束.

以上兩次模擬實驗驗證了運用本文所提出的基于知識結構的自適應測試模型就“SQL 單表查詢”內容對受測者進行診斷,其可行性、選題算法的有效性和測試的個性化.因此,該模型能夠實現對受測者進行個性化能力診斷.

綜上所述,基于知識結構的自適應測試采用在知識基的邊界中選題的方式,縮小了搜索范圍.隨機選擇初始問題,增強了可操作性,之后每一次選題都取決于受測者當前的知識狀態,且不同測試者其測試過程所需回答問題及其數量因人因時而異.從而實現了真正意義上的個性化測試.

5 總結與展望

本文主要探討了一種基于知識結構的自適應測試模型,并把該模型應用在“SQL 單表查詢”內容,用程序模擬實現了受測者對這部分學習內容的個性化診斷,并給出其知識結構和能力水平.在已有方法的基礎上,本文主要進行了兩個方面的改進:提出從技能而不是從問題入手的順序更符合教學規律也便于實現,易于擴展;采用知識基的邊界選題節省了大量計算鄰居的開銷,能更好地實現快速個性化診斷.除了測試功能,未來可以擴展到個性化學習資源推送和生成可視化學習分析報告等方面.問題域Q 的各成員可以擴展到一類問題,每一類由多個問題組成.每次抽取某一類中的一題組成問題域.這樣可以達到不同的受測者使用不同問題,或者同一測試者多次測試而問題不同.

猜你喜歡
受測者知識結構選題
怒氣沖沖 或因睡不好
把握核心概念 優化知識結構
新媒體科研環境下自發式科研協同行為機制研究
投射技術在人才選拔中的應用解析
本刊誠征“獨唱團”選題
我國正當防衛研究的網絡知識結構與核心脈絡
談詩詞的選題
本刊誠征“獨唱團”選題
本刊誠征“獨唱團”選題
概率統計知識結構與方法拓展
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合