魏 思,沈雙宏,黃振亞,劉 淇,陳恩紅,3,蘇 喻,王士進(jìn)
(1. 認(rèn)知智能國家重點(diǎn)實(shí)驗(yàn)室(科大訊飛),安徽 合肥 230088;2. 中國科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 大數(shù)據(jù)分析與應(yīng)用安徽省重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230027;3. 中國科學(xué)技術(shù)大學(xué) 大數(shù)據(jù)學(xué)院,安徽 合肥 230027)
在線學(xué)習(xí)系統(tǒng)(Online Learning Systems,OLS),包括智能輔導(dǎo)系統(tǒng)(Intelligent Tutoring Systems,ITS)和大規(guī)模在線開放課程(Massive Online Open Courses,MOOC),能夠?yàn)閷W(xué)生提供智能教育服務(wù)[1-3]。例如,自適應(yīng)地向?qū)W生推薦個(gè)性化的學(xué)習(xí)資源和學(xué)習(xí)路徑,以提高他們的學(xué)習(xí)效率和體驗(yàn)[4-5]。知識(shí)追蹤(Knowledge Tracing,KT)旨在監(jiān)測(cè)學(xué)生在學(xué)習(xí)中的動(dòng)態(tài)知識(shí)狀態(tài)[6],是提供這些智能服務(wù)中最基礎(chǔ)和必要的研究任務(wù)之一。近年來,隨著在線教育的迅速發(fā)展,越來越多的研究開始關(guān)注到這個(gè)新興的研究方向[7-20]。
具體來說,知識(shí)追蹤問題的定義如下: 在一個(gè)智能在線學(xué)習(xí)系統(tǒng)中,假設(shè)學(xué)生集合是={s1,s2,…,sI},包含I個(gè)不同的學(xué)生;題目集合是={e1,e2,…,eJ},包含J個(gè)不同的題目;知識(shí)點(diǎn)集合是={kc1,kc2,…,kcM},包含M個(gè)不同的知識(shí)點(diǎn)。每個(gè)題目都與特定的知識(shí)點(diǎn)關(guān)聯(lián),學(xué)生通過在不同的題目上進(jìn)行練習(xí)達(dá)到對(duì)相應(yīng)知識(shí)點(diǎn)的掌握。這里學(xué)生的學(xué)習(xí)交互序列可表示為X=(e1,a1),(e2,a2),…,(et,at),其中,et表示t時(shí)刻學(xué)生回答的題目,at是對(duì)應(yīng)的答案標(biāo)簽(1代表正確答案,0代表錯(cuò)誤答案),T表示學(xué)習(xí)交互序列的長度?;趯W(xué)生的學(xué)習(xí)交互序列,知識(shí)追蹤是評(píng)估學(xué)生在學(xué)習(xí)過程中不斷演變的知識(shí)狀態(tài)并進(jìn)一步預(yù)測(cè)他們未來表現(xiàn)的任務(wù)。這里的知識(shí)狀態(tài)指的是學(xué)生在具體知識(shí)點(diǎn)上的掌握程度。為了方便理解,本文在圖1中給出了一個(gè)知識(shí)追蹤的具體示例: 在學(xué)生的練習(xí)過程中,知識(shí)追蹤模型不斷估計(jì)學(xué)生知識(shí)狀態(tài)并給出反映學(xué)生知識(shí)掌握程度變化的雷達(dá)圖。在該示例中,雷達(dá)圖的每一維對(duì)應(yīng)學(xué)生在對(duì)應(yīng)知識(shí)點(diǎn)上的掌握情況。通過雷達(dá)圖面積的變化可以看出,學(xué)生在練習(xí)后獲得了較好的知識(shí)增長。
圖1 知識(shí)追蹤過程示例
針對(duì)知識(shí)追蹤的現(xiàn)有工作中,研究重點(diǎn)主要集中在兩個(gè)方向: 探索更好的追蹤方法或?qū)で蟾‘?dāng)?shù)念}目表征方式。如表1所示,本文對(duì)現(xiàn)有的知識(shí)追蹤模型進(jìn)行了系統(tǒng)的分類,從表中可以看出研究不同的追蹤方法更受關(guān)注。一些最新的技術(shù),尤其是基于深度學(xué)習(xí)(deep learning, DL)的方法,已經(jīng)成功應(yīng)用于知識(shí)追蹤任務(wù)。與此同時(shí),針對(duì)題目表征的研究相對(duì)較少。然而,在追蹤方法上的諸多研究給知識(shí)追蹤任務(wù)帶來的性能提升實(shí)際上并不如在題目表征上的研究。例如,目前表現(xiàn)最優(yōu)的采用基于自注意力機(jī)制的編碼器-解碼器架構(gòu)的 AKT模型在知識(shí)追蹤中取得了很好的表現(xiàn)[16]。根據(jù)AKT原文的實(shí)驗(yàn)結(jié)果,其主要的表現(xiàn)收益來自基于Rasch模型[21]的題目表征,而不是基于單調(diào)自注意力機(jī)制的追蹤方法。
表1 知識(shí)追蹤模型分類結(jié)果
此外,在現(xiàn)有大多數(shù)知識(shí)追蹤模型中,題目往往僅由其含有的知識(shí)點(diǎn)表示,在這樣的情況下,它們假設(shè)具有相同知識(shí)點(diǎn)的題目是相同的。例如,圖2中題目e4和e6具有相同的知識(shí)點(diǎn)——“平方根”,所以它們被認(rèn)為是同一道題。然而,這樣簡單的假設(shè)在現(xiàn)實(shí)情況中是不合理的。因?yàn)榫哂邢嗤R(shí)點(diǎn)的題目之間,不同的題目難度等獨(dú)特特征被忽略了,而題目難度等特征在學(xué)生學(xué)習(xí)場(chǎng)景中是十分重要的。具體來說,在對(duì)圖1中學(xué)生的知識(shí)狀態(tài)進(jìn)行建模時(shí),能答對(duì)題目e4的學(xué)生顯然比只能答對(duì)題目e6的學(xué)生在“平方根”知識(shí)點(diǎn)上具有更好的掌握水平。此外,答錯(cuò)題目e4和e6代表的含義也不相同: 答錯(cuò)題目e6可以表明學(xué)生掌握得很差,而答錯(cuò)題目e4只能說明掌握得不夠好。為了完善知識(shí)追蹤中的題目表征,Liu等人[17]提出利用題目的文本去預(yù)訓(xùn)練得到獨(dú)特的題目表征;Liu等人[19]同樣提出一種預(yù)訓(xùn)練題目表征的方法,該方法通過構(gòu)建題目-知識(shí)點(diǎn)關(guān)系、題目相似關(guān)系、知識(shí)點(diǎn)相似關(guān)系、題目難度二分圖,利用神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練得到題目表征。此外,Ghosh等人[16]將心理測(cè)量學(xué)中的Rasch模型[21]引入到題目表征中。上述方法雖然取得了一定的效果,但是它們都往往需要先獲取題目文本等額外資源,并且經(jīng)過復(fù)雜的預(yù)訓(xùn)練過程去獲取題目表征,然后再將這些題目表征應(yīng)用到知識(shí)追蹤任務(wù)中,這限制了其進(jìn)一步的發(fā)展和實(shí)際的應(yīng)用場(chǎng)景。
圖2 題目示例
圖3 題目特征維度及其關(guān)系
鑒于題目表征對(duì)知識(shí)追蹤任務(wù)的重要意義和影響,針對(duì)目前知識(shí)追蹤任務(wù)中題目表征存在的問題,本文首先提出了一種通用題目表征方法。如圖3所示,題目具有多種特征維度,通過知識(shí)點(diǎn)和難度等預(yù)定義的顯性特征就可以辨別絕大多數(shù)不同的題目,但考慮到少部分具有相同知識(shí)點(diǎn)和難度的題目也可能不一樣,本文用題目獨(dú)有隱性特征來區(qū)分這類題目。因此,本文進(jìn)一步利用知識(shí)點(diǎn)、難度等顯性特征和題目獨(dú)有隱性特征來構(gòu)建通用題目表征以綜合表示題目。然后,為了學(xué)習(xí)到有意義的題目表征,本文提出將題目表征學(xué)習(xí)融入知識(shí)追蹤過程中,并設(shè)計(jì)了一種融合通用題目表征學(xué)習(xí)的神經(jīng)知識(shí)追蹤框架(Neural Knowledge Tracing Framework,NKTF),在進(jìn)行知識(shí)追蹤的同時(shí)學(xué)習(xí)精確有效的題目表征,不需要額外的文本資源并省去了復(fù)雜的題目表征預(yù)訓(xùn)練過程。該框架包含三個(gè)主要模塊: ①學(xué)習(xí)交互表征模塊; ②追蹤方法模塊; ③表現(xiàn)預(yù)測(cè)模塊。具體來說,學(xué)習(xí)交互表征模塊包含本文設(shè)計(jì)的通用題目表征以及學(xué)生相應(yīng)的答案表征。追蹤方法模塊可以由任意一種現(xiàn)有的知識(shí)追蹤模型來完成,本文應(yīng)用了三種常用的基于深度學(xué)習(xí)的方法,分別是深度知識(shí)追蹤中的LSTM[10]、卷積知識(shí)追蹤中的CNN[14]和基于注意力知識(shí)追蹤中的self-attention[15]。表現(xiàn)預(yù)測(cè)模塊用于預(yù)測(cè)學(xué)生未來的表現(xiàn),本文通過學(xué)生的知識(shí)狀態(tài)與待回答題目的內(nèi)積對(duì)建模學(xué)生運(yùn)用知識(shí)回答題目的過程,學(xué)生的表現(xiàn)也可以通過內(nèi)積結(jié)果來預(yù)測(cè)。最后,本文在三個(gè)真實(shí)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,通過將題目表征學(xué)習(xí)融入知識(shí)追蹤任務(wù)中,NKTF可以同時(shí)促進(jìn)題目表征學(xué)習(xí)和知識(shí)追蹤的效果,在自動(dòng)學(xué)到有意義的題目表征的同時(shí)也能較大程度地提高基線知識(shí)追蹤模型的性能,使它們能夠超過目前最優(yōu)的模型。
追蹤方法驅(qū)動(dòng)的知識(shí)追蹤模型代表尋求不同 的方法來建模學(xué)生知識(shí)狀態(tài)演變的一類知識(shí)追蹤模型。貝葉斯知識(shí)追蹤(Bayesian knowledge tracing,BKT)是第一個(gè)被提出的知識(shí)追蹤模型[1],它是隱馬爾可夫模型的一個(gè)特例。隨后,一些其他模型,比如表現(xiàn)因子分析(Performance Factor Analysis,PFA)[7],采用邏輯函數(shù)來估計(jì)學(xué)生掌握知識(shí)點(diǎn)的概率。用在推薦系統(tǒng)中對(duì)用戶和項(xiàng)目進(jìn)行編碼的因子分解機(jī)(Factorization Machines,FM)也被成功應(yīng)用在知識(shí)追蹤任務(wù)中對(duì)學(xué)生和題目進(jìn)行建模[8]。HawkesKT利用Hawkes過程對(duì)知識(shí)追蹤過程中的時(shí)序交叉效應(yīng)進(jìn)行自適應(yīng)建模[9]。近年來,深度學(xué)習(xí)的進(jìn)步推動(dòng)了基于神經(jīng)網(wǎng)絡(luò)的知識(shí)追蹤模型的發(fā)展。神經(jīng)網(wǎng)絡(luò)強(qiáng)大的非線性和特征提取能力使其非常適合對(duì)復(fù)雜的學(xué)習(xí)過程進(jìn)行建模。具體地,深度知識(shí)追蹤(DKT)首先將深度學(xué)習(xí)引入知識(shí)追蹤任務(wù)中[10],它利用RNN及其變種LSTM對(duì)學(xué)生的知識(shí)狀態(tài)進(jìn)行建模。然后,動(dòng)態(tài)鍵值記憶網(wǎng)絡(luò)模型(DKVMN)使用記憶網(wǎng)絡(luò)來存儲(chǔ)潛在的知識(shí)點(diǎn)并更新學(xué)生的知識(shí)掌握程度[11]。基于圖神經(jīng)網(wǎng)絡(luò)的知識(shí)追蹤(Graph-based Knowledge Tracing,GKT)提出使用GNN對(duì)知識(shí)點(diǎn)中自然存在的圖結(jié)構(gòu)進(jìn)行建模[12]。同樣,基于知識(shí)結(jié)構(gòu)的知識(shí)追蹤(SKT)也使用GNN來捕獲知識(shí)追蹤過程中知識(shí)點(diǎn)之間的影響力傳播[13]。卷積知識(shí)追蹤(CKT)應(yīng)用CNN來模擬學(xué)生的個(gè)性化學(xué)習(xí)率[14]。基于注意力的知識(shí)追蹤(SAKT)將Transformer中的self-attention引入到知識(shí)追蹤[15]。情境感知的注意力知識(shí)追蹤(AKT)結(jié)合了具有單調(diào)假設(shè)的自注意力機(jī)制[16],并提出一種編碼器-解碼器架構(gòu)對(duì)學(xué)生知識(shí)能力進(jìn)行建模。
相較于追蹤方法驅(qū)動(dòng)的知識(shí)追蹤模型,題目表征驅(qū)動(dòng)的知識(shí)追蹤模型旨在更好地表征知識(shí)追蹤中的題目。題目感知的知識(shí)追蹤(EKT)有效利用題目文本內(nèi)容來提高知識(shí)追蹤的表現(xiàn)[17]。EKT定義了一個(gè)Bi-LSTM 架構(gòu)來自動(dòng)地從文本內(nèi)容中學(xué)習(xí)題目的語義表征,然后將這些表征輸入到 LSTM 層以捕獲學(xué)生的動(dòng)態(tài)知識(shí)狀態(tài)。同樣,關(guān)系感知的知識(shí)追蹤(RKT)利用題目的上下文信息來增強(qiáng)自注意力機(jī)制[18]。RKT定義了題目相關(guān)系數(shù)并從文本內(nèi)容中捕獲題目之間的關(guān)系信息?;诙謭D的預(yù)訓(xùn)練表征(PEBG)提出了一種獲得預(yù)訓(xùn)練題目表征的方法[19]。它將題目-知識(shí)點(diǎn)關(guān)系、題目相似關(guān)系、知識(shí)點(diǎn)相似關(guān)系、題目難度一起表示為二分圖,并利用基于內(nèi)積的神經(jīng)網(wǎng)絡(luò)將它們?nèi)诤弦垣@得預(yù)訓(xùn)練的題目表征。此外,AKT 還提出利用心理測(cè)量學(xué)中的Rasch模型來構(gòu)建題目和知識(shí)點(diǎn)的表征[16]。題目表征驅(qū)動(dòng)的知識(shí)追蹤模型通常需要復(fù)雜的預(yù)訓(xùn)練方法和題目文本等額外資源,這限制了它們的進(jìn)一步發(fā)展。
總的來說,追蹤方法驅(qū)動(dòng)的知識(shí)追蹤模型受到了更多研究人員的關(guān)注。然而,從現(xiàn)有研究的結(jié)果來看,題目表征驅(qū)動(dòng)的知識(shí)追蹤模型更能有效地提升知識(shí)追蹤的效果。例如,基于Rasch模型的題目和知識(shí)點(diǎn)表征可以使AKT獲得最大的收益。PEBG中的預(yù)訓(xùn)練題目表征也很好地提高了基線知識(shí)追蹤模型的表現(xiàn)。本文提出一種通用題目表征方法,并將題目表征學(xué)習(xí)融入到知識(shí)追蹤過程中,在實(shí)驗(yàn)部分可以看到,本文方法不僅提升了知識(shí)追蹤的效果,而且學(xué)到了精確有效的題目表征。
本文提出了融合通用題目表征學(xué)習(xí)的神經(jīng)知識(shí)追蹤框架NKTF,模型框架如圖4所示。本節(jié)首先介紹學(xué)習(xí)交互表征模塊,然后介紹追蹤方法模塊,最后介紹表現(xiàn)預(yù)測(cè)模塊。
圖4 NKTF模型框架圖
學(xué)習(xí)交互由題目和答案組成。基于知識(shí)點(diǎn)的學(xué)習(xí)交互表征無法區(qū)分具有相同知識(shí)點(diǎn)的題目,除了知識(shí)點(diǎn)之外,題目還有難度等其他特征。完整的題目表征應(yīng)當(dāng)能精確有效地區(qū)分每一道題目。為了得到這樣的題目表征,本文用知識(shí)點(diǎn)、難度等顯性特征,以及題目獨(dú)有的隱性特征來綜合表征題目。具體地,題目的知識(shí)點(diǎn)可以由專家標(biāo)注得到,首先隨機(jī)初始化一個(gè)嵌入矩陣K∈M×dk,其中dk是向量的維度。對(duì)于知識(shí)點(diǎn)kcm,本文分配一個(gè)特定的向量對(duì)其進(jìn)行表征。對(duì)于題目難度,本文采用經(jīng)典測(cè)試?yán)碚揫22]中基于統(tǒng)計(jì)的難度計(jì)算方式,如式(1)所示。
(1)
其中,Si是回答了題目et的學(xué)生集合,ai==1表示答案正確,常量Cd是預(yù)定義的難度級(jí)別數(shù)目。同樣地,隨機(jī)初始化一個(gè)嵌入矩陣D∈Cd×Cd,用于表示題目難度,其中Cd是向量的維度。對(duì)于難度級(jí)別為c的題目,其難度向量為dc∈dk。因此,對(duì)于題目et,其知識(shí)點(diǎn)和難度向量分別為ket和det。然后,本文可以通過ket和det的組合得到題目表征的顯性特征首先連接ket和det,然后輸入層感知器(multi-layer perceptron,MLP),如式(2)所示。
(2)
其中,W1∈(dk+dd)×d1是權(quán)重矩陣,b1∈d1是偏差項(xiàng)。經(jīng)過組合后,將包含其知識(shí)點(diǎn)和題目難度的深度混合特征。綜合考慮知識(shí)點(diǎn)和題目難度可以更好地推斷學(xué)生的知識(shí)狀態(tài): 對(duì)較難練習(xí)的正確答案表明知識(shí)掌握程度較高,對(duì)較簡單練習(xí)的錯(cuò)誤答案表明知識(shí)掌握程度較低。然而,難度和知識(shí)點(diǎn)等顯示特征只能在二維空間中表達(dá)每個(gè)題目,無法區(qū)分更高維空間中題目的差異。因此,本文在難度和知識(shí)點(diǎn)的基礎(chǔ)上,為每一個(gè)題目添加一個(gè)獨(dú)有的隱性特征d2,其中,d2是向量的維度。最后,題目et的表征可以通過式(3)得到。
(3)
其中,“⊕”是連接運(yùn)算,W2∈(d1+d2)×dh是權(quán)重矩陣,b2∈dh是偏差項(xiàng),dh是向量的維度。因此,本文提出的通用題目表征包含了知識(shí)點(diǎn)、難度以及題目獨(dú)有特征等綜合信息,可以準(zhǔn)確區(qū)分每一道題目。在知識(shí)追蹤過程中,NKTF將同時(shí)自動(dòng)學(xué)習(xí)題目表征。
得到題目表征后,本文將題目表征和答案表征融合得到學(xué)習(xí)交互表征。在這里,答案表征也來自隨機(jī)初始化的矩陣A∈2×da;這里2表示答案的正確或錯(cuò)誤兩種類別,da是向量的維度。學(xué)習(xí)交互(et,at)如式(4)所示。
(4)
其中,W3∈(d1+d2+da)×dx是權(quán)重矩陣,b3∈dx是偏差項(xiàng),dx是向量的維度。經(jīng)過訓(xùn)練,本文可以獲得精確有效的學(xué)習(xí)交互表征。
本文的研究重點(diǎn)是知識(shí)追蹤中的題目表征學(xué)習(xí),為了驗(yàn)證本文提出的通用題目表征學(xué)習(xí)的有效性,在追蹤方法模塊,本文將上述學(xué)習(xí)交互表征作為輸入,選擇現(xiàn)有的三種常用知識(shí)追蹤模型來實(shí)現(xiàn)追蹤方法模塊,分別是DKT中的LSTM、CKT中的CNN和SAKT中的self-attention。以 DKT中的LSTM為例,本文提出的學(xué)習(xí)交互表征xi,將作為LSTM的輸入,學(xué)生知識(shí)狀態(tài)的具體計(jì)算如式(5)所示。
(5)
其中,Wi,Wf,Wo,Wc∈(dx+dh)×dh是權(quán)重矩陣,bi,bi,bo,bc∈dh是偏差項(xiàng)。類似地,本文將LSTM中的隱藏狀態(tài)hi∈dh視為學(xué)生的知識(shí)狀態(tài)。
在表現(xiàn)預(yù)測(cè)模塊中,和傳統(tǒng)知識(shí)追蹤模型不同的是,本文輸出知識(shí)狀態(tài)向量的長度并不等于知識(shí)點(diǎn)的數(shù)量。與通過索引進(jìn)行預(yù)測(cè)的方式不同的是,NKTF利用知識(shí)狀態(tài)向量和待回答題目的表征的內(nèi)積來模擬學(xué)生的回答過程。然后,通過sigmoid函數(shù)將內(nèi)積結(jié)果轉(zhuǎn)換為估計(jì)學(xué)生回答正確的概率,如式(6)所示。
yt +1=σ(et +1·hi)
(6)
為了訓(xùn)練NKTF中的所有參數(shù)和隨機(jī)初始化的表征向量,本文選擇預(yù)測(cè)答案y和實(shí)際答案a之間的交叉熵對(duì)數(shù)損失作為目標(biāo)函數(shù),使用Adam優(yōu)化器[23]在mini-batches上優(yōu)化,如式(7)所示。
(7)
為了驗(yàn)證本文提出的融合通用題目表征學(xué)習(xí)的神經(jīng)知識(shí)追蹤框架的有效性,本文選取了三個(gè)真實(shí)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),這三個(gè)數(shù)據(jù)集的具體介紹如下:
●ASSIST2012(1)https://sites.google.com/site/assistmentsdata/home/2012-13- school-data-with-affect該數(shù)據(jù)集中的數(shù)據(jù)收集自在線輔導(dǎo)系統(tǒng)——ASSISTments[24]。數(shù)據(jù)是從技能構(gòu)建者題目集中收集的,學(xué)生需要在這些題目集中進(jìn)行類似的練習(xí)以獲得知識(shí)。在這個(gè)數(shù)據(jù)集中,本文過濾了沒有相關(guān)知識(shí)點(diǎn)的學(xué)習(xí)交互記錄。過濾后共有2 711 813條學(xué)習(xí)交互記錄,29 018名學(xué)生,53 091個(gè)題目,265個(gè)知識(shí)點(diǎn),平均學(xué)習(xí)交互序列長度約為93。該數(shù)據(jù)集擁有最多數(shù)量的題目。
●ASSISTchall(2)https://sites.google.com/view/assistmentsdatamining/dataset該數(shù)據(jù)集來自于2017 年ASSISTments教育數(shù)據(jù)挖掘競賽,跟蹤了學(xué)生2004—2007年間在ASSISTments學(xué)習(xí)平臺(tái)中的使用記錄。這個(gè)數(shù)據(jù)集中共有942 816 條學(xué)習(xí)交互記錄,1 709名學(xué)生,3 162個(gè)題目,102個(gè)知識(shí)點(diǎn),平均學(xué)習(xí)交互序列長度約為552。該數(shù)據(jù)集具有最長的平均學(xué)習(xí)交互序列。
●NeurIPS_EDU2020(3)https://eedi.com/projects/neurips-education-challenge該數(shù)據(jù)集發(fā)表于NeurIPS 2020教育挑戰(zhàn)賽,該挑戰(zhàn)賽提供了來自教育平臺(tái)Eedi[25]的學(xué)生用戶兩個(gè)學(xué)年的數(shù)學(xué)練習(xí)數(shù)據(jù)。這個(gè)數(shù)據(jù)集共有15 867 850條學(xué)習(xí)交互記錄,118 971個(gè)學(xué)生,27 613個(gè)題目,1 125個(gè)知識(shí)點(diǎn),平均答題交互序列長度約為133。該數(shù)據(jù)集擁有最多的答題交互序列。本文去掉了該數(shù)據(jù)集中部分學(xué)習(xí)交互時(shí)間信息重復(fù)的記錄。
本文首先按照答題的時(shí)間順序?qū)W(xué)生的所有學(xué)習(xí)交互記錄進(jìn)行排序。然后,根據(jù)數(shù)據(jù)集的平均學(xué)習(xí)交互序列長度將所有輸入序列設(shè)置為固定長度: ASSIST2012為100、NeurIPS_EDU2020為200、ASSISTchall為500。對(duì)于比固定長度更長的序列,本文將它們切分成幾個(gè)子序列。對(duì)于短于固定長度的序列,使用零向量將它們填充到固定長度。本文使用均勻分布[26]隨機(jī)初始化模型訓(xùn)練中的所有參數(shù)。對(duì)于所有數(shù)據(jù)集和模型,本文都進(jìn)行了標(biāo)準(zhǔn)的5折交叉驗(yàn)證。所有的超參數(shù)都是在訓(xùn)練集上學(xué)習(xí)的,在驗(yàn)證集上表現(xiàn)最好的模型被用來評(píng)估測(cè)試集。本文共劃分了100個(gè)不同的難度等級(jí)(Cd=100)。為方便起見,在本文的NKTF 實(shí)現(xiàn)中,參數(shù)dh、de、da、dk、dd、d1、d2、d3都設(shè)置成100。
本文將3個(gè)基于NKTF的知識(shí)追蹤模型與5個(gè)基線進(jìn)行比較,為了公平比較,所有方法都經(jīng)過調(diào)整以獲得最佳性能。模型具體介紹如下:
(1) 基于動(dòng)態(tài)記憶網(wǎng)絡(luò)的DKVMN[11];
(2) 基于LSTM實(shí)現(xiàn)的DKT[10];
(3) 基于DKT的改進(jìn)DKT+[27],加入了正則化項(xiàng)解決DKT預(yù)測(cè)的問題;
(4) 基于自注意力機(jī)制的SAKT[15];
(5) 基于CNN的CKT[14];
(6) 具有單調(diào)注意機(jī)制和基于Rasch模型題目表征的AKT[16];
(7) 基于DKT的NKTF_DKT;
(8) 基于SAKT的NKTF_SAKT;
(9) 基于CKT的NKTF_CKT;
上述所有模型都在帶有兩個(gè)2.30 GHz Intel(R) Xeon(R) Gold 5218 CPU資源和一個(gè)TeslaV100-SXM2-32GB GPU資源的Linux服務(wù)器上進(jìn)行訓(xùn)練。本文公開了NKTF 的源代碼(4)https://github.com/bigdata-ustc/EduKTM/tree/main/EduKTM/NKTF。
為了評(píng)估NKTF的有效性,本文將3個(gè)基于NKTF的模型與所有基線模型學(xué)生表現(xiàn)預(yù)測(cè)任務(wù)上進(jìn)行比較,并在表2中列出了5折交叉實(shí)驗(yàn)在測(cè)試集上的平均結(jié)果,其中基線模型的結(jié)果來源于本文基于基線模型開源代碼復(fù)現(xiàn)的實(shí)驗(yàn)結(jié)果(5)AKT原文在ASSISTchall數(shù)據(jù)集中AUC為0.770 2,本文復(fù)現(xiàn)結(jié)果為0.764 3。原文在ASSISTchall數(shù)據(jù)集中AUC約為0.723,本文復(fù)現(xiàn)結(jié)果為0.722 1。這些復(fù)現(xiàn)差異主要源于數(shù)據(jù)預(yù)處理方式不同,不會(huì)影響本文提出方法的有效性。。為了提供可靠的評(píng)估結(jié)果,本文在所有實(shí)驗(yàn)中都采用了四項(xiàng)評(píng)估指標(biāo): 均方根誤差 (RMSE)、ROC曲線下面積 (AUC)、準(zhǔn)確度 (ACC) 和皮爾遜相關(guān)系數(shù)的平方 (r2),其中在計(jì)算準(zhǔn)確度時(shí)將閾值設(shè)置為0.5。從表2中可以觀察到幾個(gè)重要的實(shí)驗(yàn)結(jié)果。首先,受益于本文提出的通用題目表征學(xué)習(xí),基線知識(shí)追蹤方法的效果得到了顯著的改進(jìn),并且擊敗了現(xiàn)有最優(yōu)的方法。其次,基線模型中不同的追蹤方法在性能上只有很小的差異,DKT中的LSTM略微優(yōu)于其他方法。此外,本文注意到基于自注意力機(jī)制的知識(shí)追蹤模型,如SAKT和AKT,不擅長處理ASSISTchall數(shù)據(jù)集中的較長學(xué)習(xí)交互序列,其原因是這些模型對(duì)學(xué)習(xí)交互中關(guān)鍵的序列信息不敏感。
表2 學(xué)生表現(xiàn)預(yù)測(cè)結(jié)果比較
續(xù)表
本節(jié)進(jìn)行了更多的實(shí)驗(yàn)來展示NKTF在知識(shí)追蹤過程中學(xué)習(xí)到的通用題目表征的可解釋性。具體來說,本文首先隨機(jī)在數(shù)據(jù)集NeurIPS_EDU2020上選擇八個(gè)具有不同知識(shí)點(diǎn)和難度的題目。如圖5所示,本文計(jì)算并可視化了這些題目之間的余弦相似度相關(guān)權(quán)重。從圖3中可以看到,經(jīng)過足夠的訓(xùn)練,NKTF學(xué)習(xí)到的題目表征,反映出了不同題目的知識(shí)點(diǎn)、難度和個(gè)體特征。圖3清楚地表明,具有相同知識(shí)點(diǎn)的題目或難度更接近的題目之間的相關(guān)權(quán)重往往更高。然后,本文首先隨機(jī)選擇50個(gè)不同的知識(shí)點(diǎn)和10個(gè)不同的難度,在數(shù)據(jù)集ASSISTchall 上構(gòu)建500個(gè)不同的題目。然后利用T-SNE方法[28]將這些題目的表征向量投影到二維空間,并使用K-means聚類將它們分成10個(gè)類別,如圖6所示??梢钥吹?,聚類結(jié)果顯示出很好的可解釋性, NKTF學(xué)到的題目表征向量可以清楚地分為10個(gè)類別不同的難度級(jí)別。
圖5 數(shù)據(jù)集NeurIPS_EDU2020上不同知識(shí)點(diǎn)和難度的題目之間的相關(guān)權(quán)重可視化標(biāo)簽(i,j)表示題目的知識(shí)點(diǎn)為i,難度為j,其中較大的j表示更難的題目
圖6 數(shù)據(jù)集ASSISTchall上500個(gè)題目表征向量的聚類結(jié)果這些題目由50個(gè)不同的知識(shí)點(diǎn)和 10個(gè)不同的難度級(jí)別組成
為了進(jìn)一步驗(yàn)證本文提出的包含知識(shí)點(diǎn)、難度等顯性特征和題目獨(dú)有隱性特征的通用題目表征的有效性,本文進(jìn)一步在表現(xiàn)最好的NKTF_DKT模型上進(jìn)行了消融實(shí)驗(yàn)。實(shí)驗(yàn)在ASSIST2012和ASSISTchall兩個(gè)數(shù)據(jù)集上進(jìn)行,實(shí)驗(yàn)結(jié)果如表3所示。從表中可以看出,當(dāng)訓(xùn)練數(shù)據(jù)足夠的時(shí)候,NKTF可以在知識(shí)追蹤的過程中同時(shí)學(xué)習(xí)到有意義的顯性特征和隱性特性,在ASSISTchall上使用兩種特征可以得到最好的表現(xiàn)。當(dāng)題目數(shù)量太多或者訓(xùn)練數(shù)據(jù)不足的時(shí)候,NKTF無法學(xué)到有效的隱性特征,在ASSIST2012數(shù)據(jù)集上,單獨(dú)使用顯性特征可以得到最佳表現(xiàn),加入隱性特征反而使得預(yù)測(cè)的準(zhǔn)確率略微下降。因此,在實(shí)際運(yùn)用中,應(yīng)當(dāng)根據(jù)數(shù)據(jù)集的具體情況決定題目表征是否需要包含隱性特征。
表3 NKTF_DKT消融實(shí)驗(yàn)結(jié)果對(duì)比
在圖7中,本文給出了數(shù)據(jù)集ASSIST2012里一個(gè)學(xué)生具體的知識(shí)追蹤過程。在該學(xué)生回答18個(gè)不同題目的過程中,本文使用NKTF_DKT追蹤了他/她不斷演變的知識(shí)狀態(tài)。從這個(gè)案例中,可以更好地理解本文提出的題目表征在知識(shí)追蹤過程中發(fā)揮的重要作用。例如,學(xué)生在知識(shí)點(diǎn)為49: 實(shí)數(shù)排序、難度為0.25的練習(xí)中得到了正確答案,但未能正確回答具有相同知識(shí)點(diǎn)但難度更大 (0.55) 的題目。同樣,他/她在知識(shí)點(diǎn)為45: 正小數(shù)排序、難度為0.38的題目中得到了錯(cuò)誤的答案,但仍能夠正確回答具有相同知識(shí)點(diǎn)但更簡單(難度值為0.13)題目。通過兼顧題目的知識(shí)點(diǎn)和難度,本文可以更加準(zhǔn)確快速地評(píng)估學(xué)生的知識(shí)熟練程度。
圖7 ASSIST2012數(shù)據(jù)集上學(xué)生在具有不同難度級(jí)別的五個(gè)知識(shí)點(diǎn)上知識(shí)狀態(tài)的追蹤過程其中難度值已歸一化到0到1之間,數(shù)值越大代表難度越大
本文梳理了目前知識(shí)追蹤領(lǐng)域追蹤方法驅(qū)動(dòng)和題目表征驅(qū)動(dòng)的兩類模型,發(fā)現(xiàn)了題目表征驅(qū)動(dòng)的知識(shí)追蹤模型事實(shí)上更能有效地提升知識(shí)追蹤的效果。針對(duì)目前知識(shí)追蹤中簡單的基于知識(shí)點(diǎn)的題目表征以及復(fù)雜的基于預(yù)訓(xùn)練的題目表征中存在的問題,本文提出了一種通用的題目表征方法,利用知識(shí)點(diǎn)、難度等顯性特征和題目獨(dú)有的隱性特征來完整地表示題目,并且將題目表征學(xué)習(xí)融入知識(shí)追蹤過程,構(gòu)建了融合通用題目表征學(xué)習(xí)的神經(jīng)知識(shí)追蹤框架。實(shí)驗(yàn)證明,本文方法可以在知識(shí)追蹤過程中自動(dòng)學(xué)習(xí)到精確有效的題目表征,并且大幅度提高了基線知識(shí)追蹤模型在學(xué)生表現(xiàn)預(yù)測(cè)任務(wù)上的性能,超過了當(dāng)前最優(yōu)的結(jié)果。
在未來的工作中,我們將繼續(xù)探究更好地結(jié)合題目表征學(xué)習(xí)和知識(shí)追蹤任務(wù),例如,針對(duì)性地構(gòu)建多任務(wù)學(xué)習(xí)框架更好地完成題目表征學(xué)習(xí)和知識(shí)追蹤。此外,可以嘗試將學(xué)習(xí)到的題目表征運(yùn)用在題目屬性標(biāo)注、質(zhì)量預(yù)測(cè)等任務(wù)上。