史長(zhǎng)瓊,夏廣偉,劉井平,何湘妮
1(長(zhǎng)沙理工大學(xué) 智能交通大數(shù)據(jù)處理湖南省重點(diǎn)實(shí)驗(yàn)室,長(zhǎng)沙 410114) 2(長(zhǎng)沙理工大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,長(zhǎng)沙 410114)
隨著信息技術(shù)的發(fā)展,推薦技術(shù)逐漸成為各領(lǐng)域重要的研究?jī)?nèi)容.目前,基于協(xié)同過(guò)濾的推薦系統(tǒng)不僅廣泛應(yīng)用于電商網(wǎng)站,包括 Amazon、Netflix、Taobao,而且也應(yīng)用于其他領(lǐng)域,如:電視節(jié)目推薦、網(wǎng)頁(yè)個(gè)性化推薦等.
協(xié)同過(guò)濾技術(shù)主要可分為兩大類:基于內(nèi)存的協(xié)同過(guò)濾和基于模型的協(xié)同過(guò)濾[1].其中,基于內(nèi)存的協(xié)同過(guò)濾又分為基于用戶的和基于項(xiàng)目的.基于用戶的協(xié)同過(guò)濾是通過(guò)尋找目標(biāo)用戶的鄰近用戶,根據(jù)鄰近用戶對(duì)項(xiàng)目的評(píng)分,向目標(biāo)用戶推薦預(yù)測(cè)評(píng)分為Top-N的項(xiàng)目;基于項(xiàng)目的協(xié)同過(guò)濾根據(jù)用戶對(duì)相似項(xiàng)目的評(píng)分,預(yù)測(cè)用戶對(duì)目標(biāo)項(xiàng)目的評(píng)分,當(dāng)需要預(yù)測(cè)某個(gè)目標(biāo)項(xiàng)目的評(píng)分時(shí),可以通過(guò)用戶對(duì)目標(biāo)項(xiàng)目的若干近鄰項(xiàng)目進(jìn)行估計(jì)來(lái)實(shí)現(xiàn).
基于項(xiàng)目的協(xié)同過(guò)濾推薦算法(Item-based Collaborative Filtering,ItemCF)無(wú)論在研究中還是在實(shí)際應(yīng)用中都有著重大的突破.然而傳統(tǒng)的協(xié)同過(guò)濾算法并沒(méi)有考慮用戶的興趣隨時(shí)間的推移而發(fā)生變化,認(rèn)為評(píng)分?jǐn)?shù)據(jù)在不同時(shí)期對(duì)于當(dāng)前的影響是等同的,導(dǎo)致推薦的信息可能是過(guò)時(shí)的或者不是用戶當(dāng)前感興趣的信息,影響了算法的準(zhǔn)確性.針對(duì)傳統(tǒng)協(xié)同過(guò)濾算法存在推薦信息低時(shí)效性這個(gè)問(wèn)題,文獻(xiàn)[9-15]在對(duì)數(shù)據(jù)的處理過(guò)程中考慮到了時(shí)間權(quán)重的變化,認(rèn)為評(píng)分信息所起到的作用隨著時(shí)間的變化而變化,且這種變化是嚴(yán)格遞增的,即近期的評(píng)分信息必然比以往的評(píng)分信息更具有參考作用.在對(duì)項(xiàng)目的評(píng)分進(jìn)行預(yù)測(cè)過(guò)的程中,將越接近當(dāng)前的數(shù)據(jù)所賦予的權(quán)重更大,忽略了用戶訪問(wèn)資源的具體時(shí)間段以及特殊非正常情況下的數(shù)據(jù)對(duì)預(yù)測(cè)的影響.顯然,這是不合理的.例如:今年春節(jié)是在1月,此時(shí)人們會(huì)更喜歡看賀歲片,但是春節(jié)過(guò)后,人們對(duì)賀歲片的喜愛(ài)程度會(huì)歸于常態(tài).如果要對(duì)今年2月賀歲片的評(píng)分進(jìn)行預(yù)測(cè),顯然去年12月的數(shù)據(jù)比今年1月的數(shù)據(jù)更具有參考意義,該被賦予更高的權(quán)重.又如:在中國(guó)喜慶節(jié)日時(shí),人們對(duì)恐怖電影的關(guān)注程度會(huì)急劇下降,如果因?yàn)槠鋾r(shí)間距離預(yù)測(cè)時(shí)段很接近而將此特殊情況賦予很高的權(quán)重,來(lái)作為其他用戶的推薦標(biāo)準(zhǔn),顯然會(huì)使推薦效果不理想.因此,本文提出一種模糊遞增的概念,認(rèn)為越靠近當(dāng)前時(shí)刻的評(píng)分,其參考作用的走向是波浪式循序上升的.例如,來(lái)自電影租賃網(wǎng)站的Netflix電影評(píng)分隨時(shí)間的變化趨勢(shì)如圖1所示,圖1(a)描述了某一部電影其評(píng)分隨著時(shí)間的推移,在總體上呈上升趨勢(shì);圖1(b)描述了數(shù)據(jù)集中擁有不同年齡的電影的評(píng)分情況,可以看出,年齡越大的電影的評(píng)分趨于越高.圖1從兩個(gè)不同的角度來(lái)反映電影的評(píng)分變化規(guī)律,即項(xiàng)目的評(píng)分總體呈上升趨勢(shì).然而我們發(fā)現(xiàn),該數(shù)據(jù)集卻存在特殊情況,如圖1(a)中第500天、1000天、1500天等,電影的評(píng)分突兀下降.從整個(gè)時(shí)間戳看,項(xiàng)目評(píng)分雖然呈上升趨勢(shì),但卻出現(xiàn)上下波動(dòng)的現(xiàn)象,并不符合嚴(yán)格遞增規(guī)律.
圖1 Netflix數(shù)據(jù)集電影的評(píng)分趨勢(shì)Fig.1 Two temporal effects emerging within the Netflix movie-rating dataset
傳統(tǒng)的協(xié)同過(guò)濾算法[1-3]存在推薦信息低時(shí)效的問(wèn)題,大多數(shù)沒(méi)有考慮時(shí)間因素的影響,然而時(shí)間屬性又是反映用戶興趣規(guī)律的重要特性之一,很多學(xué)者對(duì)此進(jìn)行了改進(jìn).Liu等人[4]提出了一種基于時(shí)間的K近鄰協(xié)同過(guò)濾算法,結(jié)合用戶行為的時(shí)間信息和K近鄰算法提出了新穎的相似性度量方式.Liang等人[5]提出了Session-based Temporal Graph(STG)算法和Injected Preference Fusion(IPF)推薦算法,刻畫(huà)了用戶隨時(shí)間變化的偏好.Yan等人[6]在預(yù)測(cè)過(guò)程中引入了時(shí)間屬性,提出了一種時(shí)分協(xié)同過(guò)濾算法,并采用不同策略對(duì)其進(jìn)行處理,有效提高了系統(tǒng)的推薦質(zhì)量.顧亦然等人[7]采用添加時(shí)間維度的方式將推薦過(guò)程由二部圖遷移到三部圖上進(jìn)行處理,雖然有效提高了推薦的準(zhǔn)確新型,卻在一定程度上增加了算法的復(fù)雜度.Gultekin等人[8]提出了一種基于協(xié)同卡爾曼過(guò)濾的動(dòng)態(tài)模型,解析了用戶/項(xiàng)目的漂移參數(shù)隨時(shí)間推移的無(wú)規(guī)則變化.
雖然上述算法考慮到了時(shí)間因素在預(yù)測(cè)過(guò)程中的重要性,卻都平等地對(duì)其進(jìn)行評(píng)級(jí),忽略了用戶的興趣可能隨時(shí)間改變的事實(shí),沒(méi)有在預(yù)測(cè)過(guò)程中對(duì)時(shí)間屬性賦予合適的權(quán)重.對(duì)此,另外一些學(xué)者進(jìn)行了如下研究,Adibi等人[9]從用戶間相互影響力不同的角度出發(fā),提出了基于用戶時(shí)間權(quán)重的最近鄰建模方法,有效緩解了批量資源的實(shí)時(shí)推薦問(wèn)題,更好地預(yù)測(cè)用戶評(píng)分.為了適應(yīng)用戶偏好隨時(shí)間的動(dòng)態(tài)變化,Ding等人[10]提出了一種時(shí)間權(quán)重的協(xié)同過(guò)濾算法,對(duì)評(píng)分進(jìn)行時(shí)間加權(quán),降低了過(guò)時(shí)信息的重要性,有效緩解了項(xiàng)目評(píng)分老化的問(wèn)題.Koren等人[11]提出了基于時(shí)序的因式分解算法和基于時(shí)間變化的基線預(yù)測(cè),解析了項(xiàng)目歷史評(píng)分信息對(duì)當(dāng)前時(shí)刻的瞬時(shí)影響和長(zhǎng)期影響.An等人[12]提出了基于用戶訪問(wèn)時(shí)間的數(shù)據(jù)權(quán)重和基于加速度的數(shù)據(jù)權(quán)重,并將兩種權(quán)重引入?yún)f(xié)同過(guò)濾算法的推薦過(guò)程中,動(dòng)態(tài)反映了用戶興趣的變化過(guò)程.Hu等人[13]建立了以最新信息為依據(jù)的時(shí)間序列反饋模型,結(jié)合協(xié)同過(guò)濾實(shí)現(xiàn)用戶偏好的動(dòng)態(tài)推薦.為了解析項(xiàng)目歷史評(píng)分信息對(duì)當(dāng)前時(shí)刻的影響,Zhao等人[14]提出了一種時(shí)間分布的協(xié)同過(guò)濾算法,通過(guò)引用時(shí)間因子將用戶評(píng)分信息劃分不同的時(shí)間段,有效緩解了用戶興趣的動(dòng)態(tài)變化問(wèn)題.Jin等人[15]結(jié)合了權(quán)重隨時(shí)間和項(xiàng)目相似系數(shù),解析了用戶興趣偏好的變化過(guò)程.
上述文獻(xiàn)認(rèn)為用戶的興趣并不是靜態(tài)的,而是符合一種遞增規(guī)律的,在對(duì)數(shù)據(jù)的處理過(guò)程中,雖然考慮到了時(shí)間權(quán)重的變化,但是都認(rèn)為數(shù)據(jù)是嚴(yán)格遞增的,即越接近當(dāng)前的數(shù)據(jù)對(duì)預(yù)測(cè)的影響越大,忽略了用戶訪問(wèn)資源的具體時(shí)間段以及特殊非正常情況下的數(shù)據(jù)對(duì)預(yù)測(cè)的影響,這顯然也是不合理的.本文在現(xiàn)有研究的基礎(chǔ)上做出了改進(jìn),創(chuàng)新點(diǎn)主要體現(xiàn)在以下方面:1)在計(jì)算項(xiàng)目相似度階段引入時(shí)間屬性,提出一種基于時(shí)間窗口的相似度算法;2)在預(yù)測(cè)階段,結(jié)合權(quán)重的模糊遞增提出一種新穎的評(píng)分預(yù)測(cè)算法.3)對(duì)于符合模糊遞增的參數(shù),提出一種新穎的多參數(shù)優(yōu)化策略.
在協(xié)同過(guò)濾推薦中[16,17],相似性度量用于發(fā)現(xiàn)相似的用戶或項(xiàng)目,能否準(zhǔn)確發(fā)現(xiàn)近鄰用戶或項(xiàng)目,影響推薦結(jié)果的準(zhǔn)確性.相似性主要是通過(guò)基于對(duì)象的特征或?qū)傩?利用特征向量間的相似系數(shù)、相關(guān)系數(shù)及距離等來(lái)計(jì)算.為了反映項(xiàng)目各歷史時(shí)期評(píng)分的變化規(guī)律,本文利用項(xiàng)目評(píng)分[18]和項(xiàng)目訪問(wèn)時(shí)間對(duì)項(xiàng)目的評(píng)分時(shí)間劃分時(shí)間窗口,并根據(jù)時(shí)間窗口相似度和鏈?zhǔn)浇Y(jié)構(gòu)度量項(xiàng)目的相似性.
協(xié)同過(guò)濾算法根據(jù)項(xiàng)目特征產(chǎn)生目標(biāo)用戶的推薦列表,它基于這樣的假設(shè):根據(jù)用戶對(duì)不同項(xiàng)目的評(píng)分存在相似性,需要預(yù)測(cè)目標(biāo)項(xiàng)目的評(píng)分時(shí),可通過(guò)用戶對(duì)目標(biāo)項(xiàng)目的若干近鄰項(xiàng)目進(jìn)行估計(jì).因此,傳統(tǒng)ItemCF算法[19,20]主要分為兩大階段.
Phase1. Top-K近鄰查找:對(duì)于目標(biāo)項(xiàng)目,需搜尋其近鄰集合,最近鄰數(shù)量K可直接給定,即擇取相似性Top-K的項(xiàng)目.近鄰項(xiàng)目主要通過(guò)項(xiàng)目相似性進(jìn)行度量,例如,Pearson相關(guān)系數(shù)如式(1)所示:
(1)
Phase2. 評(píng)分預(yù)測(cè):近鄰集合產(chǎn)生后,對(duì)于目標(biāo)用戶u尚未評(píng)分的項(xiàng)目n,按公式(2)加權(quán)計(jì)算得到u對(duì)n的預(yù)測(cè)評(píng)分Pun,并選擇預(yù)測(cè)評(píng)分最高的若干個(gè)項(xiàng)目作為推薦結(jié)果反饋給目標(biāo)用戶.
(2)
若給定用戶集U=u1,u2,…,uM,則項(xiàng)目n的評(píng)分和訪問(wèn)時(shí)間可表示為二元組
(3)
(4)
項(xiàng)目相似度可通過(guò)項(xiàng)目之間對(duì)應(yīng)的時(shí)間窗口進(jìn)行衡量.時(shí)間窗口的對(duì)應(yīng)關(guān)系應(yīng)滿足兩個(gè)條件:一是由于每個(gè)時(shí)間窗口的評(píng)分對(duì)項(xiàng)目相似性的度量都起到了一定作用,項(xiàng)目的每個(gè)時(shí)間窗口皆要有對(duì)應(yīng)關(guān)系;二是由于越接近當(dāng)前時(shí)刻的評(píng)分對(duì)預(yù)測(cè)所起的作用越大,且項(xiàng)目評(píng)分符合遞增規(guī)律,項(xiàng)目之間時(shí)間窗口的對(duì)應(yīng)關(guān)系應(yīng)按時(shí)間順序進(jìn)行匹配.因此,本文提出基于鏈?zhǔn)浇Y(jié)構(gòu)的項(xiàng)目相似性度量算法.
1)若p=q;則項(xiàng)目n、n′的相似度為:
(5)
(6)
圖2 鏈?zhǔn)椒ㄊ纠鼺ig.2 Item-based chain structure
Note 1.相似性具有對(duì)稱性,D(n,n′)=D(n′,n).
為了使項(xiàng)目相似性得到更好的體現(xiàn),本文將計(jì)算的項(xiàng)目相似度結(jié)果規(guī)約到(0,1]之間,如式(7)所示.
(7)
隨著時(shí)間的推移,項(xiàng)目各歷史時(shí)期的評(píng)分所起到的作用存在一定的變化規(guī)律.因此,我們提出結(jié)合時(shí)間權(quán)重的預(yù)測(cè)評(píng)分公式:
(8)
其中,h(t)的計(jì)算方式如式(9)所示.
h(t)=(α1r1+α2r2+…+αmrm)
(9)
s.t.α1+α2+…+αm=1
其中,αi(1≤i≤m,0≤αi≤1)表示歷史時(shí)刻ti的用戶評(píng)分對(duì)當(dāng)前預(yù)測(cè)評(píng)分起到的作用,即權(quán)重大小.
同一用戶對(duì)于關(guān)聯(lián)度較強(qiáng)的項(xiàng)目具有相同的興趣變化趨勢(shì),以單個(gè)用戶和單個(gè)項(xiàng)目相似集作為計(jì)算單位,進(jìn)行各時(shí)期權(quán)重的求解.針對(duì)每一相似集,采用交叉驗(yàn)證的方式進(jìn)行各時(shí)期權(quán)重序列的求解,每次從相似集中取出一個(gè)項(xiàng)目作為測(cè)試,并采用平均絕對(duì)誤差(mean absolute error,MAE)作為推薦精度的度量標(biāo)準(zhǔn),如式(10)所示:
(10)
其中,pn表示預(yù)測(cè)評(píng)分,qn表示實(shí)際評(píng)分,N為測(cè)試集大小.顯然,MAE值越小,預(yù)測(cè)評(píng)分效果越佳.因此,各時(shí)期權(quán)重的求解可用最優(yōu)化的形式表示,如下式所示:
arg minMAE(α1,α2,…,αm)
(11)
對(duì)于目標(biāo)函數(shù)的求解,由于參數(shù)之間的關(guān)系不明確,較為模糊,難以用普通的參數(shù)優(yōu)化算法進(jìn)行優(yōu)化.本文提出一種新穎的多參數(shù)最優(yōu)化的求解策略.由第1節(jié)可知,評(píng)分與評(píng)分的權(quán)重的變化存在一定的相似程度.因此,根據(jù)評(píng)分劃分時(shí)間窗口的方式,同樣地對(duì)評(píng)分權(quán)重劃分時(shí)間窗口.評(píng)分權(quán)重(α1,α2,…,αm)可劃分成(βt1,βt2,…,βtz),其中,|βti|稱之為βti的窗口權(quán)重,|βti-1|<|βti|(i=1,2,…,tz).因此,對(duì)于評(píng)分權(quán)重的求解可以從全局到局部,即先計(jì)算窗口權(quán)重,使得窗口權(quán)重參數(shù)的解達(dá)到全局最優(yōu),再根據(jù)窗口權(quán)重與評(píng)分權(quán)重的關(guān)系計(jì)算窗口內(nèi)的評(píng)分權(quán)重,使得各評(píng)分權(quán)重達(dá)到最優(yōu).具體可以分為以下兩個(gè)階段,第一個(gè)階段是求解符合嚴(yán)格遞增關(guān)系的窗口權(quán)重參數(shù)|βti|(i=1,2,…,tz);第二個(gè)階段是求解時(shí)間窗口內(nèi)具有隨機(jī)波動(dòng)特性的評(píng)分權(quán)重參數(shù)αi(i=1,2,…,m).
由于權(quán)重序列的時(shí)間窗口參數(shù)符合嚴(yán)格遞增關(guān)系,則第一階段中本文通過(guò)平均年限法表示各時(shí)間窗口的參數(shù)關(guān)系,如式(12)所示.
(12)
因此,目標(biāo)函數(shù)可表示為:
arg minMAE(βt1,βt2,…,βtz)
(13)
構(gòu)造拉格朗日函數(shù)
(14)
其中β(t)=(βt1,βt2,…,βtz)T,μ1和μ2是拉格朗日參數(shù).
分別對(duì)變量βtk、μ1和μ2求偏導(dǎo):
(15)
(16)
因此
(17)
tk=t1,t2,…,tz
由于βtk>0,有
(18)
tk=t1,t2,…,tz
因此
(19)
(20)
因此
(21)
針對(duì)預(yù)測(cè)過(guò)程的第二階段,本文逐一考慮具有隨機(jī)波動(dòng)性的各個(gè)時(shí)間窗口內(nèi)的參數(shù),假設(shè)某一時(shí)間窗口參數(shù)(βtk(αa,αa+1,…,αa+b)),目標(biāo)函數(shù)如式(22)所示.
arg minMAE(βt1,…,βtk-1,αa,αa+1,…,αa+b,βtk+1,…,βtz)
s.tαa+αa+1+…+αa+b=(b+1)βtk
(22)
其中,αi≥0,(a≤i≤a+b).
考慮到粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)對(duì)于多參數(shù)的優(yōu)化具有穩(wěn)定、高效的性能,本文采用PSO算法[21]來(lái)優(yōu)化窗口內(nèi)的隨機(jī)參數(shù).因此,可以得到單一時(shí)間窗口的最優(yōu)解空間(αa,αa+1,…,αa+b).以此類推,逐一對(duì)所有權(quán)重求解,可得到權(quán)重序列的最優(yōu)解空間(α1,α2,…,αm).
對(duì)于符合模糊遞增規(guī)律的參數(shù)求解,本文提出了一種新穎的多參數(shù)優(yōu)化策略.以某項(xiàng)目評(píng)分時(shí)間權(quán)重為(α1,α2,…,α10)為例,闡述參數(shù)求解的步驟:
1)對(duì)時(shí)間權(quán)重(α1,α2,…,α10)劃分時(shí)間窗口,假設(shè)劃分結(jié)果如下:窗口1包含參數(shù)(α1,α2,α3),其中窗口權(quán)重與評(píng)分權(quán)重的關(guān)系為βt1=(α1+α2+α3)/3,窗口2包含參數(shù)(α4,α5,α6),其中βt2=(α4+α5+α6)/3,窗口3包含參數(shù)(α7,α8,α9,α10),其中βt3=(α7+α8+α9+α10)/4,窗口權(quán)重βt1<βt2<βt3;
2)利用公式(12)將窗口權(quán)重不等式轉(zhuǎn)化成等式,作為目標(biāo)函數(shù)argminMAE(βt1,βt2,βt3)的約束條件;
3)將公式(13)轉(zhuǎn)化成標(biāo)準(zhǔn)的拉格朗日函數(shù),分別以βtk(k=1,2,3)、μ1和μ2作為變量進(jìn)行求偏導(dǎo);
5)利用窗口權(quán)重與評(píng)分權(quán)重的關(guān)系,逐一分解窗口權(quán)重,通過(guò)PSO算法求解目標(biāo)函數(shù)公式(22).
為了驗(yàn)證本文提出的算法有效性,進(jìn)行了一系列的仿真實(shí)驗(yàn),主要有以下三個(gè)方面:
1)相似度過(guò)程中,討論時(shí)間窗口的劃分方式以及時(shí)間窗口的個(gè)數(shù)對(duì)平均準(zhǔn)確率(Mean Average Precision,MAP)的影響,以及比較基于時(shí)間窗口的相似性算法(Time Window-based Item Similarity,TWIS)與傳統(tǒng)ItemCF算法的相似性度量算法的推薦精度.
實(shí)驗(yàn)采用Netflix數(shù)據(jù)集,含480,189個(gè)用戶對(duì)17,770部電影的100百萬(wàn)條評(píng)分,時(shí)間1999年11月11日至2005年12月31日.隨機(jī)抽取5,000部電影作為實(shí)驗(yàn)數(shù)據(jù)(簡(jiǎn)稱NF5M),其中80%作為訓(xùn)練集,20%作為測(cè)試集,Top-K設(shè)為30,并采用MAP值作為推薦質(zhì)量的度量標(biāo)準(zhǔn)(MAP=1-MAE).
表1 NF5M數(shù)據(jù)集的特點(diǎn)
Table 1 Characteristics of data set NF5M
NameofdatabaseNF5MNumberofusers472542Numberofitems5000Numberofratings5Timespent2001.01.08-2005.12.31
本小節(jié)分析了不同時(shí)間窗口劃分方式對(duì)推薦精度MAP值的影響,并與傳統(tǒng)ItemCF進(jìn)行比較.
圖3 不同單位的時(shí)間窗口劃分Fig.3 Partition time windows in different units
實(shí)驗(yàn)統(tǒng)計(jì),以天為單位,每部電影平均有503天存在評(píng)分;以周為單位,每部電影平均有126周存在評(píng)分;以月為單位,每部電影平均有36個(gè)月存在評(píng)分.單位不同,導(dǎo)致評(píng)分序列時(shí)間窗口劃分的數(shù)量也不同.圖3(a)中,由于評(píng)分個(gè)數(shù)較多,較難滿足劃分條件.圖3(b)中時(shí)間窗口數(shù)達(dá)到45,能較好滿足時(shí)間窗口劃分的條件.圖3(c)中時(shí)間窗口數(shù)雖占評(píng)分個(gè)數(shù)的1/2,但時(shí)間窗口數(shù)量較少.時(shí)間窗口數(shù)越少,劃分方式就越多,因此,以不同單位劃分時(shí)間窗口對(duì)窗口數(shù)有很大的影響.為了使相似度更加準(zhǔn)確,選擇同一時(shí)間窗口數(shù)中項(xiàng)目之間對(duì)應(yīng)時(shí)間窗口的最小距離作為衡量項(xiàng)目相似的基礎(chǔ).
圖4 不同單位的MAP值Fig.4 MAP in different units
圖4中,本文TWDS算法以不同單位劃分時(shí)間窗口,并與傳統(tǒng)ItemCF算法對(duì)比MAP值.圖4(a)中,隨時(shí)間窗口數(shù)的增加,MAP值也隨之提高.當(dāng)窗口數(shù)為9時(shí),MAP值達(dá)到最高值0.179,比傳統(tǒng)ItemCF算法高0.007.圖4(b)中,當(dāng)窗口數(shù)多于15時(shí),MAP值均高于傳統(tǒng)ItemCF算法,當(dāng)窗口數(shù)為30時(shí),MAP值達(dá)到0.238.圖4(c)中,當(dāng)窗口數(shù)多于8時(shí),MAP值在0.172上下波動(dòng),與ItemCF算法相差不大.因?yàn)?時(shí)間窗口數(shù)占評(píng)分個(gè)數(shù)的比例較低時(shí),MAP值會(huì)較低,所以,時(shí)間窗口數(shù)較少時(shí),無(wú)法描述歷史不同階段評(píng)分的變化規(guī)律.例如,時(shí)間窗口數(shù)為2時(shí),MAP均低于0.08.因此,劃分時(shí)間窗口的個(gè)數(shù)對(duì)MAP的值有很大的影響,當(dāng)選擇合適的窗口數(shù)時(shí),本文算法的推薦精度均會(huì)高于傳統(tǒng)的協(xié)同過(guò)濾算法.
圖5 非模糊遞增值的MAP值Fig.5 MAP of un-FIRP in different units
圖5給出隨機(jī)權(quán)重與傳統(tǒng)ItemCF預(yù)測(cè)算法推薦精度MAP值的比較.圖5(a)中隨機(jī)權(quán)重推薦算法的精度最高為0.179,最低為0.169,與傳統(tǒng)ItemCF預(yù)測(cè)算法的MAP值相差不大.圖5(b)隨機(jī)權(quán)重的MAP值最高為0.189,最低為0.172,傳統(tǒng)ItemCF預(yù)測(cè)算法的MAP值0.179相差0.007.圖5(c)中隨機(jī)選取的權(quán)重MAP值在0.174上下波動(dòng),與傳統(tǒng)預(yù)測(cè)算法推薦精度差別較小.可以看出,隨機(jī)分配的權(quán)重與各時(shí)期評(píng)分權(quán)重相等的推薦效果相似.因此,本文算法與傳統(tǒng)ItemCF中預(yù)測(cè)算法在推薦效果上差別較小.
圖6 模糊遞增值的MAP值Fig.6 MAP of FIRP in different units
ztMAP15[16/3,8)0.221±0.02220[7,21/2)0.228±0.02325[26/3,13)0.239±0.03230[31/3,31/2)0.251±0.03335[12,18)0.233±0.03140[41/3,41/2)0.225±0.023
圖7對(duì)本文FICF算法與文獻(xiàn)[10]TWCF算法、文獻(xiàn)[13]TSFCF算法和文獻(xiàn)[15]TCICF算法進(jìn)行了對(duì)比.文獻(xiàn)[10] TWCF算法認(rèn)為項(xiàng)目的評(píng)分規(guī)律符合嚴(yán)格遞增的規(guī)律,忽略了特殊事件的發(fā)生,其MAP的平均值和最大值分別為0.229和0.235;文獻(xiàn)[13] TSFCF算法主要使用時(shí)間序列模型,通過(guò)最后的事件反饋修正預(yù)測(cè)值,忽略了歷史各時(shí)期的評(píng)分規(guī)律,其MAP的平均值和最大值分別為0.239和0.271;文獻(xiàn)[15] TCICF算法通過(guò)利用了艾賓浩斯的遺忘曲線規(guī)律,判斷用戶興趣的遺忘趨勢(shì),但忽略特殊時(shí)期的波動(dòng)性,其MAP的平均值和最大值分別為0.242和0.267;而本文中FICF算法的平均和最高M(jìn)AP值分別為0.251和0.284,均高于其它三種算法.顯然,本文FICF算法能更好的把握項(xiàng)目評(píng)分隨時(shí)間推薦的變化趨勢(shì),及為用戶提供更精確的推薦列表.
圖7 不同推薦算法的MAP值Fig.7 MAP in different recommended algorithms
本文針對(duì)傳統(tǒng)協(xié)同過(guò)濾數(shù)據(jù)的靜態(tài)性,提出了一種權(quán)重遞增的協(xié)同過(guò)濾算法.在Top-K近鄰的查找階段,利用項(xiàng)目評(píng)分的時(shí)間屬性提出了一種時(shí)間窗口的相似性分析算法;在預(yù)測(cè)階段,假設(shè)權(quán)重序列符合模糊遞增的規(guī)律,并通過(guò)兩階段進(jìn)行求解.與以往文獻(xiàn)相比,本文更加注重項(xiàng)目評(píng)分的時(shí)序性以及項(xiàng)目評(píng)分隨時(shí)間推移的變化趨勢(shì).多組實(shí)驗(yàn)表明,本文算法能更有效的捕捉項(xiàng)目評(píng)分的變化規(guī)律,為用戶提供更精準(zhǔn)的產(chǎn)品參考.
[1] Jiang S,Qian X,Shen J,et al.Author topic model-based collaborative filtering for personalized POI recommendations[J].IEEE Transactions on Multimedia,2015,17(6):907-918.
[2] Zou J,Fekri F.A belief propagation approach to privacy-preserving item-based collaborative filtering[J].IEEE Journal of Selected Topics in Signal Processing,2015,9(7):1306-1318.
[3] Yang H,Ling G,Su Y,et al.Boosting response aware model-based collaborative filtering[J].Knowledge & Data Engineering IEEE Transactions on,2015,27(8):2064-2077.
[4] Liu Y,Xu Z,Shi B,et al.Time-based k-nearest neighbor collaborative filtering[C].IEEE,International Conference on Computer and Information Technology,2012:1061-1065.
[5] Liang X,Quan Y,Shiwan Z.Temporal recommendation on graphs via long- and short-term preference fusion[C].ACM SIGKDD International Conference on Knowledge Discovery & Data Mining,New York,USA,2010:723-732.
[6] Yan Y,Long Y.Notice of retraction collaborative filtering based on time division[C].IEEE International Conference on Computer Science and Information Technology.IEEE,2010:312-316.
[7] Gu Yi-ran,Chen Min.One Tag Time-weighted recommend approach on tripartite graphs networks[J].Computer Science,2012,
39(8):96-98.
[8] Gultekin S,Paisley J.A collaborative kalman filter for time-evolving dyadic processes[C].IEEE International Conference on Data Mining,Shenzhen,China,2014:140-149.
[9] Adibi P,Ladani B T.A collaborative filtering recommender system based on user′s time pattern activity[C].Information and Knowledge Technology,2013:252-257.
[10] Ding Y,Li X.Time weight collaborative filtering[C].ACM CIKM International Conference on Information and Knowledge Management,Bremen,Germany,October 31 - November,2005:485-492.
[11] KOREN Y.Collaborative filtering with temporal dynamics[C].ACM SIGKDD International Conference on Knowledge Discovery & Data Mining,New York,USA,2009:89-97.
[12] An X,Su N.A dynamic filtering recommendation algorithm based on topic[C].International Conference on Electronic and Mechanical Engineering and Information Technology.IEEE,2011:3959-3962.
[13] Hu Y,Peng Q,Hu X,et al.Web service recommendation based on time series forecasting and collaborative filtering[C].IEEE International Conference on Web Services.IEEE,2015:233-240.
[14] Zhao J,Yu X,Sun J.TDCF:time distribution collaborative filtering algorithm[C].International Symposium on Information Science and Engineering.IEEE,2008:98-101.
[15] Jin X,Zheng Q,Sun L.An optimization of collaborative filtering personalized recommendation algorithm based on time context information[J].Advances in Information & Communication Technology,2015,449:146-155.
[16] Li B,Zhu X,Li R,et al.Rating knowledge sharing in cross-domain collaborative filtering[J].IEEE Transactions on Cybernetics,2014,45(5):1054-1068.
[17] Xiao Y,Peng Q A I,Hsu C H,et al.Time-ordered collaborative filtering for news recommendation[J].Communications China,2015,12(12):53-62.
[18] Hu Y,Peng Q,Hu X,et al.Time aware and data sparsity tolerant web service recommendation based on improved collaborative filtering[J].IEEE Transactions on Services Computing,2015,8(5)782-794.
[19] Rafailidis D,Nanopoulos A.Modeling users preference dynamics and side information in recommender systems[J].IEEE Transactions on Systems Man & Cybernetics Systems,2016,46(6)782-792.
[20] Sun Guang-fu,Wu Le,Liu Qi,et al.Recommendations based on collaborative filtering by exploiting sequential behaviors[J].Journal of software,2013,24(11):2721-2733.
[21] Li YL,Shao W,You L,et al.An improved PSO algorithm and its application to UWB antenna design[J].IEEE Antennas and Wireless Propagation Letters,2013,12(3):1236-1239.
附中文參考文獻(xiàn):
[7] 顧亦然,陳 敏.一種三部圖網(wǎng)絡(luò)中標(biāo)簽時(shí)間加權(quán)的推薦方法[J].計(jì)算機(jī)科學(xué),2012,39(8):96-98.
[20] 孫光福,吳 樂(lè),劉 淇,等.基于時(shí)序行為的協(xié)同過(guò)濾推薦算法[J].軟件學(xué)報(bào),2013,24(11):2721-2733.