石 磊,丁 鑫,陶永才,衛(wèi) 琳
1(鄭州大學(xué) 信息工程學(xué)院,鄭州 450001) 2(鄭州大學(xué) 軟件技術(shù)學(xué)院,鄭州 450002)
異構(gòu)信息網(wǎng)絡(luò)是指包含多種類(lèi)型實(shí)體及其相互作用關(guān)系的網(wǎng)絡(luò)[1].近年來(lái),學(xué)者們逐步認(rèn)識(shí)到異構(gòu)信息網(wǎng)絡(luò)能夠更好地模擬現(xiàn)實(shí)世界的系統(tǒng),基于異構(gòu)信息網(wǎng)絡(luò)的推薦系統(tǒng)研究逐漸成為熱點(diǎn)[1].
近年來(lái),利用元路徑在異構(gòu)信息網(wǎng)絡(luò)中進(jìn)行推薦得到廣泛關(guān)注[13].元路徑通過(guò)將異構(gòu)信息網(wǎng)絡(luò)中不同類(lèi)型的對(duì)象進(jìn)行組合來(lái)表達(dá)不同語(yǔ)義,因此元路徑是解決異構(gòu)網(wǎng)絡(luò)相關(guān)問(wèn)題的有效途徑.但目前基于元路徑的推薦算法多基于用戶(hù)興趣不變的假設(shè),沒(méi)有考慮用戶(hù)興趣漂移的問(wèn)題.
興趣漂移是指用戶(hù)的興趣由于受到各種因素的影響而發(fā)生變化.例如一位學(xué)生可能喜歡娛樂(lè)新聞,但是隨著年紀(jì)的增長(zhǎng)可能對(duì)社會(huì)或財(cái)經(jīng)新聞更感興趣.只有準(zhǔn)確掌握用戶(hù)的興趣變化,推薦系統(tǒng)才能為用戶(hù)提供更符合用戶(hù)喜好的個(gè)性化推薦.一些學(xué)者認(rèn)為可以根據(jù)用戶(hù)訪(fǎng)問(wèn)項(xiàng)目的時(shí)間信息對(duì)項(xiàng)目加權(quán)來(lái)表示用戶(hù)興趣的改變[6].但在實(shí)際生活中,用戶(hù)最近訪(fǎng)問(wèn)的項(xiàng)目并不一定能代表用戶(hù)近段時(shí)間的興趣偏好.例如用戶(hù)雖然最近觀看了冒險(xiǎn)類(lèi)型的電影,但他可能對(duì)很久之前觀看的一部喜劇類(lèi)型的電影更感興趣.還有一些學(xué)者認(rèn)為可以根據(jù)用戶(hù)選擇項(xiàng)目的內(nèi)容信息表示用戶(hù)的興趣[14],然而很多情況下僅利用項(xiàng)目的內(nèi)容信息不能很好地區(qū)分兩個(gè)項(xiàng)目所屬的類(lèi)別.例如某兩部電影雖然均為科幻片,但其導(dǎo)演、演員、觀看群眾均不同,如果用這樣的兩部電影表示同一個(gè)興趣特征,則不能靈敏地捕捉用戶(hù)的興趣變化.基于此,本文使用項(xiàng)目的內(nèi)容信息以及協(xié)同信息共同描述用戶(hù)興趣漂移,同時(shí)為了降低數(shù)據(jù)稀疏性對(duì)推薦結(jié)果準(zhǔn)確性的影響,引入元路徑來(lái)描述異構(gòu)信息網(wǎng)絡(luò)中不同類(lèi)型節(jié)點(diǎn)間的關(guān)聯(lián)關(guān)系,尋找與用戶(hù)有較大關(guān)聯(lián)度的項(xiàng)目做為用戶(hù)的推薦結(jié)果.
異構(gòu)信息網(wǎng)絡(luò)的出現(xiàn),為推薦系統(tǒng)提供了新的機(jī)遇[2,11].文獻(xiàn)[2]考慮不同類(lèi)型實(shí)體之間的影響強(qiáng)度,提高推薦精度.文獻(xiàn)[11]根據(jù)標(biāo)簽數(shù)據(jù)中不同類(lèi)型對(duì)象構(gòu)建異構(gòu)網(wǎng)絡(luò)模型,基于該模型進(jìn)行標(biāo)簽推薦.基于異構(gòu)網(wǎng)絡(luò)的推薦模型最重要的是要明確不同類(lèi)型實(shí)體之間的影響強(qiáng)度.
基于元路徑的方法是解決異構(gòu)網(wǎng)絡(luò)相關(guān)問(wèn)題的一種有效途徑,元路徑通過(guò)將異構(gòu)網(wǎng)絡(luò)中不同類(lèi)型的對(duì)象進(jìn)行組合并計(jì)算首尾節(jié)點(diǎn)的關(guān)聯(lián)度為用戶(hù)進(jìn)行推薦.Huang等人[3]通過(guò)計(jì)算不同對(duì)象在不同元路徑上建立連接的概率來(lái)進(jìn)行鏈路預(yù)測(cè),實(shí)驗(yàn)表明利用元路徑區(qū)分不同類(lèi)型的節(jié)點(diǎn)和邊可以顯著提升預(yù)測(cè)精度.Yang等人[12]引入元路徑的同時(shí),利用監(jiān)督學(xué)習(xí)的方法獲得元路徑的權(quán)重,最終根據(jù)不同元路徑上用戶(hù)間關(guān)聯(lián)程度為用戶(hù)生成好友推薦列表,較基于共同好友數(shù)量的好友推薦算法,推薦準(zhǔn)確率提高了約14%.Cao等人[13]利用元路徑特征值度量首尾節(jié)點(diǎn)的關(guān)聯(lián)度,利用監(jiān)督學(xué)習(xí)方法獲得各特征的權(quán)值,為用戶(hù)生成興趣點(diǎn)推薦列表,較傳統(tǒng)推薦算法獲得了更好的推薦效果.文獻(xiàn)[4]在每個(gè)元路徑下采用基于協(xié)同過(guò)濾的非負(fù)矩陣分解計(jì)算元路徑的特征值為用戶(hù)生成個(gè)性化的電影列表.文獻(xiàn)[5]提出一種基于主題模型的元路徑方法進(jìn)行引文推薦,對(duì)新發(fā)表的論文以及非權(quán)威性論文有較好的推薦效果,有效緩解了引文數(shù)據(jù)庫(kù)數(shù)據(jù)稀疏問(wèn)題.
用戶(hù)興趣漂移問(wèn)題是推薦系統(tǒng)的研究熱點(diǎn),一些研究利用用戶(hù)訪(fǎng)問(wèn)項(xiàng)目的時(shí)間信息為項(xiàng)目分配權(quán)重,以此來(lái)反映用戶(hù)興趣的變化.文獻(xiàn)[6]認(rèn)為用戶(hù)最近評(píng)價(jià)的項(xiàng)目對(duì)預(yù)測(cè)用戶(hù)未來(lái)的行為影響更大,根據(jù)用戶(hù)的行為引入個(gè)性化衰減因子計(jì)算不同項(xiàng)目的時(shí)間權(quán)重,過(guò)時(shí)的數(shù)據(jù)獲得較低的權(quán)重.文獻(xiàn)[7]引入時(shí)間因子,根據(jù)時(shí)間加權(quán)函數(shù)選擇鄰居用戶(hù)來(lái)提升傳統(tǒng)協(xié)同過(guò)濾算法的推薦準(zhǔn)確度.盡管上述研究較傳統(tǒng)推薦算法都取得了較好的推薦效果,但是僅依靠時(shí)間因素捕捉用戶(hù)興趣漂移是不夠的.一些學(xué)者提出利用用戶(hù)訪(fǎng)問(wèn)的項(xiàng)目?jī)?nèi)容信息表示不同的興趣特征.文獻(xiàn)[14]首先對(duì)影評(píng)進(jìn)行關(guān)鍵詞抽取和詞向量構(gòu)建,然后基于長(zhǎng)短期興趣漂移模型,統(tǒng)計(jì)用戶(hù)對(duì)不同內(nèi)容屬性的偏好權(quán)重,緩解了用戶(hù)興趣隨時(shí)間漂移而變化的問(wèn)題.文獻(xiàn)[15]引入位置上下文信息,使用聚類(lèi)算法獲取用戶(hù)在當(dāng)前位置的長(zhǎng)、短期閱讀興趣,針對(duì)長(zhǎng)短期興趣采用不同的推薦算法為用戶(hù)推薦新聞,使用戶(hù)有更好的閱讀體驗(yàn).文獻(xiàn)[8]則利用微博主題模型狄利克雷分配對(duì)用戶(hù)微博進(jìn)行研究,建立用戶(hù)個(gè)體動(dòng)態(tài)興趣模型.實(shí)現(xiàn)微博動(dòng)態(tài)個(gè)性化推薦.
本文提出一種檢測(cè)興趣漂移的元路徑推薦模型,該模型由三部分組成:1)根據(jù)興趣漂移檢測(cè)算法構(gòu)建用戶(hù)的興趣索引,根據(jù)興趣索引為某一興趣中的項(xiàng)目加權(quán),通過(guò)權(quán)重值來(lái)表示用戶(hù)興趣的變化;2)構(gòu)建帶權(quán)用戶(hù)-項(xiàng)目異構(gòu)圖;3)在用戶(hù)-項(xiàng)目異構(gòu)圖中采用基于元路徑的算法為用戶(hù)生成推薦結(jié)果.該模型框架如圖1所示.
圖1 檢測(cè)興趣漂移的元路徑推薦模型框架Fig.1 Meta-path recommendation algorithm framework with detecting interest drift
本文定義U={u1,u2,…,ui,…,un}為用戶(hù)集合,其中ui為數(shù)據(jù)集中的用戶(hù).用戶(hù)的某一興趣I用一組相似項(xiàng)的集合{p1,p2,…,pi,…,pn}來(lái)表示,其中pi為數(shù)據(jù)集中的項(xiàng)目.用戶(hù)ui的興趣可以表示為Iui={I1,I2,…,Ii,…,In}.將一個(gè)興趣中最早訪(fǎng)問(wèn)的項(xiàng)p1稱(chēng)為該興趣的激活項(xiàng),最近訪(fǎng)問(wèn)項(xiàng)的時(shí)間稱(chēng)為該興趣的持續(xù)時(shí)間.將用戶(hù)的所有興趣按持續(xù)時(shí)間由近到遠(yuǎn)排序,排序后興趣Ii所在的位置稱(chēng)為興趣Ii的索引.
當(dāng)用戶(hù)訪(fǎng)問(wèn)的項(xiàng)目?jī)?nèi)容發(fā)生變化時(shí)則認(rèn)為用戶(hù)的興趣發(fā)生了漂移,但在很多情況下僅利用項(xiàng)目?jī)?nèi)容很難準(zhǔn)確判斷用戶(hù)興趣是否發(fā)生了漂移.例如用戶(hù)在一段時(shí)間內(nèi)先后觀看了兩部標(biāo)簽為“驚悚”的電影,僅依據(jù)項(xiàng)目?jī)?nèi)容判斷會(huì)認(rèn)為用戶(hù)的興趣并未發(fā)生改變,但實(shí)際上兩部電影的導(dǎo)演、演員、觀看人群以及觀眾評(píng)分均有很大差別,此時(shí)應(yīng)該認(rèn)為用戶(hù)對(duì)于電影某些方面的興趣發(fā)生了漂移.基于此,本文利用項(xiàng)目的內(nèi)容信息以及協(xié)同信息來(lái)判斷項(xiàng)目間的相似度,并以此來(lái)判斷用戶(hù)的興趣是否發(fā)生漂移.具體方法如下:
計(jì)算給定項(xiàng)目pi與某一興趣的激活項(xiàng)p1的內(nèi)容相似度.用tpi表示項(xiàng)目pi的標(biāo)簽,Sc(pi,p1)表示項(xiàng)目pi,p1的內(nèi)容相似度,采用文獻(xiàn)[8]中計(jì)算文本內(nèi)容相似度的方法,設(shè)計(jì)Sc(pi,p1)的計(jì)算方法如公式(1)所示.
(1)
計(jì)算項(xiàng)目pi與激活項(xiàng)p1的協(xié)同相似度.用upi表示訪(fǎng)問(wèn)過(guò)項(xiàng)目pi的用戶(hù),用upi∩up1表示同時(shí)訪(fǎng)問(wèn)過(guò)項(xiàng)目pi和項(xiàng)目p1的用戶(hù).用Sn(pi,p1)表示項(xiàng)目pi、p1的協(xié)同相似度,則其計(jì)算如公式(2)所示.
(2)
將內(nèi)容相似度和協(xié)同相似度映射到二維空間,定義相似度閾值r,以r為半徑做為以p1為激活項(xiàng)的興趣Ii的接收域,若pi在接收域內(nèi),則項(xiàng)目pi即屬于興趣Ii.興趣Ii接收域如圖2所示.利用歐式距離公式計(jì)算pi和p1的相似度,計(jì)算如公式(3)所示.
(3)
對(duì)用戶(hù)ui訪(fǎng)問(wèn)過(guò)的項(xiàng)目pj根據(jù)其所屬興趣的索引對(duì)pj進(jìn)行加權(quán),定義index(pj)為項(xiàng)目pj所屬興趣的索引,num(ui)為用戶(hù)ui的興趣個(gè)數(shù).權(quán)重計(jì)算如公式(4)所示.
w(ui,pj)=eindex(pj)-num(ui)
(4)
用戶(hù)興趣漂移檢測(cè)過(guò)程如算法1所示.
算法1.興趣漂移檢測(cè)算法
輸入:P,按照用戶(hù)訪(fǎng)問(wèn)時(shí)間排序的項(xiàng)目隊(duì)列;
r,興趣接受域閾值;
N,計(jì)劃推薦給用戶(hù)的項(xiàng)目數(shù).
輸出:項(xiàng)目所示興趣的索引.
1.foreach piin P
2.if(I is null)
3. initialize a new interest I[][];
4. put pito I[1][1];
5.else
6.for(I[i][1] in I)
7. flag=false;
8. min=1;
9.if(D(pi,I[i][1])<=r && (D(pi,I[i][1]) 10. min=D(pi,I[i][1]);//根據(jù)公式(3)計(jì)算 11. current_interest=I[i]; 12. flag=true; 13.endif 14.endfor 15.if(flag) 16. put pito current_interest; 17.else 18. put pito I[i+1][1]; 19. put I[i+1][1] to I; 20.endif 21.end 異構(gòu)圖是指存在不同類(lèi)型節(jié)點(diǎn)的圖,通常用三元組G={V,E,T}表示,其中V代表圖中的節(jié)點(diǎn),E代表異構(gòu)圖中的邊,T代表不同的節(jié)點(diǎn)類(lèi)型.圖3所示為用戶(hù)和推薦項(xiàng)目的異構(gòu)圖.本文構(gòu)建帶權(quán)的用戶(hù)-項(xiàng)目異構(gòu)圖,用四元組G={U,P,E,W}來(lái)表示,符號(hào)定義如下: U={u1,u2,…,un}表示用戶(hù)集合; P={p1,p2,…,pn}表示項(xiàng)目集合; E=Euu∪Epp∪Eup表示圖中所有類(lèi)型的邊的集合. Euu={(ui,uj)|ui,uj∈U},表示鄰居關(guān)系,將用戶(hù)的興趣分布以向量形式表示,例如ui={ui1,ui2,ui3,…,uin},則兩位用戶(hù)之間的相似度計(jì)算如公式(5)所示.若用戶(hù)ui和uj是鄰居關(guān)系,則ui和uj之間有邊連接. Epp={(pi,pj)|pi,pj∈P},表示項(xiàng)目之間的關(guān)系,若項(xiàng)目pi和項(xiàng)目pj同屬于某一用戶(hù)的一個(gè)興趣隊(duì)列,則項(xiàng)目pi和項(xiàng)目pj之間有邊連接. Eup={(ui,pj)|ui∈U,pj∈P}表示用戶(hù)與項(xiàng)目之間的關(guān)系,若用戶(hù)ui訪(fǎng)問(wèn)過(guò)項(xiàng)目pj,則ui和pj之間有邊連接. (5) W=Wuu∪Wpp∪Wup表示圖中各邊的權(quán)重集合. Wuu={w(ui,uj)|(ui,uj)∈Euu},若兩用戶(hù)間有邊連接,則將其相似度做為邊的權(quán)值. Wpp={w(pi,pj)|(pi,pj)∈Epp},根據(jù)項(xiàng)目之間的相似度為項(xiàng)目之間的邊賦權(quán)值,相似度利用其歐式距離度量,計(jì)算公式如公式(3)所示. Wup={w(ui,pj)|(ui,pj)∈Eup},為用戶(hù)和項(xiàng)目之間的權(quán)重,根據(jù)公式(4)計(jì)算. 圖3 推薦系統(tǒng)異構(gòu)圖Fig.3 Heterogeneous graph of recommendation system 元路徑通過(guò)將不同類(lèi)型的節(jié)點(diǎn)組合來(lái)描述異構(gòu)圖中任意兩節(jié)點(diǎn)間的不同路徑類(lèi)型.在異構(gòu)圖中元路徑定義為: 用Rel(R)表示一條元路徑R起始節(jié)點(diǎn)和終止節(jié)點(diǎn)的關(guān)聯(lián)度,則推薦問(wèn)題可以定義為對(duì)于節(jié)點(diǎn)vi,其中vi∈U,尋找與其有較大關(guān)聯(lián)度的節(jié)點(diǎn)vj,其中vj∈P,將vj推薦給vi. 由于長(zhǎng)度大于3的元路徑反映的關(guān)聯(lián)關(guān)系非常弱,所以本文只考慮長(zhǎng)度為2和3的元路徑.則以目標(biāo)用戶(hù)ui為起始節(jié)點(diǎn),以pj為終止節(jié)點(diǎn)的元路徑集R′及其所代表的意義如下所示: ui-P-pj:用戶(hù)可能對(duì)與已訪(fǎng)問(wèn)過(guò)的項(xiàng)目相似的項(xiàng)目感興趣.體現(xiàn)了基于項(xiàng)目的協(xié)同過(guò)濾. ui-U-pj:用戶(hù)可能對(duì)其好友喜歡的項(xiàng)目感興趣.體現(xiàn)了基于用戶(hù)的協(xié)同過(guò)濾思想. ui-U-P-pj:用戶(hù)可能喜歡與其好友喜歡的項(xiàng)目相似的項(xiàng)目. ui-P-U-pj:用戶(hù)可能對(duì)與其興趣相似的用戶(hù)喜歡的項(xiàng)目感興趣. ui-U-U-pj:用戶(hù)可能喜歡與其有相同好友的用戶(hù)喜歡的項(xiàng)目. ui-P-P-pj:用戶(hù)可能喜歡與其喜歡的項(xiàng)目有多層相 1數(shù)據(jù)集查載于GroupLens實(shí)驗(yàn)室網(wǎng)站:https://grouplens.org/datasets/movielens/ 似關(guān)系的項(xiàng)目. 對(duì)于每條元路徑R∈R′,其起始節(jié)點(diǎn)和終止節(jié)點(diǎn)的關(guān)聯(lián)度用Rel(R)表示,Rel(R)的計(jì)算如公式(6)所示. (6) 其中rel(r)代表按照R的一條實(shí)例路徑r由起始節(jié)點(diǎn)游走到終止節(jié)點(diǎn)的概率.基于隨機(jī)游走的思想認(rèn)為在實(shí)例路徑上的每一跳都是相互獨(dú)立的,因此按照實(shí)例路徑r由起始節(jié)點(diǎn)游走到終止節(jié)點(diǎn)的概率rel(r)的計(jì)算如公式(7)所示,其中v1=ui,vn=pj. (7) 本文定義由節(jié)點(diǎn)vi游走到vi+1的概率計(jì)算如公式(8)所示,vi+1為vi的相鄰節(jié)點(diǎn),且vi+1的節(jié)點(diǎn)類(lèi)型與元路徑中第i+1個(gè)節(jié)點(diǎn)類(lèi)型相同.neig(vi)表示所有與vi節(jié)點(diǎn)相鄰且節(jié)點(diǎn)類(lèi)型與vi+1相同的節(jié)點(diǎn)集合. (8) 根據(jù)用戶(hù)-項(xiàng)目之間的元路徑集C={R1,R2,R3,R4,R5,R6},任意用戶(hù)-項(xiàng)目對(duì)(ui,pj)都可以得到一組關(guān)聯(lián)度集合表示為α={Rel(R1),Rel(R2),…,Rel(R6)}.則用戶(hù)ui訪(fǎng)問(wèn)項(xiàng)目pj的概率如公式(9)所示,其中θ={1,1,1,1,1,1}T. (9) 對(duì)用戶(hù)ui推薦過(guò)程如算法2 所示. 算法2.元路徑推薦算法 輸入:C,元路徑集;G,異構(gòu)圖;ui,目標(biāo)用戶(hù). 輸出:Lr,目標(biāo)用戶(hù)的推薦列表. 1. initialize list result_list; 2.foreach p in P 3.foreach ci in C 4. Relci=0; 5.foreach r in ci 6. rel_r=calcute rel(r);//由公式(7)計(jì)算 7. Relci+=rel_r; 8.endfor 9. ɑ[i++]=Relci; 10.endfor 11. pro(p)=eɑθ/(eɑθ+1);//由公式(9)計(jì)算 12. put p to result_list; 13.endfor 14. make the top-N result_list as Lr; 15.end MovieLens[10]是一個(gè)向用戶(hù)推薦電影的推薦系統(tǒng)實(shí)驗(yàn)性站點(diǎn).本文采用MovieLens數(shù)據(jù)集1.數(shù)據(jù)集共包含三個(gè)文件,分別記錄用戶(hù)信息、電影信息和用戶(hù)評(píng)分信息.數(shù)據(jù)集中記錄了從1995年1月9日至2016年10月16日間671位用戶(hù)對(duì)9125部影片約100004條評(píng)分信息,評(píng)分信息包括用戶(hù)ID、電影ID、用戶(hù)評(píng)分和時(shí)間信息等數(shù)據(jù)項(xiàng). 準(zhǔn)確率和召回率是TOP-N推薦的重要評(píng)價(jià)標(biāo)準(zhǔn).在電影推薦中,準(zhǔn)確率表示在推薦給用戶(hù)的項(xiàng)目中,用戶(hù)評(píng)分的項(xiàng)目占推薦數(shù)量的比例.召回率是用戶(hù)評(píng)分的影片中被推薦影片所占的比率.上述兩個(gè)指標(biāo)的調(diào)和平均值F值越高,則表明推薦算法的推薦效果越好.本文利用F值來(lái)度量個(gè)體推薦結(jié)果的準(zhǔn)確度.對(duì)于用戶(hù)u,令Ru作為算法推薦的結(jié)果集合,Tu作為測(cè)試集中用戶(hù)u訪(fǎng)問(wèn)的項(xiàng)目的集合,其推薦準(zhǔn)確率P、召回率R、以及F值的計(jì)算分別如公式(10)至公式(12)所示. (10) (11) (12) 另外,為了進(jìn)一步衡量推薦效果的精確度,對(duì)推薦列表中用戶(hù)評(píng)分的項(xiàng)目采用平均誤差MAE(Mean Absolute Error)來(lái)計(jì)算數(shù)據(jù)集中用戶(hù)實(shí)際評(píng)分與預(yù)測(cè)評(píng)分的差別.MAE的值越小,說(shuō)明推薦結(jié)果與實(shí)際結(jié)果誤差越小,即推薦準(zhǔn)確率越高.MovieLens數(shù)據(jù)集中評(píng)分采用5分制,因此將算法預(yù)測(cè)的訪(fǎng)問(wèn)概率乘以5作為目標(biāo)用戶(hù)對(duì)該影片的預(yù)測(cè)評(píng)分.假設(shè)預(yù)測(cè)的目標(biāo)用戶(hù)評(píng)分集合為{p1,p2,p3,…,pN},對(duì)應(yīng)項(xiàng)目的實(shí)際評(píng)分集合為{r1,r2,r3,…,rN},則MAE的計(jì)算如公式(13)所示. (13) 實(shí)驗(yàn)構(gòu)造四個(gè)訓(xùn)練集與測(cè)試集對(duì),第一個(gè)數(shù)據(jù)對(duì)將數(shù)據(jù)集按5∶5的比例劃分為訓(xùn)練集和測(cè)試集;第二個(gè)數(shù)據(jù)對(duì)和第三個(gè)數(shù)據(jù)對(duì)分別按照6∶4的比例和7∶3的比例;最后一個(gè)數(shù)據(jù)對(duì)則按照8∶2的比例進(jìn)行劃分. 實(shí)驗(yàn)內(nèi)容設(shè)置如下: 1)比較不同的接收域半徑對(duì)推薦效果的影響; 2)不同的推薦算法比較. 4.3.1 接收域半徑 接收域半徑的大小控制著興趣范圍,對(duì)捕捉用戶(hù)興趣漂移有極大的影響,接收域過(guò)大時(shí),對(duì)用戶(hù)的興趣漂移不敏感.當(dāng)接收域半徑為0時(shí),本算法退化為一個(gè)時(shí)間加權(quán)算法,此時(shí),用戶(hù)的興趣可以由他近期評(píng)分的項(xiàng)目特征反映.表1顯示了不同的接收域半徑對(duì)推薦準(zhǔn)確率和召回率的影響,其結(jié)果用F值表示. 由表1可以看出,訓(xùn)練集從50%調(diào)整到80%的過(guò)程中,最優(yōu)r值保持在0.4到0.7之間.當(dāng)訓(xùn)練集達(dá)到80%,接收域設(shè)為0.4時(shí),推薦準(zhǔn)確率最優(yōu). 表2為訓(xùn)練集為80%,r取0.4時(shí)UserID為1的用戶(hù)興趣漂移檢測(cè)結(jié)果.由表2可以看出,盡管興趣2和興趣5代表的電影風(fēng)格相同,但是根據(jù)其協(xié)同信息的差別依然被分到不同的興趣中.而通過(guò)實(shí)際觀察發(fā)現(xiàn)興趣2中的電影均為90年代的電影,而興趣5中的電影為40年代的影片,二者的評(píng)分也相差很多,這些不同使得兩類(lèi)影片有不同的觀眾群體,因此被分到兩個(gè)不同的興趣隊(duì)列. 表1 不同接收域半徑r的F值實(shí)驗(yàn)結(jié)果 r5:56:47:38:20.30.3280.3940.4180.4530.40.3340.4270.4370.4760.50.3860.4350.4510.4560.60.4030.3720.4220.4240.70.3670.3640.3870.398 4.3.2 不同推薦算法的對(duì)比 為了驗(yàn)證算法的有效性,本文選擇和基于圖結(jié)構(gòu)的推薦算法ItemRank[9]和文獻(xiàn)[16]中提出的BPIR算法進(jìn)行比較.本文選擇每個(gè)算法的最優(yōu)參數(shù)進(jìn)行比較.將ItemRank算法中的衰減因子α設(shè)置為0.01,BPIR算法的重啟動(dòng)概率設(shè)為0.99.實(shí)驗(yàn)準(zhǔn)確率對(duì)比如圖4所示. 表2 當(dāng)r=0.4時(shí),用戶(hù)1的興趣漂移檢測(cè)結(jié)果 興趣索引興趣激活項(xiàng)Movie_IDGenre113391339,1061,1343Thriller214051405,2294Animation|Children321051371,2105,1129,2193Adventure|Sci-Fi4129331,1172,1293,1263Drama510291029Animation|Children629682968,2150,3671Adventure|Comedy 圖4 不同推薦算法準(zhǔn)確率對(duì)比Fig.4 Precise comparison of different recommendation algorithms 由圖4可以看出,本文提出的檢測(cè)用戶(hù)興趣漂移的推薦算法在準(zhǔn)確率上較之ItemRank算法及BPIR算法有明顯提高.其F值較ItemRank算法提高了8.1%,較BPIR算法提高了1.39%.為進(jìn)一步驗(yàn)證本文提出的推薦算法的有效性,將推薦列表中系統(tǒng)預(yù)測(cè)評(píng)分與用戶(hù)測(cè)試集中的評(píng)分進(jìn)行比較,用MAE來(lái)表示二者的差異,實(shí)驗(yàn)結(jié)果如圖5所示. 圖5 不同推薦算法MAE對(duì)比Fig.5 MAE comparison of different recommendation algorithms 由圖5可以看出,本文提出的算法在準(zhǔn)確度提高上不明顯,較BPIR算法提高了3.02%.但對(duì)推薦結(jié)果評(píng)分的擬合度上優(yōu)于BPIR算法.雖然元路徑算法和BPIR算法中采用的隨機(jī)游走算法相比復(fù)雜度較高,但引入元路徑描述用戶(hù)與興趣點(diǎn)之間的關(guān)聯(lián)性有效地緩解了數(shù)據(jù)稀疏性問(wèn)題,提高了推薦結(jié)果準(zhǔn)確度. 本文針對(duì)異構(gòu)信息網(wǎng)絡(luò)中用戶(hù)興趣漂移問(wèn)題提出了一種考慮用戶(hù)興趣漂移的元路徑推薦模型,模型首先使用項(xiàng)目的內(nèi)容信息以及項(xiàng)目的協(xié)同信息來(lái)表示用戶(hù)的興趣特征,以此來(lái)捕捉用戶(hù)興趣變化;其次引入元路徑描述不同類(lèi)型節(jié)點(diǎn)間的關(guān)聯(lián)性,計(jì)算用戶(hù)訪(fǎng)問(wèn)各項(xiàng)目的概率為用戶(hù)生成推薦列表.在MovieLens數(shù)據(jù)集上的實(shí)驗(yàn)驗(yàn)證了算法的有效性,較BPIR算法,本文提出的算法推薦準(zhǔn)確度提高了3.02%.接下來(lái)將進(jìn)一步研究用戶(hù)興趣漂移問(wèn)題,預(yù)測(cè)用戶(hù)興趣漂移發(fā)生的時(shí)間,同時(shí)對(duì)推薦算法進(jìn)行優(yōu)化,降低算法復(fù)雜度,提高推薦效率.3.2 構(gòu)建帶權(quán)用戶(hù)-項(xiàng)目異構(gòu)圖
3.3 基于元路徑的推薦
4 實(shí) 驗(yàn)
4.1 實(shí)驗(yàn)數(shù)據(jù)集
4.2 算法評(píng)價(jià)標(biāo)準(zhǔn)
4.3 實(shí)驗(yàn)方案
Table 1 Result of F value with different r
Table 2 Interest_drift_detection results for user 1 with r=0.45 總結(jié)與展望