曲朝陽,宋晨晨,任有學,劉耀偉,牛 強,獨健鴻
(1.東北電力大學 信息工程學院,吉林 吉林 132012;2.國網(wǎng)吉林省電力有限公司 吉林供電公司,吉林 吉林 132000;3.吉林市豐滿發(fā)電廠,吉林 吉林 132108)
結(jié)合用戶活躍度的協(xié)同過濾推薦算法
曲朝陽1,宋晨晨1,任有學2,劉耀偉2,牛 強2,獨健鴻3
(1.東北電力大學 信息工程學院,吉林 吉林 132012;2.國網(wǎng)吉林省電力有限公司 吉林供電公司,吉林 吉林 132000;3.吉林市豐滿發(fā)電廠,吉林 吉林 132108)
為了解決協(xié)同過濾推薦算法中存在的流行偏置問題,提出一種結(jié)合用戶活躍度的協(xié)同過濾推薦算法(UACF)。該算法考慮用戶活躍度對推薦結(jié)果的影響,通過對用戶活躍度進行聚類分析,針對不同聚類結(jié)果中的用戶進行分類處理,并引入到相似度計算過程中,以提高相似度計算的可靠性。典型數(shù)據(jù)集上的對比實驗表明該算法能夠較好的提高推薦準確率。
用戶活躍度;聚類;協(xié)同過濾;Top-N推薦
傳統(tǒng)的搜索引擎無法做到千人千面,不能根據(jù)用戶的興趣愛好提供個性化的服務(wù)。信息的爆炸使得信息的利用率反而降低,這種現(xiàn)象被稱之為“信息過載”[1]。信息過載導(dǎo)致人們難以快速、準確地從浩瀚的信息資源中尋找所需的信息。為解決信息過載問題,互聯(lián)網(wǎng)技術(shù)經(jīng)歷了導(dǎo)航、檢索和推薦三個階段。
推薦系統(tǒng)[2-4]是為解決Internet上的信息過載問題而提出的一種智能系統(tǒng),能從Internet的大量信息中向用戶自動推薦出符合用戶興趣偏好或需求的項目,從而更好地解決互聯(lián)網(wǎng)信息日益龐大與用戶需求之間的矛盾。目前,推薦技術(shù)被廣泛應(yīng)用到電子商務(wù)[5]、數(shù)字圖書館[6]、新聞網(wǎng)站[7]等系統(tǒng)中。
協(xié)同過濾(collaborative filtering)是迄今為止應(yīng)用最成功的個性化推薦技術(shù)[8]。在當前大數(shù)據(jù)時代下,協(xié)同過濾技術(shù)顯得尤為重要[9]。協(xié)同過濾推薦算法主要通過利用用戶的歷史行為信息為用戶建模進而做出推薦的一類算法。最初的協(xié)同過濾推薦算法是基于用戶的協(xié)同過濾推薦算法[10,11]。該算法認為,一個用戶會喜歡和他有相似愛好的用戶喜歡的項目。因此,他們利用相似用戶的信息進行近鄰搜索,然后基于近鄰用戶的行為信息預(yù)測用戶興趣,向用戶推薦項目?;陧椖康膮f(xié)同過濾算法是另一種經(jīng)典的協(xié)同過濾算法,它認為一個用戶會喜歡和他之前喜歡的項目類似的項目[12]。該算法主要利用相似項目的信息進行近鄰搜索和用戶行為預(yù)測,然后依據(jù)預(yù)測結(jié)果向用戶推薦項目。
由于項目的相似度相對用戶的相似度穩(wěn)度,所以基于項目的協(xié)同過濾算法是目前業(yè)界應(yīng)用最多的算法。無論是亞馬遜網(wǎng),還是Netflix、Hulu、YouTube,其推薦算法的基礎(chǔ)都是該算法[13]。盡管協(xié)同過濾在個性化推薦方面取得較大成功,但其存在著諸多亟待解決的問題和挑戰(zhàn),主要包括:數(shù)據(jù)稀疏性、流行偏置、動態(tài)性和冷啟動等。
現(xiàn)有解決流行偏置問題的方法均是針對基于用戶的協(xié)同過濾推薦算法,利用項目流行度進行調(diào)節(jié)處理,本文是針對基于項目的協(xié)同過濾推薦算法,利用用戶活躍度進行調(diào)節(jié)處理。
1.1 基于項目的協(xié)同過濾Top-N推薦算法主要過程
基于項目的協(xié)同過濾推薦算法是利用項目間的相似度,給用戶推薦與用戶歷史項目相關(guān)度高的前N個項目。主要包括相似度計算和推薦兩個過程。
相似度計算方法有多種,本推薦算法采用的是修正的余弦相似度
(1)
通過相似度計算可以得到一個項目相似度矩陣,每行記錄了一個項目與其他所有項目的相似度,由于算法只要取出Top-N個相關(guān)項目,所以在相似度矩陣存儲時,設(shè)定近鄰個數(shù)即僅存儲前K個相關(guān)的項目。
推薦的總體流程如下,在對某一用戶u進行Top-N推薦時,針對用戶u的歷史項目集C,將項目集C中的一個項目i取出,與項目i相似的項目集合記為Ti,對項目集Ti中的每個項目j,項目i和項目j的相似度乘以用戶對項目i的評分記入最終推薦集T中,將最終推薦集T中包含的用戶歷史項目集C中的項目進行剔除,對最終推薦集T進行排序,取前N項進行推薦。
1.2 長尾分布和用戶活躍度
長尾理論(The Long Tail)是網(wǎng)絡(luò)時代興起的一種新理論,由美國人克里斯·安德森提出[18]?;ヂ?lián)網(wǎng)上的很多數(shù)據(jù)分布符合長尾理論,這個分布在互聯(lián)網(wǎng)領(lǐng)域稱長尾分布。很多研究人員發(fā)現(xiàn),用戶行為數(shù)據(jù)也蘊含著這種規(guī)律。
用戶活躍度是指用戶產(chǎn)生過行為的項目總數(shù),符合長尾分布。用戶越活躍,用戶的數(shù)量越少。但這少部分的用戶評分過的項目數(shù)量較多,在相似度計算時,由于該部分用戶評論過大部分的項目,所以根據(jù)其進行的相似度計算結(jié)果準確性降低。本文將在相似度計算公式中構(gòu)造包含用戶活躍度的調(diào)節(jié)函數(shù),降低活躍用戶的影響,提升非活躍用戶的影響。
不可否認,漓江畫派之所以在全國產(chǎn)生重大的影響,其中一個重要的因素就是“依托廣西藝術(shù)學院這個學術(shù)和人才培養(yǎng)平臺”。漓江畫派集中了廣西各畫種的代表性畫家和美術(shù)評論家,他們大多數(shù)是畢業(yè)或工作于廣西藝術(shù)學院,漓江畫派促進會學術(shù)委員會常務(wù)理事中超過半數(shù)是學院的專業(yè)教師??梢哉f,作為漓江畫派的主要人才聚集地, 具有80年辦學歷史的廣西藝術(shù)學院無論在藝術(shù)創(chuàng)作和理論研究方面,還是在人才培養(yǎng)和隊伍建設(shè)方面,都為漓江畫派的發(fā)展做出了突出的貢獻。實施畫派與學院相互依托、互為平臺、共同提高的策略,成為加強漓江畫派人才隊伍建設(shè)的重要手段。
在推薦系統(tǒng)中,存在著一種強者恒強的“馬太效應(yīng)”,推薦系統(tǒng)傾向于推薦那些流行度高的項目,導(dǎo)致推薦準確率降低。而用戶活躍度越高,其了解流行項目的概率越大,用戶活躍度越低,用戶的興趣越具有個性化,所以在相似度計算時,引入用戶活躍度,調(diào)節(jié)不同活躍度用戶的評分數(shù)據(jù)對相似度計算的影響,如公式(2)。
(2)
其中:F(u)為使用用戶活躍度構(gòu)造的調(diào)節(jié)函數(shù)。
由于用戶活躍度不同對相似度計算的結(jié)果影響不同,所以對用戶活躍度進行聚類處理后得到活躍度的分類結(jié)果,然后針對用戶所屬的活躍度分類結(jié)果對用戶評分數(shù)據(jù)使用不同的相似度計算公式。采用K-Means聚類算法,設(shè)定分成3簇。使用聚類算法后,將用戶活躍度分為三類。簇1表示的是活躍度較高的一類,記為Umax,簇2表示的是活躍度居中的一類,記為Umid,簇3表示的是活躍度較低的一類,記為Umin。針對不同活躍度的用戶進行不同的處理,如公式(3)。
(3)
其中:m、n為常數(shù),用于調(diào)節(jié)實驗結(jié)果;f(u)為用戶u的活躍度即用戶u評分過的項目總數(shù)。由于長尾分布的特點為絕大多數(shù)個體的尺度很小,而只有少數(shù)個體的尺度相當大,故在設(shè)計公式時利用log(·)函數(shù)進行處理。
對于活躍度較大的簇Umax,將其活躍度增強使調(diào)節(jié)函數(shù)結(jié)果減小。對中間簇Umid,對其進行正常的調(diào)節(jié)。對活躍度較小的簇Umin,將其活躍度減小使調(diào)節(jié)函數(shù)的結(jié)果增大,增強活躍度低的用戶的影響。在各個類別中,具體的活躍度f(u)是計算得出,f(u)可以更加細化的區(qū)分每個類中的用戶數(shù)據(jù),是該用戶數(shù)據(jù)對相似度計算結(jié)果的影響不同??傮w來說,首先是進行分類,然后針對每個類別的數(shù)據(jù)再細化處理。
UACF算法的相似度計算部分的偽代碼描述如下:
Step1讀取數(shù)據(jù),計算得到用戶ID及用戶評分的項目ID及相應(yīng)的分數(shù)。
Step2用戶活躍度分類標記。利用K-Means算法對用戶活躍度進行聚類,并標記每個用戶所處的類別。
Step3利用公式(2)、公式(3)計算任意兩個項目間的相似度。如果項目相似度集合中存在給定的項目i和項目j的數(shù)據(jù),則直接取出其相似度,否則進行相似度計算。如果項目i和項目j的相似度小于需要的K個項目的相似度中的最小的一個則舍棄,否則存儲。
3.1 測試數(shù)據(jù)集
數(shù)據(jù)來源MovieLens數(shù)據(jù)集,包含943名用戶對1682個電影的100000條評分數(shù)據(jù),數(shù)據(jù)包含用戶ID、電影ID、評分值、時間戳四種屬性值。評分值分為1-5,評分值5為最高評分。數(shù)據(jù)集的稀疏等級為1-100000/(943×1682)=93.7%。使用前,將數(shù)據(jù)集劃分為訓練集和測試集。訓練集和測試集分別占整個數(shù)據(jù)集的80%和20%。
3.2 評測指標
本文著重點在于提高推薦結(jié)果的準確率。為了驗證算法有效性,在實驗中采用的指標為:準確率、召回率、覆蓋率、新穎度。準確率和召回率計算公式分別如公式(4)和公式(5)所示。
(4)
(5)
其中:R(u)為推薦系統(tǒng)為目標用戶u推薦的N個項目集合;T(u)為用戶u在測試集上的項目集合。覆蓋率定義如公式(6)所示。
(6)
其中:I為所有項目集合;R(u)為推薦系統(tǒng)目標用戶u推薦的N個項目集合;u為用戶集合U中的一個用戶。覆蓋率表示最終的推薦列表中的項目占總項目集合的比例。如果任何一個項目都被推薦給至少一個用戶,那么覆蓋率就是100%。新穎度定義如公式(7)所示。
(7)
其中:I為所有項目集合;i為集合I中的一個項目;P(i)為所有評論過項目i的用戶個數(shù);K為項目集合I中的項目個數(shù)。
圖1 不同算法的TopN推薦準確率
3.3 實驗結(jié)果及分析
本文設(shè)計了三組實驗進行驗證。本文對協(xié)同過濾算法中的參數(shù)進行了設(shè)定,設(shè)定最近鄰存儲個數(shù)item Nearest Neighbor Number、最近鄰使用個數(shù)TopK、推薦個數(shù)TopN。
采用上述數(shù)據(jù)集,依次對文獻[12]中提出的基于項目的協(xié)同過濾推薦算法(ICF),文獻[17]中提出的基于項目流行度的協(xié)同過濾TopN推薦算法(PopItemCF),使用公式(3)中中間活躍度處理方法的算法(LNCF)和本文提出的結(jié)合用戶活躍度的協(xié)同過濾推薦算法(UACF)進行對比實驗,選用同一數(shù)據(jù)集,TopK為50,設(shè)m=100.0,n=4.0,TopN從5開始,每次增加5,至50,對比不同TopN時的推薦準確率,結(jié)果如圖1。
從圖1中可以看出,本文提出的UACF算法較其他算法的推薦準確率有了明顯的提高。UACF算法較ICF算法在上述實驗中平均推薦準確率提高了25.79%。
為了對比以上算法在其他評測指標上的表現(xiàn),作進一步的實驗。設(shè)TopN為10,TopK為50,m=100.0,n=4.0,各算法的準確率、召回率、覆蓋率和新穎度的實驗結(jié)果數(shù)據(jù)如表1。
表1 各算法的評測指標結(jié)果
從表1中可以看出,UACF算法較其他算法,在準確率和召回率上明顯得到提升。以下為m、n值的選擇實驗,通過調(diào)節(jié)m或者n的值,觀察實驗結(jié)果,最終確定m、n值的選擇范圍。設(shè)m=1,n從1開始,每次自增1,至100,測試推薦準確率和覆蓋率,結(jié)果如圖2。從圖2可以看出,隨著n的增加,推薦準確率先增加到達峰值后緩慢下降。這說明調(diào)高活躍度低的用戶數(shù)據(jù)在相似度計算中的權(quán)重值即在一定范圍內(nèi)增加n的值可以提高推薦準確率。綜合考慮準確率和覆蓋率的分布,在確保準確率較高的情況下有較高的覆蓋率,n的選取范圍為17-23。
設(shè)n=1,m從10開始,每次自增10,至1000,測試推薦準確率和覆蓋率,結(jié)果如圖3所示。
圖2 不同n下的試驗結(jié)果圖3 不同m下的試驗結(jié)果
從圖3可以看出,提高m值使活躍度高的用戶數(shù)據(jù)在相似度計算中降低權(quán)重對推薦準確率影響較小,在m值大于100時,準確率和覆蓋率基本圍繞一個值上下震蕩。在m等于510時為測試結(jié)果的最大值,而且當前結(jié)果的覆蓋率也較大。
通過上述實驗對比,選取m=510,n=20,評測指標結(jié)果值如表2。
表2 較好m和n值下的試驗結(jié)果
通過測試不同的m、n值,同時選取較好的m、n測試值后,各項指標均有所提升。說明合理設(shè)置m、n值可以提高推薦效果。m值大于100后對結(jié)果影響較小,n值在大于23后可以提高結(jié)果的覆蓋率和新穎度,提高長尾項目的推薦比例。
本文提出了一種解決流行偏置問題的新方法,該算法比基于項目的協(xié)同過濾算法的推薦準確度提高27%,可以更精準的向用戶提供推薦結(jié)果。本文從不同活躍度用戶的評分數(shù)據(jù)的有效性入手,提出針對用戶活躍度進行聚類處理的方法,較好的提高了相似度計算的可靠性。通過對用戶活躍度聚類進行用戶分類的方法速度快、效果明顯,可以適用于所有的基于項目的協(xié)同過濾推薦算法。
[1] A.F.Rutkowski,C.S.Saunders.Growing pains with information overload[J].Computer,2010,43(6):94-95.
[2] 郭曉利,韓嘯.電網(wǎng)知識協(xié)同發(fā)現(xiàn)策略研究[J].東北電力大學學報,2014,34(1):94-98.
[3] A.Zenebe,A.F.Norcio.Representation,similarity measures and aggregation methods using fuzzy sets for content-based recommender systems [J].Fuzzy Sets and Systems,2009,160(1):76-94.
[4] G.Adomavicius,A.Tuzhilin.Toward the next generation of recommender systems:a survey of the state-of-the-art and possible extensions[J].Knowledge and Data Engineering,IEEE Transactions on,2005,17(6):734-749.
[5] 余力,劉魯.電子商務(wù)個性化推薦研究[J].計算機集成制造系統(tǒng),2004,10(10):1306-1313.
[6] 楊艷.數(shù)字圖書館中興趣度推薦算法[J].哈爾濱工程大學學報,2009,30(6):658-662.
[7] 喬向杰,張凌云.近十年國外旅游推薦系統(tǒng)的應(yīng)用研究[J].旅游學刊,2014,29(8):117-127.
[8] 冷亞軍,陸青,梁昌勇.協(xié)同過濾推薦技術(shù)綜述[J].模式識別與人工智能,2014,27(8):720-734.
[9] 曲朝陽,孫立擎,許劭慶,等.基于B+樹的電力大數(shù)據(jù)分布式索引[J].東北電力大學學報,2016,36(5):80-85.
[10] P.Resnick,N.Iacovou,M.Suchak,et al.GroupLens:an open architecture for collaborative filtering of netnews[C].Proceedings of the 1994 ACM Conference on Computer Supported Cooperative Work.ACM,1994:175-186.
[11] 徐蕾,楊成,姜春曉,等.協(xié)同過濾推薦系統(tǒng)中的用戶博弈[J].計算機學報,2016,39(6):1176-1189.
[12] G.Linden,B.Smith,J.York.Amazon.com recommendations:item-to-item collaborative filtering[J].Internet Computing,IEEE,2003,7(1):76-80.
[13] 項亮.推薦系統(tǒng)實踐[M].北京:人民郵電出版社,2012:51-52.
[14] J.S.Breese,D.Heckerman,C.Kadie.Empirical analysis of predictive algorithms for collaborative filtering[C].Proceedings of the Fourteenth Conference on Uncertainty in Artificial Intelligence.Morgan Kaufmann Publishers Inc.,1998:43-52.
[15] R.Jin,J.Y.Chai,L.Si.An automatic weighting scheme for collaborative filtering[C].Proceedings of the 27th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval.ACM,2004:337-344.
[16] G.Adomavicius,Y.Kwon.Improving aggregate recommendation diversity using ranking-based techniques[J].Knowledge and Data Engineering,IEEE Transactions on,2012,24(5):896-911.
[17] 郝立燕,王靖.基于項目流行度的協(xié)同過濾TopN推薦算法[J].計算機工程與設(shè)計,2013,34(10):3497-3501.
[18] S.Peltier,F(xiàn).Moreau.Internet and the ‘Long Tail versus superstar effect’ debate:evidence from the French book market[J].Applied Economics Letters,2012,19(8):711-715.
Abstract:In order to solve the problem of popularity bias in recommendation system,we propose a novel collaborative filtering recommendation algorithm,UACF.UACF considers the influence of user activity on the recommended results.It applies cluster analysis algorithm to handle user activity and uses different activity adjustment formula to deal with different clustering results.This method is introduced into the process of similarity calculation to improve the reliability of similarity calculation.experiments on typical data sets show that the algorithm can achieve more accurate rating recommendations than the conventional methods.
Keywords:User activity;Cluster analysis;Collaborative filtering;Top-N recommendation
RecommendationsBasedonCollaborativeFilteringbyUserActivity
QuZhaoyang1,SongChenchen1,RenYouxue2,LiuYaowei2,NiuQiang2,DuJianhong3
(1.School of Information Engineering,Northeast Electric Power University,Jilin Jilin 132012;2.Jilin Power Supply Company,State Grid Jilin Electric Power Co.,ltd.,Jilin Jilin 132000;3.Full Power Plant in Jilin City,Jilin Jilin 132108)
TP391
A
2017-03-09.
國家自然科學基金項目(51277023)吉林省科技計劃重點轉(zhuǎn)化項目(20140307008GX)
曲朝陽(1964-),男,博士,教授,主要研究方向:智能信息處理.
電子郵箱:qzywww@nedu.edu.cn(曲朝陽);172342547@qq.com(宋晨晨);1406989666@qq.com(任有學);frqkycg@163.com(劉耀偉);qzynedu@qq.com(牛強);531146846@qq.com(獨健鴻)
1005-2992(2017)05-0074-06