李道國1,何狄江,李連杰
(1.杭州電子科技大學信息工程學院;2.杭州電子科技大學管理學院,浙江杭州310018)
基于用戶興趣變化的協(xié)同過濾推薦算法
李道國1,何狄江2,李連杰2
(1.杭州電子科技大學信息工程學院;2.杭州電子科技大學管理學院,浙江杭州310018)
文章將用戶興趣設定為變量,重新定義了相似度以及評分預測的計算方法,在一定程度上提高了經(jīng)典協(xié)同過濾推薦算法的精確度;提出結(jié)合用戶評分時間以及用戶訪問次數(shù)的時間權(quán)重模型來描述用戶興趣的變化,使得相似度以及評分預測的計算結(jié)果更加合理。實驗結(jié)果表明,新算法比傳統(tǒng)基于項目的協(xié)同過濾算法降低了約8%的平均絕對誤差、提高了約15%的準確率以及18%的召回率,在一定程度上改善了推薦系統(tǒng)的推薦效果。該算法僅在M ovieLens數(shù)據(jù)集上進行實驗測試,還需要在其他數(shù)據(jù)集上進行檢驗。
協(xié)同過濾;用戶評分時間;用戶訪問次數(shù);相似度;評分預測
互聯(lián)網(wǎng)的迅猛發(fā)展把人們帶入了一個新的信息時代,人們周圍的數(shù)據(jù)量正在以指數(shù)級的速度增長,怎樣能在龐大的數(shù)據(jù)中快速、準確地找到所需的信息成為難題[1-2]。在這種背景下,個性化推薦應運而生。協(xié)同過濾(Collaborative Filtering,簡稱CF)是其中應用最廣泛的推薦算法,其理論基礎(chǔ)是人們的從眾心理。雖然CF推薦算法在很多方面表現(xiàn)出了獨特的優(yōu)勢所在,但也存在一些局限性,例如用戶興趣不是一成不變的。由于所處的環(huán)境、年齡等多種因素的影響,每個人的興趣喜好在發(fā)生著變化。而作為幫助用戶過濾信息的推薦系統(tǒng)就需要時刻關(guān)注用戶興趣的變化才能為用戶提供高質(zhì)量的推薦服務,才能夠在飛速發(fā)展的互聯(lián)網(wǎng)時代立足[3]。但是這些因素很難用科學的計算方法來實現(xiàn),傳統(tǒng)的CF推薦算法假定用戶評分時間并不影響相似度的度量,但是實際上,不斷變化的用戶興趣卻在影響著系統(tǒng)推薦的質(zhì)量。
針對上述問題,本文提出了一種基于用戶興趣變化的協(xié)同過濾推薦算法,該算法將用戶興趣隨時間的變化情況考慮在內(nèi),并通過改善相似度及預測評分的計算方式,來緩解用戶興趣變化對系統(tǒng)推薦結(jié)果的影響,進而達到提高推薦精度的目的。
用戶興趣的準確獲取是推薦系統(tǒng)十分重要的研究內(nèi)容。在初期協(xié)同過濾推薦系統(tǒng)運行中,稀疏性和冷啟動問題對系統(tǒng)的影響比較大。隨著用戶對系統(tǒng)使用時間的推移,其興趣必然也會發(fā)生變化,這便增加了系統(tǒng)準確獲得用戶興趣偏好的難度,只有解決該問題才能夠?qū)⒂脩粽嬲信d趣的項目推薦給用戶。在協(xié)同過濾推薦算法中,用戶之間相似度的計算結(jié)果直接影響著系統(tǒng)的推薦質(zhì)量。傳統(tǒng)相似度的計算方法主要有三種[4],但是這三種方法都沒有將評分的時間考慮在內(nèi),認為評分時間不影響用戶或者項目之間相似度的計算。雖然剛開始對系統(tǒng)的影響不大,但是隨著用戶使用系統(tǒng)時間的不斷增加,用戶的興趣可能會發(fā)生很大的改變,此時再使用傳統(tǒng)的方法會使得計算出的相似度出現(xiàn)不準確的結(jié)果。另外,在計算預測評分時[5],僅僅通過相似度的大小來區(qū)分每個評分的重要程度,同樣也沒有將用戶評分時間的重要性加以區(qū)分,造成預測評分出現(xiàn)不準確,降低了推薦結(jié)果的精度。
因此本文提出了基于艾賓浩斯曲線,通過引入用戶評分時間及用戶訪問次數(shù)對用戶評分建立新的時間權(quán)重模型,進而改進傳統(tǒng)協(xié)同過濾推薦算法中因用戶興趣變化所導致的推薦系統(tǒng)推薦準確性降低的問題。
(一)艾賓浩斯遺忘曲線
19世紀著名的德國心理學家艾賓浩斯(Hermann Ebbinghaus)提出了艾賓浩斯遺忘曲線[6],如圖1所示。他通過實驗發(fā)現(xiàn),人在學習之后便會立即開始遺忘,并且遺忘的速度是不同的,剛開始遺忘的速度最快,急劇下降,之后便開始逐漸的緩慢,直到趨于穩(wěn)定,隨后遺忘停止。
圖1 艾賓特斯遺忘曲線
用戶興趣的變化符合艾賓特斯遺忘曲線,因此遵循以該理論為基礎(chǔ)的權(quán)值計算原則,在傳統(tǒng)基于項目的協(xié)同過濾推薦算法的基礎(chǔ)上引入用戶評分時間以及用戶訪問次數(shù)的權(quán)值模型來描述用戶的興趣隨時間的變化。
(二)基于艾賓特斯遺忘曲線的權(quán)重定義
綜上所述,新的時間權(quán)重模型表示為:
其中n為項目的總數(shù)。新的權(quán)重模型反映了用戶的長期興趣偏好的同時又準確地反映了用戶興趣的變化。
(三)改進后算法的主要步驟
輸入:目標用戶u訪問過的項目集合Iu。
輸出:目標用戶u的TOP-N項目推薦列表。
Step1:對目標用戶訪問過的項目集合Iu中的項目i,根據(jù)公式(1)和(2)計算的值。
Step2:根據(jù)公式(3)計算項目i(i∈Iu)與其他項目的相似度,根據(jù)計算結(jié)果確定項目i的最近鄰集合Ki,將所有Ki中的數(shù)據(jù)合并為集合Z,Z=∑Ki。
Step3:統(tǒng)計項目集合Iu和集合Z中重合的項目,并把這些項目從Z中刪除,最終得到目標用戶u的候選推薦集合Zu,Zu=Z-Iu。
Step5:將Step4中根據(jù)計算出的項目預測評分,依據(jù)降序從大到小進行排列,選擇排在最前面的N個項目推薦給目標用戶u。
(一)實驗數(shù)據(jù)與環(huán)境
實驗數(shù)據(jù)采用Minnesota大學GroupLens研究小組創(chuàng)建的MoieLens數(shù)據(jù)集中的100 K的數(shù)據(jù)集進行實驗。該數(shù)據(jù)集中記錄了總共有943個用戶對1 682部電影的1×105條評分。電影的評分分值在[0-5]之間不等,用戶對電影的喜愛程度隨著評分分值的增加而遞增[7]。數(shù)據(jù)集中的數(shù)據(jù)按照4∶1的比例劃分為訓練集和測試集[8]。
實驗環(huán)境是Intel(R)Core(TM)i3-2310M2.10GHz CPU,內(nèi)存2GB,Microsoft Windows7操作系統(tǒng),算法使用Matlab語言編寫來實現(xiàn)。
(二)檢驗指標
1.平均絕對誤差(MAE)。MAE是推薦系統(tǒng)中最常用也是最簡單的一種性能評價標準,它通過計算出所有的預測評分與實際評分之間的偏差來衡量算法的優(yōu)劣[3]。MAE值的計算如公式(5)所示:
預測評分為P(u,i)(表示用戶u對電影i的預測評分),用戶實際評分Ru,i(表示用戶u對電影i的真實評分),n表示Pu,i或者 Ru,i的數(shù)量,MAE值越小說明該算法就越精確。MAE值的計算如公式所示。
2.準確率(precision)。推薦的準確率就是在N個推薦給用戶的項目中,同時出現(xiàn)在測試集中的概率。計算如公式(6)所示:
3.召回率(recall)。對于目標用戶的推薦召回率則是測試集中目標用戶已經(jīng)選的項目中,出現(xiàn)在該用戶的推薦集中的概率,計算如公式(7)所示:
其中 Ttest表示在測試數(shù)據(jù)集中項目的數(shù)量,Ttop-N表示系統(tǒng)推薦給用戶的N個項目。準確率越高說明該算法的效果越好,同樣,召回率越高說明算法的效果越好。
(三)實驗分析
實驗一:根據(jù)最近鄰個數(shù)的不同,MAE值的變化情況
最近鄰個數(shù)分別取10、20、30、40、50(實驗二、三取值相同),利用公式(5),計算出本文提出的新算法以及傳統(tǒng)基于項目的CF推薦算法MAE值隨最近鄰個數(shù)的不同的變化情況如圖2所示:
圖2 最近鄰集合取值對MAE值的影響
從圖2看出,引入用戶評分時間以及用戶訪問次數(shù)的CF推薦算法在最近鄰個數(shù)取值范圍內(nèi),MAE值均小于傳統(tǒng)的CF推薦算法。MAE值平均降低8%。
實驗二:根據(jù)最近鄰個數(shù)的不同,Precision的變化情況
利用公式(6),計算出本文提出的新的算法與傳統(tǒng)基于項目的CF推薦算法Precision值隨不同的最近鄰個數(shù)的變化情況,如圖3所示:
圖3 最近鄰取值對Precision的影響
從圖3可以看出,改進后的算法在最近鄰個數(shù)取值為[10,50]時,Precision的值均大于傳統(tǒng)基于項目的CF算法。Precision平均提高 15%。從圖 3還可以看出Precision的值波動不大,其值不與最近鄰個數(shù)的取值相關(guān)。
實驗三:根據(jù)最近鄰個數(shù)的不同,Recall的變化情況
利用公式(7)本文提出的新的算法與傳統(tǒng)基于項目的CF推薦算法的Recall值隨最近鄰個數(shù)不同的變化情況如圖4所示:
圖4 最近鄰取值對Recall值的影響
從圖4可以看出,在最近鄰介于10~50之間時,改進的基于項目的CF推薦算法的Recall值均大于傳統(tǒng)基于項目的CF推薦算法。Recall值平均提高18%。從圖4還可以看出Recall的值不隨最近鄰取值的不同而變化,波動不大。
通過以上三組對比實驗結(jié)果可知,本文提出的算法在MAE、Precision、Recall三項指標上都有很好的表現(xiàn)性能。這是因為改進后的算法在相似度以及評分預測的計算過程中反映了用戶興趣的變化,在一定程度上有助于提高系統(tǒng)的推薦準確度。
本文針對傳統(tǒng)的基于項目的協(xié)同過濾推薦算法中沒有將用戶興趣的變化反應在相似度以及預測評分的計算過程中,提出了一種基于用戶興趣變化的協(xié)同過濾推薦算法。新的算法通過結(jié)合用戶評分時間以及用戶瀏覽次數(shù)建立新的時間權(quán)重模型,改善兩個項目相似度以及預測評分的計算。通過實驗一、二、三的結(jié)果可知,新的算法能夠在一定程度上緩解用戶興趣隨時間變化的問題,在一定程度上提高了推薦系統(tǒng)的準確性。
[1]羅琦,繆昕杰,魏倩.稀疏數(shù)據(jù)集協(xié)同過濾算法的進一步研究[J].計算機科學,2014(6):264-268.
[2]鄧華平.基于項目聚類和評分的時間加權(quán)協(xié)同過濾算法[J].計算機應用究,2015(7):1966-1969.
[3]王鵬.基于矩陣分解的推薦系統(tǒng)算法研究[D].北京交通大學,2015.
[4]李紅梅,郝文寧,陳剛.基于改進LSH的協(xié)同過濾推薦算法[J].計算機科學,2015,42(10):256-261.
[5]孫輝,馬躍,楊海波,等,2014.一種相似度改進的用戶聚類協(xié)同過濾推薦算法[J].小型微型計算機系統(tǒng)(9):1967-1970.
[6]楊崢.基于用戶興趣變化的協(xié)同過濾推薦算法研究[D].燕山大學,2015.
[7]劉占兵,肖詩斌,2015.基于用戶興趣模糊聚類的協(xié)同過濾算法[J].現(xiàn)代圖書情報技術(shù)(11):12-17.
[8]柯良文,王靖,2015.基于用戶特征遷移的協(xié)同過濾推薦[J].計算機工程(1):37-43.
(責任編輯:C 校對:L)
F062.5
A
1004-2768(2017)01-0019-03
2016-09-22
李道國(1965-),男,浙江杭州人,杭州電子科技大學信息工程學院教授,研究方向:電子商務、模式識別與人工智能;何狄江(1991-),男,浙江紹興人,杭州電子科技大學管理學院碩士研究生,研究方向:供應鏈管理;李連杰(1991-),女,內(nèi)蒙古赤峰人,杭州電子科技大學管理學院碩士研究生,研究方向:電子商務。何狄江為通訊作者。