李強 王彬彬 陳磊 馮輝



摘要:針對個性化試題推薦系統中,未標注知識點試題的推薦精度欠佳問題,提出了一種基于認知診斷的兩階段試題推薦方法。第一階段由專家篩選出學習單元中的典型試題并進行知識點標注,運用認知診斷模型,量化得出學生的知識掌握狀態。第二階段基于學生的知識掌握狀態,計算學生之間的知識含蓋關系,并基于含蓋關系對未標注試題進行個性化推薦。實驗表明,文章提出的試題推薦方法,推薦試題的平均作答正確率達到了90%,平均試題超綱率低于10%,顯著優于現有的基于kNN和矩陣分解的協同過濾推薦方法。
關鍵詞: 試題推薦; 認知診斷; DINA; 試題標注; 認知狀態
中圖分類號:TP391.3? ? ? 文獻標識碼:A
文章編號:1009-3044(2023)13-0025-04
開放科學(資源服務)標識碼(OSID)
0 引言
隨著互聯網發展,在線教育獲得了大規模的普及[1-4]。線上學習與答題成為學生自我檢測、自我提升的主要途徑之一[1,5-9]。依據學生的學習進度和知識掌握狀態,進行精準的個性化試題推送,可以有效地幫助學生鞏固知識,深度思考。經過數年的積累,現已產生了海量試題資源[10],這些試題資源又關聯了數以萬計的知識點[11],傳統的通過人工選題的方式,不僅費時費力,而且很難依據學生的學習進度和知識掌握狀態進行個性化推薦。
近年來,不少學者將認知診斷模型和推薦系統應用到學生的個性化試題推薦中[4-9],取得了不錯的推薦效果。但是在模型應用時,需要人工對海量的試題數據提前進行知識點標注,這一標注過程費時費力,且對于新的未標注的試題無法有效推薦。針對以上問題,本文提出了一種新的方法,該方法首先基于少量的標注試題估計出學生的認知狀態,然后依據學生的認知狀態找到存在知識含蓋關系的學生,之后找出這些學生在歷史未標注試題上的答題數據,過濾出回答正確率高的試題,進而向學生進行個性化試題推薦。通過本文提出的方法,可以有效地降低人工標注成本,提升未標注試題的推薦精度和效率。
1 兩階段試題推薦算法
基于認知診斷模型的個性化試題推薦算法包含兩個階段。第一階段,由教師選出典型試題,并進行知識點標注,依據學生在典型試題上的答題結果,運用認知診斷模型估計出學生量化的知識掌握狀態。第二階段依據學生的知識掌握狀態找到相似的學生,依據相似學生的歷史答題數據(答題時間、答題結果等),進行個性化試題推薦。
1.1 認知狀態估計
認知診斷模型旨在量化學生的認知狀態,近年來獲得了廣泛的應用。其中DINA認知診斷模型,因其簡潔性和可解釋性成為學者們研究的熱點[12-15]。DINA認知診斷模型基于學生的答題結果和試題知識點關聯矩陣進行建模,通過EM、MCMC等方法進行參數估計,進而獲得學生量化的認知狀態和試題參數信息。在DINA模型中,用離散的二分向量來表示學生認知狀態,如[αi=[1,0,1,1,0]]表示學生[i]在五個知識點上的掌握狀態,其中1表示學生掌握了對應的知識點,反之,0表示學生未掌握對應的知識點。在運用DINA認知診斷模型前,需要提前獲知學生在試題上的答題結果以及試題與知識點的關聯關系。通常用矩陣[X]來表示[N]個學生在[M]道試題上的答題結果,矩陣中的元素[xi,j]表示學生[i]在試題[j]的答題結果,如果[xi,j=1]表示學生[i]答對了試題[j],反之,[xi,j=0]表示學生回答錯誤。用矩陣[Q]來表示[M]道試題與[K]個知識的關聯關系,矩陣中的元素[qj,k]表試題[j]與知識點[k]的關聯關系,[qj,k=1]表示答對試題[j]需要掌握知識點[k],反之[qj,k=0]表示試題[j]與知識點[k]無關。DINA模型的目標是最小化預測答題結果與真實答題結果之間的誤差,來估計出學生量化的認知狀態[α]。理想情況下,預測的答題結果[zi,j]計算方式如下:
[zi,j=k=1Kαi,kqj,k] (1)
其中[zi,j]表示理想情況下學生[i]能否答對試題[j],[αi,k]表示學生[i]是否掌握了知識點[k],[qj,k]表示試題[j]是否涉及知識點[k]。DINA模型中還引入了試題失誤率[s]和試題猜對率[g]來模擬真實答題場景。引入試題失誤率和猜對率后,學生[i]在試題[j]上的答對概率[pi,j]可以表示為:
[pi,j=1-sjzi,jgj1-zi,j] (2)
得出答對概率[pi,j]后,便可以依據目標函數對學生的認知狀態進行估計了。
[α=minα,s,gFP,X] (3)
由DINA模型的定義可以看出,在認知診斷前,需要先標注出試題與知識點的關聯關系。然而當前試題資源已非常龐大,標注過程需要耗費大量的人力物力,普通的教育組織和機構很難完成這項工作,而且新的試題仍然在逐年遞增,因此很難實時全面地對試題數據進行標注。
針對這一問題,本文提出了一種基于部分試題的認知診斷方法。首先針對每個學習單元,由專家抽取出少量典型試題,然后通過人工方式對典型試題進行知識點標注,之后進行完備度測量,確保這些試題能夠均勻覆蓋學習單元中涉及的全部知識點。
經過認知診斷模型評估,得出學生量化的認知狀態后,便可以依據學生的認知狀態進行后續的試題推薦了。
1.2 個性化試題推薦
針對現有推薦系統在未標注試題上的推薦精度欠佳問題,本文提出了一種基于學生知識含蓋關系的試題推薦方法。若學生[u]掌握了學生[v]所掌握的所有知識點,則稱學生[u]在認知狀態含蓋學生[v],用[cu,v=1]來表示。比如學生[u]的認知狀態為[αu=1,1,1,1,0],學生[v]的認知狀態為[αv=1,1,1,0,0],其中學生[u]掌握了前四個知識點,而學生[v]只掌握了前三個知識點,此時學生[u]掌握了學生[v]所掌握的所有知識點,因此[cu,v=1],即學生[u]在認知狀態上含蓋學生[v]。注意含蓋關系是不可逆的,[cu,v=1]并不代表[cv,u=1],但如果兩個學生的認知狀態完全相同,則這兩名學生在認知狀態上互相含蓋。針對有含蓋關系的學生,學生間的含蓋度計算方法可以表示為:
[ru,v=k=1Kαu,k-αv,k] (4)
其中[ru,v]表示學生[u]對學生[v]的認知含蓋度,顯然[ru,v]越大代表學生[u]相對于學生[v]掌握的知識點越多。針對沒有含蓋關系的學生,令其含蓋度為[-1]。依據兩兩學生的認知含蓋度便可以得出含蓋度矩陣[R]。
[R=r1,1…r1,N???rN,1…rN,N]? ? ? (5)
矩陣[R]的第[u]行代表學生[u]對其他學生的認知含蓋度,比如[ru,*=[1,2,0,-1,…]]表示學生[u]相對于前三個學生的認知含蓋度分別為1、2、0,即學生[u]在認知狀態上含蓋前三個學生,同時比這三個學生分別多掌握了一個、兩個和零個知識點。但對于第四個學生,學生[u]對其認知含蓋度為-1,代表學生[u]在認知狀態上并不含蓋學生四。
矩陣[R]的第[v]列代表其他學生對學生[v]的含蓋度。比如[r*,v=[2,0,1,-1,…]]表示前三個學生在認知狀態上含蓋了學生[v],且分別比學生[v]多掌握了兩個、零個和一個知識點。第四個學生對學生[v]的認知含蓋度為-1,表示第四個學生在認知狀態上并不含蓋學生[v]。
在進行試題推薦時,需要確保推薦試題關聯的知識點學生均已掌握。因此針對學生[u],需要遍歷含蓋度矩陣[R]的第[u]行,并找到[ru,*≥0]的學生,并按含蓋度從小到大對找到的學生進行排序,找出這些學生答對率較高的試題,去重后依次進行推薦。試題推薦的詳細流程如算法1所示。
[算法1:個性化試題推薦算法 輸入:待推薦試題的學生編號[u],待推薦的試題數量[c],所有學生答題記錄[X],認知含蓋矩陣[R]
輸出:為學生[u]推薦的試題列表 1. 初始化學生[u]認知含蓋的學生列表stus
2. For i=0; i 3. ? If [ru,i≥0] and [i ≠u]: 4. ? ? stus.append([i]) 5. ? End If 6. End For 7. stus = sort(stus) 8. questions = [X[stus]] 9. correct = mean(questions) 10. rec_qus_idxs = argsort(correct)[::-1] 11. return rec_qus_idxs[:c] ] 算法1包含四個輸入,分別是待推薦試題的學生編號[u],待推薦的試題數量[c],學生答題記錄[X]和認知含蓋矩陣[R]。其中[X]為去除已標注試題外的所有學生答題歷史記錄。 算法輸出為學生[u]推薦的試題列表。 算法的第1行為初始化學生[u]認知含蓋的學生列表,第2到第6行為尋找學生[u]認知含蓋的學生,并將學生加入學生列表中。第7行為通過認知含蓋度從小到大對學生列表進行排序。第8行為依據排好序的學生列表獲取其對應的歷史答題記錄。第9行為計算答題記錄中各題的平均正確率。第10行為對正確率從大到小進行排序(逆序),并獲取排序后的試題編號。第11行獲取正確率最高的指定數量試題,并返回給系統進行推薦。 通過以上算法,可以依據學生在典型試題上評估出的認知狀態,對未標注的試題數據進行個性化試題推薦,從而達到推薦時既可以考量學生學習進度和知識狀態,又可以減少試題標注工作量的效果。 2 實驗與分析 2.1 實驗數據 實驗采用的數據集為廣泛使用的分數減法數據集[15-20]。該數據集包含536名學生在20道試題上的真實答題數據,試題共涉及8個知識點,已由專家提前完成標注。 實驗中將試題數據分成兩部分,其中10題用于認知狀態評估,另外10題用于個性化推薦。表1給出了兩類試題的索引編號。 2.2 評價指標 為了衡量本文提出的方法是否有助于鞏固學生所需知識,加深學生的理解,本文采用學生在推薦試題上的作答正確率來驗證方法的可行性。同時為了防止推薦試題涉及的知識點超出了學生掌握范圍,本文還會計算試題超綱率來衡量推薦試題的質量。 假定給學生推薦的試題集合為[Φ={φ1,φ2,...,φN}],[φi]表示為學生[i]推薦的試題集合。則作答正確率的計算方法如式(6)所示: [precision=i=1Nj∈φiXi,ji=1Nφi ] (6) 其中[j∈φiXi,j]表示學生[i]在推薦試題中答對的題數,[φi]表示給學生[i]推薦的題目數。顯然[precision]的值越大,代表推薦的試題作答正確率越高,越有助于學生進行知識鞏固和提升。 試題超綱率是指超出學生認知范圍的推薦試題占比。試題中涉及的知識點超出學生的掌握范圍,則認為試題超綱,用指示函數[I(i,j)]來表示試題是否超綱。 [Ii,j=1? ? ?,k=1Kqj,k1-αi,k>00,? ? ?k=1Kqj,k1-αi,k=0] (7) 上式中[qj,k1-αi,k=1],則表示試題中包含了學生未掌握的知識點。 依據指示函數[I(i,j)]便可以計算出推薦試題的超綱率。 [ext=i=1Nj∈φiIi,ji=1Nφi ] (8) 其中[j∈φiIi,j]表示推薦給學生[i],但超出學生[i]知識范圍的試題數。顯然[ext]值越小,表示超綱的試題越少,推薦的試題質量越高。 2.3 算法對比 為了驗證本文提出的方法相對于傳統方法的推薦效果,本文將與基于kNN和基于矩陣分解的協同過濾方法進行對比。 kNN協同過濾方法依據答題結果計算學生之間的相似性,找到k個最相似的學生,過濾出這些學生答對的試題,從而完成個性化試題推薦。 矩陣分解協同過濾方法通過對學生答題結果進行矩陣分解,得出學生特征和試題特征,依據學生特征計算學生相似性,找出相似學生答對的試題,并進行互相推薦。 2.4 結果分析 圖1給出了三種推薦方法在作答正確率指標上的對比結果。其中橫坐標為向每個學生推薦的最大試題數,縱坐標為所有學生平均作答正確率??梢钥闯霰疚奶岢龅耐扑]方法(COG),無論向學生推薦2題、3題還是4題,推薦試題的作答正確率均在90%以上。 圖2給出了三種推薦方法在試題超綱率指標上的對比結果。其中橫坐標為向每個學生推薦的最大試題數,縱坐標為推薦試題中超綱試題的占比??梢钥闯霰疚奶岢龅耐扑]方法(COG) 在試題超綱率上均低于10%。 3 結束語 基于學生學習進度和知識掌握狀態進行個性化試題推薦,可以有效地提升學生的學習效率。針對海量的未標注試題推薦精度欠佳的問題,本文提出了基于認知診斷的兩階段試題推薦方法。既可以基于學生現有的知識水平,又可以有效地解決未標注試題的推薦效率問題?;诠_數據集的實驗表明,本文提出的方法推薦試題的平均答對率超過了90%,試題超綱率低于10%,驗證了方法的有效性。 參考文獻: [1] 陳恩紅,劉淇,王士進,等.面向智能教育的自適應學習關鍵技術與應用[J].智能系統學報,2021,16(5):885-898. [2] 中國互聯網絡信息中心.第50次中國互聯網絡發展狀況統計報告[EB/OL]. https://www.xdyanbao.com/doc/b9npm6ky5s?bd_vid=12305363540120140075. [3] 管佳,李奇濤.中國在線教育發展現狀、趨勢及經驗借鑒[J].中國電化教育,2014(8):62-66. [4] Wang F,Liu Q,Chen E H,et al.Neural cognitive diagnosis for intelligent education systems[J].Proceedings of the AAAI Conference on Artificial Intelligence,2020,34(4):6153-6161. [5] 齊斌,鄒紅霞,王宇,等.基于協同過濾和認知診斷的試題推薦方法[J].計算機科學,2019,46(11):235-240. [6] Zhuang Y,Liu Q,Huang Z Y,et al.A robust computerized adaptive testing approach in educational question retrieval[C]//Proceedings of the 45th International ACM SIGIR Conference on Research and Development in Information Retrieval.July 11 - 15,2022,Madrid,Spain.New York:ACM,2022:416-426. [7] 熊慧君,宋一凡,張鵬,等.基于深度自編碼器和二次協同過濾的個性化試題推薦方法[J].計算機科學,2019,46(S11):172-177. [8] Zhuang Y,Liu Q,Huang Z Y,et al.Fully adaptive framework:neural computerized adaptive testing for online education[J].Proceedings of the AAAI Conference on Artificial Intelligence,2022,36(4):4734-4742. [9] 朱天宇,黃振亞,陳恩紅,等.基于認知診斷的個性化試題推薦方法[J].計算機學報,2017,40(1):176-191. [10] 劉鐵園,陳威,常亮,等.基于深度學習的知識追蹤研究進展[J].計算機研究與發展,2022,59(1):81-104. [11] 崔煒,薛鎮.松鼠AI智適應學習系統[J].機器人產業,2019(4):84-94. [12] Tong S W,Liu J Y,Hong Y T,et al.Incremental cognitive diagnosis for intelligent education[C]//Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining.August 14 - 18,2022,Washington DC,USA.New York:ACM,2022:1760-1770. [13] 汪文義,鄭娟娟,宋麗紅,等.認知診斷模型參數估計算法比較[J].江西師范大學學報(自然科學版),2022,46(3):291-299. [14] Ma W C,Torre J.An empirical Q-matrix validation method for the sequential generalizedDINA model[J].British Journal of Mathematical and Statistical Psychology,2020,73(1):142-163. [15] 王超,劉淇,陳恩紅,等.面向大規模認知診斷的DINA模型快速計算方法研究[J].電子學報,2018,46(5):1047-1055. [16] Culpepper S A.Estimating the cognitive diagnosis(\varvec{Q}\) matrix with expert knowledge:application to the fraction-subtraction dataset[J].Psychometrika,2019,84(2):333-357. [17] DeCarlo L T.On the analysis of fraction subtraction data:the DINA model,classification,latent class sizes,and the Q-matrix[J].Applied Psychological Measurement,2011,35(1):8-26. [18] de la Torre J,Douglas J A.Model evaluation and multiple strategies in cognitive diagnosis:an analysis of fraction subtraction data[J].Psychometrika,2008,73(4):595-624. [19] Terzi R,Sen S.A nondiagnostic assessment for diagnostic purposes:q-matrix validation and item-based model fit evaluation for the TIMSS 2011 assessment[J].SAGE Open,2019,9(1):2158 24401983268. [20] 汪文義,宋麗紅,丁樹良,等.非參數認知診斷方法下診斷結果的概率化表征[J].心理科學,2021,44(5):1249-1258. 【通聯編輯:李雅琪】