胡炳文,孫克雷
(安徽理工大學計算機科學與工程學院, 安徽淮南232001)
?
一種緩解推薦偏好的協(xié)同過濾Top N算法
胡炳文,孫克雷
(安徽理工大學計算機科學與工程學院, 安徽淮南232001)
[摘 要]傳統(tǒng)的協(xié)同過濾推薦算法傾向于熱門項目的推薦,而對處于長尾位置的冷門項目推薦能力不足;針對這一問題,提出了一種新的緩解推薦偏好的協(xié)同過濾Top N推薦算法,該算法充分考慮用戶活躍程度的影響,根據(jù)用戶活躍度不同化作相應比重引入項目相似度計算以及推薦列表過程中;考慮項目種類多樣的影響,對得出的項目相似度矩陣經(jīng)行歸一化處理,實驗結果表明,改進后的算法推薦準確度有明顯的提升,且降低了平均流行度提高了推薦結果的新穎度,大大提高了冷門項目的推薦力度。
[關鍵詞]協(xié)同過濾; 冷門項目; 平均流行度
從紛繁蕪雜的信息中迅速有效地定位用戶感興趣的內(nèi)容,成為眾多互聯(lián)網(wǎng)平臺關注的焦點,推薦系統(tǒng)隨之產(chǎn)生[1-3]。其中協(xié)同過濾推薦算法是推薦系統(tǒng)中應用最廣泛、最成功的推薦方法之一[4]。但實際應用中發(fā)現(xiàn),傳統(tǒng)的協(xié)同過濾推薦往往傾向于熱門項目的推薦,而對冷門項目的推薦能力不足,推薦結果缺乏新意。近年來,針對協(xié)同過濾推薦算法的研究大多都是基于用戶評分數(shù)據(jù)的評分預測[5-7],旨在提高推薦的準確率,而對增強冷門項目挖掘力度及提高推薦新穎性的研究并不多[8,14]。
本文在分析傳統(tǒng)協(xié)同過濾推薦算法的基礎上,充分考慮用戶活躍程度及項目種類多樣對推薦結果的影響,提出一種新的緩解推薦偏好的Top N協(xié)同過濾推薦算法。該算法將用戶按活躍程度化為不同權值,引入項目相似度計算及推薦列表生成過程中,并且對得出的相似度矩陣經(jīng)行歸一化處理。本文采用Group Lens公司提供的Movie Lens數(shù)據(jù)集[3,9]對該算法進行了實驗仿真,實驗結果表明,該算法既提高了推薦結果的覆蓋率又提高了推薦結果的準確度,增強了冷門項目的挖掘能力,能夠有效地緩解推薦偏好問題。
(一)相關概念
基于項目的協(xié)同過濾算法由全球知名的電子商務公司亞馬遜提出[10],旨在為用戶推薦與他們之前喜歡的項目相似的項目。該算法并不利用項目之間的內(nèi)容屬性計算項目相似度,而是通過分析用戶行為數(shù)據(jù)計算項目之間的相似度。
用戶行為在推薦系統(tǒng)中一般分兩種,即顯性反饋行為和隱性反饋行為。本文采用無上下文信息的隱性反饋數(shù)據(jù)集(即每一條行為記錄僅僅包含用戶ID和物品ID)??捎糜脩簟椖糠答佇畔⒕仃嘡(m,n)表示,如表1。其中m為用戶個數(shù),n為項目數(shù)。
表1用戶—項目反饋信息矩陣R(m,n)
矩陣R任意行向量表示某確定用戶對所有項目的反饋信息集合,任意列向量表示某確定項目的被反饋信息集合。任意元素rui表示用戶u對項目i的反饋信息,若用戶u對項目i做出反饋,則rui=1,否則rui=0。于是用戶——項目反饋信息矩陣R(m,n)可轉化為0-1矩陣。
(二)基于項目的協(xié)同過濾Top N算法主要步驟
1.項目相似度計算
給定項目i與項目j,可選用Jaccard公式或余弦公式[6,8]計算i與j相似度wij,如公式(1)、(2)表示。
Jaccard相似度公式:
余弦相似度公式:
其中N(i)表示喜歡項目i的用戶集合,N(j)表示喜歡項目j的用戶集合。
2.推薦列表生成
在得到項目之間的相似度后,Item CF通過公式(2)計算用戶u對一個項目i的興趣:
這里N(u)是用戶i有過反饋的項目的集合。S(i,K)是和項目i最相似的K個項目的集合,即按項目相似度大小排列后前K個項目組成的項目集合。wij是項目i和j的相似度,ruj是用戶u對項目j的興趣(本文采用隱反饋數(shù)據(jù)集,則若用戶u對項目j有過反饋,即可令ruj=1。將項目按被反饋次數(shù)從多到少進行排序,選取前N項推薦給用戶,即為Top N推薦。
(一)項目相似度計算公式改進
在協(xié)同過濾中兩個項目產(chǎn)生相似度是因為它們共同出現(xiàn)在很多用戶的興趣列表中。換句話說,每個用戶的興趣列表都對項目的相似度產(chǎn)生貢獻。在式(1)、(2)中,利用用戶——反饋信息矩陣計算任意兩個項目之間的相似度,在計算過程中,每個用戶的反饋信息具有相同的權重。這種做法并不合理。假若某一用戶隨機對大量的項目產(chǎn)生反饋,則這些項目兩兩之間就產(chǎn)生了相似度,這個用戶雖然很活躍,但他所做出的選擇并非都出于自身興趣,所以該用戶對于他產(chǎn)生反饋項目的兩兩之間相似度的貢獻度應遠遠小于出于自身興趣僅對少量項目有過反饋的用戶低。為了使項目相似度的計算更加可靠,則應該削弱活躍用戶對項目相似度的貢獻,使得活躍用戶對項目活躍度的貢獻小于不活躍用戶[9]。
本文在傳統(tǒng)算法的基礎上,充分考慮用戶活躍度對項目相似度的影響,引入用戶活躍度權重因子β:
N(u)是指用戶u的活躍度,即用戶u有過反饋信息的項目集合。N是指所有用戶平均活躍度。權重因子β的引入可以削弱活躍用戶對項目相似度的貢獻提高非活躍用戶的貢獻,更加真實地反映項目之間的相似關系,從而得到更加準確的項目相似度。改進后的項目相似度計算公式如下:
(二)項目相似度的歸一化
得到項目相似度矩陣w后,用公式(6)最大值歸一化后求得相似度矩陣w':
一般來說,對于不同種類的項目,熱門種類其類內(nèi)項目相似度更大,如果不進行歸一化處理,就會推薦熱門種類的項目,覆蓋率低,無法有效發(fā)掘長尾項目。
(三)Top N推薦
傳統(tǒng)的基于項目的協(xié)同過濾Top N推薦算法,推薦給用戶的項目是其鄰居項目被用戶反饋次數(shù)最多的前N項[11,14]。雖然上述計算對項目相似度計算公式進行改進削弱了活躍用戶的影響,但仍不足夠。為此,可引入用戶活躍度權重因子δ,如公式(7)所示,進一步削弱活躍用戶的反饋作用。
公式(8)中w'ij是項目i和j的相似度,ruj是用戶u對項目j的興趣。通過引入用戶活躍度權重因子δ,對ruj進行降權,降低了活躍用戶對推薦結果的影響,提高了推薦結果的新穎度。
(一)實驗設計
本文采用Group Lens提供的Movie Lens小型數(shù)據(jù)集,該數(shù)據(jù)集包括943個用戶對1 682個項目的10萬條評分[12]。本文的研究重點是隱反饋數(shù)據(jù)集中的Top N推薦問題,因此沒有考慮數(shù)據(jù)集中的評分記錄。
首先,將數(shù)據(jù)集按照隨機均勻分布原則分成M份(本文取M=5),一份作為測試集,其余為訓練集。然后,使用訓練集建立用戶興趣模型,在測試集上對用戶行為預測,并統(tǒng)計其評測指標。試驗重復M次,每次選擇不同的測試集,將M次評測指標平均值作為最終評測指標[8]。
(二)實驗結果及分析
本文分別對傳統(tǒng)基于項目的協(xié)同過濾Top N推薦算法Item CF、本文提出的只做相似度改進的算法Sim CF、本文提出的未對相似度矩陣歸一化的算法Sim CF-NON以及本文提出的完整的改進算法Sim CF-ACT進行仿真實驗。分別選擇準確率(Precision)、覆蓋率(Coverage)、平均流行度(Popularity-AVG)作為驗證算法性能的評測指標。實驗過程中,令推薦列表長度N=20,鄰居數(shù)目在5~100之間,實驗結果如圖1、圖2、圖3所示。
圖1 推薦結果準確度
圖2 推薦結果覆蓋率
圖3 推薦結果平均流行度
從圖1可以看出,在Item CF算法基礎上僅進行相似度計算改進的Sim CF算法的推薦準確度相對于Item CF算法有一定的提高;在Sim CF算法的基礎上,在推薦列表生成過程中也加入權重因子的Sim CF-NON算法的推薦準確度較Sim CF算法有明顯的提高;而本文提出的完整算法Sim CF-ACT的準確度相較于其他幾種算法有顯著的提高。
從圖2和圖3可以看出,Sim CF算法的推薦覆蓋率和推薦結果平均流行度與Item CF算法相比有一定程度的提升;Sim CF-NON算法的推薦覆蓋率和推薦結果平均流行度與Item-CF算法Sim CF相比有比較的大的提高;本文提出的完整的改進算法Sim CF-ACT相較于其他幾種算法有著更高的覆蓋率、更低的平均流行度。
綜上所述,本文提出的一種緩解推薦偏好的協(xié)同過濾Top N推薦算法在提高推薦準確度的同時,提高了推薦結果覆蓋率,降低了推薦結果的平均流行度,提高了推薦結果的新穎性,能夠有效地發(fā)掘長尾物品。
推薦算法是緩解日益嚴重的信息過載問題的有效方法之一。已有的研究成果中,許多都著眼于推薦準確度的提高而忽略了推薦結果的新穎性。本文提出的一種緩解推薦偏好的協(xié)同過濾Top N推薦算法,在傳統(tǒng)算法中引入了用戶活躍度權重因子,在相似度計算與推薦列表生成過程中均考慮了活躍用戶的影響。實驗結果表明,該算法在提高推薦結果準確度的同時,增強了長尾物品的發(fā)掘能力,有效緩解了推薦偏好問題。在下一步的工作中,如何將項目特征屬性與用戶行為數(shù)據(jù)相結合,以達到更加可靠的推薦結果,將是重點研究方向。
參考文獻:
[1] 榮輝桂,火生旭,胡春華,等.基于用戶相似度的協(xié)同過濾推薦算法[J].通信學報,2014(35):17-22.
[2] 許海玲,吳瀟,李曉東,等.互聯(lián)網(wǎng)推薦系統(tǒng)比較研究[J].軟件學報,2009(20):351-359.
[3] 馬宏偉,張光衛(wèi),李鵬.協(xié)同過濾推薦算法綜述[J].小型微型計算機系統(tǒng),2009,30(7):1282-1286.
[4] 陳潔敏,湯庸,李建國,等.個性化推薦算法研究[J].華南師范大學學報(自然科學版),2014,45(5):9-14. [5] 劉發(fā)生,洪營.基于用戶特征屬性和云模型的協(xié)同過濾推薦算法[J].計算機工程與科學,2014(36): 1173-1175.
[6] 程飛,賈彩燕.一種基于用戶相似性的協(xié)同過濾推薦算法[J].計算機工程與科學,2013(35):162-164. [7] 朱郁筱,呂琳媛.推薦系統(tǒng)評價指標綜述[J].電子科技大學學報,2012,41(2):163-175.
[8] 郝立燕,王靖.基于項目流行度的協(xié)同過濾Top N推薦算法[J].計算機工程與設計,2013(34):3498-3500.
[9] 王冰怡,劉楊,聶長新等.基于用戶興趣三維建模的個性化推薦算法[J].計算機工程,2015(41):66-70.
[10]DietmarJannach Markus Zanker.Recommander Systems[M],北京:人民郵電出版社,2014.
[11]李聰,梁昌勇,馬麗.基于領域最近鄰的協(xié)同過濾推薦算法[J].計算機研究與發(fā)展,2008,45(9):1532-1536.
[12]王興茂,張興明.基于貢獻因子的協(xié)同過濾推薦算法[J].計算機應用研究,2015(32):37-40.
[13]張新猛,蔣盛益,張倩生等.基于用戶偏好加權的混合網(wǎng)絡推薦算法[J].山東大學學報(理學版),2015 (50):30-34.
[14]于洪,李俊華.一種解決新項目冷啟動問題的推薦算法[J].軟件學報,2015,26(6):1396-1406.
Collaborative Filtering Top N-recommendation Algorithm for Ease of Recommendation Preference
HU Bing-wen,SUN Ke-lei
(College of Computer Science an d Engineering,Anhui University Of Science An d Technology,Huainan Anhui 232001)
Abstract The traditional collaborative filtering recommendation algorithms are inclined to recommedation of popular items,but the ability of recommendation of unpopular items in long tail position are insufficient.To solve this problem proposed a new relief recommended preferences of collaborative filtering Top N recommendation algorithm.The algorithm takes full account of influence of users active degree,according to user activity turned into the corresponding proportion of introduced item similarity calculation and recommendation list process.Considering the diversity of the impact of the project,that item similarity matrix of the normalized processing.Experimental results show that the improved algorithm recommended accuracy has improved significantly,and reduce the average epidemic degree improve the recommendation results Novelty,greatly improving the strength of recommendation unpopular project.
Key words collaborative filtering; unpopular projects; average popularity
[作者簡介]胡炳文(1991-),男,安徽蒙城人,研究生,研究方向為推薦系統(tǒng)、大數(shù)據(jù),電話:15655458751。
[基金項目]安徽省自然科學基金(項目編號:1408085QE94)
[收稿日期]2015-12-11
DOI:10.3969/j.issn.1671-4733.2016.01.002
[中圖分類號]TP391.3
[文獻標識碼]B
[文章編號]1671-4733(2016)01-0005-05