曾凡智,許露倩,周 燕,周月霞,廖俊瑋
佛山科學技術學院 計算機系,廣東 佛山528000
教育信息化的普及導致在線教育平臺產生了海量的教育數據,教育者難以追蹤每一個學生的知識狀態并提供個性化的學習指導。且在線學習系統中的知識種類繁雜,需要學生自己從各種冗余信息中進行查找檢索,導致學習資源和學習路徑多樣化卻不一定有效。因此,利用科學的方法有針對性地分析與挖掘是十分有必要的。基于學生海量歷史學習數據,完成對學生學習過程的建模,使模型能夠自動追蹤學生每一階段的學習狀態,從而達到自適應學習的目的。KT(knowledge tracing)是實現在線智慧教育的有力工具,現已成為ITS(intelligent tutoring system)的重要組成部分。ITS 不同于大型開放式網絡課程(massive open online courses,MOOC),其能夠個性化地為學生制定有效的學習路徑,根據學生的答題情況追蹤學生當前的知識掌握狀態,從而實現因材施教。鑒于對于教育上的重大意義,KT 已經被廣泛應用于業界相關的在線教育平臺,如愛學習以及MOOC 平臺的edX、Coursera等。
KT 是指使用計算機模型,根據學生與習題之間的交互記錄,以自動衡量學生的知識水平,其特點是自動化和個性化。KT 的主要任務是根據學生的歷史學習軌跡,自動評估學生對各個知識組件(knowledge components,KC)的掌握程度隨時間的變化情況,其中,KC 是知識點、概念、技能或者項目等的通用術語。通過KT 可以使學生及時了解自己的學習狀態,并且幫助教師為學生制定更好的個性化教學計劃,為學生提供符合自身學情的個性化輔導。現有的KT 模型在預測性能方面逐漸取得了進步,然而由于人腦的復雜性、知識的龐雜性等因素,KT 仍然面臨著巨大的挑戰,還有許多問題亟待解決,受到眾多學者的密切關注。
涉及到KT 的相關研究綜述有文獻[3-9]。其中,文獻[3]對知識追蹤及其所涉及的教育學與數據挖掘理論進行了相關介紹,分析對比了基于概率圖、矩陣分解以及深度學習的知識追蹤方法在預測學生練習表現中的研究進展。文獻[4]從模型原理、算法步驟、效率以及延展性等維度詳細介紹了基于BKT(Bayesian knowledge tracing)、動態貝葉斯網絡(dynamic Bayesian network,DBN)、DKT(deep knowledge tracing)方法的知識追蹤模型。文獻[5]對教育大數據中基于BKT 和DKT 方法的兩類知識追蹤模型從模型的原理、步驟和方法等維度進行了詳細的闡述。文獻[6]介紹了深度學習模型在知識追蹤中的應用,逐漸代替經典馬爾可夫過程和邏輯回歸模型,以及在什么條件下深度模型能夠做出最準確的預測。文獻[7]以深度知識追蹤發展歷程為主線,按照方法策略歸類梳理了基于循環神經網絡(recurrent neural network,RNN)、記憶增強神經網絡(memory augmented neural network,MANN)、圖神經網絡(graph neural network,GNN)的知識追蹤模型及其改進模型。文獻[8]在大規模數據集上分析對比了DKT、動態鍵值記憶網絡(dynamic key-value memory network,DKVMN)、自注意力知識追蹤(self attentive knowledge tracing,SAKT)以及關系感知自注意力知識追蹤模型(relation-aware self-attention model for knowledge tracing,RKT)的性能差異,并表明結合額外信息建模可以進一步提高深度學習模型的性能。文獻[9]從技術和教育的角度對BKT、DKT、DKVMN 模型進行了概述,分析對比了每個模型的建模技術、數據表示、評估以及優化方面。總體而言,這些文獻對于面向智慧教育的知識追蹤模型的研究還不夠完善。
本文通過檢索計算機領域、教育領域以及認知科學領域的期刊和會議,對應用于智慧教育的KT 模型的發展歷程及其最新研究進行更加系統和全面的梳理與對比分析總結。
20世紀90年代,Corbett等人首次提出將貝葉斯網絡應用于KT 領域,并將其引入現代化ITS,通過DBN 模擬學生的知識水平,對學生知識狀態進行建模,建立知識狀態之間的動態轉換。隨后,許多學者對BKT 模型進行了擴展,使其更加個性化。具體分類如圖1 所示。

圖1 基于貝葉斯方法脈絡圖Fig.1 Venation diagram of Bayesian method
在深度學習應用于KT 之前,BKT 是建立學生學習序列模型中最常用的方法,該方法采用隱馬爾科夫模型(hidden Markov model,HMM)把學生的知識狀態看作隱變量。HMM 有兩個狀態,一個表示學生掌握KC 的潛在節點和一個表示學生是否正確地解決問題的二進制觀察節點。BKT 的模型結構如圖2所示。值得注意的是,BKT 模型基于以下三點假設:

圖2 BKT 模型結構Fig.2 Architecture of BKT
(1)假設所有學生具有相同的初始學習背景,且轉移概率()不變;
(2)假設每個題目只涉及一個知識點,各個知識點之間沒有相關性;
(3)假設學生對已學知識不會遺忘,即學生的知識狀態由“未掌握狀態”轉移至“掌握狀態”,但反之概率為0。
初始時刻學生知識掌握程度的先驗概率為(),隨著學生的學習過程,根據學習參數()更新學生知識狀態的估計可參見式(1)。

其中,(L)是在第+1 次學習互動中掌握KC 的概率;(L|)是使用貝葉斯推理方案估計的后驗概率;學習參數()是從未學習狀態轉移到學習狀態的概率。(L)是以下兩個概率之和:(1)KC 已經處于學習狀態的概率,不受答案影響;(2)學生對KC的知識狀態會過渡到學習狀態的概率。那么,該模型考慮到猜測率()與失誤率(),預測學生正確回答第+1 道題目的概率可參見式(2)。

其中,(C)是在下一次學習互動中正確回答的概率,猜測參數()表示學生在未掌握KC 的情況下猜對的概率,失誤參數()表示學生在掌握KC 的情況下仍然回答錯誤的概率。
根據學生與習題之間的大量交互記錄訓練模型參數進而估計和預測學生的知識掌握程度,在線學習平臺可以為學生設計并推薦相應的題目,直到達到精通的水平。然而,BKT 是以KC 為導向的,這意味著所有學生對于同一KC 共享一組參數,導致中等以上水平的學生在掌握了某KC 后仍會持續得到大量的推薦練習,需要完成冗余的練習問題;而中等以下水平的學生雖然還未達到精通的水平,但是可能無法得到足夠的練習資源或者在他們準備好之前得到更高難度的題目。為了解決這個問題,許多學者從不同角度對BKT 模型進行了擴展,以提高模型的實用性與準確度。
由于BKT 模型并沒有考慮到學生背景知識的個體化估計、先驗知識的參數化等,Pardos 等人提出不同學生有不同初始背景知識概率的學習模型參數,在知識狀態估計和數據預測方面得到了可靠的改進,增強了ITS 的性能,對于學生在何時掌握了一項KC 進行更準確的估計。Lee 等人將BKT 修正為學生導向模型,其中,學生導向是指每個學生對所有知識都有一套個性化參數。該方法考慮到了學生參數的個體差異性,實驗結果表明為每個學生安排的練習機會發生了變化,并且更適合于學生的知識狀態。Yudelson 等人將初始掌握狀態和學習能力參數劃分為知識部分和學生部分,基于此的改進模型在性能上優于BKT 模型,預測精度更高。Wang 等人提出一種基于聚類學生的貝葉斯知識追蹤模型個性化方法,將個性化水平從所有人轉向群體,根據學生的共性,如學習風格或者學習能力等,將所有學生分成不同的組;進而根據學生所做題目的正確率將其分為三個聚類作為學生的學習能力。驗證表明該方法可以推廣到其他KT 模型以提高性能,為進一步提高傳統KT 模型的性能提供了基礎。
BKT 對每個KC 進行單獨建模,導致模型對習題庫以及KC 與習題關聯模型的依賴性較強,無法捕捉到不同KC 之間的相關性。如果知識模型粒度太粗或太細,都會使BKT 模型難以準確評估學生的知識狀態;如果學生連續處理幾道與同一個KC 相關的類似習題,可能會對該學生后面的表現產生積極影響。
因此,K?ser 等人指出BKT 應該考慮KC 之間的關系,因為一個問題往往可能包含多個KC,而且掌握一個KC 就會影響對其相關KC 的掌握情況,以此提高模型預測準確率。Hawkins 等人提出了BKT-ST 模型,在BKT 的基礎上考慮到學生當前正在處理的題目與他們之前練習過的題目之間的相似性,發現學生連續作答某種類型題目時,其猜測率提高,失誤率降低,作答正確率顯著提高。Wang 等人基于Coursera MOOC 平臺的內容組織特征,針對BKT模型忽略KC 之間的豐富結構和相關性的問題,提出基于知識狀態的層次性和時間特性進行建模,并開發了Multi-Grained-BKT 模型和Historical-BKT 模型來有效地捕捉上述特征。K?ser 等人提出了動態貝葉斯知識追蹤(dynamic Bayesian knowledge tracing,DBKT),該方法利用DBN 能夠在一個模型中聯合表示多種KC 來增加知識追蹤表示能力的性能,以基于DBN 對KC 內的先決條件層次結構和關系進行建模,在單個模型中聯合考慮不同的KC。
BKT 是以一種二進制變量概率分布追蹤并更新學生對某個KC 潛在掌握情況的一階HMM,該模型假設一個理想的無噪聲環境且參數具有簡并性。這顯然是與實際情況不符的,于是,Falakmasir等人提出的Spectral BKT 模型采用特征補償和模型補償范式,用3-gram 代替BKT 的(0,1)節點狀態(“0”代表問題作答表現為“錯誤”,“1”代表問題作答表現為“正確”),給出八種光譜狀態值,并且在BKT 的兩種知識狀態(“未掌握狀態”“掌握狀態”)之間添加兩個中間狀態,提高了模型預測的準確性。Wang 等人提出將節點狀態的二進制表示改為0 到1 之間的連續表示,細化了學生的知識狀態。Zhang 等人基于三支決策思想提出了TLS-BKT(three learning states BKT)模型,該模型通過評估函數將學習過程分為三種狀態,對BKT 模型中的二進制節點狀態進行改進,將原始的“未掌握狀態/掌握狀態”改進為“未掌握狀態/學習狀態/掌握狀態”,增強了模型的靈活性和魯棒性。
對于模型的現實問題,研究者們將其他信息納入BKT,使BKT 更接近復雜的實際應用場景。Baker等人發布了一個工具包,使用非個性化的知識追蹤允許研究人員將他們自己的學生模型與DBN 相匹配,通過對BKT 中猜測和失誤的上下文估計進行更準確的學生建模。Pardos等人將題目的難度系數引入BKT,修改限制在改變模型的拓撲結構上,這種難度的增加導致學生在掌握相應的知識狀態下也會給出錯誤的答案。此外,加入該難度的模型性能也會優于BKT。Xu 等人將腦電圖(electroencephalography,EEG)引入到學生對KC 掌握程度的評估中,提出的EEG-KT 模型有效地提高了BKT 的預測性能。Spaulding 等人納入對學生情感狀態(affective state)的評估,如困惑、無聊、投入、微笑等,提出Affective BKT模型并將其應用于可實時評估學生真實知識狀態的智能導學機器人中。黃詩雯等人針對BKT 容易忽略記憶遺忘現象以及未考慮學習行為對學生作答結果產生的影響問題,提出BF-BKT(behavior-forgetting Bayesian knowledge tracing)模型,融合了學生的學習行為和遺忘因素,解決了傳統模型考慮因素不全面的問題,同時提高了預測精度。
由于大多數BKT 擴展模型是基于HMM 的,每次回答問題后都假定一個恒定的學習速率,不能平衡學生最近與歷史練習數據,這是不符合客觀事實的。因此,Agarwal 等人提出MS-BKT(multistate BKT)模型,用學生答題情況的近期率權重代替固定的學習率,完全通過數據捕獲學生的進步,而不是通過嘗試來假設不斷的學習。并且將知識狀態從典型的2 狀態擴展到21 種狀態,隨著時間的推移平穩地進行更新估計,更好地捕獲正確性和不正確性的復雜序列。
總體而言,基于貝葉斯知識追蹤的傳統方法模型構造相對比較簡單,在深度學習普及之前一直作為基礎模型被研究者們應用、改進與創新,具有強大的可解釋性。表1 總結了BKT 模型結合個性化、結合知識相關性、結合節點狀態以及結合現實問題的擴展研究的優勢特點與局限性。由于BKT 模型是以KC 為導向的,以及模型本身的能力限制會丟失學生數據中一些重要的特性,導致其預測結果可能與現實情況有一定出入,因此BKT 與其擴展模型的實際適用范圍十分有限。

表1 BKT 模型擴展方法概覽Table 1 Overview of BKT model extension methods
Logistic 模型是一類基于Logistic 函數的大型模型,其基本概念是正確回答練習的概率可以由學生和KC 參數的數學函數表示。在Logistic 模型中,學生的二元答案(正確/不正確)遵循伯努利分布。21 世紀初,研究者們提出了采用Logistic 模型處理知識追蹤任務,以學生成績為因變量,從歷史數據中學習一般參數對學生建模來進行答題預測。主要分為兩大類:項目反應理論、因子分析模型。具體分類如圖3所示。

圖3 基于Logistic回歸方法脈絡圖Fig.3 Venation diagram of Logistic regression method
項目反應理論是一種現代心理測量理論,其中“項目”(item)指的是學生試卷中的題目,“項目反應”(item response)為學生在具體題目上的作答情況。簡言之,IRT 就是建立在學生能力和作答正確率的關系上,影響學生在項目上作答結果的主要因素有兩個:其一是學生本身的能力水平;其二是試題項目的測量學屬性,如項目難度、區分度和猜測性等。
IRT 模型中最常用的是Logistic 模型作為項目反應函數。根據學生的能力水平和項目的難度等級β,輸出一個學生在測試中正確回答一個項目(即一個問題)的概率()。最簡單的模型可參見式(3)。

定義該概率的項目反應函數具有以下特征:如果一個學生的能力水平較高,那么這個學生正確回答題目的概率就更高;另一方面,如果題目比較難,那么學生正確回答的概率就相對較低。
作為KT 的Logistic 模型的基礎,除了預測學生的反應外,IRT 還可以用來評估項目的難度水平和學生的能力。
因子分析模型與IRT 模型相似,但是它們會通過學習知識水平的參數估計學生正確回答題目的概率。學習因子分析(learning factors analysis,LFA)源于學習曲線,是一種半自動化的方法,改進由統計模型、人類專業知識與組合檢索組成的認知模型。學習曲線證明了錯誤率與練習次數呈冪次關系,但沒有考慮到學生數量的龐大性,以及一個題目可能包含多種KC。因此,LFA 適應并擴展了學習曲線,假設不同學生的學習率相同,LFA 模型的標準形式可參見式(4)。

其中,X與Y分別為學生和KC的協變量,α為學生的先驗知識,β為KC的難度等級,γ為KC的學習率,求和符號表示題目中所涉及KC 的數量,表示學生對一個或多個KC的累積學習,()是對正確答案概率的估計。LFA 繼承了IRT 中學生的能力和知識難度,整合了學習曲線,擴展到一個項目中包含多個KC 的方法。
性能因子分析(performance factors analysis,PFA)是LFA 的一種改進,LFA 對練習時間很敏感,但是忽略了學生的正確和錯誤回答。PFA 假設每個學生都是一個獨特的個體,學生的學習不是僅僅通過相同的練習頻率積累,每個學生也會通過其自身正確或錯誤的嘗試來學習。因此,標準PFA 在LFA 的基礎上進行了調整,可參見式(5)。

其中,s與f分別為學生先前對KC嘗試成功與失敗的次數,γ與ρ為相應權重,通過匯總一個題目中所有KC 的累積學習,計算正確解決該項目的概率()。
Vie 等人采用因子分解機(factorization machines,FM)將其分類形式用于學生建模,并提出了知識追蹤機(knowledge tracing machines,KTM),使用FM 來交互每個特征進行預測。該方法將有關題目與學生的側面信息編碼到參數模型中,即使觀察到的學生數據是稀疏的情況下,也可以快速準確地估計學生的知識狀態。對觀察到答題正確與否的二進制輸出概率進行建模,對于每個題目回答正確的概率進行驗證。但是,KTM 存在冷啟動問題以及依賴KC 的重復學習,對于一些不經常練習的KC,KTM可能退化為IRT。為了解決這些問題,Lai等人提出了一種循環知識追蹤機(recurrent knowledge tracing machine,RKTM)來改進KTM。該方法根據學生的知識狀態,在時間上豐富了KTM 和難度、學生能力、技能以及學生技能實踐歷史的編碼,利用其處理知識狀態的RNN 結構捕捉KC 之間的關系,以便RKTM 可以找到相似的KC 并收集其相似信息以提供更精準的預測。
總體而言,基于Logistic 模型的知識追蹤側重于從歷史數據中學習一般參數進行預測,采用手工構建輸入特征,如對每個問題的嘗試次數、正確與錯誤的嘗試次數以及對每個KC 的提及次數。這些傳統模型首先利用學生學習交互中的不同因素來計算學生與KC 參數的估計,然后利用Logistic 函數將該估計轉換為掌握概率的預測。這些模型具有與BKT 相當的預測能力。本節所介紹的方法對比分析如表2所示。該方法的局限性比較明顯,在知識追蹤的過程中缺乏大量的學生與習題特征信息,如做題時間、遺忘率等,而RKTM 由于引入了RNN,在時間上豐富了模型的編碼,具有一定的魯棒性。

表2 基于Logistic模型方法對比Table 2 Comparison of Logistic regression model
基于貝葉斯網絡與Logistic 模型的知識追蹤模型是進一步研究的基礎。然而,在模擬人類記憶方面,這些模型并沒有直接考慮人類記憶對學習過程的影響。隨著人工智能的不斷發展,學者們提出了眾多深度學習模型,如長短期記憶網絡(long shortterm memory,LSTM)、門控循環神經網絡(gated recurrent neural network,GRN)等已經有深入研究并被證明可以廣泛應用于語音識別、視頻分析與知識追蹤等各種現實領域。
自從深度知識追蹤問世以來,KT 模型的研究一直是計算機領域與智慧教育領域的熱點話題。基于深度學習的知識追蹤方法主要分為四大類:DKT 模型、DKT 改進方法、設計網絡結構、引入注意力機制。具體分類如圖4 所示。

圖4 基于深度學習方法脈絡圖Fig.4 Venation diagram of deep learning method
Piech 等人提出了一個經典模型——DKT,首次將深度學習應用到KT 模型,不需要人工對知識領域進行顯式編碼就可以捕獲更復雜的學生知識狀態。深度學習的顯著特性是其無需人工干涉,自動輸入特征學習規律。
DKT 的模型結構如圖5 所示,采用RNN 作為隱藏單元生成知識狀態向量表示學生的知識狀態。RNN 是認知計算和機器學習中建模輸入序列動態時間行為的有效工具之一,具有記憶性并且是參數共享的時間序列模型,以及其天然高維連續的隱狀態表示特征能夠利用早期的信息進行預測。

圖5 DKT 模型結構Fig.5 Architecture of DKT
DKT輸入學生交互記錄預測下一個交互的表現,在這之前,通過one-hot 編碼或壓縮感知(compress sensing,CS)將其轉化為固定長度的向量序列。問答交互是KT 中最常見的數據類型,通常表示為一個有序對,構成學生在時刻回答的題目標簽q以及對應做題結果的答案標簽a。在DKT 中,“hidden”狀態序列={,,…,h,…,h}代表學生知識狀態,通過sigmoid 激活的線性層,得到預測結果y;輸出={,,…,y,…,y}的長度為題目的個數,其中每個元素代表學生正確回答對應KC 下的題目的預測概率。
DKT 的訓練目標是觀察學生反應序列的負對數似然,單個學生的損失可參見式(6)。

其中,(q)為時刻+1 學生回答問題的one-hot 編碼,表示二元交叉熵(binary cross entropy,BCE),給定預測的損失為((q),a)。
DKT 是一種開創性的工作,引入RNN 來預測學生的表現,通常RNN 的變體LSTM 更常用于DKT 的實現,以處理多KC 的題目,對復雜的KC 聯系進行建模。實驗表明,DKT 的AUC 比以前最好的結果增加了0.25,靈活性增加了千倍,是一種非常通用的架構。盡管如此,DKT 也有一些不容忽視的缺點,引發了后繼學者們不斷探索以及研究引入新的網絡模型。
BKT、PFA 等傳統模型使用參數模型分析學生技能,每個參數都具有語義含義。而基于深度學習的模型在性能上取得了顯著的改進,但是深度學習模型不具備類似傳統模型的可解釋性,很難弄清楚隱藏狀態是如何代表學生的知識狀態的,無法從隱藏狀態確定學生的知識掌握水平。
而Khajah 等人認為除了創建一個具有幾乎無法解釋的大量相互關聯錯綜復雜的連接和參數的黑盒預測設備以外,還有許多方法可以放松約束構建更強大的模型,并且通過考慮DKT 可以利用但BKT無法利用的數據中的統計規律性來源以闡述DKT 優勢的基礎,對關于DKT 能夠利用而BKT 不能利用的數據中的信號提出假設。基于這些假設,對BKT 分別在遺忘、KC 歸納與潛在學生能力上進行增強,以提供額外的靈活性。增強的BKT 平均性能達到了與DKT 無法區分的程度,然而,BKT 的增強需要一些領域的專業知識,并且不同增強需要對應不同的數據集才能達到最好的性能。而DKT 是一個通用的RNN 模型,在各種數據集上都具有強大的魯棒性,并無需對域進行先驗分析。
Xiong 等人也對原始DKT 的工作原理進行深入研究,發現原始ASSISTments 數據集中存在重復項,并重新評估了DKT 在原始數據集不同子集上的性能,試圖對DKT 模型在性能上的顯著提升進行解釋。但這些研究都將DKT 模型看成一個黑匣子,沒有研究支撐RNN 的狀態空間。遞歸模型的訓練可能需要幾天甚至幾周的時間,Wieting 等人則認為RNN 可能無法從數據中學習到有意義的狀態向量。
最近,Ding 等人“打開了基于深度神經網絡知識追蹤模型的盒子”,首先使用更大的數據集EdNet可視化分析了DKT 模型在高維空間中的行為,隨著時間的推移追蹤激活變化,分析每個KC 對其他KC的影響。在訓練DKT 模型時采用與文獻[46]類似的實驗,隨機初始化DKT 模型,只訓練將LSTM 隱藏層的輸出映射到技能向量的最后一個線性層,可以獲得與經過訓練的網絡相似的性能。因此,DKT 模型的性能增益可能來自于將輸入序列映射到隨機高維的向量空間,由于空間稀疏,線性分類更容易。
Su 等人將多維項目反應理論(multidimensional item response theory,MIRT)的參數集成到一個改進的深層循環神經網絡中,提出了時間與概念增強的深度多維項目反應理論(time-and-concept enhanced deep MIRT,TC-MIRT),構建了時間增強網絡與概念增強網絡組件,使模型能夠執行趨勢預測并在每個特定的知識領域內生成可解釋的參數。
由于神經網絡的高度靈活性,DKT 及其變體是迄今為止最有效的方法。然而,DKT 模型的輸入僅僅是練習標簽的one-hot 編碼,排除了許多其他豐富的信息和特性,如練習內容、學生嘗試答題的次數以及答題持續時間等,而是將所有學生的表現平均化,因此被認為不足以進行適應性學習。
Yeung 等人也指出DKT 模型存在的兩個主要問題:其一,模型無法重建觀測到的輸入,即使學生在某KC 上表現良好,對該KC 掌握水平的預測反而可能會下降,反之亦然;其二,對于跨時間步長的KC的預測性能不一致,這是不合理且不可取的,因為學生的知識狀態會隨著時間的推移逐漸過渡,而不是在掌握和尚未掌握之間跳躍交替。針對這兩個主要問題,這篇論文提出的DKT+模型引入了對應于原DKT 模型的重構以及三個正則化項來增強DKT 預測的一致性。實驗表明,這些正則化項在不降低原始任務的下一個交互性能預測精度的情況下,有效緩解了這兩個問題。
Zhang 等人提出一種手工分析特征并選擇合適的特征子集的方法。其根據特征的統計數據,將選定的特征離散化,然后通過自動編碼器學習語義。手工特性工程師的工作在知識追蹤方面提供了進一步的改進,但仍然在兩方面受到限制:首先,需要足夠的領域知識來理解數據,當從業者不能充分探索數據時,可能會引起偏差;其次,不能將其擴展到非常大的特征規模中。因此,Yang 等人設計了一種自動的、智能系統,將異構特征隱式有效地嵌入DKT 模型中,模型結構如圖6 所示。

圖6 DKT+HFE 模型結構Fig.6 Architecture of DKT+HFE
該方法應用基于樹的分類器(classification and regression trees,CART)將異構特征作為輸入,預測學生是否會在給定這些異構特征的情況下正確回答練習,并且通過學習練習之間的相似性來追蹤學生的知識狀態,預測學生正確回答問題的概率。
由于DKT 模型假設所有學生具有相同的學習能力,只在知識序列中追蹤學生的知識狀態,并沒有考慮每個學生學習能力的差異性。基于此,Minn等人提出了DKT-DSC(deep knowledge tracing with dynamic student classification)模型。該方法結合歐氏距離的-means 聚類,通過考慮學生的能力和實踐技能個性化輸入向量,捕獲隨著時間的推移的學生能力,定期將學生動態分配到具有相似能力的不同學生組中。根據學生的學習能力追蹤學生的表現,并隨著時間的推移,定期進行重新評估。
Chen等人考慮到學生練習數據的稀疏性限制了知識追蹤的性能和應用,提出了PDKT-C(prerequisitedriven deep knowledge tracing with constraint modeling)模型,對結合輔助深度知識追蹤先決條件的練習序列數據進行建模作為約束,特別是將教學概念之間的先決關系、知識結構信息納入了知識追蹤模型。Wang 等人為了處理數據稀疏問題以及更好地區分項目,提出了深度層次知識跟蹤(deep hierarchical knowledge tracing,DHKT)模型,利用項目和知識之間的層次結構,通過知識嵌入和項目嵌入之間內積的鉸鏈損失對項目和知識之間的關系進行建模,將學習到的嵌入輸入神經網絡,對學生的學習過程進行建模。學生回答題目的正確性取決于學生當前的知識狀態和題目的特點。
Nagatani等人提出了融合遺忘信息的深度知識追蹤模型(deep knowledge tracing+forgetting behavior,DKT+FB),該方法擴展了DKT 模型,考慮了學生的整個交互序列,融合重復時間間隔、序列時間間隔與過去的實驗次數這3 點信息來表示復雜的遺忘行為。DKT+FB 模型架構如圖7 所示。其中,與遺忘相關的3 點附加信息如圖8 所示。

圖7 DKT+FB 模型結構Fig.7 Architecture of DKT+FB

圖8 與遺忘相關的附加信息Fig.8 Additional information related to forgetting
Yu 等人提出的自適應算法在DKT 模型的基礎上融合了學生的異構特征與遺忘行為相關信息。該算法的輸入與DKT 模型一致,其主要思想為引入堆疊自編碼器(stacked auto-encoder network,SAEN)將所有特征連接起來構造輸入向量,將高維數據轉換為低維代表編碼,重建高維輸入,降低維數并且不丟失過多的重要信息。
Xu 等人將矩陣分解技術與RNN 相結合提出DynEmb(dynamic knowledge embedding and tracing)框架,結構體系如圖9 所示。該方法不需要知識標簽信息,而是學習靜態題目嵌入,利用學生-題目交互時間的動態順序模型追蹤學生的隱藏知識狀態。通過矩陣分解構建題目的嵌入,可以融合題目和知識信息。DynEmb 框架非常靈活,可以適應各種矩陣分解技術和動態模型,并且具有魯棒性和有效性。

圖9 DynEmb 模型結構Fig.9 Architecture of DynEmb
Zhou等人受BKT 和IRT 的啟發,提出了LANA(leveled attentive knowledge tracing)模型,該方法通過一種新穎的學生相關特征提取器從每個學生的交互序列中提取其獨特的內在屬性,并且利用樞軸模塊對提取的特征注意力動態重構神經網絡解碼器,成功區分學生隨時間的表現。通過可解釋的Rasch模型對學生以能力進行聚類,從而利用分級學習將不同的編碼器分配給不同的學生群體,實現個性化的DKT。


圖10 DKVMN 模型結構Fig.10 Architecture of DKVMN
Ai 等人在DKVMN 的基礎上提出概念感知深度知識追蹤(concept-aware DKVMN,DKVMN-CA)模型,支持人工標注的概念樹,根據課程的概念列表設計其內存結構,在學生知識追蹤過程中明確考慮練習-概念的映射關系;并構建學生模擬器,訓練具有深度強化學習的練習推薦算法以支持更多輸入功能,包括練習難度、階段和學生練習時間。Yeung綜合了IRT 和DKVMN 模型,提出了Deep-IRT 模型對學生能力和項目(即練習題目)難度進行有意義的估計,在增加網絡模型可解釋性的同時保留DKVMN模型的預測能力。

Sun 等人提出DKVMN-LA(knowledge tracking model based on learning process)模型,一種結合學習能力與行為特征的多功能知識追蹤算法。在第一階段對學生的嘗試次數、練習編號及提示請求采用Xgboost 算法預測學生是否正確回答題目。第二個階段將學生的練習記錄分成多個段,每段包含相同數量的練習,計算每段中學生的學習能力,并根據學習能力對學生進行聚類。第三個階段將學生的學習能力特征與行為特征進行交叉融合得到交叉特征v,并將v作為一種新的特征輸入DKVMN,以評估練習的相似性,并追蹤學生的知識狀態。
卷積神經網絡在計算機視覺領域應用十分廣泛,例如目標檢測、圖像分割以及光學字符識別(optical character recognition,OCR)等。受圖像的啟發,有學者提出用3D 卷積(3D Conv)處理視頻分析任務,并且已經證明3D Conv 可以捕獲視頻的時間信息,能夠更好地進行建模。由此推測其可能具有捕獲一般時間序列數據的時間信息的能力,例如學生與問題的交互序列。
因此,Yang 等人結合遺忘曲線理論,認為人類的記憶力會隨著時間的推移而下降,故而采用3D ConvNets 對學生近期的知識狀態與練習的短期特征進行強化,利用LSTM 捕獲長期特征,并且提出用一個更新門自適應地融合這兩個特征的卷積,增強知識追蹤模型(convolutional knowledge tracing,CKT)。該方法除了建模整個問答序列的長期效應外,還利用3D Conv 強化了近期練習的短期效應,從而有效地建模學生學習過程中的遺忘曲線。CKT 模型結構如圖11 所示。

圖11 CKT 模型結構Fig.11 Architecture of CKT
Lee 等人利用知識狀態向量與知識向量之間的點積來模擬知識的交互作用,提出了知識查詢網絡(knowledge query network,KQN)。該方法假設學生的知識狀態和KC 都投射到相同的二維嵌入向量空間中,如圖12 所示。KQN 輸入包含當前時間步的學生響應和下一時間步的KC,使用KS和k的內積來定義知識交互,并對學生未來的表現作出預測。這種向量化的表示與運算增強了KQN 模型的直觀性和可解釋性。

圖12 t=2 與t=3 時刻的向量說明Fig.12 Vector description at t=2 and t=3
Liu 等人提出了基于人類記憶機制(Atkinson-Shiffrin memory model,ASMM)與可微分神經計算機(differentiable neural computer,DNC)的層次記憶網絡(hierarchical memory network,HMN),該方法能夠更好地建模KT 中的人類記憶機制,其中ASMM將人類記憶分為感覺記憶、工作記憶和長期記憶;DNC 由一個神經網絡和一個外部存儲矩陣組成,利用神經網絡學習特征,借助外存矩陣來存儲復雜的特征,如圖13 所示。

圖13 DNC 模型結構Fig.13 Architecture of DNC
在HMN 中,由一個分層存儲器組件來模擬工作記憶和長期記憶,包括一個外存矩陣以及劃分機制與衰減機制,通過LSTM 與外存矩陣中的工作存儲器來模擬工作記憶,通過外存矩陣中的長期存儲器來模擬長期記憶。
Nakagawa 等人首次將GNN應用于知識追蹤,提出基于圖的知識追蹤(graph-based knowledge tracing,GKT)。該方法構建了一個KC 關系的圖,并顯式地學習它們,將知識追蹤任務重構為GNN 中的時間序列節點級分類問題,可以不借助任何額外信息提高預測準確度。學生可以通過精確的個性化內容更有效地掌握知識,并且展示了其應用于真實教育知識追蹤環境的可能性,有助于提高學生在更多樣化環境中的學習體驗。
然而,GKT 只使用KC 作為輸入,忽略了多KC、練習之間的影響等問題。Yang 等人首次考慮到有效提取練習-KC 關系圖中包含的高階關系信息,提出基于圖的知識追蹤交互模型(graph-based interaction model for knowledge tracing,GIKT)。受GNN 通過聚合鄰居信息提取圖表示的強大功能的啟發,通過利用圖卷積網絡(graph convolutional network,GCN)來聚合從高階關系中學習的練習-KC 嵌入特征,直接將練習嵌入與相應的答案嵌入一起作為KT 模型的輸入。并且設計重述模塊與交互模塊,能夠以一致的方式更好地模擬學生對新練習及其相關KC 的掌握程度。這緩解了數據稀疏問題和多KC 的問題。Song 等人提出了一個基于聯合圖卷積網絡的深度知識追蹤(joint graph convolutional network based deep knowledge tracing,JKT)框架,該方法設計了一個聯合圖卷積網絡來提取隱藏在“練習-KC”關系圖中的深層隱式信息,將“練習-練習”和“KC-KC”的多維關系建模成圖并融合“練習-KC”關系圖。
Tong 等人為了探索練習之間潛在的層次關系,提出層次圖知識跟蹤(hierarchical graph knowledge tracing,HGKT)模型,該方法引入了練習模式的KC,構建了一個可以建模練習學習依賴性的層次練習圖,解決了練習表征損失問題和診斷不足問題。結合練習之間的層次關系,提高學生成績預測的準確性,增強知識追蹤的可解釋性;并且利用序列注意力和模式注意力兩種注意力機制來增強建模歷史上典型狀態的效應,突出學生的重要歷史狀態,充分利用在分層練習圖中學到的信息。
對于跨KC 的知識狀態動態建模中面臨的挑戰,如遺忘行為、潛在KC 之間的關系等,Abdelrahman等人提出了深度圖記憶網絡(deep graph memory network,DGMN)。該模型將遺忘門控機制結合到注意力記憶結構中,在考慮學生遺忘行為的同時,利用外部記憶結構中的知識狀態動態構建潛在KC 及其關系圖。根據學生不斷發展的知識狀態,從動態潛在KC 圖中學習潛在KC 之間的關系。
Su 等人首次考慮到練習文本的特征,提出基于注意力機制的練習增強循環神經網絡(exerciseenhanced recurrent neural network with attention mechanism,EERNNA)框架,設計一個雙向LSTM,如圖14 所示。該方法通過練習嵌入從文本內容e中獲得練習表示q,對學生的整個練習過程進行建模,并結合影響學生在不同練習步驟中的隱藏特征追蹤學生的狀態向量。

圖14 練習ei 的文本嵌入Fig.14 Exercise embedding for exercise ei
其中,采用Word2vec將練習e中的每個詞w轉換為預訓練詞嵌入向量,用余弦相似性α計算題目信息之間的相似性作為注意力權重。
EERNNA 模型在一個集成的隱藏向量中總結并追蹤每個學生對所有KC 的知識狀態,但是無法明確學生對某個KC 的掌握程度,是深度網絡缺乏可解釋性的典型問題。因此,Liu 等人擴展了EERNNA 并提出一個可解釋的基于注意力機制的練習感知知識追蹤(exercise-aware knowledge tracing with attention mechanism,EKTA),將學生的知識狀態從EERNNA中的集成向量表示擴展到具有多個向量的矩陣H,受每個練習的文本內容e和KC 的影響隨時間變化,其中每個向量表示該學生對一個明確KC的掌握程度。
Pandey 等人提出了SAKT 模型,首次將Transformer 模型應用于知識追蹤領域,對學生的互動歷史進行建模,識別出與給定KC 相關的KC。通過只考慮歷史互動中的相關練習來預測下一個練習的表現,更好地處理了數據稀疏問題。Choi 等人認為SAKT 模型的注意力層太淺且沒有對Q、K 與V 進行充分發掘建模,并提出一種分離自注意神經知識追蹤(separated self-attentive neural knowledge tracing,SAINT)模型。如圖15 所示,用于知識追蹤的編碼器-解碼器(encoder-decoder)將深度自注意層分別應用于練習與回答。不同的是,在SAINT 中,解碼器疊加了兩個多頭注意力層,進一步捕捉練習與回答之間的復雜關系。

圖15 SAINT 模型結構Fig.15 Architecture of SAINT
Ghosh 等人完全依賴注意力網絡,提出注意力知識追蹤(attentive knowledge tracing,AKT),將靈活的基于注意力的神經網絡模型與一系列受認知和心理測量模型啟發的新穎的、可解釋的模型組件相結合,構建練習與回答的上下文感知表示。該方法使用單調性注意力機制將學生未來對評估練習的反應與他們過去的反應聯系起來,采用IRT 來捕捉練習的差異并避免過度參數化。
Pandey等人提出了RKT模型,引入了一個包含上下文信息的關系感知自注意力層,同時保持了自注意力機制的簡單性和靈活性。該方法采用關系系數表示法來捕獲關系信息,根據從學生表現數據和練習的文本內容中提取練習之間的關系,并且引入了指數衰減核函數來建模學生的遺忘行為,然后將上下文信息送到自注意力層以追蹤學生的知識狀態。
Zhang 等人使用預訓練方法來合并練習關系和難度水平信息豐富了模型的題目表示,應用雙重注意機制提出了多因子感知雙注意力知識追蹤(multi-factors aware dual-attentional knowledge tracing,MF-DAKT)模型。該方法記錄了最近學生對相關KC 的嘗試,以突出最近練習的影響,并且結合注意力機制來區分因子和因子交互作用在不同實踐記錄中對最終預測的權重,以及從不同的角度捕捉因子和因子相互作用中包含的信息。
Guo 等人指出基于深度神經網絡(deep neural networks,DNN)的KT 模型可能存在過度擬合的風險,尤其是在小數據集上,導致泛化能力有限。因此,這篇論文提出了一種高效的基于對抗訓練的知識追蹤方法(efficient adversarial training based KT method,ATKT)來增強KT 模型的泛化能力。該方法采用一個高效的注意力-LSTM 模型作為KT 主干,通過知識隱藏狀態注意模塊自適應聚合先前知識隱藏狀態的信息,同時強調當前知識隱藏狀態的重要性做出更準確的預測。
總體而言,深度知識追蹤模型開創了將深度學習用于KT 的趨勢,采用RNN 模擬學生的知識狀態,在時間序列相關任務中具有較好的適用性。之后,基于深度學習的知識追蹤模型越來越多,主要分為可解釋性問題與缺少學習特征問題的改進、設計網絡結構以及引入注意力機制。由于DNN 良好的表示能力,KT 的最新進展越來越集中于探索利用DNN 以提高KT 的性能。表3 對本章所介紹的基于深度學習的知識追蹤方法進行了對比分析。

表3 深度學習方法對比Table 3 Comparison of deep learning methods
本文對目前基于知識追蹤領域所公開的數據集進行整理與統計,主要統計信息與下載鏈接如表4所示。

表4 公開數據集統計及其下載鏈接Table 4 Public dataset statistics and download links
ASSISTmentsData 是Heffernan 教授團隊公開發布的數據集,由ASSISTments 在線ITS 提供的小學數學習題的學生答題記錄,是目前公開的知識追蹤領域最大的數據集,包含4組數據:(1)ASSISTments2009數據集是從ASSISTments 教育平臺2009—2010 學年收集的,由于存在重復記錄問題,實驗前需要刪除原數據集中重復的行。作為智慧教育領域的經典數據集,常常被用于模型的基準比較。(2)ASSISTments2012數據集是從ASSISTments 教育平臺2012—2013 學年收集的。(3)ASSISTments2015數據集收集于2015年,包含的學生人數最多,但每個學生的平均練習次數較低,學生平均記錄是4 組數據中最少的。然而該數據集也是ASSISTmentsData 中在ASSISTments2009之后研究者們使用最多的,模型效果最好的數據集。(4)ASSISTments2017 數據集是ASSISTments 的最新數據集,包含的學生交互記錄最多。
KDD Cup2010 數據集來自于2010 年KDD 杯教育數據挖掘挑戰賽,由卡內基學習公司所提供。其旨在根據學生與智能教學系統之間的交互記錄來預測學生在數學問題中的表現。
Statics2011 數據集來自OLI 的大學級工程靜態統計學課程,練習標簽是從文本描述中派生出來的數字知識組件。
Synthetic-5 是一個合成數據集,Piech 等人還模擬了2 000 名虛擬學生的在線問答軌跡,每個學生都回答相同的50 個問題序列,每個練習都來自5 個隱藏的KC∈{1,2,…,5},具有不同的難度等級,并且具有解決與KC相關的任務的指定能力。
slepemapy.cz 數據集來自在線自適應系統slepemapy.cz,提供關于學生學習地理事實的自適應實踐,格式簡單,解釋直觀。
EdNet 是Santa 收集的一個大規模分層的學生系統交互數據集,Santa 是一個多平臺AI 輔導系統,在韓國擁有的用戶量超過78 萬,可通過Android、iOS 以及Web 使用。
Junyi Academy數據集由在線教育平臺Junyi Academy于2015年收集,其中有一個練習層次Area→Topic(Unit)→exercise(Section)→Problem,即使用戶選擇了相同的練習,也可以用不同的數字來練習,即數據集中的相同問題是由使用不同數字的相同模板生成的。
知識追蹤領域常用的評估指標有以下幾種:ROC(receiver operation characteristic)曲線下的面積(area under ROC curve,AUC)是KT 中使用最廣泛的指標,50%的AUC 表示模型的預測與隨機猜測相同,AUC的值越高,表示模型性能越好。準確率(accuracy,ACC)是正確預測結果在全部結果中所占的百分比,ACC 的值越高表示模型的預測性能越好。均方根誤差(root mean square error,RMSE)是預測值與真實值之間的均方根誤差,RMSE 越低,模型顯示的性能預測能力越好。皮爾遜相關性的平方(square of Pearson correlation,)類似于RMSE,是因變量的觀測值與預測值之間的Pearson 相關系數的平方,相對于數據集中的方差進行歸一化,不是直接衡量建模值的好壞程度,而是一種測量方差比例的方法,可以使用一個或多個變量來解釋。此外,還有平均絕對誤差(mean absolute error,MAE)和對數似然值(loglikelihood,LL)。具體計算方式如表5 所示。

表5 常用的評估指標Table 5 Commonly used evaluation indicators
表6 總結了本文所列舉的主要模型的差異性。表7 總結了使用公開數據集測試的模型性能(以使用頻率最高的AUC 指標為基準),表中數據均來自模型的初始論文,取最大值(BKT+是BKT 擴展模型相關研究的最佳報告結果)。

表6 模型比較Table 6 Model comparison

表7 模型性能對比概覽Table 7 Overview of model performance %
根據總結的實驗數據可得,不同模型在不同數據集上的實驗設置有所不同,而深度學習模型性能的表現往往受超參數設置的影響較大,并且同一模型在不同論文中能夠達到的效果也不盡相同。因此,該表格中總結的數據參考價值通常要大于實際應用意義。
正如前文所述,三類主流的知識追蹤模型已經分別取得了顯著的成果,然而以上研究仍然存在許多問題亟待突破:
(1)建模維度的單一化問題
現有的研究大部分都是基于學生與ITS 的交互數據進行建模預測,這類數據通常是學生的歷史學習軌跡。而在實際應用中,知識點層面以及學生層面的信息也十分重要,在原有模型中融入知識點關系與學生學習情緒是目前學者們較為關注的研究方向。學習情緒通常包括困惑、無聊、投入以及微笑等,對于不同學生,相同的情緒的喚醒度具有差異性。不同的學習情緒會對學生產生積極或消極的影響,從而影響學習進展。因此,未來ITS 的研究也會更加關注學生在學習過程中產生的各種情緒及其變化情況,及時進行反饋,并適時給予教學干預,幫助學生排除消極因素,保持積極的學習狀態。并且,基于學生特征如何選擇情緒作為建模因子,如何將學生情緒與其他數據特征相結合進行預測以及如何提升模型性能等都是未來研究的重要方向。
(2)大量模型使用二元變量表示學生答題情況的問題
現有KT 模型大多采用二元變量表示學生的答題情況,而這種建模形式并不適用于分數值分布連續的主觀題目,Liu 等人針對主客觀題目進行聯合建模,提出基于模糊認知診斷的學生能力模型框架。針對主觀題目得分存在部分正確的模糊性,將學生的能力水平表示為模糊集合的隸屬度,在聯結型和補償型兩種教育學假設下利用模糊交和模糊并對客觀題與主觀題認知作答模式進行統一的建模。另外,其他對主觀題目的建模方法仍然有很大的研究前景與意義。
(3)基于假設建模與真實學習環境復雜性的問題
現有KT 模型的部分假設與真實情況不符,如目前大多數模型存在的四個假設:①假設學生在整個學習過程中不存在遺忘現象;②假設每道題目只涉及到一個知識點;③假設不同知識點之間相互獨立;④假設不同題目之間無關聯。而實際上學生的真實學習環境極其復雜,學習效果受到各方面多種因素影響。因此在未來的研究中可以引入自然語言處理、圖像識別等領域中的模型以處理異構數據,如題目中的文本信息、圖片信息以及學生與ITS 之間多種類型的交互信息等。另外,在建模的過程中考慮融入更多的經典教育學理論,如艾賓浩斯遺忘曲線、奧蘇貝爾的動機理論、潛在語義索引(latent semantic indexing,LSI)模型中的學習風格等,還需針對真實應用場景納入更多相關特性展開進一步研究。
(4)基于深度學習知識追蹤算法實際應用的問題
基于深度學習的神經網絡在性能上已經被證實可以達到一定的效果,并且遠遠優于傳統算法。深度網絡在ITS 平臺上的海量學生數據中進行隨機采樣作為訓練數據樣本,隨著學生練習記錄的增加,原樣本缺乏實時性,不能及時追蹤學生的知識增長情況。面對學生的學習記錄不斷增加,如何抽取具有代表性的練習記錄,采用增強抽樣強化深度學習網絡的訓練過程,如何采集數據集,以及如何增強數據樣本也是目前基于深度學習知識追蹤算法所面臨的主要問題。另外,由于深度學習算法模型在移植時涉及到系統兼容性以及設備運算功率等方面,需要根據用戶需求不斷調整模型結構,因此,還需對基于深度學習知識追蹤模型的實用性進行深入的研究與優化。
(5)傳統知識追蹤模型的參數擇優問題
對于傳統的知識追蹤方法,在參數的取值上直接影響模型的性能。甚至有研究者發現,在模型參數取值不同的情況下,也可能會出現相同的預測結果,即模型的識別性問題。在現有的傳統模型中,參數優化方法可能存在四方面的問題:①在保證模型精度時,降低了參數優化的時間復雜度和空間復雜度的問題;②防止在數據有限的情況下,出現參數過擬合問題;③設計參數估計算法,使其不會陷入局部最優解的問題;④結合其他類型的學習數據,更好地估計參數值問題。
(6)知識追蹤模型精度與可解釋性的衡量問題
對于ITS 系統,通常嚴格要求KT 算法具有可解釋性,而深度知識追蹤模型雖然具有較高的預測精度,但在可解釋性問題上還有待進一步研究,這也是大多數現實世界的ITS 系統沒有選擇深度模型的原因。目前已經有學者通過融入其他類型的數據特征或者設計網絡結構引入混合方法以提高精度,但是還有很大的優化空間。因此,綜合傳統知識追蹤與深度知識追蹤模型的優點,權衡知識追蹤模型的精度與可解釋性將會是該領域未來的重點研究方向。
知識追蹤作為實現智慧教育的重要組成部分,在人工智能輔導系統、遠程教育以及在線教學平臺等教育領域得到了廣泛的研究和應用。本文分別對具有代表性的基于貝葉斯的知識追蹤算法、基于Logistic模型的知識追蹤算法以及深度知識追蹤算法的最新研究進展按照其類別與時間線進行了介紹和整理,并對同類算法以及不同類型方法的性能、特點和應用場景進行分析、對比與總結,最后探討了知識追蹤領域現存的問題與未來的發展方向。