張小雷 孫剛 彭余輝
摘? 要:隨著互聯(lián)網的遍及以及圖書資源的高速更新?lián)Q代,用戶對圖書的需求變得越來越大,傳統(tǒng)的推薦算法已經無法滿足用戶及時準確尋找所喜歡的圖書的需求。讀者的閱讀習慣會隨時間變化而變化。在協(xié)同過濾圖書推薦算法中融入時間因素,在計算用戶和物品相似度中增加時間衰減函數(shù)可以解決讀者找書難的問題。實驗證明,在協(xié)同過濾圖書推薦算法中融入時間因素,可以提升推薦的精準率。
關鍵字:協(xié)同過濾;圖書推薦;時間因素;精準率
中圖分類號:G250.7? ? ? ? ? 文獻標識碼:A? ? ? ? ? 文章編號:1672-4437(2021)02-0051-04
如今,隨著線上和線下大量圖書的出現(xiàn),人們越來越難以尋找自己想要的圖書。當讀者想要讀一本書的時候,傳統(tǒng)的做法是去圖書館、書店等線下通過管理員查找或自己尋找,或者是去圖書網站線上搜索,有時候讀者花費了時間還不一定找得到。圖書推薦的出現(xiàn)可以解決讀者這方面的問題,可以為不同的讀者進行專屬推薦,滿足其快速且有針對性的查找需求,增加圖書閱讀率和銷量。
協(xié)同過濾圖書推薦算法通過挖掘讀者或圖書的歷史信息進行推薦,能為讀者提供有效的推薦。隨著時間的推移,讀者的興趣度、圖書的流行度、社會群體的興趣度等都會發(fā)生變化,這個時候如果還按之前進行推薦的話,必然會影響推薦的準確率。在基于協(xié)同過濾的推薦算法中融合時間因素,能夠有效地反映最近讀者或圖書的變化情況,為讀者提供更加實時的推薦,提高推薦效率。
1基于協(xié)同過濾的推薦算法
1.1協(xié)同過濾算法思想
關于協(xié)同過濾,一個經典的例子是:我們想看一本書但不知道看哪一本,這個時候我們通常會咨詢周圍的人,當我們發(fā)現(xiàn)某個人和我們興趣相似的時候,我們通常會接受他的推薦,這就是其核心思想。協(xié)同過濾算法主要包括基于用戶的協(xié)同過濾(UserCF)算法和基于物品的協(xié)同過濾(ItemCF)算法兩種[1]。
1.2協(xié)同過濾算法工作流程
算法流程如圖1所示:
1.3基于協(xié)同過濾的推薦算法研究現(xiàn)狀
1.3.1面臨的問題
面臨的主要問題有:(1)冷啟動問題。由于之前無行為,新用戶或新物品進入,不能很好推薦。(2)稀疏性問題。用戶一般主動給予的評價較少,在用戶評分矩陣中出現(xiàn)很多0值,不能很好地計算相似度,影響推薦精度。(3)擴展性問題。商業(yè)網站用戶和物品數(shù)量龐大,推薦算法計算時間和空間都很龐大,在巨量數(shù)據(jù)面前,很難做到實時推薦。
1.3.2研究現(xiàn)狀
國內外很多學者對傳統(tǒng)協(xié)同過濾算法出現(xiàn)的問題進行了多種改良。對于用戶或物品冷啟動問題,可以引導用戶表達屬性或注冊信息,通過給物品打標簽分析其屬性來解決,也可以直接通過排行榜推薦熱門產品來解決。如付文靜提出的RC-DFM模型,把評論和內容進行加權融合,緩解了數(shù)據(jù)的稀疏性,與此同時推薦的準確度也提高了[2],但是當數(shù)據(jù)集比較大的時候,這種模型的推薦效率會因為時間的增加而降低。王輝等人針對冷啟動問題進行研究,把項目的屬性和用戶的評分結合起來來預測評分[3],給用戶進行推薦,但是當新用戶來的時候很難進行推薦。楊武等人將基于內容的推薦算法和基于協(xié)同過濾的推薦算法相融合[4],提高了推薦的準確率。以上推薦算法可以提高推薦的精確度,但對于需求量寬泛的用戶來說,遠遠無法滿足。在“長尾理論”的支持下,大量的不流行的商品的銷售量幾乎與流行商品的銷售量相同,在袁煦聰?shù)难芯恐?,提出了算法item-CF-IIF,通過懲罰熱門商品并且優(yōu)化排序待推薦的物品,能夠提高推薦的準確度,同時用戶的體驗也較好[5]。
2融合時間因素的協(xié)同過濾圖書推薦算法
2.1推薦算法中的時間效應
日常生活中隨處可見時間效應,時間效應對推薦的影響比較大[6]。在圖書推薦領域,讀者的閱讀習慣隨著時間推移會發(fā)生變化,主要有以下三個方面:一是個人興趣度隨時間變化而變化。比如讀者在小時候喜歡讀兒童讀物,長大之后則對兒童讀物不感興趣。二是圖書的流行度會隨時間變化而變化。有的圖書剛開始出版的時候很熱門,讀者也很多,但隨著熱度的下降就會變得不再很流行。三是社會群體興趣度隨時間變化而變化。比如隨著推薦技術的發(fā)展,讀者更容易找到自己想要的圖書,從而整體上讀者對圖書的評分呈上升趨勢。
在圖書推薦算法中融合時間因素更能反映讀者的近期偏好,為讀者提供更有針對性的推薦。
2.2融合時間因素的協(xié)同過濾圖書推薦算法流程
算法流程如圖2所示:
2.3增加時間衰減函數(shù)的相似度計算方法
在協(xié)同過濾算法中融合時間因素包括在基于用戶的協(xié)同過濾(UserCF)算法中融合時間因素構造的協(xié)同過濾(TF-UserCF)算法和基于物品的協(xié)同過濾(ItemCF)算法中融合時間因素構造的協(xié)同過濾(TF- ItemCF)算法[7]兩種。這兩種算法在相似度計算中增加衰減函數(shù)的計算方法分別如下。
2.3.1 TF-UserCF算法相似度計算方法
UserCF算法先找“相似用戶”再找“相似用戶所喜歡的物品”,相似度計算采用余弦相似度計算方法[8],公式為:
和表示用戶和用戶產生過行為的物品集合。
在冷門物品上有交互更能表示用戶相似,所以在公式中加入對熱門物品的懲罰項[8],用戶相似度公式修改為:
表示產生過行為的所有用戶個數(shù)。
越是最近的行為越能表示用戶當前興趣,所以在計算用戶相似度時加入時間衰減函數(shù),公式如下:
公式中為時間衰減函數(shù),形式為:
式中,為時間衰減因子,表示用戶與物品產生交互的時間,表示用戶與物品產生交互的時間。
影響大的是當前評分,加上時間衰減函數(shù),最終用戶對物品的偏好程度如下:
其中表達式為:
式中,表示當前時間,表示用戶與物品產生交互的時間。
2.3.2 TF-ItemCF算法相似度計算方法
ItemCF算法的主要思想是:先找到“相似物品”,再把相似物品推薦給用戶。相似度計算公式為:
式中和表示與物品和物品產生過行為的用戶集合。
行為較多用戶貢獻較少,降低其權重,改進為:
)表示用戶 的評分物品集合。
在式中增加時間衰減因子函數(shù),改進為:
式中為時間衰減函數(shù)。
加上函數(shù),最終公式為:
式中,的表達式為:
式中,表示當前時間。
3實驗結果與分析
3.1 實驗數(shù)據(jù)分析
實驗使用python語言編程對算法進行實現(xiàn),使用Book-Crossing數(shù)據(jù)集,它包含了278858個用戶對271379本圖書的1149780個評分數(shù)據(jù)[9]。通過python代碼查看用戶評分統(tǒng)計可以看出評分范圍是0-10分。其中評分前三的人數(shù)統(tǒng)計中評分為0分的用戶最多,達716109人,其次是評分為8分的人數(shù),達103736人,第三位評分為10分的人數(shù),達78610人。評分統(tǒng)計中評分為1分的人數(shù)最少,只有1770人。
3.2 實驗評價標準
本次實驗中將80%的實驗數(shù)據(jù)作為訓練數(shù)據(jù),20%作為測試數(shù)據(jù)。通過精準率(Precision)對實驗結果進行評價,Precision表示在預測用戶是否喜歡時,正確預測用戶喜歡的商品的比例,計算公式如下:
3.3實驗結果分析
3.3.1不同K值下的UserCF算法和ItemCF算法的Precision比較
結果如圖3所示。從圖3可以看出,隨著K值的不斷增加,UserCF算法的Precision先不斷增加后趨于平穩(wěn),ItemCF算法的Precision先不斷增加再下降??傮w而言,隨著K值的增加,UserCF算法的Precision高于ItemCF算法的Precision。
3.3.2不同K值下的UserCF算法和TF-UserCF算法的Precision比較
結果如圖4所示。從圖4可以看出,基于用戶的協(xié)同過濾算法中融入時間因素構造的TF-UserCF算法和UserCF算法比較,在不同K值下,TF-UserCF算法的Precision要高于UserCF算法的Precision,但優(yōu)勢不明顯。所以在基于用戶的協(xié)同過濾算法中融入時間因素構造的算法的精準率有所提高,但效果不明顯。
3.3.3 不同K值下的ItemCF算法和TF-ItemCF算法的Precision比較
結果如圖5所示。從圖5可以看出,基于物品的協(xié)同過濾算法中融入時間因素構造的TF-ItemCF算法和ItemCF算法相比較,在不同K值下,TF-ItemCF算法的Precision明顯優(yōu)于ItemCF算法。所以在基于物品的協(xié)同過濾算法中融入時間因素構造的算法精確率明顯提高。
以上通過在協(xié)同過濾算法中融入時間因素來進行圖書推薦,依此來解決隨著時間的推移讀者的興趣遷移問題。通過實驗證明在協(xié)同過濾算法中融入時間因素可以提升圖書推薦的精準率,提高圖書推薦的質量。但在緩解數(shù)據(jù)稀疏性方面沒有提高,在后續(xù)算法中要加以改良,以不斷提高圖書推薦質量。
參考文獻:
[1]趙偉,林楠,韓英,等.一種改進的K-means聚類的協(xié)同過濾算法[J]. 安徽大學學報(自然科學版),2016(02):32-36.
[2]付文靜.基于評論和內容深度融合的跨域推薦問題研究[D].濟南:山東大學,2019.
[3]王輝,姜丹,徐海鷗.基于用戶評分和項目屬性的稀疏矩陣預測研究[J].電腦知識與技術,2019(02):273-275.
[4]楊武,唐瑞,盧玲.基于內容的推薦與協(xié)同過濾融合的新聞推薦方法[J].計算機應用,2016,36(02):414-418.
[5]袁煦聰.基于長尾理論的物品協(xié)同過濾推薦算法研究[D].淮南:安徽理工大學,2019.
[6]孫艷.基于協(xié)同過濾的圖書推薦算法研究[D].鎮(zhèn)江:江蘇大學,2015.
[7]趙向宇.TopN協(xié)同過濾推薦技術研究[D].北京:北京理工大學,2014.
[8]劉恒友.基于時間效應的推薦算法研究[D].哈爾濱:哈爾濱工業(yè)大學,2013.
[9]李默,梁永全.基于標簽和關聯(lián)規(guī)則挖掘的圖書組合推薦系統(tǒng)模型研究[J].計算機應用研究,2014(08):156-159.