蔣昌猛,馮 筠,孫 霞,陳 靜,張 蕾,馮宏偉
西北大學 信息科學與技術學院,西安 710127
隨著Web2.0和互聯(lián)網(wǎng)教育的快速發(fā)展,簡便靈活、可定制化的網(wǎng)絡在線習題已經(jīng)普及,如慕課網(wǎng)[1]、智能輔助教育系統(tǒng)[2]等。面對網(wǎng)絡及考試系統(tǒng)中海量的習題數(shù)據(jù),如何彌補知識漏洞以及針對性地選擇習題已成為當前教學資源個性化推薦研究領域的熱點。因此,高效可靠的習題推薦算法既是互聯(lián)網(wǎng)教育背景下對個性化學習新的要求,也是用戶對個性化學習的新的訴求。
目前,基于認知診斷理論(Cognitive Diagnostic Theory,CDT)[3]的個性化習題推薦理論被研究者廣泛應用。許多研究者提出了對學生進行建模和分析的多種認知診斷模型(Cognitive Diagnosis Model,CDM)[4]。其中,文獻[5-6]提出了一種項目反應理論(Item Response Theory,IRT)模型,IRT是通過統(tǒng)計學的方法對學生和習題答題情況建立平均分、得分率、排名等數(shù)學理論模型,來預測學生的綜合能力和習題的難度、區(qū)分度等參數(shù),但IRT局限在學生對習題的答題情況,未深入分析學生對知識點掌握程度。文獻[7-8]提出了傳統(tǒng)DINA模型(Deterministic Inputs,Noisy“And”gate model),該方法引入了習題知識點關聯(lián)Q矩陣[9],通過學生知識點掌握程度向目標學生推薦習題,但DINA模型局限是Q矩陣僅通過已考察的知識點忽略了相關聯(lián)但未考察的知識點來進行習題推薦,使得向學生推薦習題存在一定的誤差。已有一些研究學者將協(xié)同過濾推薦方法應用在習題推薦方面。文獻[10-11]提出了基于近鄰的協(xié)同過濾方法,該方法首先根據(jù)學生的習題答題行為記錄計算學生之間的相似度,其次根據(jù)相似度的大小找到最相似的學生,最后依據(jù)相似學生對目標學生進行習題推薦。但該方法忽略了不同的學生對知識點掌握程度的差異,難以保證推薦的習題是否屬于目標學生想要的習題,即沒有從學生對認知屬性的角度出發(fā)對學生建模,進行基于知識認知的個性化推薦。
IRT模型、DINA模型和協(xié)同過濾方法雖然在習題推薦方面都有一定研究和應用,在一定程度上提高了學生的自主學習效率,但是都存在一定的局限性。如IRT模型未引入習題的特點(知識點);DINA模型雖然引用了習題知識點,但是未考慮習題知識點之間存在一定的關系且對知識點的掌握程度屬于掌握或未掌握[12];協(xié)同過濾方法雖然運用相似學生來預測目標學生對候選習題的得分預測情況,在一定程度上提高了推薦質量,但是忽略了學生之間對習題的掌握程度差異,難以保證推薦的習題是否滿足學生對加強薄弱知識點的需求。在絕大多數(shù)課程中,知識點是最直接反映學習者掌握目標知識程度的衡量標準,也能直接反映學習者在學習過程中存在的知識漏洞,因此知識點在達到推薦的個性化和準確性目標上起到關鍵作用。同時,知識點在結構上具有天然的層次關系,利用專家知識對知識點結構進行建模,形成具有知識點間復雜的層次關系,即知識點層次圖結構。知識點層次圖結構更能全面衡量學生對知識點掌握情況,從而提高在線用戶學習的效率。因此,本文將知識點層次圖關系和知識點掌握程度(屬于[0,1]區(qū)間的一個值)運用在習題推薦,提出了基于知識點層次圖的個性化習題推薦算法(a personalized exercises Recommendation algorithm based on Knowledge Hierarchical Graph,ReKHG)。主要思想是:首先根據(jù)課程知識點結構、習題知識點矩陣、學生習題答題記錄計算知識點之間權重圖和學生在每個知識點上的失分率;其次用知識點間權重更新知識點失分率,與閾值比較初步選出掌握薄弱的知識點集合;從掌握薄弱知識點集合和未做的習題中得到候選習題;最后預測目標學生對候選習題的失分,選出失分大于設定值的習題作為目標學生推薦的習題。
由于目前暫無基于層次結構的知識點的習題公開數(shù)據(jù)集,構建1 653道《C語言程序設計》習題的237個知識點和85位學生1 069道答題記錄的習題數(shù)據(jù)集,稱為exercise(習題數(shù)據(jù):http://nwu-ipmi.cn/ctag/stutreeTags.aspx)。在該數(shù)據(jù)集上實驗結果表明,本文提出的ReKHG算法具有較高的知識點針對性及習題推薦準確性。
在教育領域中,有眾多學者認為習題是由若干個相關聯(lián)知識點組成,知識點能反映學生掌握程度。文獻[13]提出知識點存在一定的結構關系,結構關系包括知識點的層次關系、依賴關系、蘊含關系,本文主要以知識點的層次關系為主來體現(xiàn)課程知識點體系。
由于知識點反映學生掌握程度和知識點層次關系體現(xiàn)知識點的關聯(lián)關系,本章引入了習題知識點和知識點層次結構關系。首先定義習題,其次定義知識點層次關系,最后定義習題得分比。習題知識點層次關系是求解知識點之間的權重圖,習題得分比運用統(tǒng)計學方法得到知識點掌握程度,知識點掌握程度屬于[0,1]區(qū)間的一個值,而不再是一個知識點掌握或未掌握的兩種情況。
定義1(習題)由一個或多個互不相同的知識點組成,知識點是習題的最小單位。
給定M道習題都是由N個知識點構成,則習題集合D={d1,d2,…,dM},知識點集合K={k1,k2,…,kN} ,習題知識點集合矩陣R=[rmn]M×N,其中,rmn=1?表示習題M考察知識點N,rmn=0表示習題M未考察知識點N。如表1是一個簡單的習題知識點集合矩陣,其中,行代表一道習題,列代表一個知識點,從表1可知R1N至少是由k2和kN兩個知識點組成。
表1 習題知識點集合矩陣
定義2(知識點的層次關系)指知識點的包含關系,可以建立起具有樹狀結構的層次結構。領域知識通常具有樹狀層次結構,文獻[14]給出了一個關于數(shù)學領域知識層次結構的例子。數(shù)學領域知識包含了廣泛的知識點,且這些知識點之間相互關聯(lián),一個知識點的構建通常依賴另一個知識點。同樣,本文涉及的C語言程序設計領域知識同樣具有樹狀層次關系,這也反映了學生對領域知識的認知是一個層次遞進的過程。在構建C語言程序設計領域知識時,本文借鑒文獻[15]的思想,首先確定C語言程序設計這門課程領域知識構建的目標和知識范圍,然后對所有知識點進行分類,采用自頂向下的設計原則,通過反復迭代構建最終形成一個具有父子關系的層次樹結構。圖1是根據(jù)上述思想和原則構建的一個簡單的C語言程序設計知識點層次樹結構。樹的根結點是整個領域知識的父結點,樹的上層具有寬泛的知識點概念,樹下層具有粒度較細的知識點概念,直到粒度不能再細分為知識點。這種樹的層次構建過程符合學生對領域知識的認知過程。從圖1中可以很明顯看出知識點之間具有包含關系和并列關系。如果知識點kp(p =1,2,…,N )包含知識點kb(b=1,2,…,N),則記為:kp?kb,說明 kp比 kb寬泛,同理 kb比 kp的粒度細。如果知識點kp不包含知識點kb(b=1,2,…,N),則記為:kp~kb。
圖1 C語言程序設計知識點體系
定義3(習題得分比)習題得分比是指這道題的實際得分與題滿分之比,其值屬于[0,1]之間。
給定u個學生的集合:S=(s1,s2,…,su);u個學生的習題得分比集合:G=(Gs1,Gs2,…,Gsu),其中,Gsi=(g1,g2,…,gM) ,gy=0(y =1,2,…,M )表示學生 si未做過習題dy或者得分比是0。
假設學生si做過v(v =1,2,…,M )道習題的集合為
由定義3知,學生si做過的習題dy失分比,記為-g,則學生s所有習題失分比向量為:yi
由式(1)知,學生si對第n個知識點的失分比,即學生s的N個知識點失分比向量為:i
又由于學生si做過v道習題,而習題是由知識點組成,則可以從學生si做過v道習題中統(tǒng)計出知識點n的出現(xiàn)比,記為那么學生s的N個知識點出
i現(xiàn)比向量為:
由式(2)和式(3)知,求得學生si的 N 個知識點的失分率=/,則u個學生N個知識點失分率矩陣為:
其中,表示學生si對知識點n的失分率大小,值越大,表示學生si對該知識點掌握程度越小,換句話說學生si對該知識點n掌握得不好。在習題推薦的時候,需要根據(jù)知識點失分率大小進行推薦。
根據(jù)以上的定義,學生知識點掌握程度掌握或未掌握問題得到解決,即知識點掌握程度屬于[0,1]區(qū)間的值,定義2描述了知識點的層次關系,為第三章求解知識點之間權重圖做準備。
本節(jié)介紹了ReKHG算法技術路線方案,ReKHG算法整體框架如圖2所示。從圖2中可以看出ReKHG算法主要由四部分組成。
(1)輸入:習題知識點集合R=[rmn]M×N、學生習題得分比集合G=(Gs1,Gs2,…,Gsu)、知識點層次結構K(知識點標注由領域內專家標注)。
(2)知識點失分率和權重圖:運用統(tǒng)計概率學方法對學生習題答題記錄建模,得到學生-知識點失分率的知識點掌握程度。根據(jù)專家構造的知識點層次關系,利用文獻[16]計算知識點之間的權重,得到知識點權重是一個層次圖的關系,即每個知識點與其他知識點都有權重,權重值越大,表示兩個知識點關聯(lián)越強。
(3)更新后學生知識點失分率矩陣:由步驟(2)可知,知識點失分率的知識點之間是相互獨立的?,F(xiàn)在用知識點權重圖更新學生-知識點失分率,得到更新后的學生-知識點失分率的知識點掌握程度,從而得到知識點之間是具有層次圖關系的。
(4)根據(jù)學生對候選習題的失分預測進行習題推薦(輸出):提取學生掌握薄弱的知識點,并選出帶有薄弱的知識點習題作為候選習題。預測候選習題的失分并作出推薦。
3.1節(jié)描述ReKHG算法整體框架,下面分別詳細介紹知識點權重圖,更新學生-知識點失分率,以及學生對候選習題的失分預測進行習題推薦。
3.2.1 知識點權重圖
從圖1的知識點層次關系中可以看出,每一個結點代表一個知識點,并且結點與結點之間是存在上下位關系的,即父子關系,用箭頭連接起來,每一對用箭頭連接的結點的上位是父親結點,箭頭所指向的下位是孩子結點,父親結點所代表的知識點包含孩子結點所代表的知識點,第一個父親結點是所有知識點的根結點。
在這種由父子關系所表達的層次樹中,可以得出越靠近根結點,結點所代表的知識點范圍越廣,離根結點越遠,結點所代表的知識點在專家領域知識劃分中越細分,知識點粒度越細,而針對具體的習題,細分、粒度小的知識點更能反映習題的特點,可以更好地輔助學生明確哪些具體的知識點還沒有完全掌握。因此,本文基于這種思想提出了知識點關系權重指標,來反映知識點在習題中的權重。結點kp,kb的權重定義[16]如下:
其中,parent(kp,kb)表示結點kp,kb最近共同父結點。例如,如圖1所示:字符串(115)是字符串存儲方式(116)和字符串輸入輸出(119)最近共同父結點,那么depth(p arent(kp,kb) )表示最近共同父結點到樹根路徑長度。distance(kp,kb)表示結點kp,kb到樹根結點的平均距離。即:
圖3描述了一個簡單的字符串知識點權重圖,是從237個知識點中選取了字符串的知識點并且畫出知識點權重圖。
從圖3可以看出,字符串(115)知識點與其他4個知識點都有一個權重值,權重值越大,代表這兩個知識點關聯(lián)越強,否則這兩個知識點關聯(lián)越弱。
圖3 字符串知識點權重圖
3.2.2 基于知識點權重圖的學生-知識點失分率
由第2章的問題描述的式(1)~(3)是統(tǒng)計概率學方法建立的數(shù)學模型知,知識點之間始終是相互獨立的,所以學生-知識點失分率F的知識點不具有層次關系,為了使得知識點之間具有層次圖關系,運用3.2.1節(jié)知識點權重圖更新式(4),得到學生-知識點失分率的知識點具有層次圖關系。又由于學生si的N個知識點失分么得到學生s更新后的第kb個知識點如下:
那么F′是更新后的學生-知識點失分率矩陣如下所示:
依據(jù)知識點權重圖更新學生-知識點失分率矩陣F,更新后的學生-知識點失分率矩陣F′的知識點之間具有層次圖關系,與式(4)比較,更新后的失分率表達了知識點層次圖關系?!浔磉_學生si對知識點n掌握程度,值范圍屬于[0,1],知識點掌握程度不再是0和1兩種情況。比如當值′屬于[0,0.3]時,表示學生si對知識點n掌握得很好,當值′屬于[0.3,0.5]時,表示學生si對知識點n掌握比較薄弱,當值屬于[0.5,1]時,表示學生si對知識點n掌握得較差。在習題推薦的時候,不是推薦掌握較差的知識點就越好,應當推薦對學生有提升幫助的知識點,如可以向學生推薦掌握薄弱的知識點,從而進行習題推薦。
3.2.3 預測候選習題的失分進行習題推薦(輸出)
將閾值α與學生-知識點失分率比較,若學生si知識點n的失分率′大于閾值α,則將知識點n加入到學生si的掌握不好的知識點集合,也叫薄弱的知識點集合。
要從薄弱的知識點集合中找到學生候選知識點集合。將掌握不好的知識點集合和學生未做的習題dR-v知識點交集運算,得到的知識點是學生si候選知識點,從帶有候選知識點的習題選出候選習題并加入到候選習題集合中。
預測目標學生si對候選習題dR-v的推薦程度p(si,dR-v),如式(9)所示。
其中,表示學生si對候選知識點kp出現(xiàn)的次數(shù),表示候選知識點k在候選習題d出現(xiàn)的次數(shù),pR-v表示候選知識點k被多少個學生做過。lb(2 +p是借鑒了TF-IDF的思想,消除了學生對熱門的知識點過大權重,這樣更能反映學生的個性化,增加了推薦結果的新穎性。
推薦程度表示學生對習題失分預測的情況,選出推薦程度較高的習題加入到目標學生si的習題推薦列表。
為了驗證ReKHG算法的可行性和準確性,本文采用exercise數(shù)據(jù)集,該數(shù)據(jù)集是西北大學《C語言程序設計》課程習題和近5年該課程考試答題記錄。
exercise數(shù)據(jù)集由以下幾項數(shù)據(jù)組成:(1)根據(jù)專家知識標注知識點的《C語言程序設計》課程習題庫,一共包含選擇題、填空題、判斷題、程序題和編程題5種題型在內的1 653道習題,涉及237個知識點,每道題由1~6個知識點標注;(2)西北大學近5年該課程考試答題記錄,共包含1 069條答題數(shù)據(jù)。本文將答題數(shù)據(jù)進行歸一化預處理,將客觀題和主觀題的答題分數(shù)映射到[0,1]之間,也叫得分比,并將1 069條答題記錄隨機平均分成3份,任取兩份作為訓練集,剩余一份作為測試集,采用交叉驗證的方式進行10次實驗,取平均值作為實驗結果。exercise數(shù)據(jù)集用表格描述,其結果如表2所示。
表2 數(shù)據(jù)及統(tǒng)計信息
實驗使用Windows7 64位操作系統(tǒng),CPU是Intel?CoreTMi7-4700MQ,內存大小是16 GB,硬盤大小是2TB,實驗語言是matlabR2012a版本。
在推薦系統(tǒng)中,準確率(precision)和召回率(recall)是最為常用的兩個評價指標,和常見電子商務的推薦系統(tǒng)不同,習題推薦側重挖掘學生對知識點掌握情況,根據(jù)文獻[17-18]對評價指標的描述,提出了知識點推薦的準確率和知識點預測的召回率評價指標。f1-score是precision和recall綜合評價指標。評價指標定義如下所示:
precision(L (S ,R ) )表示正確推薦的知識點占推薦知識點總數(shù)的百分比。
recall(L (S ,R ) )表示正確推薦知識點占知識點總數(shù)的百分比。
由precision和recall,得f1-score為:
其中,| L (si,RjN) |表示向學生si推薦習題RjN的知識點個數(shù);|T (si,RtN) |表示學生si在習題測試集RtN中知識點個數(shù),(x =1,2,…,M )表示向學生si推薦的習題列表。
實驗中將SeTB[17]算法、TBTFIDF[17]算法作為本文的對比算法。用式(4)求解得到的知識點失分率進行習題推薦,即基于知識點無層次圖的個性化習題推薦算法。ReKWHG算法知識點之間是相互獨立的,也將作為ReKHG算法的對比實驗。
根據(jù)3.2.1節(jié)知識點權重圖可以得到知識點之間的權重。表3是一個簡單的字符串知識點之間權重圖上三角示例,結果如表3所示。
表3 字符串知識點權重
從表3可以看出,字符串115知識點編號與其他知識點權重值大于其他知識點之間的權重,說明該知識點與其他知識點關聯(lián)越強。
根據(jù)第2章問題描述式(4)學生-知識點失分率和3.2.2節(jié)更新后的學生-知識點失分率結果如表4所示。
表4 學生-知識點失分率/更新后學生-知識點失分率
其中,縱坐標115~119表示與字符串有關的知識點,橫坐標1~5表示抽取了5位學生。它們的值分別表示更新前和更新后的學生-知識點失分率,用“/”區(qū)分開。0.00表示學生未做過的知識點,值0.83表示學生對知識點掌握得較差。從表4可以看出利用知識點層次圖關系,不僅改善了矩陣的稀疏性,而且反映學生未做過的習題知識點,從而改善習題推薦質量。
根據(jù)3.2.3節(jié),向目標學生推薦習題,利用知識點推薦的準確率、知識點預測的召回率、綜合評價指標,得到對比實驗結果。其實驗結果如表5所示。
表5 實驗結果 %
從實驗結果可以看出,無論是本文提出的基于知識點層次圖ReKHG算法還是對比算法,算法的準確率、召回率、f1-score都比較低,這是因為學生習題答題記錄很少,使得推薦行為記錄數(shù)據(jù)稀疏,導致所有的算法在準確率、召回率、f1-score都很低。文獻[19]指出在推薦算法方面,經(jīng)常面臨用戶行為數(shù)據(jù)稀疏問題,這將嚴重降低個性化推薦的準確度、召回率、f1-score。雖然這些算法在準確率、召回率和f1-score都較低,但是面對網(wǎng)上海量的習題在線數(shù)據(jù),依然能夠提高學生更有針對性的學習和自主學習效率。
從表5實驗結果可以看出,當閾值α=0.4時,本文提出的ReKHG算法在exercise數(shù)據(jù)集上進行個性化推薦具有最好的效果,較ReKWHG算法在準確率方面提高了12.35%,召回率方面提高了5.49%,f1-score方面提高了11.91%,這是因為ReKHG算法考慮了知識點的層次結構。從表4可以看出知識點層次圖關系,不僅改善了知識點失分率矩陣的稀疏性,而且反映學生未做過的習題知識點,從而改善習題推薦質量,這種知識點層次結構更能全面衡量學生對知識點的掌握情況,因此其性能更好。ReKHG較SeTB算法、TBTFIDF算法在準確率方面分別提高2.57%和1.85%,在召回率方面是相當?shù)?,在f1-score方面分別提高2.07%和1.09%,這是因為ReKHG算法不僅考慮了知識點的層次結構,而且考慮掌握薄弱的知識點進行個性化推薦,薄弱知識點失分率屬于[0.3,0.5]區(qū)間,而SeTB算法和TBTFIDF算法僅僅是根據(jù)用戶知識點進行推薦的,即掌握知識點和未掌握知識點兩種情況做推薦的。利用薄弱知識點和知識點層次圖關系在習題推薦方面表現(xiàn)更優(yōu)。
閾值α對ReKHG算法和ReKWHG準確度、召回率和綜合評價f1-score的影響如圖4所示。
從圖4結果可以看出,在薄弱的知識點上,即閾值α取值0.34到0.46之間,ReKHG算法在準確率、召回率和綜合評價指標一直要優(yōu)于ReKWHG算法,這是因為ReKHG算法考慮了知識點的層次圖關系,不僅改善了知識點失分率矩陣的稀疏性,而且反映學生未做過的習題知識點,從而改善習題推薦質量,驗證了ReKHG算法具有較高的知識點針對性及習題推薦的準確性。
針對海量習題帶來的信息過載問題,根據(jù)習題由知識點反映其本質的特點,本文提出了一種基于知識點層次圖的個性化習題推薦算法。首先利用專家知識構建知識點層次關系,并根據(jù)層次結構中上下位即父子關系的特點計算知識點的權重。其次根據(jù)學生答題記錄,求解學生知識點失分率矩陣,利用權重圖更新學生知識點失分率矩陣,最后求目標學生對候選習題的失分預測,從而得到習題推薦列表。與目前流行習題推薦方法相比,本文提出的算法在三個指標上是最好的,具有重要研究意義。
圖4 閾值α對ReKHG算法和ReKWHG算法的效果影響
習題推薦是教育資源推薦的一個研究方向,也是目前研究和應用的熱門領域,還有很多研究內容值得挖掘。首先本文的知識點層次圖是利用專家知識進行半自動標注的,下一步研究工作可以圍繞習題知識點的自動化標注展開,進一步完善個性化習題推薦的整個流程;其次本文的知識點閾值是根據(jù)經(jīng)驗手動設置的,今后將考慮知識點閾值函數(shù),進一步改進個性化習題推薦算法;最后為了提高推薦算法的準確率,未來的工作可從兩方面入手:(1)對用戶訪問但未給出評分數(shù)據(jù)進行預測并填充,降低數(shù)據(jù)稀疏性問題,從而提高個性化推薦算法的準確率等。(2)目前收集的學生習題答題記錄和習題得分是一種顯性反饋數(shù)據(jù),為了可以收集學生的隱性反饋數(shù)據(jù)記錄,如學生是否優(yōu)等生,學生是否高年級等隱性反饋數(shù)據(jù),獲得更多的先驗知識來提高算法的準確率等。
:
[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]朱天宇,黃振亞,陳恩紅,等.基于認知診斷的個性化試題推薦方法[J].計算機學報,2017(1).
[13]賈巍,瞿堃.知識表示視野下網(wǎng)絡課程知識點關系研究[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]馬捷,劉小樂,黃嵐,等.教育領域本體構建研究[J].情報理論與實踐,2012,35(7):104-108.
[16]張瑜.一種基于知識分類樹的個性化推薦方法[D].河北保定:河北大學,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].東華大學學報:自然科學版,2013,39(1):83-87.