蔣昌猛,馮 筠,孫 霞,陳 靜,張 蕾,馮宏偉
西北大學(xué) 信息科學(xué)與技術(shù)學(xué)院,西安 710127
隨著Web2.0和互聯(lián)網(wǎng)教育的快速發(fā)展,簡便靈活、可定制化的網(wǎng)絡(luò)在線習(xí)題已經(jīng)普及,如慕課網(wǎng)[1]、智能輔助教育系統(tǒng)[2]等。面對網(wǎng)絡(luò)及考試系統(tǒng)中海量的習(xí)題數(shù)據(jù),如何彌補知識漏洞以及針對性地選擇習(xí)題已成為當(dāng)前教學(xué)資源個性化推薦研究領(lǐng)域的熱點。因此,高效可靠的習(xí)題推薦算法既是互聯(lián)網(wǎng)教育背景下對個性化學(xué)習(xí)新的要求,也是用戶對個性化學(xué)習(xí)的新的訴求。
目前,基于認(rèn)知診斷理論(Cognitive Diagnostic Theory,CDT)[3]的個性化習(xí)題推薦理論被研究者廣泛應(yīng)用。許多研究者提出了對學(xué)生進行建模和分析的多種認(rèn)知診斷模型(Cognitive Diagnosis Model,CDM)[4]。其中,文獻(xiàn)[5-6]提出了一種項目反應(yīng)理論(Item Response Theory,IRT)模型,IRT是通過統(tǒng)計學(xué)的方法對學(xué)生和習(xí)題答題情況建立平均分、得分率、排名等數(shù)學(xué)理論模型,來預(yù)測學(xué)生的綜合能力和習(xí)題的難度、區(qū)分度等參數(shù),但I(xiàn)RT局限在學(xué)生對習(xí)題的答題情況,未深入分析學(xué)生對知識點掌握程度。文獻(xiàn)[7-8]提出了傳統(tǒng)DINA模型(Deterministic Inputs,Noisy“And”gate model),該方法引入了習(xí)題知識點關(guān)聯(lián)Q矩陣[9],通過學(xué)生知識點掌握程度向目標(biāo)學(xué)生推薦習(xí)題,但DINA模型局限是Q矩陣僅通過已考察的知識點忽略了相關(guān)聯(lián)但未考察的知識點來進行習(xí)題推薦,使得向?qū)W生推薦習(xí)題存在一定的誤差。已有一些研究學(xué)者將協(xié)同過濾推薦方法應(yīng)用在習(xí)題推薦方面。文獻(xiàn)[10-11]提出了基于近鄰的協(xié)同過濾方法,該方法首先根據(jù)學(xué)生的習(xí)題答題行為記錄計算學(xué)生之間的相似度,其次根據(jù)相似度的大小找到最相似的學(xué)生,最后依據(jù)相似學(xué)生對目標(biāo)學(xué)生進行習(xí)題推薦。但該方法忽略了不同的學(xué)生對知識點掌握程度的差異,難以保證推薦的習(xí)題是否屬于目標(biāo)學(xué)生想要的習(xí)題,即沒有從學(xué)生對認(rèn)知屬性的角度出發(fā)對學(xué)生建模,進行基于知識認(rèn)知的個性化推薦。
IRT模型、DINA模型和協(xié)同過濾方法雖然在習(xí)題推薦方面都有一定研究和應(yīng)用,在一定程度上提高了學(xué)生的自主學(xué)習(xí)效率,但是都存在一定的局限性。如IRT模型未引入習(xí)題的特點(知識點);DINA模型雖然引用了習(xí)題知識點,但是未考慮習(xí)題知識點之間存在一定的關(guān)系且對知識點的掌握程度屬于掌握或未掌握[12];協(xié)同過濾方法雖然運用相似學(xué)生來預(yù)測目標(biāo)學(xué)生對候選習(xí)題的得分預(yù)測情況,在一定程度上提高了推薦質(zhì)量,但是忽略了學(xué)生之間對習(xí)題的掌握程度差異,難以保證推薦的習(xí)題是否滿足學(xué)生對加強薄弱知識點的需求。在絕大多數(shù)課程中,知識點是最直接反映學(xué)習(xí)者掌握目標(biāo)知識程度的衡量標(biāo)準(zhǔn),也能直接反映學(xué)習(xí)者在學(xué)習(xí)過程中存在的知識漏洞,因此知識點在達(dá)到推薦的個性化和準(zhǔn)確性目標(biāo)上起到關(guān)鍵作用。同時,知識點在結(jié)構(gòu)上具有天然的層次關(guān)系,利用專家知識對知識點結(jié)構(gòu)進行建模,形成具有知識點間復(fù)雜的層次關(guān)系,即知識點層次圖結(jié)構(gòu)。知識點層次圖結(jié)構(gòu)更能全面衡量學(xué)生對知識點掌握情況,從而提高在線用戶學(xué)習(xí)的效率。因此,本文將知識點層次圖關(guān)系和知識點掌握程度(屬于[0,1]區(qū)間的一個值)運用在習(xí)題推薦,提出了基于知識點層次圖的個性化習(xí)題推薦算法(a personalized exercises Recommendation algorithm based on Knowledge Hierarchical Graph,ReKHG)。主要思想是:首先根據(jù)課程知識點結(jié)構(gòu)、習(xí)題知識點矩陣、學(xué)生習(xí)題答題記錄計算知識點之間權(quán)重圖和學(xué)生在每個知識點上的失分率;其次用知識點間權(quán)重更新知識點失分率,與閾值比較初步選出掌握薄弱的知識點集合;從掌握薄弱知識點集合和未做的習(xí)題中得到候選習(xí)題;最后預(yù)測目標(biāo)學(xué)生對候選習(xí)題的失分,選出失分大于設(shè)定值的習(xí)題作為目標(biāo)學(xué)生推薦的習(xí)題。
由于目前暫無基于層次結(jié)構(gòu)的知識點的習(xí)題公開數(shù)據(jù)集,構(gòu)建1 653道《C語言程序設(shè)計》習(xí)題的237個知識點和85位學(xué)生1 069道答題記錄的習(xí)題數(shù)據(jù)集,稱為exercise(習(xí)題數(shù)據(jù):http://nwu-ipmi.cn/ctag/stutreeTags.aspx)。在該數(shù)據(jù)集上實驗結(jié)果表明,本文提出的ReKHG算法具有較高的知識點針對性及習(xí)題推薦準(zhǔn)確性。
在教育領(lǐng)域中,有眾多學(xué)者認(rèn)為習(xí)題是由若干個相關(guān)聯(lián)知識點組成,知識點能反映學(xué)生掌握程度。文獻(xiàn)[13]提出知識點存在一定的結(jié)構(gòu)關(guān)系,結(jié)構(gòu)關(guān)系包括知識點的層次關(guān)系、依賴關(guān)系、蘊含關(guān)系,本文主要以知識點的層次關(guān)系為主來體現(xiàn)課程知識點體系。
由于知識點反映學(xué)生掌握程度和知識點層次關(guān)系體現(xiàn)知識點的關(guān)聯(lián)關(guān)系,本章引入了習(xí)題知識點和知識點層次結(jié)構(gòu)關(guān)系。首先定義習(xí)題,其次定義知識點層次關(guān)系,最后定義習(xí)題得分比。習(xí)題知識點層次關(guān)系是求解知識點之間的權(quán)重圖,習(xí)題得分比運用統(tǒng)計學(xué)方法得到知識點掌握程度,知識點掌握程度屬于[0,1]區(qū)間的一個值,而不再是一個知識點掌握或未掌握的兩種情況。
定義1(習(xí)題)由一個或多個互不相同的知識點組成,知識點是習(xí)題的最小單位。
給定M道習(xí)題都是由N個知識點構(gòu)成,則習(xí)題集合D={d1,d2,…,dM},知識點集合K={k1,k2,…,kN} ,習(xí)題知識點集合矩陣R=[rmn]M×N,其中,rmn=1?表示習(xí)題M考察知識點N,rmn=0表示習(xí)題M未考察知識點N。如表1是一個簡單的習(xí)題知識點集合矩陣,其中,行代表一道習(xí)題,列代表一個知識點,從表1可知R1N至少是由k2和kN兩個知識點組成。
表1 習(xí)題知識點集合矩陣
定義2(知識點的層次關(guān)系)指知識點的包含關(guān)系,可以建立起具有樹狀結(jié)構(gòu)的層次結(jié)構(gòu)。領(lǐng)域知識通常具有樹狀層次結(jié)構(gòu),文獻(xiàn)[14]給出了一個關(guān)于數(shù)學(xué)領(lǐng)域知識層次結(jié)構(gòu)的例子。數(shù)學(xué)領(lǐng)域知識包含了廣泛的知識點,且這些知識點之間相互關(guān)聯(lián),一個知識點的構(gòu)建通常依賴另一個知識點。同樣,本文涉及的C語言程序設(shè)計領(lǐng)域知識同樣具有樹狀層次關(guān)系,這也反映了學(xué)生對領(lǐng)域知識的認(rèn)知是一個層次遞進的過程。在構(gòu)建C語言程序設(shè)計領(lǐng)域知識時,本文借鑒文獻(xiàn)[15]的思想,首先確定C語言程序設(shè)計這門課程領(lǐng)域知識構(gòu)建的目標(biāo)和知識范圍,然后對所有知識點進行分類,采用自頂向下的設(shè)計原則,通過反復(fù)迭代構(gòu)建最終形成一個具有父子關(guān)系的層次樹結(jié)構(gòu)。圖1是根據(jù)上述思想和原則構(gòu)建的一個簡單的C語言程序設(shè)計知識點層次樹結(jié)構(gòu)。樹的根結(jié)點是整個領(lǐng)域知識的父結(jié)點,樹的上層具有寬泛的知識點概念,樹下層具有粒度較細(xì)的知識點概念,直到粒度不能再細(xì)分為知識點。這種樹的層次構(gòu)建過程符合學(xué)生對領(lǐng)域知識的認(rèn)知過程。從圖1中可以很明顯看出知識點之間具有包含關(guān)系和并列關(guān)系。如果知識點kp(p =1,2,…,N )包含知識點kb(b=1,2,…,N),則記為:kp?kb,說明 kp比 kb寬泛,同理 kb比 kp的粒度細(xì)。如果知識點kp不包含知識點kb(b=1,2,…,N),則記為:kp~kb。
圖1 C語言程序設(shè)計知識點體系
定義3(習(xí)題得分比)習(xí)題得分比是指這道題的實際得分與題滿分之比,其值屬于[0,1]之間。
給定u個學(xué)生的集合:S=(s1,s2,…,su);u個學(xué)生的習(xí)題得分比集合:G=(Gs1,Gs2,…,Gsu),其中,Gsi=(g1,g2,…,gM) ,gy=0(y =1,2,…,M )表示學(xué)生 si未做過習(xí)題dy或者得分比是0。
假設(shè)學(xué)生si做過v(v =1,2,…,M )道習(xí)題的集合為
由定義3知,學(xué)生si做過的習(xí)題dy失分比,記為-g,則學(xué)生s所有習(xí)題失分比向量為:yi
由式(1)知,學(xué)生si對第n個知識點的失分比,即學(xué)生s的N個知識點失分比向量為:i
又由于學(xué)生si做過v道習(xí)題,而習(xí)題是由知識點組成,則可以從學(xué)生si做過v道習(xí)題中統(tǒng)計出知識點n的出現(xiàn)比,記為那么學(xué)生s的N個知識點出
i現(xiàn)比向量為:
由式(2)和式(3)知,求得學(xué)生si的 N 個知識點的失分率=/,則u個學(xué)生N個知識點失分率矩陣為:
其中,表示學(xué)生si對知識點n的失分率大小,值越大,表示學(xué)生si對該知識點掌握程度越小,換句話說學(xué)生si對該知識點n掌握得不好。在習(xí)題推薦的時候,需要根據(jù)知識點失分率大小進行推薦。
根據(jù)以上的定義,學(xué)生知識點掌握程度掌握或未掌握問題得到解決,即知識點掌握程度屬于[0,1]區(qū)間的值,定義2描述了知識點的層次關(guān)系,為第三章求解知識點之間權(quán)重圖做準(zhǔn)備。
本節(jié)介紹了ReKHG算法技術(shù)路線方案,ReKHG算法整體框架如圖2所示。從圖2中可以看出ReKHG算法主要由四部分組成。
(1)輸入:習(xí)題知識點集合R=[rmn]M×N、學(xué)生習(xí)題得分比集合G=(Gs1,Gs2,…,Gsu)、知識點層次結(jié)構(gòu)K(知識點標(biāo)注由領(lǐng)域內(nèi)專家標(biāo)注)。
(2)知識點失分率和權(quán)重圖:運用統(tǒng)計概率學(xué)方法對學(xué)生習(xí)題答題記錄建模,得到學(xué)生-知識點失分率的知識點掌握程度。根據(jù)專家構(gòu)造的知識點層次關(guān)系,利用文獻(xiàn)[16]計算知識點之間的權(quán)重,得到知識點權(quán)重是一個層次圖的關(guān)系,即每個知識點與其他知識點都有權(quán)重,權(quán)重值越大,表示兩個知識點關(guān)聯(lián)越強。
(3)更新后學(xué)生知識點失分率矩陣:由步驟(2)可知,知識點失分率的知識點之間是相互獨立的。現(xiàn)在用知識點權(quán)重圖更新學(xué)生-知識點失分率,得到更新后的學(xué)生-知識點失分率的知識點掌握程度,從而得到知識點之間是具有層次圖關(guān)系的。
(4)根據(jù)學(xué)生對候選習(xí)題的失分預(yù)測進行習(xí)題推薦(輸出):提取學(xué)生掌握薄弱的知識點,并選出帶有薄弱的知識點習(xí)題作為候選習(xí)題。預(yù)測候選習(xí)題的失分并作出推薦。
3.1節(jié)描述ReKHG算法整體框架,下面分別詳細(xì)介紹知識點權(quán)重圖,更新學(xué)生-知識點失分率,以及學(xué)生對候選習(xí)題的失分預(yù)測進行習(xí)題推薦。
3.2.1 知識點權(quán)重圖
從圖1的知識點層次關(guān)系中可以看出,每一個結(jié)點代表一個知識點,并且結(jié)點與結(jié)點之間是存在上下位關(guān)系的,即父子關(guān)系,用箭頭連接起來,每一對用箭頭連接的結(jié)點的上位是父親結(jié)點,箭頭所指向的下位是孩子結(jié)點,父親結(jié)點所代表的知識點包含孩子結(jié)點所代表的知識點,第一個父親結(jié)點是所有知識點的根結(jié)點。
在這種由父子關(guān)系所表達(dá)的層次樹中,可以得出越靠近根結(jié)點,結(jié)點所代表的知識點范圍越廣,離根結(jié)點越遠(yuǎn),結(jié)點所代表的知識點在專家領(lǐng)域知識劃分中越細(xì)分,知識點粒度越細(xì),而針對具體的習(xí)題,細(xì)分、粒度小的知識點更能反映習(xí)題的特點,可以更好地輔助學(xué)生明確哪些具體的知識點還沒有完全掌握。因此,本文基于這種思想提出了知識點關(guān)系權(quán)重指標(biāo),來反映知識點在習(xí)題中的權(quán)重。結(jié)點kp,kb的權(quán)重定義[16]如下:
其中,parent(kp,kb)表示結(jié)點kp,kb最近共同父結(jié)點。例如,如圖1所示:字符串(115)是字符串存儲方式(116)和字符串輸入輸出(119)最近共同父結(jié)點,那么depth(p arent(kp,kb) )表示最近共同父結(jié)點到樹根路徑長度。distance(kp,kb)表示結(jié)點kp,kb到樹根結(jié)點的平均距離。即:
圖3描述了一個簡單的字符串知識點權(quán)重圖,是從237個知識點中選取了字符串的知識點并且畫出知識點權(quán)重圖。
從圖3可以看出,字符串(115)知識點與其他4個知識點都有一個權(quán)重值,權(quán)重值越大,代表這兩個知識點關(guān)聯(lián)越強,否則這兩個知識點關(guān)聯(lián)越弱。
圖3 字符串知識點權(quán)重圖
3.2.2 基于知識點權(quán)重圖的學(xué)生-知識點失分率
由第2章的問題描述的式(1)~(3)是統(tǒng)計概率學(xué)方法建立的數(shù)學(xué)模型知,知識點之間始終是相互獨立的,所以學(xué)生-知識點失分率F的知識點不具有層次關(guān)系,為了使得知識點之間具有層次圖關(guān)系,運用3.2.1節(jié)知識點權(quán)重圖更新式(4),得到學(xué)生-知識點失分率的知識點具有層次圖關(guān)系。又由于學(xué)生si的N個知識點失分么得到學(xué)生s更新后的第kb個知識點如下:
那么F′是更新后的學(xué)生-知識點失分率矩陣如下所示:
依據(jù)知識點權(quán)重圖更新學(xué)生-知識點失分率矩陣F,更新后的學(xué)生-知識點失分率矩陣F′的知識點之間具有層次圖關(guān)系,與式(4)比較,更新后的失分率表達(dá)了知識點層次圖關(guān)系?!浔磉_(dá)學(xué)生si對知識點n掌握程度,值范圍屬于[0,1],知識點掌握程度不再是0和1兩種情況。比如當(dāng)值′屬于[0,0.3]時,表示學(xué)生si對知識點n掌握得很好,當(dāng)值′屬于[0.3,0.5]時,表示學(xué)生si對知識點n掌握比較薄弱,當(dāng)值屬于[0.5,1]時,表示學(xué)生si對知識點n掌握得較差。在習(xí)題推薦的時候,不是推薦掌握較差的知識點就越好,應(yīng)當(dāng)推薦對學(xué)生有提升幫助的知識點,如可以向?qū)W生推薦掌握薄弱的知識點,從而進行習(xí)題推薦。
3.2.3 預(yù)測候選習(xí)題的失分進行習(xí)題推薦(輸出)
將閾值α與學(xué)生-知識點失分率比較,若學(xué)生si知識點n的失分率′大于閾值α,則將知識點n加入到學(xué)生si的掌握不好的知識點集合,也叫薄弱的知識點集合。
要從薄弱的知識點集合中找到學(xué)生候選知識點集合。將掌握不好的知識點集合和學(xué)生未做的習(xí)題dR-v知識點交集運算,得到的知識點是學(xué)生si候選知識點,從帶有候選知識點的習(xí)題選出候選習(xí)題并加入到候選習(xí)題集合中。
預(yù)測目標(biāo)學(xué)生si對候選習(xí)題dR-v的推薦程度p(si,dR-v),如式(9)所示。
其中,表示學(xué)生si對候選知識點kp出現(xiàn)的次數(shù),表示候選知識點k在候選習(xí)題d出現(xiàn)的次數(shù),pR-v表示候選知識點k被多少個學(xué)生做過。lb(2 +p是借鑒了TF-IDF的思想,消除了學(xué)生對熱門的知識點過大權(quán)重,這樣更能反映學(xué)生的個性化,增加了推薦結(jié)果的新穎性。
推薦程度表示學(xué)生對習(xí)題失分預(yù)測的情況,選出推薦程度較高的習(xí)題加入到目標(biāo)學(xué)生si的習(xí)題推薦列表。
為了驗證ReKHG算法的可行性和準(zhǔn)確性,本文采用exercise數(shù)據(jù)集,該數(shù)據(jù)集是西北大學(xué)《C語言程序設(shè)計》課程習(xí)題和近5年該課程考試答題記錄。
exercise數(shù)據(jù)集由以下幾項數(shù)據(jù)組成:(1)根據(jù)專家知識標(biāo)注知識點的《C語言程序設(shè)計》課程習(xí)題庫,一共包含選擇題、填空題、判斷題、程序題和編程題5種題型在內(nèi)的1 653道習(xí)題,涉及237個知識點,每道題由1~6個知識點標(biāo)注;(2)西北大學(xué)近5年該課程考試答題記錄,共包含1 069條答題數(shù)據(jù)。本文將答題數(shù)據(jù)進行歸一化預(yù)處理,將客觀題和主觀題的答題分?jǐn)?shù)映射到[0,1]之間,也叫得分比,并將1 069條答題記錄隨機平均分成3份,任取兩份作為訓(xùn)練集,剩余一份作為測試集,采用交叉驗證的方式進行10次實驗,取平均值作為實驗結(jié)果。exercise數(shù)據(jù)集用表格描述,其結(jié)果如表2所示。
表2 數(shù)據(jù)及統(tǒng)計信息
實驗使用Windows7 64位操作系統(tǒng),CPU是Intel?CoreTMi7-4700MQ,內(nèi)存大小是16 GB,硬盤大小是2TB,實驗語言是matlabR2012a版本。
在推薦系統(tǒng)中,準(zhǔn)確率(precision)和召回率(recall)是最為常用的兩個評價指標(biāo),和常見電子商務(wù)的推薦系統(tǒng)不同,習(xí)題推薦側(cè)重挖掘?qū)W生對知識點掌握情況,根據(jù)文獻(xiàn)[17-18]對評價指標(biāo)的描述,提出了知識點推薦的準(zhǔn)確率和知識點預(yù)測的召回率評價指標(biāo)。f1-score是precision和recall綜合評價指標(biāo)。評價指標(biāo)定義如下所示:
precision(L (S ,R ) )表示正確推薦的知識點占推薦知識點總數(shù)的百分比。
recall(L (S ,R ) )表示正確推薦知識點占知識點總數(shù)的百分比。
由precision和recall,得f1-score為:
其中,| L (si,RjN) |表示向?qū)W生si推薦習(xí)題RjN的知識點個數(shù);|T (si,RtN) |表示學(xué)生si在習(xí)題測試集RtN中知識點個數(shù),(x =1,2,…,M )表示向?qū)W生si推薦的習(xí)題列表。
實驗中將SeTB[17]算法、TBTFIDF[17]算法作為本文的對比算法。用式(4)求解得到的知識點失分率進行習(xí)題推薦,即基于知識點無層次圖的個性化習(xí)題推薦算法。ReKWHG算法知識點之間是相互獨立的,也將作為ReKHG算法的對比實驗。
根據(jù)3.2.1節(jié)知識點權(quán)重圖可以得到知識點之間的權(quán)重。表3是一個簡單的字符串知識點之間權(quán)重圖上三角示例,結(jié)果如表3所示。
表3 字符串知識點權(quán)重
從表3可以看出,字符串115知識點編號與其他知識點權(quán)重值大于其他知識點之間的權(quán)重,說明該知識點與其他知識點關(guān)聯(lián)越強。
根據(jù)第2章問題描述式(4)學(xué)生-知識點失分率和3.2.2節(jié)更新后的學(xué)生-知識點失分率結(jié)果如表4所示。
表4 學(xué)生-知識點失分率/更新后學(xué)生-知識點失分率
其中,縱坐標(biāo)115~119表示與字符串有關(guān)的知識點,橫坐標(biāo)1~5表示抽取了5位學(xué)生。它們的值分別表示更新前和更新后的學(xué)生-知識點失分率,用“/”區(qū)分開。0.00表示學(xué)生未做過的知識點,值0.83表示學(xué)生對知識點掌握得較差。從表4可以看出利用知識點層次圖關(guān)系,不僅改善了矩陣的稀疏性,而且反映學(xué)生未做過的習(xí)題知識點,從而改善習(xí)題推薦質(zhì)量。
根據(jù)3.2.3節(jié),向目標(biāo)學(xué)生推薦習(xí)題,利用知識點推薦的準(zhǔn)確率、知識點預(yù)測的召回率、綜合評價指標(biāo),得到對比實驗結(jié)果。其實驗結(jié)果如表5所示。
表5 實驗結(jié)果 %
從實驗結(jié)果可以看出,無論是本文提出的基于知識點層次圖ReKHG算法還是對比算法,算法的準(zhǔn)確率、召回率、f1-score都比較低,這是因為學(xué)生習(xí)題答題記錄很少,使得推薦行為記錄數(shù)據(jù)稀疏,導(dǎo)致所有的算法在準(zhǔn)確率、召回率、f1-score都很低。文獻(xiàn)[19]指出在推薦算法方面,經(jīng)常面臨用戶行為數(shù)據(jù)稀疏問題,這將嚴(yán)重降低個性化推薦的準(zhǔn)確度、召回率、f1-score。雖然這些算法在準(zhǔn)確率、召回率和f1-score都較低,但是面對網(wǎng)上海量的習(xí)題在線數(shù)據(jù),依然能夠提高學(xué)生更有針對性的學(xué)習(xí)和自主學(xué)習(xí)效率。
從表5實驗結(jié)果可以看出,當(dāng)閾值α=0.4時,本文提出的ReKHG算法在exercise數(shù)據(jù)集上進行個性化推薦具有最好的效果,較ReKWHG算法在準(zhǔn)確率方面提高了12.35%,召回率方面提高了5.49%,f1-score方面提高了11.91%,這是因為ReKHG算法考慮了知識點的層次結(jié)構(gòu)。從表4可以看出知識點層次圖關(guān)系,不僅改善了知識點失分率矩陣的稀疏性,而且反映學(xué)生未做過的習(xí)題知識點,從而改善習(xí)題推薦質(zhì)量,這種知識點層次結(jié)構(gòu)更能全面衡量學(xué)生對知識點的掌握情況,因此其性能更好。ReKHG較SeTB算法、TBTFIDF算法在準(zhǔn)確率方面分別提高2.57%和1.85%,在召回率方面是相當(dāng)?shù)?,在f1-score方面分別提高2.07%和1.09%,這是因為ReKHG算法不僅考慮了知識點的層次結(jié)構(gòu),而且考慮掌握薄弱的知識點進行個性化推薦,薄弱知識點失分率屬于[0.3,0.5]區(qū)間,而SeTB算法和TBTFIDF算法僅僅是根據(jù)用戶知識點進行推薦的,即掌握知識點和未掌握知識點兩種情況做推薦的。利用薄弱知識點和知識點層次圖關(guān)系在習(xí)題推薦方面表現(xiàn)更優(yōu)。
閾值α對ReKHG算法和ReKWHG準(zhǔn)確度、召回率和綜合評價f1-score的影響如圖4所示。
從圖4結(jié)果可以看出,在薄弱的知識點上,即閾值α取值0.34到0.46之間,ReKHG算法在準(zhǔn)確率、召回率和綜合評價指標(biāo)一直要優(yōu)于ReKWHG算法,這是因為ReKHG算法考慮了知識點的層次圖關(guān)系,不僅改善了知識點失分率矩陣的稀疏性,而且反映學(xué)生未做過的習(xí)題知識點,從而改善習(xí)題推薦質(zhì)量,驗證了ReKHG算法具有較高的知識點針對性及習(xí)題推薦的準(zhǔn)確性。
針對海量習(xí)題帶來的信息過載問題,根據(jù)習(xí)題由知識點反映其本質(zhì)的特點,本文提出了一種基于知識點層次圖的個性化習(xí)題推薦算法。首先利用專家知識構(gòu)建知識點層次關(guān)系,并根據(jù)層次結(jié)構(gòu)中上下位即父子關(guān)系的特點計算知識點的權(quán)重。其次根據(jù)學(xué)生答題記錄,求解學(xué)生知識點失分率矩陣,利用權(quán)重圖更新學(xué)生知識點失分率矩陣,最后求目標(biāo)學(xué)生對候選習(xí)題的失分預(yù)測,從而得到習(xí)題推薦列表。與目前流行習(xí)題推薦方法相比,本文提出的算法在三個指標(biāo)上是最好的,具有重要研究意義。
圖4 閾值α對ReKHG算法和ReKWHG算法的效果影響
習(xí)題推薦是教育資源推薦的一個研究方向,也是目前研究和應(yīng)用的熱門領(lǐng)域,還有很多研究內(nèi)容值得挖掘。首先本文的知識點層次圖是利用專家知識進行半自動標(biāo)注的,下一步研究工作可以圍繞習(xí)題知識點的自動化標(biāo)注展開,進一步完善個性化習(xí)題推薦的整個流程;其次本文的知識點閾值是根據(jù)經(jīng)驗手動設(shè)置的,今后將考慮知識點閾值函數(shù),進一步改進個性化習(xí)題推薦算法;最后為了提高推薦算法的準(zhǔn)確率,未來的工作可從兩方面入手:(1)對用戶訪問但未給出評分?jǐn)?shù)據(jù)進行預(yù)測并填充,降低數(shù)據(jù)稀疏性問題,從而提高個性化推薦算法的準(zhǔn)確率等。(2)目前收集的學(xué)生習(xí)題答題記錄和習(xí)題得分是一種顯性反饋數(shù)據(jù),為了可以收集學(xué)生的隱性反饋數(shù)據(jù)記錄,如學(xué)生是否優(yōu)等生,學(xué)生是否高年級等隱性反饋數(shù)據(jù),獲得更多的先驗知識來提高算法的準(zhǔn)確率等。
:
[1]Anderson A,Huttenlocher D,Kleinberg J,et al.Engaging with massive online courses[J].Computer Science,2014:687-698.
[2]Burns H,Luckhardt C A,Parlett J W,et al.Intelligent tutoring systems:evolutionsin design[M].[S.l.]:Psychology Press,2014.
[3]Nichols P D,Chipman S F,Brennan R L.Cognitively diagnostic assessment[M].[S.l.]:Routledge,1995.
[4]Dibello L V,Roussos L A,Stout W.Review of cognitively diagnostic assessment and a summary of psychometric models[J].Handbook of Statistics,2006,26(6):979-1030.
[5]Embretson S E,Reise S P.Item response theory[M].[S.l.]:Psyhology Press,2013.
[6]Harwell M R,Zwarts M.Item parameter estimation via marginal maximum likelihood and an EM algorithm:a didactic[J].Journal of Educational& Behavioral Statistics,1988,13(3):243-271.
[7]Torre J D L.DINA model and parameter estimation:a didactic[J].Journal of Educational& Behavioral Statistics,2009,34(1):115-130.
[8]Ozaki K.DINA models for multiple-choice items with few parameters:considering incorrect answers[J].Applied Psychological Measurement,2015,39(6).
[9]Rupp A A,Templin J.The effects of q-matrix misspecification on parameter estimates and classification accuracy in the DINA model[J].Educational and Psychological Measurement,2008,68(1):78-96.
[10]Resnick P,Iacovou N,Suchak M,et al.GroupLens:an open architecture for collaborative filtering of netnews[C]//Proceedings of the 1994 ACM Conference on Computer Supported Cooperative Work,1994:175-186.
[11]Greg L,Brent S,Jeremy Y.Amazon.com recommendations:item-to-item collaborative filtering[J].Internet Computing,2003,7(1):76-80.
[12]朱天宇,黃振亞,陳恩紅,等.基于認(rèn)知診斷的個性化試題推薦方法[J].計算機學(xué)報,2017(1).
[13]賈巍,瞿堃.知識表示視野下網(wǎng)絡(luò)課程知識點關(guān)系研究[J].繼續(xù)教育研究,2008(5):62-64.
[14]Sternberg R J,Ben-Zeev T.The nature of mathematical thinking[M].[S.l.]:L Erlbaum Associates,1996.
[15]馬捷,劉小樂,黃嵐,等.教育領(lǐng)域本體構(gòu)建研究[J].情報理論與實踐,2012,35(7):104-108.
[16]張瑜.一種基于知識分類樹的個性化推薦方法[D].河北保定:河北大學(xué),2007.
[17]項亮.推薦系統(tǒng)實踐[M].北京:人民郵電出版社,2012.
[18]Zhang M L,Zhou Z H.A review on multi-label learning algorithms[J].IEEE Transactions on Knowledge&Data Engineering,2014,26(8):1819-1837.
[19]黃永鋒,覃羅春.一種有效緩解協(xié)同過濾推薦評價數(shù)據(jù)稀疏問題的算法[J].東華大學(xué)學(xué)報:自然科學(xué)版,2013,39(1):83-87.