謝修娟,陳 永,李香菊,莫凌飛
1(東南大學 成賢學院,計算機工程系,南京 210000) 2(金斗云信息科技有限公司,南京 210000) 3(東南大學 儀器科學與工程學院,南京 210000)
在線學習作為一種新型的學習方式,被廣泛應用于學校在線課堂教學、技能培訓、遠程教育等多種行業(yè).但因為網絡上學習資源與信息的迅速膨脹,如何在海量的學習資源中找到學習者最需要的信息成為在線學習的最大困難[1].解決此類問題最有效的工具就是個性化推薦系統,它通過分析在線學習者的喜好,為學習者推薦其感興趣的學習資源[2].
目前主流的推薦算法主要有基于內容、基于規(guī)則和協同過濾三類[3-5].其中,協同過濾算法是個性化推薦系統中最成功的推薦技術,該算法是根據歷史數據計算目標用戶/項目與全體用戶/項目的相似度,建立近鄰用戶/項目,再由近鄰集預測用戶對未知項目的評分從而產生推薦集.但隨著用戶數和項目數的增加,數據稀疏和冷啟動問題,成為制約推薦系統質量的關鍵因素.為解決此類問題,國內外學者在已有算法的基礎上提出多種改進措施.如:Gong[6]提出基于用戶和項目兩階段聚類的協同過濾推薦算法,通過用戶聚類平滑評分為評分矩陣填充數據,以降低其稀疏性;Jyoti Gupta and Jayant Gadge[7]運用用戶集群離線計算方法改善冷啟動問題,在用戶的可用評分比較少時,使用基于用戶集群的人口統計為用戶賦予更高的權值;Salehi[8]等人提出樹形模型為用戶進行興趣建模,并在用戶樹形模型中采用新的相似度計算方法產生推薦;Quan[9]提出兩個基于個性的協同過濾算法,一是從用戶的個性角度計算用戶相似性,產生近鄰進行推薦,二是使用個性項目評分矩陣,為目標用戶做出推薦;姚勁勃[10]等人提出采用主成分分析法對用戶-項目評分矩陣進行降維處理,以改善輸入數據的高稀疏性;趙偉[11]等人引入聚類技術對協同過濾算法進行優(yōu)化,先對用戶進行K-means聚類分類,再為每個用戶類應用基于用戶的協同過濾推薦算法;王成[12]等人提出建立項目-用戶的倒查表,并充分考慮項目熱度,對用戶進行相似度的計算進行改進.王雪蓉[13]等人提出用戶行為關聯聚類的協同過濾算法,對用戶行為相似性度量公式、用戶行為等級函數、關聯規(guī)則函數進行改進.
以上研究一定程度上改善了數據稀疏和冷啟動問題對于推薦質量的影響,但是算法仍然單一地強依賴于用戶評分信息,在用戶評分信息不足或者是部分評分數據不真實可靠的情況下,很難得到準確的推薦結果;再者,諸多研究中并沒有結合在線學習環(huán)境下的學習行為進行針對性地推薦.為此,本文提出基于E-learning (數字化學習)的協同過濾推薦算法,結合學習者的學習行為和對學習資源的顯示打分進行綜合評分,建立評分矩陣,并且引入社交信任機制,根據學習者間的信任程度,創(chuàng)建一種變權重的用戶相似度計算模型.
定義1.學習行為
學習行為是指學習者在E-learning學習過程中所進行的與學習資源有關的活動集合,包括對學習資源的下載、收藏、評價和打分,記為LB={Down,Collect,Evaluate,Mark}.
定義2.基于評分的學習者間相似度
基于評分的學習者間相似度是指利用學習者對學習資源的評分數據,來衡量學習者間的相似程度.相似度計算方法有多種,常用的有余弦相似度(Cosine Similarity)和皮爾森相關度(Person Correlation Coefficient),本文采用的是后者,計算兩個學習者La和Lb之間的相似度sim(La,Lb),公式如下:
(1)
定義3.Top-N 推薦
根據學習者間的相似度值,選出與當前目標學習者興趣、偏好相近的學習者集合(Neighbor:近鄰集),而后將當前目標學習者對學習資源的評分與近鄰集中學習者之間的相似程度結合起來,計算目標學習者對未知學習資源的預測評分,篩選出評分最高的前N項,即產生Top-N 推薦集.學習者La對項目i的預測評分Prea,i,計算公式如下:
(2)
協同過濾算法的原理是根據相似用戶的評分或者活動用戶對相似項目的評分作出個性化推薦,因此,獲取用戶-項目評分矩陣是第一步,而往往用戶進行評分的項目數量過少,嚴重影響推薦質量,這就是典型的數據稀疏性問題,此外,部分用戶惡意的評分也會導致數據缺乏真實有效性,從而制約推薦效果.為克服此類問題,本文將采用主動評分和被動評分相結合的綜合評分機制.主動評分來自學習者對學習資源的直接評分行為(打分Mark),使用1-5五級制數值,數值越高,表明學習者對此資源越感興趣.被動評分是通過跟蹤、分析學習者的學習行為(下載Down,收藏Collect,評價 Evaluate),對照表1得到的一個潛在評分.
表1 基于學習行為的被動評分
Table 1 Passive scoring based on learning behavior
學習行為分值Down3Collect2Evaluate2Down+Collect4.5Down+Evaluate4Collect+Evaluate3.5Down+Collect+Evaluate5
對學習者的主動和被動兩個評分數據求平均值,得到最終評分.而后構建學習者-學習資源的二維評分矩陣,形如:
矩陣M中每一個行向量表示一個特定學習者對不同學習資源的評分集合,每一個列向量表示一個特定學習資源被不同學習者的評分集合,而矩陣的每個元素rj,i表示學習者j對學習資源i的評分.
現有的協同推薦算法中,絕大多數僅利用用戶-項目的評分信息計算用戶之間的相似度,而實際推薦過程,不僅要考慮基于評分的用戶興趣因素,還要考慮用戶之間可能存在的社交信任因素,因為用戶一般更傾向于熟人或朋友的推薦.比如當下火熱的微商,在微信朋友圈從事商業(yè)買賣,就是一種典型的基于好友間信任的活動.可見,用戶的社交信任信息對于計算用戶的相似度有著舉足輕重的作用.因此,在計算學習者間相似度時,應充分利用學習者的社交數據,挖掘他們之間的信任度,更為準確有效地衡量學習者間的相似程度.
在線學習過程中,學習者可以相互關注、評論,這兩個行為一定程度上反映了他們之間的信任關系.關注關系可以是單向或是雙向,如學習者a(La)關注學習者b(Lb),且學習者b(Lb)關注學習者a(La),那么此時La和Lb之間應是雙向關注關系,雙向關注對應的雙方一般是朋友關系,所以它比單向關注的信任程度要高,推薦成功性更大.學習者間的關注信任值記為FolTrust(La,Lb),對應的計算公式為:
(3)
如果說關注是學習者間的一種顯示信任行為,那么評論則是學習者之間的隱式信任行為,某學習者頻繁地互動另一學習者,說明二者關系甚好,可見評論次數越多,信任程度越高,推薦成功率越大.學習者間的評論信任值記為ComTrust(La,Lb),對應的計算公式為:
(4)
綜合學習者間的關注信任值和評論信任值,得到學習者總的信任權重Trust(La,Lb)為:
Trust(La,Lb)=λ×FolTrust(La,Lb)+(1-λ)×
ComTrust(La,Lb)
(5)
其中,λ表示關注信任值所占的比重,其取值范圍為[0,1],通過設定λ來調節(jié)關注信任值和評論信任值對信任權重的影響,以達到預測值的最佳狀態(tài).
將信任權重帶入相似度計算公式(1),得到改進后的基于信任權重的相似度計算公式如下:
(6)
輸入:目標學習者L0,學習者在線學習行為日志數據;學習者的社交數據;
輸出:N個學習資源推薦集.
Step1.根據學習行為日志數據,計算學習者對資源的綜合評分,建立學習者-資源評分矩陣;
Step2.使用公式(1),計算L0與其他所有學習者的相似度;
Step3.根據學習者的社交數據,使用公式(3)和(4)計算L0與其他所有學習者的關注信任值和評論信任值;
Step4.為λ設置一個合適的值,代入公式(5),得到學習者的信任權重;
Step5.使用公式(6),計算L0與其他所有學習者的融入信任權重后的相似度;
Step6.對相似度進行排序,為L0選擇相似度最高的近鄰集;
Step7.查找L0近鄰集中未評分的學習資源,通過公式(2)計算L0對每個未評分資源的預測評分;
Step8.對每個預測評分進行降序排序,篩選出前N項作為推薦集提供給L0.
實驗數據集來自本人所在學校E-learning平臺的歷史學習數據,與本次實驗相關的數據包括:學習者(Learner)、資源(Resource)、學習行為( LearningBehavior)和學習者間社交信任數據(SocialTrust),對應數據庫文件的詳細信息如下所示.
①學習者Learner:LID,Gender,Age,Special,分別表示學習者ID,性別,年齡和專業(yè).
②資源Resource:RID,Title,Types,分別表示資源ID,資源名和資源的類別.
③下載Down:LID,RID,DTime,分別表示學習者ID,資源ID,下載時間.
④收藏Collect:LID,RID,CTime,分別表示學習者ID,資源ID,收藏時間.
⑤打分Mark:LID,RID,Score,MTime,分別表示學習者ID,資源ID,分數,打分時間.
⑥評價Evaluate:LID,RID,ETime,分別表示學習者ID,資源ID,評價時間.
⑦關注Follow:LID,RID,YesNO,分別表示學習者ID,資源ID,是否關注.
⑧帖子Topic:TID,Title,Content,TTime,TLearnerID,分別表示帖子編號,標題,內容,發(fā)布時間,發(fā)布者.
⑨評論Comment:CID,Title,Content,CTime,CLearnerID,分別表示回帖編號,評論標題,內容,評論時間,評論者.
學習行為正好對應上述的③④⑤⑥,統計每個學習者存在的下載、收藏、打分和評價行為;而學習者間的社交信任數據可以從⑦⑧⑨中獲取,檢索學習者間是否添加關注以及相互間的評論次數.經過篩選后,選取1045個學習者,529個學習資源,每個學習者至少有一個在線學習行為,至少有一個社交信任數據.并采用五折交叉驗證的方法,按照4:1的比例將數據集分為訓練集和測試集,取5次實驗結果的平均值作為本次實驗的結果.
本文采用平均絕對偏差(Mean Absolute Error,MAE)作為推薦性能評價指標.MAE通過計算預測評分與實際評分之間的偏差來度量預測的準確性,MAE值越小,推薦質量越高.MAE的計算公式如下:
(7)
表2 兩種方法的訓練集稀疏性比較
Table 2 Comparison of r training set sparsity with two methods
評分數稀疏度改進前改進后改進前(%)改進后(%)15310211021.536.126710397291.9411.4834287483021.2413.9645051499351.4614.4354963482731.4313.95
其中,pi表示目標學習者對資源i的預測評分,ri表示目標學習者對資源i的實際評分,N表示目標學習者的預測評分和實際評分都不為零的資源個數.
4.3.1 綜合評分機制的有效性驗證
本文通過主動評分和被動評分相結合的綜合評分機制,構建學習者-資源評分矩陣.對5折交叉法的每次訓練集,分別采用傳統的基于主動評分的方法和改進后的綜合評分的方法,計算評分值,5組數據的集中評分數及稀疏度如表2所示,其中,每組訓練集中學習者數為836,資源數為414,稀疏度=評分數/(學習者數×資源數).
表2中,不難發(fā)現,運用綜合評分的機制,評分數大大增多,評分數據稀疏性問題明顯改善.這主要是因為在線學習過程中,學習者對學習資源的直接打分行為不多,更多的是對學習資源的收藏、下載、評價等行為,而這些學習行為也隱含了學習者對資源的興趣偏好信息,使用它們來間接評分合乎情理.
4.3.2 與傳統算法的推薦效果比較
為說明基于信任權重的改進效果,用傳統的基于用戶的協同過濾算法與本文提出的改進算法進行比較分析.首先,需要為信任調節(jié)因子λ選擇合適的值,λ從0開始,以0.1的步長增加到1,λ值為0意味著信任權重完全依賴于學習者間的關注信息,λ值為1,算法只根據學習者間的評論信息計算信任權重.MAE與λ的曲線變化關系如圖1所示(近鄰數為30),通過觀察發(fā)現隨著λ的值從0到1的遞增,MAE呈現先降低后升高的趨勢,在取值約為0.6時,推薦效果最佳.
圖1 λ對MAE值的影響Fig.1 Effect of λ on MAE value
確定好λ后,再進行傳統算法與改進算法的對比實驗,近鄰集數目分別取5,10,15,20,25,30,35,40,45,50,實驗結果如圖2所示.由圖不難發(fā)現,隨著最大近鄰數的變化,改進后算法的MAE值始終保持在傳統算法之下,并且在近鄰數越來越大時,MAE越來越趨于平穩(wěn),而傳統算法后期MAE的波動幅度比較大,說明本文提出的基于社交信任的推薦算法優(yōu)于傳統的經典協同過濾推薦算法.
圖2 傳統算法與改進算法的對比結果Fig.2 Comparison of traditional and improved algorithms
本文將基于用戶的協同過濾算法融入E-learning平臺,實現個性化學習推薦.針對傳統算法中存在的典型的數據稀疏問題以及強依賴于用戶評分問題,本文對傳統算法提出兩點改進:第一,利用學習行為日志數據進行綜合評分,構建學習者-學習資源評分矩陣;第二,引入社交信任機制的變權重相似度模型.為了對本文算法進行評價,進行了兩個實驗,首先是綜合評分機制對評分矩陣稀疏度的影響實驗,然后是確定合適的調節(jié)因子λ值,并與傳統算法進行推薦效果的對比實驗,實驗結果表明,本文算法能有效緩解數據稀疏問題,MAE值比傳統算法普遍要低,有效提高了系統的推薦質量.
[1] Choik,Suh Y.A new similarity function for selecting neighbors for each target item in collaborative filtering [J]. Knowledge-Based Systems,2013,37(1):146-153.
[2] Krzywicki A,Wobcke W,Kim Y S,et al.Collaborative filtering for people-to-people recommendation in online dating:data analysis and user trial[J].International Journal of Human Computer Studies,2015,76(4):50-66.
[3] Greg L,Brent S,Jeremy Y.Amazon.Com Recommen-dations:item-to-item collaborative filtering [J].IEEE Internet Computing,2003,7(1):76-80.
[4] Deng Ai-lin,Zhu Yang-yong,Shi Bo-le.A collaborative filtering recommendation algorithm based on item rating prediction[J].Journal of Software,2003,14(9):1621-1624.
[5] Karypis G.Evaluation of item-based top-N recommendation algorithms [C].Proceedings of CIKM 2001,Atlanta,ACM Press,2001:247-254.
[6] Gong S.A collaborative filtering recommendation algorithm based on user clustering and item clustering[J].Journal of Software,2010,5(7):745-752.
[7] Gupta J,Gadge J.A framework for a recommendation system based on collaborative filtering and demographics[C].International Conference on Circuits,Systems,Communication and Information Technology Applications,IEEE,2014:300-304.
[8] Salehi M,Kamalabadi I N.Attribute-based recommender system for learning resource by learner preference tree[C].Proceedings of the 2nd International E-conference on Computer and Knowledge Engineering,IEEE,2012:133-138.
[9] Quan Z.Collaborative filtering recommendation based on user personality[C].International Conference on Information Management,Innovation Management and Industrial Engineering,IEEE,2013:307-310.
[10] Yao Jin-bo,Yu Yi-cheng,Yu Zhuo-er,et al.Improvement on collaborative filtering algorithm based on PCA default-values[J].Journal of Jilin University(Information Science Edition),2011,29(5):494-497.
[11] Zhao Wei,Lin Nan,Han Ying,et al.User-based collaborative filtering recommendation algorithm based on improved K-means clustering[J].Journal of Anhui University(Natural Science Edition),2016,40(2):32-36.
[12] Wang Cheng,Zhu Zhi-gang,Zhang Yu-xia,et al.Improvement in recommendation efficiency and personalized of user-based collaborative filtering algorithm[J].Journal of Chinese Computer Systems,2016,37(3):428-432.
[13] Wang Xue-rong,Wan Nian-hong.Cloud pattern collaborative filtering recommender algorithm using user behavior correlation clustering[J].Journal of Computer Applications,2011,31(9):2421-2425.
附中文參考文獻:
[4] 鄧愛林,朱揚勇,施伯樂.基于項目評分預測的協同過濾推薦算法[J].軟件學報,2003,14(9):1621-1624.
[10] 姚勁勃,余宜誠,于卓爾,等.基于PCA降維協同過濾算法的改進[J].吉林大學學報(信息科學版),2011,29(5):494-497.
[11] 趙 偉,林 楠,韓 英,等.一種改進的K-means聚類的協同過濾算法[J].安徽大學學報(自科版),2016,40(2):32-36.
[12] 王 成,朱志剛,張玉俠,等.基于用戶的協同過濾算法的推薦效率和個性化改進[J].小型微型計算機系統,2016,37(3):428-432.
[13] 王雪蓉,萬年紅.云模式用戶行為關聯聚類的協同過濾推薦算法[J].計算機應用,2011,31(9):2421-2425.