鄭浩東,馬 華,謝穎超,唐文勝
(湖南師范大學 信息科學與工程學院,長沙 410081)
在線教育的快速普及和發展為學生提供了豐富的學習資源,但也帶來了信息迷航問題[1]。一個解決辦法是根據學生的認知狀態進行資源推薦[2],如何診斷學生的認知狀態,成為個性化在線教育的關鍵問題[2-4]。
知識追蹤(Knowledge Tracing,KT)能根據學生的歷史學習數據實時追蹤他的認知狀態,并預測學生回答下一道習題時的表現。傳統的知識追蹤模型主要有基于隱馬爾可夫模型的貝葉斯知識追蹤(Bayesian Knowledge Tracking,BKT)和基于邏輯回歸模型的可加性因素知識追蹤模型[5]。經典BKT 通過學生對某個知識點的初始掌握程度P(L0)、從不會到學會的概率P(T)、不知道某知識點但是猜對的概率P(G)和知道某知識點但是答錯的概率P(S)四個參數建模學生的認知狀態。在BKT[6]的 基礎上,Yudelson 等[7]提出個性 化BKT 方法,根據學生的知識點作答情況分別計算學生從不會到學會的概率,考慮了學生間學習能力差異的問題。黃詩雯等[8]在BKT 的基礎上加入遺忘概率P(F),提出BF-BKT(Behavior-Forgetting Bayesian Knowledge Tracking),考慮了遺忘行為對學生認知狀態的影響,提高了模型預測準確度。
以上方法基于傳統模型分別從學生的認知狀態、認知狀態與遺忘因素混合的角度進行了知識追蹤的研究,但在遺忘因素方面僅考慮了單一的遺忘概率特征。對影響學生遺忘行為的更多因素進行建模分析,有利于捕獲學生認知狀態出現的偏差,提高學生成績預測結果的準確度。
近年來,學者將深度學習用于知識追蹤,充分挖掘學生答題序列數據中的潛在信息,追蹤學生的認知狀態,實驗結果優于傳統方法。典型的深度知識追蹤(Deep Knowledge Tracing,DKT)模型[9]通過長短期記憶(Long Short-Term Memory,LSTM)[10]挖掘答題數據中隱藏的有效信息,預測學生未來的答題情況。融合注意力機制的時間卷積知識追蹤模型[11]針對DKT 存在的可解釋性不足的問題,用注意力機制識別學生歷史交互對每一時刻知識狀態的影響程度,然后采用時間卷積網絡提取學生動態變化的知識狀態。動態鍵-值對記憶網絡(Dynamic Key-Value Memory Network,DKVMN)[12]借鑒DKT 的核心思想,改用一個靜態矩陣key存儲所有知識點,用動態矩陣value存儲并更新學生的知識狀態,通過計算試題和知識點間的相關權重預測學生在新試題上的答題表現。Abdelrahman 等[13]利用注意力機制著重考查學生作答相似習題時的答題歷史,改進了DKVMN。以上模型在刻畫學生學習行為時忽略了遺忘行為的影響,LFKT(Learning and Forgetting behavior modeling for Knowledge Tracing)[14]在DKVMN 基礎上,結合艾賓浩斯遺忘曲線理論[15-16],用學生重復學習知識點的間隔時間、重復學習知識點的次數、順序學習間隔時間以及學生的知識點原始掌握程度這四個參數建模學生的遺忘行為,提升了預測精度。
以上方法基于深度學習模型分別從LSTM、記憶網絡和注意力機制等角度進行了知識追蹤的研究。其中,LFKT 模型考慮了四種影響遺忘行為的因素對學生的答題過程進行建模,提升了模型預測學生未來表現的準確度,然而,這些研究尚未建模知識點間的關系。實際上,試題考查的多個知識點可以表示為一張有向圖,并且知識點間存在多種不同的層次或順序關系。基于此,有學者提出了基于圖神經網絡(Graph Neural Network,GNN)的知識追蹤模型。
GNN 是一種能對圖結構數據進行操作的神經網絡,圖是一種數據結構,分別將對象和它的關系表示為節點和邊。近年來,GNN 通過學習圖結構數據,在節點分類、邊信息傳播和圖聚類等任務上均取得顯著效果。事實上,課程作業的知識點間相互關聯。因此,Nakagawa 等[17]從數據結構角度出發,提出基于GNN 的知識追蹤GKT(Graph-based Knowledge Tracing)模型。GKT 通過圖的節點和邊分別描述知識點和知識點間的關系,將知識追蹤定義為GNN 中的時間序列節點及分類問題,采用GNN 建模學生的認知狀態。實驗結果表明,在不需要增加額外信息的條件下,GKT 模型可獲得更好的預測精度,然而,該模型未考慮學生的遺忘行為和不同時刻作答相同知識點的時序特征對預測結果的影響。
綜上,本文提出一種融合遺忘因素與記憶門的圖神經網絡追蹤(GKT blending with Forgetting factors and Memory gate,GKT-FM)模型,結合認知同化理論[18]建模學生學習過程中的遺忘行為,引入記憶門結構完善GKT 模型對答題序列中時序特征的建模方式,重構GNN 的更新過程,預測學生未來的答題表現。GKT-FM 模型的主要特點如下:
1)結合艾賓浩斯遺忘曲線理論[15-16]和認知同化理論[18],將影響遺忘行為的特征擴充至7 個,包括重復學習知識點的次數、學生重復學習知識點的間隔時間、順序學習間隔時間、學生要求提示的次數、學生答題前的行為、知識點作答正確率和學生的知識點原始掌握程度,更精確地刻畫遺忘行為。
2)鑒于相鄰測試時刻的不同習題可能存在相同的知識點,而學生的知識掌握程度與這些知識點間存在潛在的關聯關系,本文在GKT 的基礎上,構建記憶門結構,捕獲學生作答習題過程中不同習題包含相同知識點的時序特征對預測結果的影響,更準確地預測學生未來的答題表現。
知識追蹤旨在根據學生的歷史學習數據實時追蹤學生的認知狀態,并預測學生未來答題時的表現。給定一個學生的歷史學習交互序列x0,x1,…,xt,預測下一次交互xt+1時,學生答對題目qt+1的概率。xt={(q1,a1),(q2,a2),…,(qt,at)},其中:qt表示t時刻學生作答的題目編號;at表示學生對于qt的答題結果,答對用1 表示,答錯用0 表示。
教育心理學領域的學者們發現人類的遺忘行為會對記憶產生影響,艾賓浩斯遺忘曲線理論[15-16]表明,學生所學的知識會發生遺忘,遺忘會導致學生的知識掌握程度下降。認知同化理論[18]認為學生對于新知識的掌握程度以原有的知識掌握程度為基礎,原有知識掌握得越牢固,學習新知識就越容易。現有基于深度學習的知識追蹤模型中,有相關研究考慮了學生的遺忘行為,以提高模型的可解釋性。本文結合認知同化理論[18],在現有研究使用的重復學習知識點的次數、重復學習知識點的間隔時間、順序學習間隔時間和知識點原始掌握程度的基礎上,充分考慮學生要求提示的次數、學生答題前的行為和答題正確率等三個參數來建模學生對已有知識的掌握程度,擴充了遺忘行為的特征。
不同習題所關聯的知識點通常存在先后關系,并且相鄰時刻不同習題可能包含相同的知識點,這種隱含的時序特征可能對學生的知識掌握程度存在潛在影響,在設計知識追蹤模型時應該重視這個影響因素。LSTM 網絡的特點是將上一個時刻的輸出作為下一個時刻的輸入,適合處理包含時序特征的數據。基于GNN 的知識追蹤模型GKT,采用鄰接矩陣存儲知識點相關性,即圖結構表示,更新學生認知狀態的本質是利用圖結構進行消息傳遞。但是,GKT 尚未考慮不同時刻學生作答相同知識點的時序特征。
本文在GKT 的基礎上,在更新學生認知狀態時,結合LSTM 網絡的優勢構建記憶門結構來建模學生答題序列中的時序特征。具體來說,在聚合鄰居知識點嵌入后,根據遺忘因素向量對知識點嵌入作遺忘處理,然后與前一時刻的知識點嵌入作乘操作,得到該知識點的時序嵌入,以此建模學生答題序列中的時序特征。
綜上,本文以GNN 為基礎,將知識追蹤問題描述為依據學生的歷史學習數據,實現以下兩個目標:
1)追蹤學生認知狀態的變化。
2)預測學生下一次作答習題的表現。
本文提出的GKT-FM 模型主要包括:
1)構建知識圖:以學生t時刻的答題序列信息作為輸入,通過知識度量函數計算知識點的相關性,構造鄰接矩陣A代表知識圖。
2)聚合:采用GNN 聚合當前知識節點i和它的鄰居節點j的隱藏狀態和嵌入。
3)更新:在知識點k向知識點i傳遞消息時,通過遺忘向量對知識點i的嵌入作遺忘處理,詳見式(6),然后將該嵌入輸入記憶門,捕獲知識點i的時序特征,得到包含時序特征的嵌入,最后采用GNN 更新知識點i的隱藏狀態,得到
4)預測:將知識點i的隱藏狀態輸入Softmax 函數,隨后輸出學生在t+1 時刻的知識水平向量yt,即學生對于各個知識點的掌握程度。
具體模型結構如圖1 所示。

圖1 GKT-FM模型的結構Fig.1 Structure of GKT-FM model
將學生答題的序列數據轉換為圖結構數據,用鄰接矩陣A表示。首先通過知識度量函數獲得知識點的相關權重,度量函數如式(1)[17]所示:
聚合當前知識節點i及其鄰居節點j∈Ni的隱藏狀態和嵌入。該層的輸入是向量xt∈{0,1}2N,代表t時刻的練習,0表示回答錯誤,1 代表回答正確。聚合知識隱藏狀態的方法如式(3)[17]所示:
其中:Wx∈R2N*e是一個知識點索引和作答結果的嵌入矩陣;Wc∈RN*e是一個知識點嵌入矩陣,Wc(k)代表Wc的第k行;e是嵌入大小。
采用圖神經網絡(GNN)更新知識點i的嵌入,考慮到知識點間的影響是單向的,因此在聚合鄰居節點的消息時,分別考慮知識點i對j的影響權重和知識點j對i的影響權重。另外,在聚合函數中,將遺忘因素向量λt(i)通過感知機函數f3對知識點i的嵌入作遺忘處理,擬合由于學生遺忘了知識點i對其認知狀態造成的影響,然后將該嵌入輸入記憶門,捕獲知識點i的時序特征,得到時序嵌入,見式(4):
其中:W1是權重矩陣,W1∈Re*e;b1是偏移項,b1∈Re。遺忘因素向量如式(5)所示,記憶門結構如圖2 所示。

圖2 記憶門結構Fig.2 Structure of memory gate
其中:Pt(i)=[CRt(i),FAt(i),HCt(i)]為t時刻學生對已有知識的掌握程度,CRt(i)為t時刻學生要求提示的次數,FAt(i)為學生答題前的行為,HCt(i)為知識點作答正確率;RTt(i)為t時刻學生重復學習知識點的間隔時間;LTt(i)為t時刻學生重復學習知識點的次數;STt(i)代表學生t時刻順序學習間隔時間;OMt-1(i)代表t-1 時刻學生的知識點原始掌握程度。
知識點k向知識點i傳遞消息的函數定義為式(6):
其中:[]為拼接操作;W2、W3和W4是權重矩陣,W2∈RN*e,W3∈RN*e,W4∈RN*1;b2、b3、b4是偏移量,b2∈Re,b3∈Re,b4∈Re;N是知識點個數。
學生在t+1 時刻的認知狀態計算方式如式(10)所示:
其中:W5是權重矩陣,W5∈RN*e;b5是偏移量,b5∈Re。
模型輸出下一次學生作答習題的預測表現:
其中:Wout是一個共享權重矩陣;bk是節點k的偏移項。損失函數L如式(14)所示:
其中:var=5 × 10-5;eps=10-16是t時刻學生作答知識點k的預測結果;yk是學生作答知識點k的真實結果。
本文實驗在Windows11 下進行,CPU 為Intel Core i7-11370H,3.3 GHz,編程語言采用Python 3.9.10,深度學習框架采用PyTorch 1.11.0。實驗數據集如下:
1)ASSISTments2009(簡寫為ASSIST)[20]。數據集主要字段包括:題目編號、學生編號、知識點編號、學生要求提示的次數、學生學習知識點的時長、學生的答題結果等。本文提取ASSISTments2009 數據集中單個知識點回答次數不少于10 次的記錄,經預處理后,得到62 955 條記錄,其中包括1 000 名學生和101 個知識點。
2)KDDCup2010(簡寫為KDD)[21]。該數據集用于教育數據挖掘競賽,主要字段包括:題目編號、學生編號、答題時長、提示次數、答題結果等。同樣地,本文提取了該數據集中某個知識點回答次數不少于10 次的記錄,經預處理,得到了98 200 條記錄,其中包括1 000 名學生和211 個知識點。
根據兩個數據集的不同特點,選取不同的數據字段并進行預處理,獲得與7 個遺忘因素相關的評估數據。為確保結果的有效性并加快模型收斂速度,預處理過程中對結果均進行了歸一化操作。具體情況如表1 所示。
為評估GKT-FM 模型的性能,本文選擇深度知識追蹤(DKT)[9]、動態鍵-值對知識追蹤(DKVMN)[12]、LFKT[14]和GKT[17]這4 個經典模型進行對比。參考文獻[14],對于每個模型,本文都進行10 次實驗,使用平均曲線下面積(Area Under Curve,AUC)和平均精度(ACC)作為模型最終的性能評價指標。對比模型的超參數按原文獻設置,具體設置如下:
1)DKT:對 于ASSIST 和KDD 數據集,門控循環單元(Gated Recurrent Unit,GRU)隱藏層的大小為200,批處理大小設置為32。
2)DKVMN:對于ASSIST 數據集,記憶矩陣列數為20,隱藏向量的大小為32;對于KDD 數據集,記憶矩陣列數為50,隱藏向量的大小為128,批處理大小設置為32。
3)LFKT:所有隱藏向量和嵌入矩陣大小為32,批處理大小為30。
4)GKT:所有隱藏向量和嵌入矩陣大小為32,批處理大小為16。
5)GKT-FM:對于ASSIST 數據集,知識點鄰接矩陣的大小為101×101。模型總共訓練10 次,每次批處理大小為16。
所有模型均采用Adam 優化器,除了GKT 與GKT-FM 的學習率設為0.01,其他模型的學習率均設為0.001。
為了減小參數量,本文統一設置所有隱藏向量和嵌入矩陣的大小,且通過比較模型在測試數據集上的平均AUC 值來選取,測試結果見表2。ASSIST 數據集中,當嵌入大小d為32 時,平均AUC 為0.849,高于其他超參數設置情況;對于KDD 數據集,當嵌入大小d為16 時,平均AUC 為0.831,高于其他超參數設置情況。

表2 不同嵌入維度下AUC值對比實驗結果Tab.2 Comparison results of AUC value of different embedded dimensions
為評估7 個遺忘因素對平均ACC 的影響,本文在ASSIST數據集上進行一系列實驗,每次去掉1 個因素,得到剩余6 個因素參與實驗的平均ACC 值。本文將7 個遺忘因素分別簡記為LT(重復學習知識點的次數)、RT(重復學習知識點的間隔時間)、ST(順序學習間隔時間)、CR(要求提示的次數)、FA(答題前的行為)、HC(答題正確率)和OM(知識點原始掌握程度)。實驗結果如表3 所示,可以看出,分別去掉7 個遺忘因素中的1 個因素,能在不同程度上降低平均ACC 的值。

表3 遺忘因素對平均ACC的影響分析Tab.3 Effect analysis of forgetting factors on average ACC
將GKT-FM 與DKT、DKVMN、GKT、LFKT 共4 個經典模型,以及GKT-FM 的兩種變體模型(不使用遺忘因素的GKTFM-WF 模型和不使用記憶門結構的GKT-FM-WM 模型)進行對比,結果如表4 所示。從表4 可以看出,本文提出的GKTFM 在所有數據集上的AUC 和ACC 都取得了最優值。

表4 不同模型的預測性能對比實驗結果Tab.4 Experimental results of different models’ prediction performance comparison
本文將數據集按7∶2∶1 隨機劃分訓練集、測試集和校驗集。采用700 名學生的學習數據分別訓練5 種模型,200 名學生進行測試,并跟蹤這200 名學生的認知狀態變化。表4分別給出了GKT-FM 與4 個對比方法在兩個數據集上的平均AUC 和ACC。可以看出,GKT-FM 相較于GKT,性能提升顯著,AUC 分別提升了6.9%和9.5%,ACC 提升了5.3%和6.7%。若不考慮遺忘行為,相較于GKT-FM,GKT-FM-WF 的AUC 分別下降了3.1% 和1.7%,ACC 分別下降了3.0 和2.8%;若不考慮答題序列中的時序特征,GKT-FM-WM 的AUC 分別下降了4.7%和2.4%,ACC 分別下降了2.2%和2.5%,說明學生的遺忘行為和答題序列的時序特征確實對他們的認知狀態造成了影響;同時,對比GKT-FM 和GKTFM-WF 與GKT-FM-WM 的結果可知,本文方法引入7 個遺忘因素和構建的記憶門結構能明顯改善最終的預測結果。
為保證實驗結果的有效性,本文統一了LFKT、GKT 和GKT-FM 的實驗環境,并通過GKT-FM 模型的兩個變體的對比驗證了遺忘因素和記憶門確實能影響學生的認知狀態。
從表4 來看,DKT 借助LSTM 對學生的整體知識水平進行建模,對單個知識點的建模程度不夠,因此預測結果不如DKVMN;但是DKVMN 沒有考慮學生在學習過程中的遺忘行為,因此LFKT 模型的表現優于DKVMN;GKT 首次采用圖結構來描述知識點的相關性,基于GNN 建模學生的認知狀態,取得了較好的預測結果,但它沒有考慮學生的遺忘行為和答題序列數據中的時序特征;GKT-FM 在GKT 的基礎上,充分考慮學生的遺忘行為和答題序列數據中的時序特征對其認知狀態造成的影響,取得了較好的實驗結果。
知識追蹤可以實時追蹤學生的認知狀態,本文從數據集ASSIST 中截取了user_id 為79069 的學生的一段學習記錄,分別用GKT-FM、LFKT 和GKT 模型追蹤學生對5 個知識點掌握程度的變化,結果如圖3 所示。橫軸為學生的歷史答題記錄,三元組(t,kt,rt)中的kt表示學生在t時刻作答習題所包含的知識點,rt表示作答結果(0 表示答錯,1 表示答對);縱軸為模型追蹤的5 個知識點。

圖3 基于不同模型的認知狀態輸出結果Fig.3 Output results of cognitive state based on different models
1)在第4 時刻,學生正確作答了知識點5 后,LFKT、GKT和GKT-FM 對于知識點5 的掌握程度的追蹤結果均有所提升;在第3 時刻,學生錯誤作答了知識點2 后,LFKT、GKT 和GKT-FM 對于知識點2 掌握程度的追蹤結果均有所下降。說明3 個模型都能根據學生的作答結果更新知識點掌握程度。
2)圖3(a)、(b)中,學生從第9~15 時刻學習知識點3 期間,在答對知識點3 后:LFKT 結果顯示該知識點的掌握程度短暫上升,之后持續快速下降;而GKT-FM 結果顯示,學生對該知識點的掌握程度短暫上升,之后的下降趨勢平緩。一方面是由于GKT-FM 建模遺忘行為時結合了認知同化理論[18],學生先前掌握的知識點對當前的認知狀態起了正向作用;另一方面,時序特征也讓處在不同時刻的知識點3 相互關聯,表現為第9~15 時刻,知識點3 的掌握程度變化平緩。說明,與LFKT 相比,GKT-FM 能更好地追蹤學生認知狀態。
3)圖3(a)、(c)中,學生從第5~15 時刻學習知識點4 期間,在答對知識點4 后:GKT 結果顯示,學生對于知識點4 的掌握程度短暫上升,之后波動較大,無規律可循;GKT-FM 結果顯示,學生對于知識點4 的掌握程度短暫上升,之后變化平穩。造成這一現象的原因同樣有兩方面:①GKT-FM 建模了學生的遺忘行為,所以學生兩次作答同一個知識點期間,認知狀態的變化遵循遺忘規律,且變化平穩;②知識點4 的時序特征對掌握程度的變化起到平緩作用。說明與GKT 模型相比,GKT-FM 模型能夠更好地追蹤學生認知狀態。
綜上,GKT-FM 模型可有效建模學生的遺忘行為和答題序列中的時序特征,并追蹤學生的知識點掌握程度。
本文重點考慮了遺忘行為和學生答題序列中的時序特征對認知狀態的影響,提出融合遺忘因素與記憶門的圖神經網絡知識追蹤模型GKT-FM。在公開數據集上的實驗結果表明,GKT-FM 模型能夠根據學生的歷史答題數據實時追蹤其認知狀態變化,并有效建模學生的遺忘行為和答題序列數據中的時序特征對其認知狀態造成的影響,在預測學生的未來答題表現時優于對比模型。
未來將針對以下兩方面進行探索:1)本文所采用數據集中題目涉及的知識點相對較少,對計算資源和計算時間的要求仍在可控范圍。如何有效建模含大量知識點的綜合性題目,是下一步研究的重點。2)知識點間的層次關系是多樣復雜的,比如包含、先驗和后驗關系,本文是通過統計的方法來構建知識點間的關系,算法仍有改進空間,如何更精確地構建知識點間的層次關系,也是接下來需要進行的工作。