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