摘 要: 針對學(xué)習(xí)資源的個(gè)性化推薦,提出了一種基于用戶影響關(guān)系的協(xié)同過濾推薦方法,使用傳統(tǒng)協(xié)同過濾推薦采用的用戶項(xiàng)目評分信息,通過挖掘用戶時(shí)序交互評論和回復(fù)行為數(shù)據(jù)發(fā)現(xiàn)用戶之間的相互影響關(guān)系,從而優(yōu)化用戶興趣矩陣,在此基礎(chǔ)上改善基于用戶的協(xié)同過濾方法進(jìn)行推薦。在數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,通過利用用戶之間時(shí)序交互行為數(shù)據(jù),挖掘隱藏的用戶影響關(guān)系信息可以有效提高預(yù)測的準(zhǔn)確度。
關(guān)鍵詞: 個(gè)性化推薦; 協(xié)同過濾; 學(xué)習(xí)資源推薦; 用戶影響關(guān)系; 教育推薦
中圖分類號: TN911?34; TM417 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)19?0029?04
Abstract: A collaborative filtering recommendation method based on user influence relation is proposed in allusion to the personalized recommendation of learning resources. The user project grading information adopted by the traditional collaborative filtering recommendation is used to find out the interaction relation among the users by mining the users′ time sequence interactive comments and recovery behavior data, so as to optimize the user′s interest matrix. On this basis, the collaborative filtering method based on users was improved for recommendation. The experimental results of dataset show that the hidden user influence relation mined with the time sequence interactive behavior data among users can improve the accuracy of prediction.
Keywords: personalized recommendation; collaborative filtering; learning resource recommendation; user influence relation; learning recommendation
個(gè)性化推薦技術(shù)早已在電子商務(wù)、電影、音樂等領(lǐng)域得到了廣泛應(yīng)用,如今隨著網(wǎng)絡(luò)在線教育的發(fā)展,個(gè)性化推薦技術(shù)也逐漸引起了教育領(lǐng)域的重視及應(yīng)用的需求。面對復(fù)雜多樣的網(wǎng)絡(luò)學(xué)習(xí)資源,根據(jù)用戶的歷史行為軌跡,分析用戶興趣,推薦能夠反映用戶學(xué)習(xí)興趣的學(xué)習(xí)資源,實(shí)現(xiàn)“因材施教”變得越來越重要,研究學(xué)者們也紛紛開始探索個(gè)性化推薦技術(shù)在教育領(lǐng)域的應(yīng)用[1]。面對著當(dāng)前網(wǎng)絡(luò)上的學(xué)習(xí)資源的特點(diǎn)是形式多樣化,資源類型多媒體化,資源組織異構(gòu)化,且變得海量的學(xué)習(xí)資源,網(wǎng)絡(luò)教育的發(fā)展也使得個(gè)性化學(xué)習(xí)成為當(dāng)今世界網(wǎng)絡(luò)教育領(lǐng)域的發(fā)展趨勢,那么個(gè)性化地給用戶推薦學(xué)習(xí)資源也變得更加重要,具有應(yīng)用價(jià)值和科研意義[2]。
1 基于用戶影響關(guān)系的推薦方法概述
目前,獲取用戶關(guān)系的方式主要分為顯示和隱式兩類,顯示的社交網(wǎng)絡(luò)關(guān)系和隱式的標(biāo)簽信息往往在學(xué)習(xí)系統(tǒng)中是不一定都具備的,但是普遍都存在用戶對資源的評論及回復(fù)的信息,而并沒有研究者去挖掘這些數(shù)據(jù)中是否有有助于對用戶進(jìn)行個(gè)性化資源推薦的信息,這些信息是否能提煉出有助于用戶個(gè)性化推薦的信息[3]。
本文基于該假設(shè)提出了基于用戶影響關(guān)系的協(xié)同過濾推薦方法(簡稱CCR?UCF),該推薦方法通過挖掘用戶評論和回復(fù)的時(shí)序行為數(shù)據(jù)信息,獲得其中潛在的用戶影響關(guān)系,然后借助該影響關(guān)系改善基于用戶的協(xié)同過濾推薦算法。提出的CCR?UCF方法主要包括四個(gè)步驟:獲取用戶時(shí)序交互信息——評論和回復(fù);挖掘用戶之間的影響關(guān)系;重構(gòu)用戶興趣矩陣;將新用戶興趣矩陣應(yīng)用于User?basedCF推薦算法進(jìn)行Top?N推薦。
2 具體步驟分析
2.1 獲取用戶時(shí)序交互信息
在一般的推薦系統(tǒng)中,用戶會瀏覽資源,進(jìn)行評分,標(biāo)注是否喜歡,在某些資源下留言評論。例如,用戶A在看了某個(gè)資源后將其標(biāo)注為喜歡或者在資源下面進(jìn)行留言評論,用戶B在用戶A之后較短時(shí)間內(nèi)也標(biāo)注喜歡該資源或者留言評論。如果這種情況多次出現(xiàn)的話,那么很可能A對B存在潛在的影響關(guān)系,而且這種關(guān)系是雙向不對稱的,也就是說A對B的影響很大,但A受B的影響相對很小。如果A對B的影響較大,那么就可以將用戶A感興趣的資源推薦給B。在這里,用影響值Inf來表示這種影響關(guān)系的大小。
通過挖掘用戶的時(shí)序評論和回復(fù)行為數(shù)據(jù)得到用戶的影響關(guān)系[4]。先假設(shè)從這種時(shí)序行為數(shù)據(jù)中挖掘出的用戶影響關(guān)系,依據(jù)得到的用戶影響關(guān)系填充稀疏的用戶項(xiàng)目興趣矩陣,以期望提高推薦的準(zhǔn)確率和召回率,之后將TED數(shù)據(jù)集上的實(shí)驗(yàn)對該假設(shè)進(jìn)行論證[5]。對數(shù)據(jù)集進(jìn)行預(yù)處理時(shí),統(tǒng)計(jì)的是用戶與用戶之間的時(shí)序評論和回復(fù)次數(shù)。統(tǒng)計(jì)用戶[i]在用戶[j]評論之后對相同資源也進(jìn)行評論的總次數(shù),用[Ci->j]表示,統(tǒng)計(jì)用戶[i]回復(fù)用戶[j]的總次數(shù),用[Ri->j]表示,用戶集合為[U,][i∈][U,j∈U。]下一步使用[Ci->j]和[Ri->j]進(jìn)行影響關(guān)系的挖掘。
2.2 挖掘用戶之間的影響關(guān)系
2.3 重構(gòu)用戶興趣矩陣
在一些在線教育系統(tǒng)中,有的資源用戶可以對其進(jìn)行評分,如0~5,而有的學(xué)習(xí)系統(tǒng)中,只是提供給用戶標(biāo)注“喜歡”的功能[5]。由于在本實(shí)驗(yàn)的數(shù)據(jù)集中,僅有用戶是否喜歡某個(gè)資源的數(shù)據(jù),因此,在對用戶興趣矩陣的初始化時(shí),將用戶標(biāo)注喜歡的資源的興趣值為1,用戶未標(biāo)注喜歡的默認(rèn)值為0。假設(shè)現(xiàn)有[n]個(gè)用戶,資源數(shù)為[m]個(gè)。最初的用戶項(xiàng)目興趣矩陣是僅有0和1兩個(gè)值的矩陣[M(u,i)n×m。]
將從上節(jié)得到的用戶影響關(guān)系矩陣[Inf(U)n*n]考慮進(jìn)最初的用戶項(xiàng)目興趣矩陣[M(u,i)n×m]之后,得到一個(gè)新興趣矩陣[M(u,i)n×n,]該矩陣是考慮用戶影響關(guān)系后得到的新的用戶項(xiàng)目興趣矩陣。該矩陣將作為下一步基于用戶協(xié)同過濾算法的輸入。
2.4 結(jié)合User?based CF推薦
在該部分將新得到的用戶項(xiàng)目興趣度矩陣作為User?based CF(基于用戶的協(xié)同過濾)推薦算法的輸入[8]。本文方法在原有的非評分?jǐn)?shù)據(jù)的基礎(chǔ)上,通過加入挖掘用戶時(shí)序行為得到用戶影響關(guān)系,從而得到一個(gè)基于用戶影響關(guān)系的用戶?項(xiàng)目興趣矩陣。
3 實(shí)驗(yàn)設(shè)計(jì)
3.1 實(shí)驗(yàn)數(shù)據(jù)
相比于推薦系統(tǒng)在電子商務(wù)、電影、視頻等領(lǐng)域的數(shù)據(jù)集,如MovieLens和Netflix等,在網(wǎng)絡(luò)教育領(lǐng)域,因?yàn)閷W(xué)習(xí)系統(tǒng)的多樣性,很少有開放的數(shù)據(jù)集。選取TED網(wǎng)站7的用戶數(shù)據(jù)及TedTalks數(shù)據(jù),并且開放給研究者用于研究網(wǎng)絡(luò)教育領(lǐng)域的資源推薦。使用2014年9月10日的數(shù)據(jù)集,該數(shù)據(jù)集包括12 605個(gè)用戶,1 203個(gè)talks資源。數(shù)據(jù)集主要分為兩部分:一部分是TEDUsers,是用戶行為數(shù)據(jù),favorites是用戶標(biāo)注喜歡的TEDtalks的ID;另一部分是TEDTalks,是TED演講視頻的詳細(xì)信息,其中comments部分有用戶評論的時(shí)間、內(nèi)容以及回復(fù)。
3.2 實(shí)驗(yàn)設(shè)置
提出方法的實(shí)驗(yàn)通過在TED數(shù)據(jù)集上驗(yàn)證。選取數(shù)據(jù)集中至少對12個(gè)學(xué)習(xí)資源做過評價(jià)的所有用戶,包括3 107個(gè)用戶對1 203個(gè)學(xué)習(xí)資源的103 612個(gè)評價(jià),同時(shí)有這些用戶的112 571條評論,617條相互的回復(fù)。在該數(shù)據(jù)集中的評價(jià)是被標(biāo)注為favorite,也就是說只有正反饋而沒有具體評分。本文使用到的數(shù)據(jù)統(tǒng)計(jì)說明見表2。
實(shí)驗(yàn)時(shí)將整個(gè)數(shù)據(jù)集隨機(jī)地分為5份,分別是test1.txt,test2.txt,test3.txt,test4.txt和test5.txt,每次實(shí)驗(yàn)使用其中4份作為訓(xùn)練集,另外1份作為測試集。推薦算法使用訓(xùn)練數(shù)據(jù)生成推薦結(jié)果,用測試集驗(yàn)證推薦效果,實(shí)驗(yàn)共進(jìn)行5次交叉驗(yàn)證。
為了評價(jià)本文推薦算法的有效性,將使用準(zhǔn)確率和召回率評測指標(biāo)對推薦算法的準(zhǔn)確度進(jìn)行評價(jià),并與User?based CF推薦算法和Item?based CF(基于項(xiàng)目的協(xié)同過濾)推薦效果進(jìn)行對比。
3.3 參數(shù)分析
針對提出的CCR?UCF算法,首先通過實(shí)驗(yàn)分析參數(shù)[λ]和[θ]不同設(shè)置對推薦效果的影響。評測標(biāo)準(zhǔn)包括準(zhǔn)確率和召回率兩方面,圖1和圖2分別展示了參數(shù)[λ]和[θ]對準(zhǔn)確率和召回率的影響。
4 實(shí)驗(yàn)結(jié)果及分析
在Top?N推薦中,通常推薦列表的項(xiàng)目個(gè)數(shù)不超過20個(gè),這也是符合實(shí)際應(yīng)用場景的。實(shí)驗(yàn)在TED數(shù)據(jù)集上進(jìn)行,將從推薦的準(zhǔn)確率和召回率兩方面對三種算法的推薦效果進(jìn)行分析、比較。本文將分析兩方面的影響:一方面是近鄰個(gè)數(shù)對推薦效果的影響;另一方面是推薦個(gè)數(shù)的變化對推薦效果的影響。
4.1 近鄰個(gè)數(shù)的影響
在協(xié)同過濾推薦算法中,近鄰個(gè)數(shù)的設(shè)定會對推薦效果產(chǎn)生影響。在實(shí)驗(yàn)近鄰個(gè)數(shù)對推薦效果影響時(shí),近鄰個(gè)數(shù)從10調(diào)整到50,步長為5,在該部分實(shí)驗(yàn)時(shí)設(shè)置推薦項(xiàng)目的個(gè)數(shù)為5。
準(zhǔn)確率和召回率的變化如圖3和圖4所示。從圖中可以看出,在TED數(shù)據(jù)集中,User?based CF推薦算法和Item?based CF推薦算法兩個(gè)相比,在準(zhǔn)確率方面,Item?based CF推薦算法效果要稍微好于User?based CF推薦算法。而本文提出的基于用戶影響關(guān)系的CCR?UCF在準(zhǔn)確率和召回率方面是Item?based CF的5倍以上。User?based CF推薦算法和CCR?UCF推薦方法在近鄰數(shù)為20時(shí)都達(dá)到最高值,且都隨著近鄰個(gè)數(shù)的遞增而減小。而Item?based CF推薦算法隨近鄰個(gè)數(shù)的變化不明顯。
實(shí)驗(yàn)在召回率方面,隨著近鄰個(gè)數(shù)的增加,Item?based CF推薦算法的變化不大,而User?based CF推薦算法的準(zhǔn)確率有所下降,本文提出的CCR?UCF方法隨近鄰個(gè)數(shù)的增加而遞增,在近鄰個(gè)數(shù)大于25后增速放緩。CCR?UCF方法很明顯地提高了召回率。
4.2 推薦個(gè)數(shù)的影響
在實(shí)驗(yàn)推薦個(gè)數(shù)對推薦效果影響時(shí),Top?N推薦個(gè)數(shù)從1~10,步長為1,設(shè)置近鄰個(gè)數(shù)為20。綜合近鄰個(gè)數(shù)對準(zhǔn)確率和召回率的影響,在比較推薦個(gè)數(shù)的影響時(shí),設(shè)置近鄰個(gè)數(shù)為20。圖5和圖6是在TED數(shù)據(jù)集上三個(gè)算法的準(zhǔn)確率和召回率隨著推薦個(gè)數(shù)的增加的變化曲線。在準(zhǔn)確率方面,隨著推薦個(gè)數(shù)的增加,User?based CF推薦算法的準(zhǔn)確率在0.005附近,Item?based CF推薦算法在0.008附近,CCR?UCF推薦方法在0.09 附近,提升了10倍以上。召回率方面,隨著推薦個(gè)數(shù)的增加,CCR?UC的召回率效果遠(yuǎn)高于其他兩種算法。
綜合兩方面的比較,CCR?UCF推薦方法在準(zhǔn)確率方面遠(yuǎn)遠(yuǎn)好于兩個(gè)基線算法User?based CF推薦算法和Item?based CF推薦算法。有效地證明了挖掘用戶時(shí)序交互行為數(shù)據(jù)得到的用戶影響關(guān)系能夠在準(zhǔn)確率方面有效地幫助提高推薦的效果。
5 結(jié) 論
針對學(xué)習(xí)資源個(gè)性化推薦,提出基于用戶影響關(guān)系的協(xié)同過濾推薦方法。該方法不需要用戶標(biāo)簽、社交關(guān)系等復(fù)雜信息,借助用戶間的影響關(guān)系改善傳統(tǒng)的基于用戶的過濾推薦算法,從而提高推薦效果。通過在TED數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文提出的基于用戶影響關(guān)系的學(xué)習(xí)資源個(gè)性化推薦方法與基于用戶的協(xié)同過濾推薦和基于項(xiàng)目的協(xié)同過濾推薦相比,在準(zhǔn)確率和召回率方面都得到了明顯提高,驗(yàn)證了本文提出方法的有效性。
參考文獻(xiàn)
[1] PAPPAS N, POPESCU?BELIS A. Combining content with user preferences for TED lecture recommendation [C]// Proceedings of 2013 11th International Workshop on Content?Based Multimedia Indexing. Veszprem: IEEE, 2013: 47?52.
[2] 趙向宇.Top?N 協(xié)同過濾推薦技術(shù)研究[D].北京:北京理工大學(xué),2014.
[3] 劉建國,周濤,汪秉宏.個(gè)性化推薦系統(tǒng)的研究進(jìn)展[J].自然科學(xué)進(jìn)展,2009,19(1):1?15.
[4] 陳孝文.基于社交網(wǎng)絡(luò)的協(xié)同過濾推薦算法研究[D].廣州:華南理工大學(xué),2013.
[5] KOREN Y. Collaborative filtering with temporal dynamics [C]// Proceedings of 2009 15th ACM SIGKDD International Confe?rence on Knowledge Discovery and Data Mining. New York: ACM, 2009: 447?456.
[6] 孫光福,吳樂,劉淇,等.基于時(shí)序行為的協(xié)同過濾推薦算法[J].軟件學(xué)報(bào),2013(11):2721?2733.
[7] 文學(xué)志,馬佳琳,李方軍,等.SCORM學(xué)習(xí)資源搜索算法設(shè)計(jì)[J].沈陽師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2006(2):181?184.
[8] VESIN B, IVANOVI? M, KLA?NJA?MILI?EVI? A, et al. Protus 2.0: ontology?based semantic recommendation in programming tutoring system [J]. Expert systems with applications, 2012, 39(15): 12229?12246.