徐立民 李涵
摘 要:當(dāng)今時代,信息量呈爆炸式增長,推薦系統(tǒng)是處理海量信息的一種有效方式,也是一種無需用戶提出明確需求就可幫助用戶快速發(fā)現(xiàn)有用信息的工具。在推薦系統(tǒng)中,協(xié)同過濾算法有著重要應(yīng)用。傳統(tǒng)協(xié)同過濾算法通常使用余弦相似度公式進(jìn)行興趣相似度計算,但是很多情況下熱門物品會影響到推薦結(jié)果,并不能較好地反映用戶需求。文中對傳統(tǒng)協(xié)同過濾算法余弦相似度計算公式提出改進(jìn)方案,給出一個帶有懲罰因子的余弦相似度修正公式,可以較好地抑制熱門物品對用戶實(shí)際相似度的影響,改善用戶近鄰集合的劃分,從而實(shí)現(xiàn)更好的推薦效果。經(jīng)實(shí)驗(yàn)測試,推薦系統(tǒng)的性能指標(biāo)得到了一定的改善。
關(guān)鍵詞:推薦系統(tǒng);協(xié)同過濾算法;余弦相似度;熱門物品;懲罰因子;近鄰集合
中圖分類號:TP301文獻(xiàn)標(biāo)識碼:A文章編號:2095-1302(2019)10-00-03
0 引 言
隨著信息量的提升,推薦系統(tǒng)開始發(fā)揮越來越重要的作用。目前,推薦系統(tǒng)在新聞行業(yè)、娛樂媒體行業(yè)以及電子商務(wù)領(lǐng)域都有著重要的應(yīng)用。推薦系統(tǒng)領(lǐng)域出現(xiàn)了多種算法,這些算法都有著明確的應(yīng)用場景,同時也各有優(yōu)缺點(diǎn)。常用的推薦算法包括基于內(nèi)容的推薦、基于關(guān)聯(lián)規(guī)則的推薦和協(xié)同過濾算法[1]等,其中,協(xié)同過濾算法是推薦系統(tǒng)中的經(jīng)典算法之一,在眾多場合都有非常廣泛的應(yīng)用。該算法目標(biāo)明確、易于理解,同時實(shí)用性很強(qiáng),無需具備專業(yè)領(lǐng)域的知識即可完成推薦。隨著時間的推移,推薦系統(tǒng)的性能會一直得到增強(qiáng),因此該算法的自動化程度較高,同時也可較為方便地處理復(fù)雜的對象信息和非結(jié)構(gòu)化數(shù)據(jù)[2]。但是協(xié)同過濾算法存在冷啟動、數(shù)據(jù)稀疏、可拓展性差等缺點(diǎn)[3],這些缺點(diǎn)在實(shí)際應(yīng)用中會影響到推薦系統(tǒng)的性能。本文從實(shí)際入手,針對協(xié)同過濾算法傳統(tǒng)的相似度公式無法抑制熱門物品的問題,提出懲罰因子的概念,給出修正后的余弦相似度計算公式,并進(jìn)行實(shí)驗(yàn)論證。
1 協(xié)同過濾算法
1.1 傳統(tǒng)協(xié)同過濾算法
協(xié)同過濾算法在1992年被提出[5-6],該算法的第一個應(yīng)用項目是Tapestry[7]。協(xié)同過濾算法是在獲取到用戶信息后,尋找目標(biāo)用戶的近鄰集合,選擇近鄰集合中感興趣的對象推薦給目標(biāo)用戶,其具體步驟如下:
(1)收集用戶行為,產(chǎn)生用戶評分矩陣
用戶的行為數(shù)據(jù)可以多種形式展現(xiàn)給后臺,因此需要進(jìn)行預(yù)處理。預(yù)處理是將自然語言描述的用戶歷史行為轉(zhuǎn)換為數(shù)字化信息[8]。預(yù)處理之后,將用戶對物品的行為信息描述為一個m×n的矩陣R(m,n),這個矩陣被稱為用戶-評分矩陣。矩陣R中每一行代表用戶,每一列代表物品對象,Rij表示用戶i對物品對象j的評分。同時,采取0和1兩種數(shù)值的方式表征用戶行為,數(shù)字1代表用戶喜歡該物品,反之為不喜歡。用戶評分矩陣R為:
(2)建立用戶近鄰集合,找出用戶鄰居
用戶近鄰集合是將目標(biāo)用戶與其他用戶進(jìn)行相似度計算后生成用戶的近鄰集合。用戶之間的相似度通過相似度公式計算得出。興趣相似度計算公式較多,如Jaccard公式、余弦相似度公式等。其中,余弦相似度公式使用較多。
(3)產(chǎn)生推薦結(jié)果
1.3 算法流程
整個系統(tǒng)算法流程包括收集用戶歷史信息、建立用戶評分矩陣、計算用戶相似度、生成近鄰集合,進(jìn)而產(chǎn)生推薦。協(xié)同過濾算法流程如圖1所示。
2 基于懲罰因子的協(xié)同過濾改進(jìn)算法
2.1 懲罰因子
若熱門物品出現(xiàn)次數(shù)較多,則會使實(shí)際相似度計算結(jié)果受到影響,導(dǎo)致推薦的物品都是熱門物品,無法挖掘用戶的實(shí)際需求。為了避免這種影響,考慮加入一個懲罰因子作為加權(quán)系數(shù),從而抑制熱門物品的影響,因此本文對余弦相似度計算公式進(jìn)行修正,將物品出現(xiàn)次數(shù)的倒數(shù)作為懲罰因子。物品出現(xiàn)次數(shù)越多,即該商品越熱門,同時,該商品對于用戶興趣相似度的貢獻(xiàn)越少。修正后的公式可衰減熱門物品造成的影響,帶有懲罰因子的修正公式為:
2.2 其他改進(jìn)參數(shù)
冷啟動是推薦系統(tǒng)設(shè)計過程中必須經(jīng)歷的一個過程。由于系統(tǒng)剛剛創(chuàng)建,新注冊的用戶尚未對項目產(chǎn)生有效的行為信息,此時可利用的行為信息極少,這種情況下難以給用戶做出合理的推薦[9],因此必須考慮從別的渠道獲取更多的用戶信息作為參考。通過用戶的注冊信息挖掘用戶愛好是一種有效的方式,在用戶注冊時加以引導(dǎo),使用戶提供一些信息,通過這些信息最大限度地挖掘出用戶感興趣的信息。用戶注冊信息完畢后初次登錄時,后臺系統(tǒng)可根據(jù)用戶提交的個人信息進(jìn)行分析與挖掘,從而做出有針對性的推薦。
2.3 改進(jìn)后的算法流程
本文在原有的推薦流程中加入懲罰因子的參數(shù),該參數(shù)作為衰減因子可削弱熱門造成的影響,使用用戶對該物品發(fā)生正反饋的次數(shù)衡量物品的熱門程度。物品越熱門,懲罰力度越高,熱門物品對計算興趣相似度帶來的影響越小,因此可較好地解決熱門物品對于推薦效果的影響。改進(jìn)后的算法流程如圖2所示。
3 實(shí)驗(yàn)結(jié)果
首先使用經(jīng)典的余弦相似度算法進(jìn)行計算。將推薦數(shù)量選定為25,目標(biāo)用戶的鄰居個數(shù)分別為2,3,4,5,6,7,8,9,10,20,40。由上述數(shù)據(jù)得到的準(zhǔn)確率與召回率(計算結(jié)果保留小數(shù)點(diǎn)后四位)見表1所列。
由上述實(shí)驗(yàn)數(shù)據(jù)可知,當(dāng)目標(biāo)用戶的鄰居個數(shù)為3時,準(zhǔn)確率與召回率有較好的效果,因此在對修正后的公式驗(yàn)證時可選定鄰居個數(shù)3進(jìn)行準(zhǔn)確率與召回率的對比。余弦相似度公式與修正后的相似度公式對比見表2所列。
由表2可知,使用余弦相似度公式的準(zhǔn)確率為0.133 8,召回率為0.154 4,使用帶有懲罰因子的修正公式的準(zhǔn)確率為0.144 6,召回率為0.204 0。實(shí)驗(yàn)結(jié)果表明,帶有懲罰因子的修正公式可以較好地抑制熱門物品的影響,提升系統(tǒng)的準(zhǔn)確率與召回率。
4 結(jié) 語
由于使用傳統(tǒng)的余弦相似度公式時,熱門物品會影響推薦結(jié)果,導(dǎo)致推薦的物品幾乎都是熱門物品,因此本文提出帶有懲罰因子的余弦相似度計算公式,使用熱門物品出現(xiàn)次數(shù)的倒數(shù)作為懲罰因子,物品越熱門懲罰力度越大。通過實(shí)驗(yàn)驗(yàn)證,該算法可使準(zhǔn)確率與召回率得到一定的提升,從而提高推薦效率。
參 考 文 獻(xiàn)
[1]孟祥武,胡勛,王立才,等.移動推薦系統(tǒng)及其應(yīng)用[J].軟件學(xué)報,2013,24(1):91-108.
[2]孟祥武,紀(jì)威宇,張玉潔.大數(shù)據(jù)環(huán)境下的推薦系統(tǒng)[J].北京郵電大學(xué)學(xué)報,2015,38(2):1-15.
[3]冷亞軍,陸青,梁昌勇.協(xié)同過濾推薦技術(shù)綜述[J].模式識別與人工智能,2014,27(8):720-734.
[4]王威,鄭駿.基于用戶相似度的協(xié)同過濾算法改進(jìn)[J]. 華東師范大學(xué)學(xué)報(自然科學(xué)版),2016(3):60-66.
[5]張鵬飛,熊嬌嬌,羅繩燁,等.面向電商的基于協(xié)同過濾的個性化推薦[J].科技廣場,2016(6):15-19.
[6] SARWAR B,KARYPIS G,KONSTAN J,et al.Item-based collaborative filtering recommendation algorithms [C]// International Conference on World Wide Web.ACM,2001:285-295.
[7] KONSTAN J A,MILLER B N,MALTZ D A,et al.GroupLens:applying collaborative filtering to usenet news [C]// Commu-nications of the ACM,1997,40(3):77-87.
[8] OWEN S,ANIL R,DUNNING T,et al.Mahout in action[M].New York:Manning Publication,2011.
[9] GroupLens Research.MovieLens [EB/OL]. [2018-06-10]. https://grouplens.org/datasets/movielens.
[10]于洪,李俊華.一種解決新項目冷啟動問題的推薦算法[J].軟件學(xué)報,2015,26(6):1395-1408.
[11]周成林,黃長江,田景凡,等.基于用戶檢索歷史的個性化內(nèi)容推薦算法的設(shè)計與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2015(10):142.