摘 要: 針對學習資源的個性化推薦,提出了一種基于用戶影響關系的協同過濾推薦方法,使用傳統協同過濾推薦采用的用戶項目評分信息,通過挖掘用戶時序交互評論和回復行為數據發現用戶之間的相互影響關系,從而優化用戶興趣矩陣,在此基礎上改善基于用戶的協同過濾方法進行推薦。在數據集上的實驗結果表明,通過利用用戶之間時序交互行為數據,挖掘隱藏的用戶影響關系信息可以有效提高預測的準確度。
關鍵詞: 個性化推薦; 協同過濾; 學習資源推薦; 用戶影響關系; 教育推薦
中圖分類號: TN911?34; TM417 文獻標識碼: 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
個性化推薦技術早已在電子商務、電影、音樂等領域得到了廣泛應用,如今隨著網絡在線教育的發展,個性化推薦技術也逐漸引起了教育領域的重視及應用的需求。面對復雜多樣的網絡學習資源,根據用戶的歷史行為軌跡,分析用戶興趣,推薦能夠反映用戶學習興趣的學習資源,實現“因材施教”變得越來越重要,研究學者們也紛紛開始探索個性化推薦技術在教育領域的應用[1]。面對著當前網絡上的學習資源的特點是形式多樣化,資源類型多媒體化,資源組織異構化,且變得海量的學習資源,網絡教育的發展也使得個性化學習成為當今世界網絡教育領域的發展趨勢,那么個性化地給用戶推薦學習資源也變得更加重要,具有應用價值和科研意義[2]。
1 基于用戶影響關系的推薦方法概述
目前,獲取用戶關系的方式主要分為顯示和隱式兩類,顯示的社交網絡關系和隱式的標簽信息往往在學習系統中是不一定都具備的,但是普遍都存在用戶對資源的評論及回復的信息,而并沒有研究者去挖掘這些數據中是否有有助于對用戶進行個性化資源推薦的信息,這些信息是否能提煉出有助于用戶個性化推薦的信息[3]。
本文基于該假設提出了基于用戶影響關系的協同過濾推薦方法(簡稱CCR?UCF),該推薦方法通過挖掘用戶評論和回復的時序行為數據信息,獲得其中潛在的用戶影響關系,然后借助該影響關系改善基于用戶的協同過濾推薦算法。提出的CCR?UCF方法主要包括四個步驟:獲取用戶時序交互信息——評論和回復;挖掘用戶之間的影響關系;重構用戶興趣矩陣;將新用戶興趣矩陣應用于User?basedCF推薦算法進行Top?N推薦。
2 具體步驟分析
2.1 獲取用戶時序交互信息
在一般的推薦系統中,用戶會瀏覽資源,進行評分,標注是否喜歡,在某些資源下留言評論。例如,用戶A在看了某個資源后將其標注為喜歡或者在資源下面進行留言評論,用戶B在用戶A之后較短時間內也標注喜歡該資源或者留言評論。如果這種情況多次出現的話,那么很可能A對B存在潛在的影響關系,而且這種關系是雙向不對稱的,也就是說A對B的影響很大,但A受B的影響相對很小。如果A對B的影響較大,那么就可以將用戶A感興趣的資源推薦給B。在這里,用影響值Inf來表示這種影響關系的大小。
通過挖掘用戶的時序評論和回復行為數據得到用戶的影響關系[4]。先假設從這種時序行為數據中挖掘出的用戶影響關系,依據得到的用戶影響關系填充稀疏的用戶項目興趣矩陣,以期望提高推薦的準確率和召回率,之后將TED數據集上的實驗對該假設進行論證[5]。對數據集進行預處理時,統計的是用戶與用戶之間的時序評論和回復次數。統計用戶[i]在用戶[j]評論之后對相同資源也進行評論的總次數,用[Ci->j]表示,統計用戶[i]回復用戶[j]的總次數,用[Ri->j]表示,用戶集合為[U,][i∈][U,j∈U。]下一步使用[Ci->j]和[Ri->j]進行影響關系的挖掘。
2.2 挖掘用戶之間的影響關系
2.3 重構用戶興趣矩陣
在一些在線教育系統中,有的資源用戶可以對其進行評分,如0~5,而有的學習系統中,只是提供給用戶標注“喜歡”的功能[5]。由于在本實驗的數據集中,僅有用戶是否喜歡某個資源的數據,因此,在對用戶興趣矩陣的初始化時,將用戶標注喜歡的資源的興趣值為1,用戶未標注喜歡的默認值為0。假設現有[n]個用戶,資源數為[m]個。最初的用戶項目興趣矩陣是僅有0和1兩個值的矩陣[M(u,i)n×m。]
將從上節得到的用戶影響關系矩陣[Inf(U)n*n]考慮進最初的用戶項目興趣矩陣[M(u,i)n×m]之后,得到一個新興趣矩陣[M(u,i)n×n,]該矩陣是考慮用戶影響關系后得到的新的用戶項目興趣矩陣。該矩陣將作為下一步基于用戶協同過濾算法的輸入。
2.4 結合User?based CF推薦
在該部分將新得到的用戶項目興趣度矩陣作為User?based CF(基于用戶的協同過濾)推薦算法的輸入[8]。本文方法在原有的非評分數據的基礎上,通過加入挖掘用戶時序行為得到用戶影響關系,從而得到一個基于用戶影響關系的用戶?項目興趣矩陣。
3 實驗設計
3.1 實驗數據
相比于推薦系統在電子商務、電影、視頻等領域的數據集,如MovieLens和Netflix等,在網絡教育領域,因為學習系統的多樣性,很少有開放的數據集。選取TED網站7的用戶數據及TedTalks數據,并且開放給研究者用于研究網絡教育領域的資源推薦。使用2014年9月10日的數據集,該數據集包括12 605個用戶,1 203個talks資源。數據集主要分為兩部分:一部分是TEDUsers,是用戶行為數據,favorites是用戶標注喜歡的TEDtalks的ID;另一部分是TEDTalks,是TED演講視頻的詳細信息,其中comments部分有用戶評論的時間、內容以及回復。
3.2 實驗設置
提出方法的實驗通過在TED數據集上驗證。選取數據集中至少對12個學習資源做過評價的所有用戶,包括3 107個用戶對1 203個學習資源的103 612個評價,同時有這些用戶的112 571條評論,617條相互的回復。在該數據集中的評價是被標注為favorite,也就是說只有正反饋而沒有具體評分。本文使用到的數據統計說明見表2。
實驗時將整個數據集隨機地分為5份,分別是test1.txt,test2.txt,test3.txt,test4.txt和test5.txt,每次實驗使用其中4份作為訓練集,另外1份作為測試集。推薦算法使用訓練數據生成推薦結果,用測試集驗證推薦效果,實驗共進行5次交叉驗證。
為了評價本文推薦算法的有效性,將使用準確率和召回率評測指標對推薦算法的準確度進行評價,并與User?based CF推薦算法和Item?based CF(基于項目的協同過濾)推薦效果進行對比。
3.3 參數分析
針對提出的CCR?UCF算法,首先通過實驗分析參數[λ]和[θ]不同設置對推薦效果的影響。評測標準包括準確率和召回率兩方面,圖1和圖2分別展示了參數[λ]和[θ]對準確率和召回率的影響。
4 實驗結果及分析
在Top?N推薦中,通常推薦列表的項目個數不超過20個,這也是符合實際應用場景的。實驗在TED數據集上進行,將從推薦的準確率和召回率兩方面對三種算法的推薦效果進行分析、比較。本文將分析兩方面的影響:一方面是近鄰個數對推薦效果的影響;另一方面是推薦個數的變化對推薦效果的影響。
4.1 近鄰個數的影響
在協同過濾推薦算法中,近鄰個數的設定會對推薦效果產生影響。在實驗近鄰個數對推薦效果影響時,近鄰個數從10調整到50,步長為5,在該部分實驗時設置推薦項目的個數為5。
準確率和召回率的變化如圖3和圖4所示。從圖中可以看出,在TED數據集中,User?based CF推薦算法和Item?based CF推薦算法兩個相比,在準確率方面,Item?based CF推薦算法效果要稍微好于User?based CF推薦算法。而本文提出的基于用戶影響關系的CCR?UCF在準確率和召回率方面是Item?based CF的5倍以上。User?based CF推薦算法和CCR?UCF推薦方法在近鄰數為20時都達到最高值,且都隨著近鄰個數的遞增而減小。而Item?based CF推薦算法隨近鄰個數的變化不明顯。
實驗在召回率方面,隨著近鄰個數的增加,Item?based CF推薦算法的變化不大,而User?based CF推薦算法的準確率有所下降,本文提出的CCR?UCF方法隨近鄰個數的增加而遞增,在近鄰個數大于25后增速放緩。CCR?UCF方法很明顯地提高了召回率。
4.2 推薦個數的影響
在實驗推薦個數對推薦效果影響時,Top?N推薦個數從1~10,步長為1,設置近鄰個數為20。綜合近鄰個數對準確率和召回率的影響,在比較推薦個數的影響時,設置近鄰個數為20。圖5和圖6是在TED數據集上三個算法的準確率和召回率隨著推薦個數的增加的變化曲線。在準確率方面,隨著推薦個數的增加,User?based CF推薦算法的準確率在0.005附近,Item?based CF推薦算法在0.008附近,CCR?UCF推薦方法在0.09 附近,提升了10倍以上。召回率方面,隨著推薦個數的增加,CCR?UC的召回率效果遠高于其他兩種算法。
綜合兩方面的比較,CCR?UCF推薦方法在準確率方面遠遠好于兩個基線算法User?based CF推薦算法和Item?based CF推薦算法。有效地證明了挖掘用戶時序交互行為數據得到的用戶影響關系能夠在準確率方面有效地幫助提高推薦的效果。
5 結 論
針對學習資源個性化推薦,提出基于用戶影響關系的協同過濾推薦方法。該方法不需要用戶標簽、社交關系等復雜信息,借助用戶間的影響關系改善傳統的基于用戶的過濾推薦算法,從而提高推薦效果。通過在TED數據集上的實驗結果表明,本文提出的基于用戶影響關系的學習資源個性化推薦方法與基于用戶的協同過濾推薦和基于項目的協同過濾推薦相比,在準確率和召回率方面都得到了明顯提高,驗證了本文提出方法的有效性。
參考文獻
[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 協同過濾推薦技術研究[D].北京:北京理工大學,2014.
[3] 劉建國,周濤,汪秉宏.個性化推薦系統的研究進展[J].自然科學進展,2009,19(1):1?15.
[4] 陳孝文.基于社交網絡的協同過濾推薦算法研究[D].廣州:華南理工大學,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] 孫光福,吳樂,劉淇,等.基于時序行為的協同過濾推薦算法[J].軟件學報,2013(11):2721?2733.
[7] 文學志,馬佳琳,李方軍,等.SCORM學習資源搜索算法設計[J].沈陽師范大學學報(自然科學版),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.