李曉光,魏思齊,張 昕,杜岳峰,于 戈
1(遼寧大學(xué) 信息學(xué)院,遼寧 沈陽(yáng) 110036)
2(東北大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,遼寧 沈陽(yáng) 110163)
在線教育系統(tǒng)提倡因材施教,即根據(jù)學(xué)生的知識(shí)水平為其推薦合適的學(xué)習(xí)資源[1].學(xué)生的知識(shí)水平受其學(xué)習(xí)階段和認(rèn)知能力的影響,在學(xué)習(xí)過(guò)程中不斷變化.實(shí)時(shí)追蹤學(xué)生知識(shí)水平,對(duì)于個(gè)性化在線教育至關(guān)重要[2,3].知識(shí)追蹤(knowledge tracing,簡(jiǎn)稱KT)任務(wù)主要包括:(1)通過(guò)學(xué)生的學(xué)習(xí)歷史實(shí)時(shí)追蹤其知識(shí)水平變化;(2)根據(jù)學(xué)生的知識(shí)水平預(yù)測(cè)其在未來(lái)學(xué)習(xí)中的表現(xiàn).
傳統(tǒng)的知識(shí)追蹤技術(shù)主要有基于隱馬爾可夫模型(HMM)[4]的貝葉斯知識(shí)追蹤(BKT)[5].近年來(lái),深度學(xué)習(xí)在自然語(yǔ)言處理[6]及模式識(shí)別[7]等任務(wù)上的表現(xiàn)優(yōu)于傳統(tǒng)模型.在知識(shí)追蹤研究領(lǐng)域,亦提出了大量基于深度學(xué)習(xí)的知識(shí)追蹤模型.基于循環(huán)神經(jīng)網(wǎng)絡(luò)的深度知識(shí)追蹤(DKT)模型[8]采用循環(huán)神經(jīng)網(wǎng)絡(luò)的隱藏向量表示學(xué)生的知識(shí)狀態(tài),并且據(jù)此預(yù)測(cè)學(xué)生的表現(xiàn).動(dòng)態(tài)鍵-值對(duì)記憶網(wǎng)絡(luò)(DKVMN)[9]借鑒了記憶網(wǎng)絡(luò)(memory network)[10]的思想,用值矩陣表示學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度,并以此預(yù)測(cè)學(xué)生表現(xiàn),提升預(yù)測(cè)準(zhǔn)確度.但是以上知識(shí)追蹤方法都忽略了學(xué)生在學(xué)習(xí)過(guò)程中的遺忘行為對(duì)知識(shí)水平的影響.在教育心理學(xué)領(lǐng)域已經(jīng)有很多學(xué)者認(rèn)識(shí)到人類的遺忘行為,并且探索影響人類遺忘的因素.教育心理學(xué)理論艾賓浩斯遺忘曲線理論[11,12]提出:學(xué)生會(huì)遺忘所學(xué)知識(shí),遺忘帶來(lái)的影響是知識(shí)掌握程度的下降.學(xué)生重復(fù)學(xué)習(xí)知識(shí)點(diǎn)的次數(shù)與距離上次學(xué)習(xí)知識(shí)點(diǎn)的時(shí)間間隔會(huì)影響學(xué)生的遺忘程度.教育心理學(xué)理論記憶痕跡衰退說(shuō)[13]認(rèn)為:遺忘是記憶痕跡的衰退引起的,消退隨時(shí)間的推移自動(dòng)發(fā)生,原始的痕跡越深,則遺忘的程度越低.目前,在知識(shí)追蹤領(lǐng)域,只有少數(shù)的研究考慮了學(xué)生的遺忘行為.BKT 的擴(kuò)展[14,15]考慮了艾賓浩斯遺忘曲線提到的影響遺忘程度的兩個(gè)因素:重復(fù)學(xué)習(xí)知識(shí)點(diǎn)的次數(shù)和間隔時(shí)間.DKT 的擴(kuò)展[16]考慮了學(xué)生順序?qū)W習(xí)的間隔時(shí)間,該研究認(rèn)為:學(xué)科中的各個(gè)知識(shí)點(diǎn)是相通的,持續(xù)的學(xué)習(xí)會(huì)降低學(xué)生對(duì)于知識(shí)點(diǎn)的遺忘程度.然而,以上的研究?jī)H僅考慮了部分影響學(xué)生遺忘的信息,忽略了學(xué)生原本知識(shí)水平對(duì)于遺忘程度的影響,學(xué)生對(duì)于其掌握的知識(shí)點(diǎn)和沒有掌握的知識(shí)點(diǎn)的遺忘程度不同.與此同時(shí),由于BKT 算法與DKT 算法的局限性,以往涉及遺忘的研究或者僅考慮了學(xué)生對(duì)于單個(gè)知識(shí)點(diǎn)的遺忘程度,或者僅考慮了學(xué)生對(duì)于整個(gè)知識(shí)空間的遺忘程度,沒有建模學(xué)生對(duì)知識(shí)空間中的各個(gè)知識(shí)點(diǎn)的遺忘情況.
針對(duì)于此,本文提出一種兼顧學(xué)習(xí)和遺忘的深度知識(shí)追蹤模型 LFKT(learning and forgetting behavior modeling for knowledge tracing).LFKT 擬合了學(xué)生的學(xué)習(xí)與遺忘行為,實(shí)時(shí)更新、輸出知識(shí)點(diǎn)掌握程度,并以此預(yù)測(cè)其未來(lái)表現(xiàn).本文主要?jiǎng)?chuàng)新和貢獻(xiàn)有:
(1)結(jié)合教育心理學(xué),知識(shí)追蹤模型LFKT 考慮了4 個(gè)影響知識(shí)遺忘的因素:學(xué)生重復(fù)學(xué)習(xí)知識(shí)點(diǎn)的間隔時(shí)間、重復(fù)學(xué)習(xí)知識(shí)點(diǎn)的次數(shù)、順序?qū)W習(xí)間隔時(shí)間以及學(xué)生對(duì)于知識(shí)點(diǎn)的掌握程度.LFKT 根據(jù)以上信息建模遺忘行為,擬合學(xué)生因遺忘行為導(dǎo)致的知識(shí)掌握程度變化;
(2)基于深度神經(jīng)網(wǎng)絡(luò)技術(shù),LFKT 設(shè)計(jì)了一個(gè)基于RNN 和記憶神經(jīng)網(wǎng)絡(luò)的知識(shí)追蹤神經(jīng)網(wǎng)絡(luò).該網(wǎng)絡(luò)包括注意力層、遺忘層、學(xué)習(xí)層、預(yù)測(cè)層和知識(shí)水平輸出層.其中:遺忘層采用全連接網(wǎng)絡(luò)計(jì)算記憶擦除向量和記憶更新向量,用以擬合遺忘行為;學(xué)習(xí)層采用LSTM 網(wǎng)絡(luò),并利用學(xué)生在學(xué)習(xí)結(jié)束時(shí)的答題結(jié)果作為知識(shí)掌握程度的間接反饋.根據(jù)記憶擦除向量和記憶更新向量,獲得經(jīng)過(guò)遺忘后的知識(shí)掌握程度的中間嵌入,并以此作為學(xué)習(xí)層的輸入,進(jìn)而獲得遺忘與學(xué)習(xí)相融合的知識(shí)掌握程度嵌入;
(3)通過(guò)在兩個(gè)真實(shí)在線教育數(shù)據(jù)集上的實(shí)驗(yàn)驗(yàn)證結(jié)果表明:LFKT 可以有效地建模學(xué)生的學(xué)習(xí)行為與遺忘行為,實(shí)時(shí)追蹤學(xué)生的知識(shí)水平,并且LFKT 模型的預(yù)測(cè)性能優(yōu)于現(xiàn)有模型.
本文第1 節(jié)介紹知識(shí)追蹤相關(guān)工作.第2 節(jié)給出相關(guān)概念和符號(hào)定義,并提出問(wèn)題.第3 節(jié)詳細(xì)介紹LFKT模型結(jié)構(gòu)以及訓(xùn)練方法.第4 節(jié)給出LFKT 對(duì)比實(shí)驗(yàn)結(jié)果和分析.最后總結(jié)全文.
知識(shí)追蹤大致可以分為基于隱馬爾可夫模型的知識(shí)追蹤與基于深度學(xué)習(xí)的知識(shí)追蹤.
貝葉斯知識(shí)追蹤是典型的基于隱馬爾可夫模型實(shí)現(xiàn)知識(shí)追蹤目標(biāo)的模型之一.BKT 將學(xué)生對(duì)某個(gè)知識(shí)點(diǎn)的潛在知識(shí)狀態(tài)建模為一組二進(jìn)制變量,每一個(gè)變量代表學(xué)生對(duì)于特定知識(shí)點(diǎn)“掌握”或“沒掌握”,根據(jù)隱馬爾可夫模型更新學(xué)生的知識(shí)狀態(tài),進(jìn)而更新其在未來(lái)學(xué)習(xí)中的表現(xiàn).在BKT 的基礎(chǔ)上,通過(guò)考慮其他因素,提出了很多擴(kuò)展方案,例如:Pardos 等人的研究[17]引入了習(xí)題難度對(duì)預(yù)測(cè)學(xué)生表現(xiàn)的影響;Baker 等人的研究[18]引入了學(xué)生猜測(cè)和失誤對(duì)預(yù)測(cè)學(xué)生表現(xiàn)的影響;Khajah 等人的研究[19]將人類的認(rèn)知因素?cái)U(kuò)展到BKT 中,從而提高預(yù)測(cè)精度.基于隱馬爾可夫的知識(shí)追蹤模型將學(xué)生對(duì)各個(gè)知識(shí)點(diǎn)的掌握程度分別建模,忽略各個(gè)知識(shí)點(diǎn)之間的關(guān)系.BKT 模型簡(jiǎn)單地將學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度分為“掌握”與“未掌握”,忽略了中間情況.
深度知識(shí)追蹤是深度學(xué)習(xí)模型循環(huán)神經(jīng)網(wǎng)絡(luò)在知識(shí)追蹤任務(wù)的首次嘗試,將學(xué)生的學(xué)習(xí)歷史作為輸入,使用RNN 隱藏狀態(tài)向量來(lái)表示學(xué)生的知識(shí)水平,并且基于此預(yù)測(cè)學(xué)生未來(lái)學(xué)習(xí)表現(xiàn).DKT 模型無(wú)法建模學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度,僅僅可以建模學(xué)生的整個(gè)知識(shí)水平.Chen 等人的研究[20]考慮了知識(shí)點(diǎn)之間的先驗(yàn)關(guān)系,提升了DKT 的預(yù)測(cè)性能.Su 等人的研究[21]將習(xí)題文本信息和學(xué)生的學(xué)習(xí)歷史作為循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入,利用RNN 的隱向量建模學(xué)生的知識(shí)水平,取得了較好的預(yù)測(cè)效果,但是依舊無(wú)法建模學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度.DKVMN 模型借鑒了記憶網(wǎng)絡(luò)的思想,用值矩陣建模學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度,考察習(xí)題與各個(gè)知識(shí)點(diǎn)之間的關(guān)系,追蹤學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度.Abdelrahman 等人的研究[22]利用注意力機(jī)制,著重考察學(xué)生作答相似習(xí)題時(shí)的答題歷史,改進(jìn)了 DKVMN.Sun 等人的研究[23]將學(xué)生答題時(shí)的行為特征擴(kuò)展到DKVMN,從而取得更好的預(yù)測(cè)效果.Liu 等人的研究[24]利用習(xí)題的文本信息與學(xué)生的學(xué)習(xí)歷史進(jìn)行知識(shí)追蹤.Nakagawa 等人的研究[25]用知識(shí)圖建模各個(gè)知識(shí)點(diǎn)之間的關(guān)系,取得了良好的預(yù)測(cè)效果.Minn 等人的研究[26]根據(jù)學(xué)生的知識(shí)水平對(duì)學(xué)生進(jìn)行分類,再對(duì)每一類學(xué)生進(jìn)行知識(shí)追蹤.Cheng 等人的研究[27]通過(guò)深度學(xué)習(xí)擴(kuò)展了傳統(tǒng)方法項(xiàng)目反映理論.Shen 等人的研究[28]考慮了每個(gè)學(xué)生的個(gè)性化差異,取得了很好的效果.Ai 等人的研究[29]考慮了知識(shí)點(diǎn)之間的包含關(guān)系,重新設(shè)計(jì)了記憶矩陣,改進(jìn)了DKVMN,取得了良好的效果.關(guān)于學(xué)生遺忘行為對(duì)知識(shí)掌握狀態(tài)的影響,Qiu 等人[15]考慮了學(xué)生距離上一次重復(fù)學(xué)習(xí)知識(shí)點(diǎn)的間隔時(shí)間,將新一天的標(biāo)記加入到BKT 中,建模先前學(xué)習(xí)之后一天的遺忘行為,但是無(wú)法對(duì)較短時(shí)間的遺忘行為進(jìn)行建模.Khajah 等人的研究[14]應(yīng)用學(xué)生重復(fù)學(xué)習(xí)知識(shí)點(diǎn)的次數(shù)估計(jì)遺忘的概率,改進(jìn)了BKT,提升了預(yù)測(cè)準(zhǔn)度.Nagatani 等人的研究[16]考慮了重復(fù)學(xué)習(xí)知識(shí)點(diǎn)的次數(shù)、距離上一次學(xué)習(xí)知識(shí)點(diǎn)的間隔時(shí)間和距離上一次學(xué)習(xí)的間隔時(shí)間,改進(jìn)了DKT模型,但忽略了學(xué)生原本對(duì)于知識(shí)點(diǎn)掌握程度對(duì)學(xué)生遺忘程度影響.
總的來(lái)說(shuō),當(dāng)前的研究可以一定程度上追蹤學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度,但或者忽略了學(xué)生遺忘行為,默認(rèn)學(xué)生在學(xué)習(xí)間隔前后知識(shí)水平一致;或者對(duì)于遺忘行為的建模不夠全面.本文所提出的LFKT 模型綜合考察了影響學(xué)生遺忘程度的因素,將學(xué)生的練習(xí)結(jié)果作為學(xué)生知識(shí)掌握程度的間接反饋,建模學(xué)生的學(xué)習(xí)與遺忘行為,實(shí)時(shí)追蹤學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度,預(yù)測(cè)學(xué)生未來(lái)學(xué)習(xí)表現(xiàn).
這里,我們定義S為學(xué)生集合,K為知識(shí)點(diǎn)集合,E為習(xí)題集合.每個(gè)學(xué)生單獨(dú)進(jìn)行學(xué)習(xí),互不影響.學(xué)生s的答題歷史Hs=[(e1,r1),(e2,r2),...,(et,rt)],其中:et為學(xué)生t時(shí)刻所做的習(xí)題;rt為答題結(jié)果,rt=1 表示答題正確,rt=0 表示答題錯(cuò)誤.kt?K為習(xí)題et所涉及的知識(shí)點(diǎn)集合.矩陣MK(dk×|K|)為整個(gè)知識(shí)空間中|K|個(gè)知識(shí)點(diǎn)嵌入表示,其中,dk維列向量為一個(gè)知識(shí)點(diǎn)的嵌入表示.矩陣為學(xué)生在t?1 時(shí)刻的知識(shí)空間中知識(shí)點(diǎn)嵌入.用|K|維向量valuet?1表示t?1 時(shí)刻學(xué)習(xí)結(jié)束時(shí)學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度,其中,向量每一維的值介于(0,1)之間:值為0,表示學(xué)生對(duì)于該知識(shí)點(diǎn)沒有掌握;值為1,表示學(xué)生對(duì)于該知識(shí)點(diǎn)已經(jīng)完全掌握.學(xué)生在學(xué)習(xí)過(guò)程中會(huì)遺忘未復(fù)習(xí)的知識(shí)點(diǎn),同時(shí),學(xué)生在兩次學(xué)習(xí)的間隔時(shí)間也會(huì)遺忘所學(xué)知識(shí),因此,t?1 時(shí)刻學(xué)習(xí)結(jié)束時(shí)的知識(shí)水平與t時(shí)刻學(xué)習(xí)開始時(shí)的知識(shí)水平不盡相同.本文用矩陣建模學(xué)生在t時(shí)刻開始學(xué)習(xí)時(shí)的知識(shí)掌握狀態(tài).矩陣與形狀相同,是由經(jīng)過(guò)遺忘處理后得到.t時(shí)刻學(xué)習(xí)結(jié)束,系統(tǒng)獲得學(xué)生答題結(jié)果,LFKT 模型根據(jù)答題結(jié)果將開始學(xué)習(xí)時(shí)知識(shí)掌握嵌入矩陣更新為學(xué)習(xí)結(jié)束時(shí)知識(shí)掌握嵌入矩陣,以此建模學(xué)習(xí)行為.預(yù)測(cè)學(xué)生在下一個(gè)候選習(xí)題et+1上的表現(xiàn)時(shí),由于t時(shí)刻學(xué)習(xí)結(jié)束到t+1 時(shí)刻開始答題之間存在時(shí)間間隔,學(xué)生在時(shí)間間隔內(nèi)的遺忘行為會(huì)影響知識(shí)掌握狀態(tài),因此需要根據(jù)影響知識(shí)遺忘的因素將更新為,從而預(yù)測(cè)學(xué)生答題表現(xiàn).
基于以上描述,本文將問(wèn)題定義為:給定每個(gè)學(xué)生的學(xué)習(xí)歷史記錄,實(shí)現(xiàn)以下兩個(gè)目標(biāo).
? 跟蹤學(xué)生的知識(shí)狀態(tài)變化;
? 預(yù)測(cè)學(xué)生在下一個(gè)候選習(xí)題et+1上的表現(xiàn).
學(xué)生如果沒有及時(shí)復(fù)習(xí)所學(xué)知識(shí),就會(huì)產(chǎn)生遺忘,其對(duì)知識(shí)的掌握程度便會(huì)衰減.教育學(xué)理論艾賓浩斯曲線理論[11,12]表明,學(xué)生對(duì)于所學(xué)知識(shí)點(diǎn)的保留率受以下兩方面影響:學(xué)生重復(fù)學(xué)習(xí)次數(shù)與時(shí)間間隔.時(shí)間間隔可以分為重復(fù)學(xué)習(xí)知識(shí)點(diǎn)的時(shí)間間隔和順序?qū)W習(xí)的時(shí)間間隔.除此之外,教育心理學(xué)理論記憶痕跡衰退說(shuō)[13]認(rèn)為,學(xué)生對(duì)于知識(shí)點(diǎn)的掌握狀態(tài)也影響著學(xué)生的遺忘程度.因此,本文考慮了以下4 個(gè)影響知識(shí)遺忘的因素.
? RT(repeated time interval):距離上次學(xué)習(xí)相同知識(shí)點(diǎn)的時(shí)間間隔;
? ST(sequence time interval):距離上次學(xué)習(xí)的時(shí)間間隔;
? LT(repeated learn times):重復(fù)學(xué)習(xí)知識(shí)點(diǎn)的次數(shù);
? KL(past knowledge level):學(xué)生原本對(duì)于該知識(shí)點(diǎn)的掌握程度.
RT,ST 和LT 這3 個(gè)標(biāo)量組合在一起得到向量Ct(i)=[RTt(i),STt(i),LTt(i)],表示影響學(xué)生對(duì)于知識(shí)點(diǎn)i遺忘程度的前3 個(gè)因素.每個(gè)知識(shí)點(diǎn)所對(duì)應(yīng)的向量Ct(i)組成矩陣Ct(dc×|K|).本文用向量度量學(xué)生原本對(duì)于知識(shí)點(diǎn)i的掌握程度,并且將其作為影響學(xué)生對(duì)于知識(shí)點(diǎn)遺忘程度的第4 個(gè)因素(KL).將矩陣Ct與組合在一起,得到矩陣,表示4 個(gè)影響知識(shí)遺忘的因素.
本文提出了一種融合學(xué)習(xí)與遺忘的深度知識(shí)追蹤模型LFKT,如圖1 所示.
Fig.1 LFKT model圖1 LFKT 模型
LFKT 模型分為注意力層(attention layer)、遺忘層(forget layer)、預(yù)測(cè)層(prediction layer)、學(xué)習(xí)層(learn layer)以及知識(shí)水平輸出層(knowledge level output layer):注意力層以習(xí)題et以及習(xí)題所涵蓋的知識(shí)點(diǎn)集合kt作為輸入,計(jì)算習(xí)題與各個(gè)知識(shí)點(diǎn)的知識(shí)相關(guān)權(quán)重;遺忘層根據(jù)第3.1 節(jié)中提出的影響知識(shí)遺忘的4 個(gè)因素將學(xué)生上一時(shí)刻學(xué)習(xí)結(jié)束時(shí)知識(shí)掌握嵌入矩陣更新為當(dāng)前時(shí)刻學(xué)習(xí)開始時(shí)知識(shí)掌握嵌入矩陣,有效地對(duì)學(xué)生遺忘行為進(jìn)行建模;預(yù)測(cè)層根據(jù)t+1 時(shí)刻開始答題時(shí)的預(yù)測(cè)學(xué)生的答題表現(xiàn);學(xué)習(xí)層通過(guò)LSTM 網(wǎng)絡(luò)將本次學(xué)習(xí)開始時(shí)的更新為本次學(xué)習(xí)結(jié)束時(shí)的,對(duì)學(xué)生學(xué)習(xí)行為進(jìn)行建模;知識(shí)水平輸出層以學(xué)生本次學(xué)習(xí)結(jié)束時(shí)的作為輸入,輸出學(xué)生知識(shí)水平向量valuet,實(shí)時(shí)輸出學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度.
3.2.1 注意力層
注意力層的作用是計(jì)算習(xí)題與知識(shí)點(diǎn)之間的知識(shí)相關(guān)權(quán)重.注意力層的輸入是學(xué)生當(dāng)前練習(xí)題目et以及題目所涉及的知識(shí)點(diǎn)集合kt.為了將et映射到連續(xù)的向量空間,用et乘以習(xí)題嵌入矩陣A(dk×|E|),生成一個(gè)dk維度的習(xí)題嵌入向量vt.其中,矩陣A中每一個(gè)dk維列向量為一道習(xí)題的嵌入表示.專家標(biāo)注了每道習(xí)題所涵蓋的知識(shí)點(diǎn),存放于集合kt中.本文通過(guò)知識(shí)點(diǎn)過(guò)濾器(K-Filter)濾掉不相關(guān)知識(shí)點(diǎn),保留習(xí)題涵蓋知識(shí)點(diǎn).矩陣Rt存儲(chǔ)習(xí)題涵蓋知識(shí)點(diǎn)的嵌入向量,其中,矩陣Rt中每一個(gè)dk維列向量為習(xí)題涵蓋的一個(gè)知識(shí)點(diǎn)的嵌入向量.計(jì)算習(xí)題嵌入向量vt與涵蓋知識(shí)點(diǎn)嵌入向量Rt(i)之間的內(nèi)積,再計(jì)算內(nèi)積的Softmax值并存入向量RSt中.向量RSt表示習(xí)題vt與習(xí)題涵蓋知識(shí)點(diǎn)之間的知識(shí)相關(guān)權(quán)重,如公式(1)所示:
|K|維向量wt為習(xí)題與全部知識(shí)點(diǎn)之間的知識(shí)相關(guān)權(quán)重向量.由于習(xí)題涵蓋知識(shí)點(diǎn)被知識(shí)點(diǎn)過(guò)濾器濾出,模型需要將習(xí)題涵蓋知識(shí)點(diǎn)的知識(shí)相關(guān)權(quán)重放入到wt對(duì)應(yīng)的位置上.首先,初始化|K|維全零向量wt,即wt←[0,…,0];之后,將RSt每一維的權(quán)重放入到wt的相應(yīng)位置上,即wt[kt[i]]←RSt[i],得到習(xí)題與各個(gè)知識(shí)點(diǎn)的知識(shí)相關(guān)權(quán)重.
3.2.2 遺忘層
遺忘層根據(jù)第3.1 節(jié)中介紹的影響知識(shí)遺忘的因素Ft對(duì)上一次學(xué)習(xí)結(jié)束時(shí)學(xué)生的知識(shí)掌握嵌入矩陣進(jìn)行遺忘處理,得到學(xué)生本次學(xué)習(xí)開始時(shí)的知識(shí)掌握嵌入矩陣受LSTM中遺忘門與輸入門的啟發(fā),根據(jù)影響知識(shí)遺忘的因素Ft更新時(shí),首先要擦除中原有的信息,再寫入信息.對(duì)于遺忘行為建模來(lái)說(shuō),擦除過(guò)程控制學(xué)生知識(shí)點(diǎn)掌握程度的衰退,寫入過(guò)程控制學(xué)生知識(shí)點(diǎn)掌握程度的更新.遺忘層如圖2 所示.
Fig.2 Forget layer圖2 遺忘層
利用一個(gè)帶有Sigmoid激活函數(shù)的全連接層將影響學(xué)生對(duì)知識(shí)點(diǎn)i遺忘程度的因素Ft(i)轉(zhuǎn)換為知識(shí)點(diǎn)i對(duì)應(yīng)的記憶擦除向量fet(i):
全連接層的權(quán)重矩陣FE的形狀是(dv+dc)×dv,全連接層的偏置向量bfe為dv維.記憶擦除向量fet(i)是一個(gè)維度為dv的列向量,向量中的所有值都是在(0,1)范圍之內(nèi).利用一個(gè)帶有Tanh 激活函數(shù)的全連接層將影響學(xué)生對(duì)知識(shí)點(diǎn)i遺忘程度的因素Ft(i)轉(zhuǎn)換為知識(shí)點(diǎn)i對(duì)應(yīng)的記憶更新向量fat(i):
全連接層的權(quán)重矩陣FA的形狀是(dv+dc)×dv,全連接層的偏置向量bfa為dv維,記憶更新向量fat(i)是一個(gè)維度為dv的列向量.根據(jù)記憶擦除向量與記憶更新向量對(duì)更新得到
3.2.3 學(xué)習(xí)層學(xué)習(xí)層根據(jù)學(xué)生答題結(jié)果追蹤學(xué)習(xí)過(guò)程中的知識(shí)掌握變化,將學(xué)生開始學(xué)習(xí)時(shí)知識(shí)掌握嵌入矩陣更新為學(xué)生學(xué)習(xí)結(jié)束時(shí)知識(shí)掌握嵌入矩陣,建模學(xué)習(xí)行為.元組(et,rt)表示學(xué)生在時(shí)間t的答題結(jié)果,為了將元組(et,rt)映射到連續(xù)的向量空間,元組(et,rt)與大小為dv×2|E|的答題結(jié)果嵌入矩陣B相乘,得到dv維答題結(jié)果嵌入向量st.學(xué)習(xí)層將答題結(jié)果嵌入向量st和習(xí)題對(duì)應(yīng)的知識(shí)相關(guān)權(quán)重向量wt作為輸入,利用學(xué)生在在線教育系統(tǒng)中的練習(xí)結(jié)果作為學(xué)生學(xué)習(xí)效果的間接反饋,通過(guò)LSTM 網(wǎng)絡(luò)更新學(xué)生學(xué)習(xí)過(guò)程中的知識(shí)掌握狀態(tài),建模學(xué)習(xí)行為:
3.2.4 預(yù)測(cè)層
預(yù)測(cè)層的目的是預(yù)測(cè)學(xué)生在下一個(gè)候選習(xí)題et+1上的表現(xiàn).由于學(xué)生在兩次答題間隔內(nèi)的遺忘行為會(huì)影響其知識(shí)掌握狀態(tài),預(yù)測(cè)層根據(jù)當(dāng)前時(shí)刻開始答題時(shí)的知識(shí)掌握嵌入矩陣預(yù)測(cè)學(xué)生正確回答習(xí)題et+1的概率.將知識(shí)相關(guān)權(quán)重wt+1與當(dāng)前時(shí)刻開始答題時(shí)學(xué)生知識(shí)掌握嵌入加權(quán)求和,得到的向量dt+1為學(xué)生對(duì)于習(xí)題涵蓋知識(shí)點(diǎn)的加權(quán)掌握程度嵌入向量:
學(xué)生成功解答習(xí)題,不僅與學(xué)生對(duì)于習(xí)題涵蓋知識(shí)點(diǎn)的綜合掌握程度有關(guān),還與習(xí)題本身有關(guān),所以將向量dt+1和vt+1連接得到的組合向量[dt+1,vt+1]輸入到帶有Tanh激活函數(shù)的全連接層,輸出向量ht+1包含了學(xué)生對(duì)習(xí)題涵蓋知識(shí)點(diǎn)的綜合掌握程度和習(xí)題本身的特點(diǎn).其中,矩陣W1和向量b1分別表示全連接層的權(quán)重與偏置:
最后,將向量ht+1輸入到一個(gè)帶有Sigmoid激活函數(shù)的全連接層中,得到表示學(xué)生答對(duì)習(xí)題的概率pt+1.其中,矩陣W2和向量b2分別表示全連接層的權(quán)重與偏置:
3.2.5 知識(shí)水平輸出層
在預(yù)測(cè)層中,每一個(gè)時(shí)間節(jié)點(diǎn)t,公式(7)、公式(8)根據(jù)兩種輸入預(yù)測(cè)學(xué)生在特定習(xí)題et上的表現(xiàn):學(xué)生對(duì)于該習(xí)題涵蓋知識(shí)點(diǎn)的綜合掌握嵌入向量dt和習(xí)題嵌入向量vt.因此,如果只是想估計(jì)在沒有任何習(xí)題輸入情況下學(xué)生對(duì)于第i個(gè)知識(shí)點(diǎn)的掌握情況,可以省略習(xí)題嵌入vt,同時(shí),讓學(xué)生知識(shí)掌握嵌入矩陣的第i列作為等式的輸入.圖3 展示了知識(shí)水平輸出層的詳細(xì)過(guò)程.具體來(lái)說(shuō):學(xué)習(xí)層輸出矩陣后,為了估計(jì)對(duì)于第i個(gè)知識(shí)點(diǎn)的掌握程度,構(gòu)造了權(quán)重向量βi=(0,…,1,…,0),其中,第i維的值等于1,并用公式(9)提取第i個(gè)知識(shí)點(diǎn)的知識(shí)掌握嵌入向量,之后,使用公式(10)、公式(11)估計(jì)知識(shí)掌握水平:
向量0=(0,0,…,0)與習(xí)題嵌入vt維度相同,用于補(bǔ)齊向量維度.參數(shù)W1,W2,b1,b2與公式(7)和公式(8)中的完全相同.依次計(jì)算知識(shí)空間中每一個(gè)知識(shí)的掌握程度,得到學(xué)生知識(shí)掌握程度向量valuet.
Fig.3 Knowledge level output layer圖3 知識(shí)水平輸出層
3.2.6 模型優(yōu)化目標(biāo)
模型需要訓(xùn)練的參數(shù)主要是習(xí)題嵌入矩陣A、答題結(jié)果嵌入矩陣B、神經(jīng)網(wǎng)絡(luò)權(quán)重與偏置以及知識(shí)點(diǎn)矩陣MK.本文通過(guò)最小化模型對(duì)于學(xué)生答題結(jié)果的預(yù)測(cè)值pt和學(xué)生答題的真實(shí)結(jié)果rt之間的交叉熵?fù)p失函數(shù)來(lái)優(yōu)化各個(gè)參數(shù).損失函數(shù)如公式(12)所示,本文使用Adam 方法優(yōu)化參數(shù):
本文在兩個(gè)真實(shí)在線教育數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),通過(guò)對(duì)比LFKT 模型與其他知識(shí)追蹤模型的預(yù)測(cè)性能以及知識(shí)追蹤表現(xiàn),證明LFKT 模型的有效性.
首先介紹實(shí)驗(yàn)所使用的兩個(gè)真實(shí)在線教育數(shù)據(jù)集.
? ASSISTments2012:該數(shù)據(jù)集來(lái)自于ASSISTments 在線教育平臺(tái).本文刪除了學(xué)習(xí)記錄數(shù)過(guò)少(<3)的學(xué)生信息,經(jīng)過(guò)預(yù)處理后,數(shù)據(jù)集包含45 675 個(gè)學(xué)生、266 個(gè)知識(shí)點(diǎn)以及總計(jì)5 818 868 條學(xué)習(xí)記錄.數(shù)據(jù)集中,user_id 字段表示學(xué)生編號(hào),skill_id 字段表示知識(shí)點(diǎn)編號(hào),problem_id 字段表示題目編號(hào),correct字段表示學(xué)生真實(shí)答題結(jié)果,start_time 字段表示學(xué)生本次開始學(xué)習(xí)的時(shí)間,end_time 字段表示學(xué)生本次學(xué)習(xí)結(jié)束的時(shí)間;
? slepemapy.cz:該數(shù)據(jù)集來(lái)自于地理在線教育系統(tǒng).本文同樣刪除學(xué)習(xí)記錄數(shù)過(guò)少(<3)的學(xué)生信息,經(jīng)過(guò)預(yù)處理后,數(shù)據(jù)集包含87 952 個(gè)學(xué)生、1 458 個(gè)知識(shí)點(diǎn)以及總計(jì)10 087 305 條學(xué)習(xí)記錄.數(shù)據(jù)集中,user字段表示學(xué)生編號(hào),place_answered 字段表示學(xué)生真實(shí)答題結(jié)果,response_time 字段表示學(xué)生學(xué)習(xí)時(shí)間,place_asked 字段表示問(wèn)題編號(hào).其中,由于該數(shù)據(jù)集中每個(gè)問(wèn)題僅僅考察一個(gè)知識(shí)點(diǎn),因此place_asked 也是知識(shí)點(diǎn)編號(hào).
本文使用平均AUC(area under the curve)、平均ACC(accurary)和平均RMSE(root mean squared error)作為評(píng)估預(yù)測(cè)性能的指標(biāo).AUC 被定義為ROC 曲線與下坐標(biāo)軸圍成的面積,50%的AUC 值表示隨機(jī)猜測(cè)獲得的預(yù)測(cè)性能,高AUC 值說(shuō)明模型具有較高的預(yù)測(cè)性能.ACC 為準(zhǔn)確率,即正確預(yù)測(cè)結(jié)果占全部結(jié)果的百分比,高ACC值說(shuō)明模型具有較高的預(yù)測(cè)性能.RMSE 被定義為預(yù)測(cè)值與真實(shí)值的均方根誤差,RMSE 的值越低,說(shuō)明模型的預(yù)測(cè)性能越好.對(duì)于每一個(gè)模型,本文都進(jìn)行30 次測(cè)試,取平均AUC 值、平均ACC 值和平均RMSE 值.
為了評(píng)估LFKT 模型的性能,本文選擇貝葉斯知識(shí)追蹤[5]、深度知識(shí)追蹤[8]和動(dòng)態(tài)鍵-值對(duì)記憶網(wǎng)絡(luò)[9]這3個(gè)經(jīng)典KT 模型作為對(duì)比方法.對(duì)比方法的參數(shù)設(shè)置如下.
? BKT[5]:實(shí)驗(yàn)設(shè)置4 個(gè)主要參數(shù):L0表示學(xué)生未開始作答時(shí)對(duì)題目考察知識(shí)點(diǎn)的掌握程度,T為學(xué)生作答后對(duì)知識(shí)點(diǎn)掌握程度從不會(huì)到會(huì)的概率,G為學(xué)生沒掌握該知識(shí)點(diǎn)但是答對(duì)題目的概率,S表示學(xué)生掌握知識(shí)點(diǎn)但是答錯(cuò)題目的概率.BKT 利用以上參數(shù)構(gòu)造一個(gè)隱馬爾可夫模型,并使用EM 算法求解參數(shù);
? DKT[8]:實(shí)驗(yàn)按照Piech 等人[8]的方法設(shè)置超參數(shù).循環(huán)神經(jīng)網(wǎng)絡(luò)GRU 隱藏層的大小為200,批處理大小設(shè)置為30,使用Adam 作為優(yōu)化器,學(xué)習(xí)率為0.001;
? DKVMN[9]:本文使用Zhang 等人[9]的方法設(shè)置超參數(shù).對(duì)于ASSISTments2012 數(shù)據(jù)集,記憶矩陣列數(shù)為20,隱藏向量的大小為30.對(duì)于slepemapy.cz 數(shù)據(jù)集,記憶矩陣列數(shù)為320,隱藏向量大小為128.批處理大小為30,使用Adam 作為優(yōu)化器,學(xué)習(xí)率為0.001.
LFKT 模型:對(duì)于ASSISTments2012 數(shù)據(jù)集,知識(shí)嵌入矩陣的列數(shù)為266.對(duì)于slepemapy.cz 數(shù)據(jù)集,知識(shí)嵌入矩陣的列數(shù)為1 458.批處理大小為30,采用Adam 優(yōu)化器,學(xué)習(xí)率為0.001.對(duì)于知識(shí)點(diǎn)嵌入向量的維度dk和學(xué)生知識(shí)掌握程度嵌入向量的維度dv的超參數(shù)設(shè)置,本文通過(guò)比較模型在測(cè)試數(shù)據(jù)集上的平均AUC值進(jìn)行選取.為了減少參數(shù)數(shù)量,本文設(shè)d=dk=dv,測(cè)試結(jié)果見表1.ASSISTments2012 數(shù)據(jù)集中,當(dāng)d=dk=dv=32 時(shí),平均AUC 值為0.7513,高于其他超參數(shù)設(shè)置情況.在slepemapy.cz 數(shù)據(jù)集中,當(dāng)d=dk=dv=128 時(shí),平均AUC值為0.8032,高于其他超參數(shù)設(shè)置.通過(guò)對(duì)比可知:當(dāng)d=dk=dv設(shè)置過(guò)低時(shí),模型的學(xué)習(xí)能力較低;當(dāng)d=dk=dv設(shè)置過(guò)高時(shí)候,模型參數(shù)過(guò)多,容易造成過(guò)擬合.因此,對(duì)于ASSISTments2012 數(shù)據(jù)集,設(shè)dk=dv=32;對(duì)于slepemapy.cz 數(shù)據(jù)集,設(shè)dk=dv=128.
Table 1 AUC results of different hyperparameters表1 不同超參數(shù)設(shè)置下AUC 值對(duì)比實(shí)驗(yàn)結(jié)果
知識(shí)追蹤的基本任務(wù)之一是,預(yù)測(cè)學(xué)生當(dāng)前對(duì)于下一道候選習(xí)題的答題表現(xiàn).通過(guò)對(duì)比模型的預(yù)測(cè)結(jié)果與學(xué)生的真實(shí)答題結(jié)果,比較模型的預(yù)測(cè)性能.本文隨機(jī)地將數(shù)據(jù)集中70%的數(shù)據(jù)作為訓(xùn)練集,另外20%的數(shù)據(jù)作為測(cè)試集,10%的數(shù)據(jù)作為驗(yàn)證集,用于超參數(shù)的調(diào)整與早期停止.
表2 給出了LFKT 與3 個(gè)對(duì)比方法在兩個(gè)數(shù)據(jù)集上的平均AUC 值、平均ACC 值和平均RMSE 值的對(duì)比結(jié)果.LFKT 在兩個(gè)數(shù)據(jù)集上的平均AUC 值、平均ACC 值和平均RMSE 值均優(yōu)于其他3 種對(duì)比方法.這一結(jié)果表明,LFKT 模型在預(yù)測(cè)學(xué)生未來(lái)表現(xiàn)方面性能是優(yōu)于現(xiàn)有模型的.從實(shí)驗(yàn)對(duì)比結(jié)果可以看出,BKT 在兩個(gè)數(shù)據(jù)集上的預(yù)測(cè)性能最低.這說(shuō)明BKT 將學(xué)生對(duì)于某一知識(shí)點(diǎn)的潛在知識(shí)水平建模為二進(jìn)制變量是具有局限性的.DKT 利用循環(huán)神經(jīng)網(wǎng)絡(luò)的潛在向量建模學(xué)生整體的知識(shí)水平,無(wú)法建模學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度,因此DKT 在兩個(gè)數(shù)據(jù)集上的預(yù)測(cè)性能低于DKVMN 和LFKT.DKVMN 與LFKT 都可以建模學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度,但是DKVMN 忽略了學(xué)生在學(xué)習(xí)期間的遺忘行為,默認(rèn)學(xué)生對(duì)未復(fù)習(xí)知識(shí)點(diǎn)的掌握程度一直不變,這存在一定的局限性,因此LFKT 的預(yù)測(cè)性能強(qiáng)于DKVMN.
Table 2 Prediction results of models表2 模型預(yù)測(cè)性能對(duì)比實(shí)驗(yàn)結(jié)果
除此之外,本文測(cè)試了去掉遺忘層后LFKT 模型的預(yù)測(cè)表現(xiàn).LFKT 模型去掉遺忘層以后,忽略了學(xué)生的遺忘行為,默認(rèn)學(xué)生在學(xué)習(xí)間隔內(nèi),知識(shí)水平不會(huì)發(fā)生任何變化,即.實(shí)驗(yàn)結(jié)果顯示:去掉遺忘層后,LFKT模型的預(yù)測(cè)性能較沒去掉遺忘層時(shí)有所下降.這表明學(xué)生的遺忘行為對(duì)其知識(shí)水平有所影響,本文所提出的影響知識(shí)遺忘的因素是十分有效的.
知識(shí)追蹤的另一個(gè)基本任務(wù)是實(shí)時(shí)輸出學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度.本文進(jìn)行以下實(shí)驗(yàn)驗(yàn)證LFKT 模型在知識(shí)追蹤任務(wù)上的有效性.
本文截取了數(shù)據(jù)集ASSISTments2012 中一位學(xué)生在一段時(shí)間內(nèi)的學(xué)習(xí)記錄,并分別使用LFKT 模型和DKVMN 模型追蹤學(xué)生對(duì)于5 個(gè)知識(shí)點(diǎn)掌握程度的變化,如圖4 和圖5 所示.圖中橫軸表示學(xué)生的學(xué)習(xí)歷史,元組(kt,rt)中kt表示學(xué)生學(xué)習(xí)的知識(shí)點(diǎn),rt表示學(xué)生作答情況.縱軸表示模型追蹤的5 個(gè)知識(shí)點(diǎn).
Fig.4 Knowledge level output result of LFKT in ASSISTments2012圖4 ASSISTments2012 數(shù)據(jù)集LFKT 知識(shí)水平輸出結(jié)果
Fig.5 Knowledge level output result of DKVMN in ASSISTments 2012圖5 ASSISTments 2012 數(shù)據(jù)集DKVMN 知識(shí)水平輸出結(jié)果
實(shí)驗(yàn)結(jié)果顯示:在第2 時(shí)刻,學(xué)生對(duì)知識(shí)點(diǎn)0 答題正確后,DKVMN 和LFKT 模型對(duì)學(xué)生知識(shí)點(diǎn)0 掌握程度的追蹤結(jié)果都有所提高(輸出值增加);在第4 時(shí)刻,學(xué)生對(duì)知識(shí)點(diǎn)3 對(duì)應(yīng)習(xí)題答題錯(cuò)誤后,DKVMN 模型和LFKT模型對(duì)學(xué)生知識(shí)點(diǎn)3 的掌握程度的追蹤結(jié)果都有所下降.以上結(jié)果說(shuō)明:DKVMN 模型和LFKT 模型在獲得學(xué)生作答結(jié)果以后,都會(huì)根據(jù)學(xué)生的作答結(jié)果更新對(duì)應(yīng)知識(shí)點(diǎn)的掌握程度,以此建模學(xué)生的學(xué)習(xí)過(guò)程.圖4 和圖5中,學(xué)生第2 時(shí)刻學(xué)生學(xué)習(xí)知識(shí)點(diǎn)0 到第10 時(shí)刻第2 次學(xué)習(xí)知識(shí)點(diǎn)0 期間,DKVMN 模型并沒有更新學(xué)生對(duì)于知識(shí)點(diǎn)0 的掌握程度,而LFKT 模型顯示學(xué)生對(duì)于知識(shí)點(diǎn)0 的掌握程度一直在下降.由此可以看出:DKVMN 模型沒有考慮學(xué)習(xí)者在學(xué)習(xí)期間的遺忘行為,而LFKT 模型考慮了學(xué)習(xí)者在學(xué)習(xí)期間的遺忘行為.以上結(jié)果表明:LFKT 模型與DKVMN 模型都可以建模學(xué)生的學(xué)習(xí)行為,DKVMN 模型無(wú)法建模學(xué)生的遺忘行為,而LFKT 模型可以建模學(xué)生的遺忘行為,并實(shí)時(shí)追蹤學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度.
本文在slepemapy.cz 測(cè)試數(shù)據(jù)集中隨機(jī)抽取3 名學(xué)生在一段時(shí)間內(nèi)的學(xué)習(xí)記錄,并分別使用LFKT 模型與DKVMN 模型輸出其對(duì)5 個(gè)知識(shí)點(diǎn)的掌握程度.3 名學(xué)生的部分答題序列如下.
?Ha=[(1,1),(2,1),(3,1),(4,0),(5,0),(6,0),(1,0),(2,1),(3,1),(4,0),(5,1),(6,1)];
?Hb=[(6,1),(5,1),(4,1),(3,1),(2,1),(1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(1,1)];
?Hc=[(1,1),(2,1),(3,1),(4,0),(5,1),(6,1),(1,1),(2,1),(3,0),(4,1),(5,0),(6,0)].
序列中的每一項(xiàng)(kt,rt)表示學(xué)生作答的結(jié)果,其中,kt表示學(xué)生當(dāng)前作答習(xí)題所涵蓋的知識(shí)點(diǎn),rt表示學(xué)生的答題結(jié)果,結(jié)果為0 表示答錯(cuò),結(jié)果為1 表示答對(duì).
Fig.6 Knowledge level output result in slepemapy.cz圖6 slepemapy.cz 數(shù)據(jù)集知識(shí)水平輸出結(jié)果
LFKT 模型與DKVMN 模型對(duì)學(xué)生各個(gè)知識(shí)點(diǎn)掌握程度的追蹤情況如圖6 所示,其中:實(shí)線表示LFKT 模型對(duì)于學(xué)生知識(shí)點(diǎn)掌握程度的追蹤情況,虛線表示DKVMN 模型對(duì)于學(xué)生知識(shí)點(diǎn)掌握程度的追蹤情況.以圖6(c)為例,學(xué)生a在第3 時(shí)刻正確回答涵蓋知識(shí)點(diǎn)3 的習(xí)題,LFKT 與DKVMN 輸出的知識(shí)點(diǎn)掌握程度值均在第3時(shí)刻后開始增加.該結(jié)果說(shuō)明,LFKT 與DKVMN 均可以根據(jù)學(xué)生的答題結(jié)果建模學(xué)生學(xué)習(xí)行為.圖6(a)中,學(xué)生a在第8 時(shí)刻后一直沒有復(fù)習(xí)知識(shí)點(diǎn)1,在第8 時(shí)刻以后,DKVMN 輸出的對(duì)應(yīng)知識(shí)點(diǎn)掌握程度值變化很小,但LFKT 輸出值變化較大,呈持續(xù)下降趨勢(shì).該結(jié)果說(shuō)明:LFKT 模型可以建模學(xué)生的遺忘行為,追蹤到學(xué)生由于遺忘而產(chǎn)生的知識(shí)掌握程度變化;但DKVMN 忽略了學(xué)生的遺忘行為,無(wú)法追蹤學(xué)生由遺忘產(chǎn)生的知識(shí)水平變化.本文匯總了ASSISTments2012 測(cè)試集中所有學(xué)生答對(duì)一道習(xí)題后的答題序列,記錄LFKT 輸出的知識(shí)點(diǎn)掌握程度,并記錄學(xué)生下一次作答涉及該知識(shí)點(diǎn)習(xí)題時(shí)LFKT 輸出的知識(shí)點(diǎn)掌握程度,求解下一次答題時(shí)LFKT輸出的知識(shí)點(diǎn)掌握程度距上一次答題結(jié)束時(shí)LFKT 輸出的知識(shí)點(diǎn)掌握程度的衰減比例,即valuet+1(i)/valuet(i).圖7 顯示了學(xué)生平均知識(shí)掌握程度衰減比例與重復(fù)學(xué)習(xí)知識(shí)點(diǎn)次數(shù)與時(shí)間間隔之間的關(guān)系.縱軸表示重復(fù)學(xué)習(xí)知識(shí)點(diǎn)次數(shù),單位為“次”;橫軸表示距離上次學(xué)習(xí)知識(shí)點(diǎn)的間隔時(shí)間,單位為“分鐘”.數(shù)據(jù)集中的間隔時(shí)間從0分到幾天不等,因此本文通過(guò)log2(RT)的方法降低橫軸的長(zhǎng)度.由結(jié)果可知,LFKT 模型再現(xiàn)了學(xué)生復(fù)雜的遺忘行為,即:在相同間隔時(shí)間的情況下,重復(fù)學(xué)習(xí)次數(shù)越多,由于遺忘引起的知識(shí)點(diǎn)掌握程度的衰減比例越低;在相同重復(fù)學(xué)習(xí)次數(shù)的情況下,間隔時(shí)間越長(zhǎng),由于遺忘引起的知識(shí)點(diǎn)掌握程度衰減比例越大.由此可以看出:LFKT可以根據(jù)影響知識(shí)遺忘的因素挖掘遺忘規(guī)律,建模遺忘行為,準(zhǔn)確計(jì)算出由于遺忘引起的知識(shí)掌握程度變化.
Fig.7 Quantized distribution map of knowledge level decline ratio of LFKT against repeated time interval and repeated learn times圖7 LFKT 知識(shí)水平輸出衰減比例與間隔時(shí)間和重復(fù)次數(shù)的量化分布圖
本文重點(diǎn)考慮了學(xué)生遺忘行為對(duì)其知識(shí)掌握程度的影響,提出了融合學(xué)習(xí)與遺忘的深度知識(shí)追蹤模型LFKT.實(shí)驗(yàn)表明,LFKT 在預(yù)測(cè)學(xué)生答題表現(xiàn)方面優(yōu)于傳統(tǒng)知識(shí)追蹤模型BKT,DKT 和DKVMN.LFKT 在追蹤學(xué)生知識(shí)水平變化時(shí),不但可以根據(jù)學(xué)生答題情況追蹤學(xué)生學(xué)習(xí)過(guò)程中的知識(shí)水平變化,還可以體現(xiàn)由復(fù)雜知識(shí)遺忘因素導(dǎo)致的學(xué)生遺忘行為,并實(shí)時(shí)追蹤由于學(xué)生遺忘造成的知識(shí)水平變化過(guò)程.
在未來(lái)的研究中,我們將針對(duì)以下方面進(jìn)行探索.
(1)知識(shí)點(diǎn)之間的關(guān)系特征對(duì)知識(shí)追蹤的影響.知識(shí)點(diǎn)之間存在先驗(yàn)、后驗(yàn)、包含等關(guān)系,需要明確知識(shí)點(diǎn)之間的關(guān)系特征,進(jìn)而準(zhǔn)確推測(cè)學(xué)生對(duì)于各個(gè)知識(shí)點(diǎn)的掌握程度;
(2)本文所采用數(shù)據(jù)集中習(xí)題涉及的知識(shí)點(diǎn)相對(duì)較少,比較容易根據(jù)學(xué)生的答題結(jié)果追蹤學(xué)生對(duì)于習(xí)題考察知識(shí)點(diǎn)的掌握程度.對(duì)于覆蓋知識(shí)點(diǎn)數(shù)量較高的習(xí)題,如綜合性習(xí)題,會(huì)導(dǎo)致知識(shí)點(diǎn)掌握程度的不確定性.知識(shí)點(diǎn)高覆蓋率下的知識(shí)追蹤,也是我們下一步的研究工作.