劉坤佳 李欣奕 唐九陽 趙 翔
(國防科技大學信息系統工程重點實驗室 長沙 410073)
隨著智能輔導系統(intelligent tutoring system)和大規模在線開放課程(massive open online course)等在線學習平臺的發展,在線教育得到廣泛關注與應用.在線教育系統通過收集用戶的行為數據并記錄其學習軌跡,實現更為智能的個性化資源推薦與教輔.這個過程的關鍵就在于知識追蹤(knowledge tracing, KT),即通過用戶不同時刻的習題作答情況來跟蹤其認知狀態,進而預測其下一時刻的答題情況,實現對用戶知識掌握程度的智能評估.
知識追蹤任務可以形式化表示為一個有監督的序列學習任務.如圖1所示,用戶在在線學習過程中,與包含不同知識點的習題交互,產生一個習題作答交互記錄.知識追蹤的目標是通過建模用戶答題情況,評估其認知狀態,從而預測其在下一個時刻的答題情況.另外,對于可解釋知識追蹤任務,不僅要預測用戶作答表現,還要對預測結果提供解釋.

Fig.1 Illustration of interpretable knowledge tracing
當前知識追蹤領域的研究主要分為基于傳統機器學習方法和基于深度學習的方法2類.Corbett等人[1]首次提出知識追蹤的概念,并提出用貝葉斯網絡建模用戶的學習過程.隨后的工作分別將學習因素分析、性能因素分析、項目反應理論應用于知識追蹤.Piech等人[2]首先將循環神經網絡(recurrent neural network, RNN)引入知識追蹤領域,開啟了深度知識追蹤方法的序幕.相比于傳統非深度模型,深度學習方法預測能力取得明顯提升.
當前深度知識追蹤方法多針對習題對應的知識點建模,而忽視了題目本身蘊含的豐富信息.例如,考察同一知識點的不同題目可能由于難度設置不同而導致不同的作答結果.另外,目前的方法假設學生認知水平變化程度相同,忽視了學生認知狀態與習題表示的個性化交互,因此無法建模學生知識狀態變化的個體差異.再者,基于深度學習的方法預測過程和結果缺乏可解釋性.在實際應用中,尤其是在線教育領域,可解釋的預測結果不僅可以提升系統透明度,還能提高用戶對系統的信任和對預測結果的接受程度.當前的研究對預測結果的可解釋性多集中在為認知狀態變化過程提供可視化展示[3-4],但是并未給出得到當前預測結果所依據的推理路徑,因此不能直接為預測結果提供解釋.
針對以上問題,本文提出可解釋的深度知識追蹤模型(interpretable deep knowledge tracing, IDKT).首先,通過引入習題的上下文信息、擴充了習題-知識點關系圖,得到更有表征能力的習題與知識點表示,緩解數據稀疏問題;接著,基于用戶知識狀態學習注意力權重,得到習題-知識點關系圖中用戶對不同鄰居節點的關注程度并聚合鄰居節點,得到當前預測習題基于用戶知識狀態的個性化表示.值得注意的是,為了捕捉用戶不同語義下的關注重點,我們設計了多頭注意力機制穩定學習過程.然后,該個性化習題表示與用戶認知狀態共同用于預測用戶最終的作答表現;最后,對于預測結果,我們在習題-知識點圖中依據前述基于用戶知識狀態的注意力值選擇一條推理路徑作為解釋.
本文的主要貢獻包括4個方面:
1)利用習題與知識點的上下文信息挖掘其間隱含關系,豐富習題-知識點圖關系類型,緩解數據稀疏問題;
2)基于用戶認知狀態學習個性化注意力權重,得到習題-知識點關系圖中用戶對不同鄰居節點的關注程度,充分考慮用戶知識狀態差異,實現習題個性化表示;
3)提供一種可解釋框架,通過個性化注意力機制,在習題-知識點關系圖中選擇推理路徑,實現對知識追蹤結果的可解釋;
4)在多個知識追蹤數據集上對提出的IDKT模型進行廣泛驗證,均取得最佳預測表現,有力驗證了所提模型的有效性.
現有知識追蹤方法可以大致分為2類:基于傳統機器學習的方法和基于深度學習的方法.其中基于傳統機器學習的方法可以進一步分為貝葉斯模型和回歸模型[5].
基于貝葉斯的方法典型代表是貝葉斯知識追蹤(bayesian knowledge tracing, BKT)[1].BKT基于隱馬爾可夫模型(hidden Markov model, HMM)建模用戶的認知狀態變化,在每一次用戶交互后,BKT根據其答題情況基于HMM更新用戶掌握知識點的概率.然而,BKT忽略了知識點之間的相互聯系,難以處理較復雜的知識體系,且在實際應用中難以模擬較長的交互序列.
回歸模型則從歷史數據中學習特定參數從而對答題情況進行預測.項目反應理論(item response theory, IRT)模型[6]從交互數據中訓練用戶能力和習題難度2個參數.多維項目反應理論(multi-item response theory)[7]對用戶能力的考察從單一維度擴展到多維度.廣義分部評分模型(generalized partial credit model)[8]進一步細化對習題回答情況的評價,引入分部計分方式.表現因子分析(performance factors analysis)[9]考慮用戶對知識點的正面和負面回應情況.知識追蹤機(knowledge tracing machine)[10]利用矩陣分解將習題和用戶的邊信息編碼到參數模型中.
回歸模型得到的結果有著天然的可解釋性,但是難以自動拓展到不同的數據中.另外,由于模型本身的表示能力有限,因此預測性能不佳.
基于深度學習的方法由于具有強大的表征能力,因而在知識追蹤任務取得了很好的預測結果,逐步受到廣泛的重視.其中,深度知識追蹤(deep knowledge tracing, DKT)和動態鍵值記憶網絡(dynamic key-value memory network, DKVMN)在預測用戶未來答題情況中都表現出了強大的預測能力,成為后續基于深度學習方法的比較基準.
DKT以RNN為基礎結構,用戶的學習交互記錄通過one-hot編碼或壓縮感知轉換為輸入向量.RNN的隱層狀態即為用戶對知識點掌握情況的表征,通常被稱為知識狀態(knowledge state).與DKT將用戶知識狀態表示為一個向量不同,DKVMN維持一個靜態外部矩陣存儲所有知識點的表示,然后動態更新用戶對知識點的掌握程度.
此后,一些工作通過建模知識點之間的相互關系、引入習題和知識點的輔助信息、挖掘用戶的交互特點等方式進一步提高模型預測能力.引入習題的知識追蹤方法(exercise-aware knowledge tracing)[11]利用注意力機制聚合用戶歷史認知狀態,圖交互知識追蹤(graph-based interaction knowledge tracing, GIKT)[12-14]利用圖神經網絡學習知識點間的潛在關系,并以此更新用戶知識狀態.有輔助信息的深度知識追蹤(deep knowledge tracing with side information)模型[13]通過挖掘習題之間的相關關系(side relations),整合習題之間關系的特征信息,得到更加豐富的特征.有約束的先決關系驅動下的深度知識追蹤(prerequisite-driven deep knowledge tracing with constraint modeling)模型[14]將知識點之間的先決關系作為模型約束擴充特征信息.Zhang等人[15]將用戶的反應時間、嘗試次數等輔助信息引入DKT模型.此外還有工作通過整合交互序列中特定的用戶行為信息并分別建模其遺忘行為[16]實現個性化.個性化評估知識追蹤(individual estimation knowledge tracing, IEKT)[17]在RNN序列中引入評估用戶個性化認知狀態和知識獲取敏感度的模塊,根據答題序列將用戶分入不同類別,實現了一定程度的個性化知識追蹤.
由于深度學習采用端到端的學習過程,模型訓練過程和最終結果往往不具有可解釋性.在DKT中得到的隱知識狀態是一個高度抽象的向量,不具有可解釋性.DKVMN通過學習當前輸入習題與各個知識點之間的相關關系,自動選擇與當前輸入習題相關的知識概念,因而可以一定程度上為用戶在各個知識點上的狀態變化提供解釋.但是DKVMN并不直接對知識點建模知識狀態,而是通過定義一個低維隱向量間接更新其知識表示,雖然可以將知識狀態變化過程進行可視化展現,但是不能提供推理路徑層面的可解釋性.
為實現可解釋的知識追蹤,習題輔助的RNN模型(exercise-enhanced RNN)[18]利用余弦相似度計算習題之間的相似性,以此作為知識狀態的權重,提高預測能力的同時也為結果提供可解釋性.基于深度信息反應理論(deep item response theory)的模型[19]將DKT與IRT結合,保留了深度學習的預測能力,同時參照IRT理論,從習題難度和用戶個人能力2方面為預測結果提供解釋.上下文感知的注意力知識追蹤(context-aware attentive knowledge tracing, AKT)模型[20]通過引入上下文信息并結合IRT模型,增強嵌入的表征能力,通過注意力機制為結果提供解釋.圖知識追蹤(graph knowledge tracing, GKT)模型[4]在預測過程中同步學習知識點之間的隱關系,每次僅更新與當前習題相關的知識狀態,實現了知識點級別的可解釋性.注意力深度知識追蹤(attention deep knowledge tracing)[21]通過計算知識點之間的注意力權重為結果提供可解釋性.
這些方法或通過記錄知識狀態變化過程,或通過與邏輯回歸模型結合提供可解釋性,但是忽略了在解釋中引入知識與習題間的關聯性.本文提出的可解釋知識追蹤方法根據用戶知識狀態從習題-知識點圖中構建推理路徑提供解釋.本文是首個提出以推理路徑為知識追蹤任務提供解釋的工作.
本節主要給出知識追蹤任務的形式化定義、介紹相關預備知識,并說明可解釋知識追蹤模型基本框架.
在智慧教育系統中,假設每個用戶獨立完成習題,記錄某一用戶的習題作答情況為Xt.其中,某時間步下習題作答交互通常表達為一個習題-作答元組xt=(qt,at),即用戶在時刻t回答了習題qt,作答情況為at,at一般為1/0二元取值,如果該用戶在時刻t正確回答習題qt,則at=1,反之at=0.
知識追蹤任務可以建模為一個有監督的序列學習任務,如圖1所示.已知用戶的習題作答交互記錄Xt={x1,x2,…,xt},通過建模其答題情況,從交互歷史中提取用戶的隱式知識狀態,并跟蹤該知識狀態隨時間的變化情況.由于對知識狀態的評估無法外顯量化,因此現有的知識追蹤任務預測用戶在下一時間步答對習題的概率P(at+1=1|qt+1,Xt),從而間接反映對用戶知識狀態的評估.
通常,每個習題qt會對應考察一個或多個知識點,習題qt考察了知識點si與sj,則認為qt與si,sj之間存在對應關系.值得注意的是,某習題可能考察了若干個知識點,某知識點可能被若干習題考察,即習題與知識點之間的對應關系為多對多.該關系由矩陣Q表示.若習題與知識點間存在對應關系,則矩陣Q中對應位置值為1,否則為0.在本文中,矩陣Q將進一步轉換為習題-知識點之間的單一關系二部圖.
本文提出一個基于圖注意力網絡的可解釋深度知識追蹤框架,通過引入習題的上下文信息擴充習題-知識點關系圖,然后利用RNN網絡對答題序列建模得到用戶當前的知識狀態.最后基于用戶知識狀態學習注意力權重,得到當前預測習題基于用戶知識狀態的個性化表示,并為預測結果生成推理路徑作為解釋.模型由4個模塊組成,分別為認知狀態模塊、基于用戶知識狀態的個性化習題表示模塊、作答表現預測模塊和解釋路徑生成模塊.
1)認知狀態序列模塊.用于在用戶交互序列中建模其知識狀態,捕捉知識點間粗粒度的依賴關系.將序列最終時間步對應的隱藏狀態作為當前用戶狀態表征,包含了用戶對習題與對應知識點的掌握狀態.
2)基于用戶知識狀態的個性化習題表示模塊.本模塊首先根據矩陣Q構建知識點與習題之間關系的二部圖,然后從所有用戶交互信息中進一步建模知識點之間的聯系、習題之間的共現關系等.這些上下文信息將用于擴展二部圖,將知識點與習題之間的單一關系擴展為包含知識點間、習題間相關關系的圖.然后對該圖應用注意力圖神經網絡算法,由認知狀態模塊中獲得的用戶當前知識狀態得到注意力值,據此聚合鄰居節點信息,得到當前預測習題基于用戶知識狀態的表示.隨后,該注意力加權的習題表示將與用戶認知狀態一道送入預測模塊,預測用戶作答表現.值得注意的是,基于用戶認知狀態的個性化權值將為預測結果提供解釋.若預測結果為用戶將答錯此題,由注意力值得到的路徑將幫助定位出用戶知識掌握中的薄弱環節.
3)作答表現預測模塊. 本模塊根據之前得到的用戶知識狀態與個性化習題表示,輸出用戶在下一個時間步正確回答目標習題的概率.
4)解釋路徑生成模塊.本模塊在得到當前作答表現預測后,為預測結果提供可解釋性.基于用戶認知狀態的個性化注意力可以使得用戶關注的鄰居節點得到更高的注意力值,因而對預測結果產生更大影響.由此,可利用該注意力值在圖中為預測結果展示出一條推理路徑.在每一跳鄰居中選擇最大注意力值的節點添加到解釋路徑內,直至達到預定的跳數,就在習題-知識點圖中生成了一條解釋路徑,直觀展示當前預測結果的產生原因.IDKT模型整體結構如圖2所示:

Fig.2 Framework of our model
本節主要介紹可解釋知識追蹤模型的各個模塊,包括用戶認知狀態序列建模、基于用戶認知狀態的個性化習題表示模塊、作答表現預測模塊、解釋路徑生成模塊以及模型訓練方法.
由于用戶的作答交互序列存在時序,而且不同習題之間可能存在依賴性,因此本模塊通過建模作答序列,捕捉用戶狀態的變化并自動學習習題之間的潛在關系.本模塊結構設計如圖2中①的部分所示,參照DKT[2]使用長短時記憶網絡(long-short term memory, LSTM)從用戶交互序列中學習其當前知識狀態.
(1)
其中,xt為習題表示與用戶作答情況的拼接向量,變量ht,ct,it,ft,ot分別代表隱藏層狀態、單元狀態、輸入門、遺忘門、輸出門.該認知狀態序列模塊可以捕捉知識點間粗粒度的依賴關系,此處將序列最終時間步對應的隱藏狀態向量ht作為當前用戶狀態表征,其中包含了用戶對習題與對應知識點的掌握狀態.
所提模型的核心是基于用戶知識狀態的個性化習題表示模塊,主要分為2部分.
首先,為緩解數據稀疏性問題,在由矩陣Q構建的知識點與習題二部圖基礎上,從所有用戶交互信息中進一步建模知識點之間的聯系、習題之間的共現關系等上下文信息,利用得到的知識點間、習題間相關關系將二部圖擴展為包含多種關系類型的異質圖結構.然后在此異質圖基礎上,應用注意力圖神經網絡聚合鄰居節點,得到當前預測習題更加豐富的節點表示.其中,用戶當前時刻的知識狀態將與習題節點表示一道,共同得到注意力值作為聚合鄰居節點的依據.由于用戶知識狀態不同,所以在圖中對鄰居節點的關注程度也不同,因此,通過利用用戶當前知識狀態可以學到個性化的習題表示.
1)基于上下文的習題-知識點圖構建.根據每道習題所考察的知識點,很自然地就可以構建出知識點-習題二部圖.然而,知識點之間的關聯關系、先序關系,習題之間的相關關系并不能通過該二部圖體現.為了得到信息更加豐富的習題-知識點關系圖,我們提出融合上下文信息,擴展習題之間、知識點之間的關系,將單一關系的二部圖擴展為展示習題、知識點間豐富聯系的異構圖.
① 習題-知識點關系構建.通過2.1節中介紹的矩陣Q可以得到習題與知識點間的對應考察關系.例如圖3(b)中,若習題q1考察了知識點s1,s2,s3,則認為在習題-知識點二部圖中q1與s1,s2,s3存在連接,即:
(2)
注意,習題考察知識點關系是研究知識追蹤的基礎信息,支持知識追蹤問題研究的數據均直接提供該類信息,因此建模時無需做額外處理.如圖3(a)所示.
② 習題-習題關系構建.在習題與知識點之間的考察關系中不難看出,若某些習題共同考察了相同的知識點,該習題之間存在較強的相關關系.以圖3為例,若習題q1考察了知識點s1,s2,s3,習題q2考察了知識點s2,s3,習題q3考察了知識點s3,s4,習題q4考察了知識點s5,則可將其關系表示為如圖3(c)所示.
q1與q3的共同考察的知識點最多,因此相關度最高,q1與q4考察不同的知識點,因此相關度最低.因此采用習題之間的知識點共現作為習題相關程度的衡量指標之一.
另外,通過挖掘用戶的答題序列發現,某些習題會呈現出固定的共現模式.例如兩習題經常在用戶答題序列中伴隨出現,則可推測其間存在一定關聯,例如習題有相似的題型,關聯的考點等.在圖3中的例子為q3與q4.我們統計序列中習題共現的頻繁模式與非共現頻次的比值,選擇其中大于一定閾值的共現模式,其形式化表述:
(3)
其中,freq(qi,qj)表示習題qi,qj共現的頻次,freq(qi),freq(qj)分別表示習題qi,qj單獨出現的頻次.
此外,考察相同知識點的問題因為難度設置不同,從而會導致不同的作答表現.對此我們統計習題被所有用戶作答的正確率來表征該習題的難度系數,若用戶整體正確率高說明習題相對簡單,反之說明題目本身難度較大.
③ 知識點-知識點關系構建.知識點之間也存在著關聯關系、先修關系、上下位關系等.比如知識點s1,s2,s3共同被習題q1考察,說明知識點s1,s2,s3之間存在關聯關系或上下位關系.另外,如果在用戶答題序列中,知識點s1總是先于知識點s5被考察,說明知識點s1可能是知識點s5的先修知識點,即掌握知識點s1是掌握知識點s5的前提,如圖3(d)所示.基于以上2條假設,通過挖掘所有用戶的答題序列和作答情況,可以構建知識點之間的關聯關系和先修關系.

Fig.3 Inter-relations between questions and skills
2)基于用戶知識狀態的個性化習題表示.通過結合上下文信息得到習題-知識點間的異質圖后,為了對習題-知識點圖的豐富信息進行建模,模型用注意力圖神經網絡聚合鄰居節點,得到當前待預測習題更加豐富的節點表示.
① 基于用戶知識狀態的注意力機制.對于同一習題,知識狀態不同的用戶關注的考察重點不同,影響用戶作答表現的考點也不同.基于這一考慮,我們提出將用戶知識狀態納入圖神經網絡的節點表示學習過程.
假設當前習題-知識點圖中所有節點的嵌入向量集合為Ω={n1,n2,…,nN},ni∈F,其中N為節點數,F為每個節點的特征維度.首先,為了獲取特征之間的高階聯系,需要對節點進行線性變換.本文對圖中節點共享線性變換矩陣W∈F′×F,F為每個節點特征的初始維度,F′為線性變換后節點特征維度.

(4)
輸出eij經過softmax激活函數映射αij=σ(eij)即得到節點j對節點i重要程度的表征.
此外,為了捕獲用戶知識狀態與節點表示的多語義下的特征交互,模型引入了多頭注意力機制(multi-head attention),即采用相同的注意力機制,但是對于每一頭注意力學習不同的權值矩陣W,以實現當前節點與用戶知識狀態進行更加全面的交互.在傳播過程將多頭注意力得到的結果拼接,在輸出層求和平均,得到最終的節點表示.
② 聚合鄰居節點.得到了目標節點與周圍鄰居節點基于用戶認知狀態的注意力向量后,鄰居節點的表示將根據該注意力值進行加權求和,此即為單頭注意力的聚合過程.
(5)
我們將得到的多頭注意力進行拼接,
(6)
通過重復這樣的過程,更多跳的鄰居節點表示被聚合到中心節點.值得注意的是,在輸出層,由于輸出向量維度限制,上述的拼接操作將不再適用,此時可以將多頭注意力機制得到的節點表示進行平均,得到最終基于用戶知識狀態的個性化節點.
(7)
本模塊根據用戶知識狀態與個性化習題表示,輸出用戶在下一個時間步正確回答目標習題的概率.該過程可形式化地表示為
(8)
其中,σ(·)為激活函數,fp為預測函數,ht為認知狀態模塊得到的用戶當前知識狀態表示向量,ni為習題表示模塊經過多頭注意力聚合鄰居節點得到的個性化習題表示向量.激活函數與預測函數可根據不同數據特點選擇.在本模型中,fp為內積函數,σ(·)為sigmoid函數.
最后,采用隨機梯度下降通過最小化預測概率與標簽結果的交叉熵損失的方式更新模型參數.其中ai為用戶實際作答情況,正確為1,錯誤為0.pi為預測用戶作答正確的概率,pi∈[0,1].
(9)
基于用戶認知狀態的注意力值不僅用于聚合鄰居節點得到個性化的習題表示,也將在得到當前作答表現預測后,為預測結果提供可解釋性.
在注意力圖神經網絡聚合表示的過程中,對每一跳鄰居都會學習一組歸一化的權值.該個性化注意力可以直觀地理解為在用戶當前的認知狀態下更關注哪個鄰居節點.用戶更加關注的鄰居會得到更高的注意力值,因此在聚合得到中心節點表示時會發揮更大的作用,所以很自然地,會對預測結果有更直接的影響.基于這樣的認識,我們可以利用該注意力值在圖中為預測結果展示出一條推理路徑.如圖2中④的部分所示.在每一跳鄰居中選擇最大注意力值的節點添加到解釋路徑內,直至達到預定的跳數,這樣,我們就在習題-知識點圖中生成了一條解釋路徑,直觀展示當前預測結果的產生原因.
本節首先介紹實驗的基本設置,包括參數設置、度量指標、數據集和對比方法.接著展示本模型和各對比方法在各個數據集中的預測表現.隨后進行消融實驗以驗證個性化注意力機制和融合上下文信息習題-知識點關系圖構建2個模塊的有效性.最后通過案例分析,展示基于注意力的推理路徑的生成結果.
本實驗在隨機梯度下降中使用的學習速率r∈{0.0001,0.001,0.01},嵌入維度k∈{50,100,200},訓練批量大小B∈{50,100,200,400},RNN層數l∈{1,2,3},隱藏狀態層數h∈{32,64,128},隨機采樣鄰居節點數n∈{2,4,8},聚合范圍為m∈{1,2,3,4}跳內鄰居.最優參數通過網格搜索由驗證集確定.本實驗中所有數據集的迭代次數均設為1 000.習題、知識點嵌入維度均設為100,嵌入矩陣在隨機初始化后隨訓練過程動態更新.知識狀態建模部分的RNN算法采用LSTM,包含2個隱藏狀態層,隱藏層維度均設為64,最終輸出的用戶知識狀態向量維度為100.利用習題-知識點圖進行嵌入更新的過程中,每一跳隨機采樣的鄰居節點數設為4,最遠聚合3跳以內的鄰居節點.模型的參數優化采用隨機梯度下降,學習率設置為0.001,批大小為100.
參照大多數認知跟蹤模型研究工作,本實驗采用ROC 曲線下方的面積大小(area under the curve, AUC)和預測結果準確率(accuracy, ACC)作為評價指標.AUC與ACC越大表示模型預測性能越好.
本實驗在3個公開的知識追蹤數據集上驗證模型有效性:ASSIST09,ASSIST12,EdNet.3個數據集均從用戶的答題交互日志中抽取,表1顯示了各個數據集的統計信息.每個數據集中,80%數據用于訓練與驗證,20%用于測試,交互序列最大長度設為200.我們從各個數據集中選擇習題,習題考察的知識,和用戶的作答情況作為知識追蹤任務的基本數據.此外我們統計了每個題目在平臺內總體正確率,不同題目之間的共現關系,習題考察知識點的對應關系,以此作為擴充習題-知識點關系圖的上下文信息.在以上3個數據集中,我們去掉未標注考察知識點的答題記錄,過濾了交互次數小于10的用戶.

Table 1 Statistics of Datasets
ASSIST09[22]是2009—2010年間從 ASSIST 在線教育平臺(上標加網址)收集的用戶交互答題序列.我們在“技能構建者(skill builder)”數據集上進行實驗.數據集包含3 852名用戶,123個知識點,17 737個問題和 282 619次交互練習.
ASSIST12[22]是2012—2013年間ASSIST 在線教育平臺收集的數據.和ASSIST09不同,ASSIST12數據集中每個問題只考查單一知識點.我們采取與ASSIST09相同的預處理方式.
EdNet[23]由人工智能在線輔導平臺Santa收集提供,包含131 441 538條交互記錄,涉及784 309個用戶.由于數據量過大,本實驗隨機選擇5 000名用戶的學習記錄,其中包含189個知識點、12 161個習題和676 974條交互記錄.
為了驗證所提模型在預測用戶作答表現上的有效性,我們選取7個典型基準模型.
傳統模型通過非深度方法,人工定義影響用戶作答表現的因素,并根據用戶交互序列擬合參數,文中選取2個:貝葉斯知識追蹤(BKT)[1]以二元參數表示用戶知識狀態,應用貝葉斯網絡學習影響用戶作答表現的參數,如學習概率、失誤概率、猜測概率等.知識追蹤機(KTM)[10]引入人工建模的習題和知識點特征,并應用因子分解機預測作答表現.為了與其他基準模型保持一致,本實驗僅采用習題ID,知識點ID和作答情況作為輸入.
深度模型通過將作答表現預測問題建模為序列預測問題,應用循環神經網絡方法建模用戶知識狀態,預測答題表現,文中選取2個:深度知識追蹤(DKT)[2]用RNN建模學習交互序列,學習一個隱狀態表征用戶的知識狀態,以此預測答題表現.動態鍵值記憶網絡(DKVMN)[3]用記憶網絡存儲不同的知識狀態,并學習知識點之間的隱含關系,以此預測作答表現.
深度知識追蹤模型有許多擴展工作,此處選取3個與本文所提模型有共通之處的典型代表.圖交互知識追蹤模型(GIKT)[12]利用圖卷積神經網絡挖掘習題-知識點之間的隱含關系.通過泛化待預測習題與知識狀態的交互,提高模型預測能力.個性化評估知識追蹤(IEKT)[17]通過個性化方法評估用戶的認知狀態和知識獲取狀態,提高模型預測能力.上下文感知的注意力知識追蹤(AKT)[20]通過引入上下文信息并結合IRT模型,增強嵌入的表征能力,通過注意力機制為結果提供解釋.
實驗結果如表2所示,其中黑體數字表示該數據集中取得最優預測效果的算法表現.分析表中數據可以得到4個結論:
1)針對數據稀疏性和建模個性化認知的擴展模型進一步提高了深度學習類方法的預測能力,證明為深度學習方法引入更多輔助信息和考慮個性化因素均是提升模型指標的有效途徑.

Table 2 The Predicted Results of Different Methods on Knowledge Tracing

Fig.4 Generating inference path for interpretable prediction
2)和利用習題-知識點二部圖挖掘隱含聯系的GIKT模型相比,IDKT利用上下文信息挖掘習題-知識點之間更加豐富的聯系,AUC指標在ASSIST09,ASSIST12,EdNet數據上分別提高1.64%,1.76%,0.89%,說明充分挖掘上下文擴展習題-知識點關系對緩解數據稀疏問題的有效性.
3)IDKT設計的個性化嵌入對比IEKT的泛個性化方法,AUC分別取得了2.68%,6.98%,1.64%的提升,證明了個性化建模的有效性.
4)IDKT設計的基于知識狀態的注意力節點表示聚合機制對比AKT的指數衰減注意力方法,AUC分別取得了1.32%,1.86%,1.78%的提升,證明了基于知識狀態的注意力機制的有效性.
本節通過案例分析展示由個性化注意力權重生成推理路徑的過程.以ASSIST09數據集為例,圖4顯示了以id為96295的用戶的案例分析,預測該用戶在id為86633習題作答情況為錯誤的情況下,為解釋預測結果生成推理路徑的過程,此處僅展示單頭注意力結果,多頭注意力推理過程以此類推.
根據個性化注意力權值,當前習題聚合一跳內鄰居的注意力權值分別為0.5,0.4,0.1.因此我們將id為280的知識點和id為147382的習題分別加入推理序列中.重復以上過程,就可以在每一層鄰居中選擇注意力權值高的節點加入推理路徑.由此,對于用戶在當前習題的作答預測,如圖4所示,IDKT生成了2條推理路徑:86623-280-310-309和86623-147382-276.對照id的實際含義,就可以對所得推理路徑進行解釋.以推理路徑1為例,模型預測用戶未正確作答id為86623的習題可能因為其考察了id為280的知識點.而知識點280與知識點310相關,由此得出的解釋路徑是,用戶在知識點310存在薄弱環節導致當前習題沒有回答正確.
通過以上過程,IDKT將個性化注意力權值轉化為推理路徑,為結果提供可解釋性.該解釋可以指導用戶找出學習過程的薄弱知識點,也可以為后續個性化學習資源推薦、智能問答等提供依據.
本模型的核心部分是將用戶知識狀態引入圖神經網絡的注意力學習過程,學習用戶個性化的習題表示.我們推測個性化的習題表示不僅為結果提供了推理路徑級別的可解釋性,也提高了模型預測能力.為了驗證這一設計的有效性,將針對個性化注意力機制進行消融實驗,觀察其對模型預測性能的改善作用.
變種1.為了得到語義更加豐富的聚合鄰居表示我們采用多頭注意力機制.為了驗證多頭注意力機制的有效性,此處將多頭注意力簡化為單頭注意力機制,簡寫為IDKT-s head.
變種2.聚合鄰居表示的過程中,計算注意力權值僅考慮目標節點與鄰居節點,即退化為注意力圖神經網絡的表示學習方法,簡寫為IDKT-w/o ks.
變種3.聚合鄰居表示的過程中,不考慮計算注意力權值,對鄰居節點的表示加和求平均更新目標節點的表示,簡寫為IDKT-w/o att.
3個變種的實驗參數均按照4.1節描述設置,與本文模型保持一致.由于數據集ASSIST12為單知識點習題數據集,而在實際的智能教育系統中,一個習題可能會考察多個知識點,因此在消融實驗階段我們不考慮ASSIST12,僅展示模型與變體在考察多知識點的ASSIST09與EdNet數據集中的結果.表3展示了本文模型與3個變種的預測結果.從實驗結果看,在ASSIST09數據集中,本文所題模型的ACC比3個變種分別高了 0.11%,0.67%,1.13%;AUC分別高了0.24%,1.15%,1.50%.在EdNet數據集中,ACC比3個變種分別高了 0.39%,2.01%,1.11%,AUC分別高了0.39%,0.77%,1.14%.說明基于知識狀態的多頭個性化注意力機制中,多頭注意力、個性化注意力和注意力機制本身均對模型預測能力有提升作用.
對于變種1,將多頭注意力退化為單頭注意力,對用戶知識狀態挖掘的能力減弱,模型預測性能有小幅度下降.對于變種2,在聚合鄰居節點表示時,未引入用戶當前認知狀態,相當于將個性化注意力機制退化為基礎注意力機制,模型預測AUC在兩數據集上下降最大,證明了個性化注意力機制不僅為模型提供可解釋性,對模型預測能力提升也發揮了重要作用.對于變種3,聚合鄰居表示時直接采用直接加和平均的方式,模型預測能力有大幅度下降,證明了注意力機制的有效性.

Table 3 The Predicted Results of Our Model and Its Variants on the Knowledge Tracing Task
本文主要提出了一個可解釋深度知識追蹤模型,通過對用戶答題序列建模獲得其知識狀態,然后基于該知識狀態學習注意力權重,得到習題-知識點關系圖中用戶對不同鄰居節點的關注程度,并以此聚合鄰居節點,得到當前預測習題基于用戶知識狀態的個性化表示,提高了知識追蹤模型預測性能.對于預測結果,提出在習題-知識點圖中依據用戶個性化注意力值選擇推理路徑作為對預測結果的解釋.
后續工作將主要研究引入更豐富上下文知識的方法,將習題-知識點圖擴展為有向帶權圖,以此有效刻畫知識之間先修關系的方向性和節點之間的關聯程度差別.
作者貢獻聲明:劉坤佳設計了初步的模型框架、實現了本文的所有實驗并撰寫論文初稿;李欣奕參與了論文框架設計、實驗設計,對論文初稿進行了細致修改;唐九陽對論文修改提出建設性意見,并審核同意發表;趙翔對模型框架和實驗設計提出了建設性意見.