5)
[0077] 式中,KNN(j)表示項(xiàng)目j的K個(gè)最近鄰居項(xiàng)目集合,其中K為設(shè)定值。最近鄰居 選取為與項(xiàng)目j的相似度s]k最高的K個(gè)項(xiàng)目,其中相似度s ]k使用cosin相似度并基于用 戶對(duì)項(xiàng)目的評(píng)分信息來(lái)計(jì)算:
[0079] 式中,rvj為用戶V對(duì)項(xiàng)目j的評(píng)分;r vk為用戶V對(duì)項(xiàng)目k的評(píng)分;k表示項(xiàng)目,且 k e Vio
[0080] 據(jù)此,考慮用戶u的所有鄰居項(xiàng)目j與鄰居項(xiàng)目j的所有鄰居用戶V,因此,目標(biāo)用 戶U對(duì)項(xiàng)目i的得分即從用戶U傳播到項(xiàng)目i的資源總數(shù)4為:
[0082] 式中,pu]為用戶u傳播到其鄰居項(xiàng)目j的傳播概率,p ]v為項(xiàng)目j傳播到其鄰居用 戶V的傳播概率,Pvi為用戶V傳播到其鄰居項(xiàng)目i的傳播概率,P m、Pp與P vi均使用公式 (2)計(jì)算。cu]為用戶u傳播到其鄰居項(xiàng)目j的傳播損耗,c u]使用公式(3)計(jì)算。c ]v為項(xiàng) 目j傳播到其鄰居用戶V的傳播損耗,c]v使用公式(4)計(jì)算。c V1為用戶V傳播到其鄰居 項(xiàng)目i的傳播損耗,cvl使用公式(5)計(jì)算。
[0083] 圖1描述了用戶-項(xiàng)目二部圖G中資源通過(guò)一條路徑從用戶U傳播到項(xiàng)目i的過(guò) 程,項(xiàng)目i的最終資源為通過(guò)所有路徑傳播得到的資源。
[0084] 步驟三:推薦項(xiàng)目。
[0085] 將步驟二中目標(biāo)用戶的資源經(jīng)過(guò)三步傳播后得到資源的項(xiàng)目,按照最終得分匕 (即被傳播到的資源數(shù))進(jìn)項(xiàng)降序排序,然后推薦其中最前面的N個(gè)項(xiàng)目給用戶。其中推薦 項(xiàng)目個(gè)數(shù)N為設(shè)定值。
[0086] 下面通過(guò)一個(gè)具體實(shí)例,對(duì)本發(fā)明進(jìn)行進(jìn)一步說(shuō)明:
[0087] 設(shè)U為用戶集合;I為項(xiàng)目集合;U(i)表示評(píng)論過(guò)項(xiàng)目U的用戶;I(U)表示用戶U 評(píng)論過(guò)的項(xiàng)目;S表示項(xiàng)目-項(xiàng)目相似度矩陣;R表示得分預(yù)測(cè)結(jié)果,其中4表示預(yù)測(cè)目標(biāo) 用戶u對(duì)項(xiàng)目i的得分;N為推薦項(xiàng)目個(gè)數(shù);L為給所有用戶的推薦列表。
[0088] 第一步:根據(jù)歷史評(píng)分?jǐn)?shù)據(jù)構(gòu)建用戶-項(xiàng)目二部圖G ;
[0089] 第二步:根據(jù)二部圖G計(jì)算項(xiàng)目-項(xiàng)目相似度矩陣S ;
[0090] 第三步:根據(jù)G和S計(jì)算項(xiàng)目-項(xiàng)目傳播矩陣T,具體如下:
[0091] FOR each i in I:
[0092] FOR each v in U (i):
[0093] FOR each j in I (v):
[0094] tlS+ = PlvPvjClvCvj;
[0095] 第四步:為每個(gè)用戶預(yù)測(cè)項(xiàng)目的得分,具體如下:
[0096] FOR each u in U:
[0097] FOR each i in I:
[0098] FOR each j in I (u):
[0099] L+ = PulCJn
[0100] 第五步:為每個(gè)用戶U從R(u)中選擇得分最大的N個(gè)未評(píng)論過(guò)的項(xiàng)目添加到 L(U) 〇
[0101] 下面結(jié)合真實(shí)數(shù)據(jù)集進(jìn)一步詳細(xì)描述。
[0102] 數(shù)據(jù)集為MovieLens IM與Netflix Prize。每個(gè)數(shù)據(jù)集都包含了用戶對(duì)電影的評(píng) 分信息,評(píng)分為1-5分。下表描述了兩個(gè)數(shù)據(jù)集的詳細(xì)信息:
[0104] 對(duì)每個(gè)數(shù)據(jù)集,隨機(jī)選取其中的20%作為測(cè)試集,剩余的80%作為訓(xùn)練集。首 先,分別應(yīng)用五種不同的推薦算法分別為測(cè)試集中的每個(gè)用戶預(yù)測(cè)未評(píng)論過(guò)電影的得分, 五種算法分別為:基于用戶的協(xié)同過(guò)濾(UB)、基于用戶的最近鄰協(xié)同過(guò)濾(UBKNN)、矩陣分 解(SVD++)、概率傳播模型(ProbS)、本發(fā)明的面向多樣性的概率傳播模型(iProbS)。其 中,對(duì)于UBKNN,設(shè)置鄰居個(gè)數(shù)為50 ;對(duì)于SVD++并設(shè)置因子個(gè)數(shù)為50 ;對(duì)于本發(fā)明模型, 在MovieLens上設(shè)置鄰居個(gè)數(shù)K為50而在Netflix上設(shè)置鄰居個(gè)數(shù)K為5。其次,根據(jù) 預(yù)測(cè)的得分,依次按照不同的推薦列表長(zhǎng)度(從1-50)為用戶推薦電影。最后,使用一種 精確度評(píng)價(jià)指標(biāo)與三種多樣性評(píng)價(jià)指標(biāo)對(duì)推薦的結(jié)果進(jìn)行評(píng)價(jià),評(píng)價(jià)指標(biāo)分別為:準(zhǔn)確率 (Precision)、整體多樣性(Aggr)、個(gè)體多樣性(ILS)、銷(xiāo)售平衡(Gini系數(shù))。
[0105] 準(zhǔn)確率計(jì)算為:
其中,Ut表示測(cè)試集中所有用戶的集 合;Lu表示為用戶u推薦的項(xiàng)目集合;rul為測(cè)試集中用戶u對(duì)項(xiàng)目i的評(píng)分。N表示為每 個(gè)用戶推薦的項(xiàng)目個(gè)數(shù)即推薦列表的長(zhǎng)度。;
[0106] 整體多樣性計(jì)算為:
高的Aggr值表示高的整體多樣性;
[0107] 銷(xiāo)售平衡計(jì)算為:
其中η表示項(xiàng)目總數(shù),n(i)表示項(xiàng) 目i被推薦給不同用戶的次數(shù),這里使用改進(jìn)的Gini系數(shù)使得高的Gini值表示高的銷(xiāo)售 平衡;
[0108] 個(gè)體多樣性計(jì)算為:
其中,Slj表示訓(xùn)練集中項(xiàng) 目i與項(xiàng)目j的相似度,這里使用cosin相似度并使用項(xiàng)目的評(píng)分信息來(lái)計(jì)算。高的ILS 值意味著低的個(gè)體多樣性。
[0109] 下表描述了各個(gè)算法推薦結(jié)果的整體多樣性Aggr表現(xiàn)性能。從表中可以看出, 本發(fā)明模型(iProbS)在整體多樣性性能上遠(yuǎn)遠(yuǎn)優(yōu)于其他幾種推薦算法,說(shuō)明本發(fā)明模型 具有重要的實(shí)際應(yīng)用意義。例如,在MovieLens數(shù)據(jù)集中推薦列表長(zhǎng)度為10(N= 10)時(shí), iProbS的整體多樣性為2373,而ProbS僅僅只有109,其他三種算法中表現(xiàn)最好的UBKNN也 僅有587。MovieLens數(shù)據(jù)集中電影的總數(shù)為3706,意味著在為每個(gè)用戶推薦10個(gè)電影時(shí), iProbS能將64%的電影推薦出去,而算法UB、UBKNN、SVD++、ProbS分別只能推薦I. 9%、 15. 8%、13· 3%、2· 9%〇
[0111] 圖2(a) (b)描述了各個(gè)算法在準(zhǔn)確率Precision方面的表現(xiàn)。圖中,橫坐標(biāo)表示 推薦列表長(zhǎng)度,縱坐標(biāo)表示準(zhǔn)確率。從圖中可以看出,當(dāng)推薦列表長(zhǎng)度大于5時(shí),iProbS (綠 色虛線)在其余所有算法上方,表示iProbS在準(zhǔn)確率性能上優(yōu)于其他幾種算法。證明了本 本發(fā)明模型在明顯提高多樣性的也能獲得更好的精確度性能。
[0112] 圖2(c) (d)描述了各個(gè)算法在銷(xiāo)售平衡Gini系數(shù)方面的表現(xiàn)。從圖中可以看出, 在兩個(gè)數(shù)據(jù)集中,iProbS曲線遠(yuǎn)遠(yuǎn)高于另外幾種算法曲線,表明iProbS在銷(xiāo)售平衡Gini系 數(shù)上明顯優(yōu)于另外幾種算法,證明了本發(fā)明能獲得更好的商品銷(xiāo)售平衡性能。
[0113] 圖2(e) (f)描述了各個(gè)算法在個(gè)體多樣性ILS方面的表現(xiàn)。根據(jù)前文描述可知, ILS值越低表示個(gè)體多樣性越高,因此圖中個(gè)體多樣性性能SVD++優(yōu)于iProbS。但是同時(shí), SVD++的準(zhǔn)確率遠(yuǎn)遠(yuǎn)低于平均水平,而準(zhǔn)確率過(guò)低的推薦結(jié)果是無(wú)意義的。圖3(e) (f)中除 SVD++以外的四種算法中,iProbS的ILS值明顯低于其余三種,證明了本發(fā)明能獲得更好的 個(gè)體多樣性性能。
【主權(quán)項(xiàng)】
1. 一種面向多樣性的推薦方法,其特征是,包含以下步驟: 步驟1、根據(jù)歷史評(píng)分?jǐn)?shù)據(jù)構(gòu)建用戶-項(xiàng)目二部圖G= (V,E),其中V表示節(jié)點(diǎn)集,E表 示邊集; 步驟2、計(jì)算傳播概率,包括用戶u傳播到其鄰居項(xiàng)目j的傳播概率pu]、項(xiàng)目j傳播到 其鄰居用戶v的傳播概率P]v和用戶v傳播到其鄰居項(xiàng)目i的傳播概率Pvl; 上述用戶u傳播到其鄰居項(xiàng)目j的傳播概率pu]為:式中,ruj為用戶u對(duì)項(xiàng)目j的評(píng)分; 上述項(xiàng)目j傳播到其鄰居用戶v的傳播概率P]v為:式中,rvj為用戶v對(duì)項(xiàng)目j的評(píng)分; 上述用戶v傳播到其鄰居項(xiàng)目i的傳播概率PV1為:式中,rvl為用戶v對(duì)項(xiàng)目i的評(píng)分; 步驟3、計(jì)算傳播損耗,包括用戶u傳播到其鄰居項(xiàng)目j的傳播損耗cu],項(xiàng)目j傳播到 其鄰居用戶v的傳播損耗c]v,用戶v傳播到其鄰居項(xiàng)目i的傳播損耗cvl; 上述用戶u傳播到其鄰居項(xiàng)目j的傳播損耗cu]為: 式中,ruj為用戶u對(duì)項(xiàng)目j的評(píng)分; 上述項(xiàng)目j傳播到其鄰居用戶v的傳播損耗c]v為:式中,rvj為用戶v項(xiàng)目j的評(píng)分; 上述用戶v傳播到其鄰居項(xiàng)目i的傳播損耗cvl為:cvl= |KNN(j)n{i} 式中,KNN(j)為項(xiàng)目j的K個(gè)最近鄰居項(xiàng)目集合,K為設(shè)定值,{i}為只包含項(xiàng)目i的 集合; 步驟4、基于步驟2和步驟3,預(yù)測(cè)用戶u對(duì)項(xiàng)目i的得分^,BP:式中,Pu]為用戶u傳播到其鄰居項(xiàng)目j的傳播概率,p]v為項(xiàng)目j傳播到其鄰居用戶v的傳播概率,Ρνι為用戶v傳播到其鄰居項(xiàng)目i的傳播概率;cu]為用戶u傳播到其鄰居項(xiàng)目 j的傳播損耗,c]v為項(xiàng)目j傳播到其鄰居用戶v的傳播損耗,cV1為用戶v傳播到其鄰居項(xiàng) 目i的傳播損耗; 步驟5、針對(duì)某個(gè)目標(biāo)用戶,根據(jù)步驟4所得到的該目標(biāo)用戶對(duì)各個(gè)項(xiàng)目的得分進(jìn)行排 序,然后推薦其中N個(gè)得分最高的項(xiàng)目給該目標(biāo)用戶;其中N為設(shè)定值; 上述。和v均為用戶,Vu為用戶集合,ueV。,veVu;i和j均為項(xiàng)目,V:為項(xiàng)目集合,ieV:,jeVI〇2.根據(jù)權(quán)利要求1所述的一種面向多樣性的推薦方法,其特征是,步驟3中,項(xiàng)目j的K個(gè)最近鄰居項(xiàng)目集合KNN(j)的確定過(guò)程如下: 先根據(jù)下式計(jì)算項(xiàng)目j與項(xiàng)目k的相似度s]k,即:式中,&為用戶v對(duì)項(xiàng)目j的評(píng)分;rvk為用戶v對(duì)項(xiàng)目k的評(píng)分; 再將項(xiàng)目j與項(xiàng)目k的相似度進(jìn)行排序,并從中選取出K個(gè)相似度s]k高的項(xiàng)目形成j的最近鄰居項(xiàng)目集合KNN(j); 上述v為用戶,Vu為用戶集合,veVu;j和k均為項(xiàng)目,V:為項(xiàng)目集合,jeV^keVI<3
【專(zhuān)利摘要】本發(fā)明公開(kāi)一種面向多樣性的推薦方法,其首先根據(jù)歷史評(píng)分?jǐn)?shù)據(jù)構(gòu)建用戶-項(xiàng)目二部圖,然后通過(guò)資源在二部圖上的傳播,計(jì)算傳播概率與傳播損耗,接著根據(jù)傳播概率與傳播損耗預(yù)測(cè)用戶對(duì)項(xiàng)目的得分,最后根據(jù)用戶對(duì)項(xiàng)目的得分推薦高的項(xiàng)目給用戶。本推薦方法能夠使得推薦的精確度與多樣性更高。
【IPC分類(lèi)】G06Q30/02, G06F17/30
【公開(kāi)號(hào)】CN105260460
【申請(qǐng)?zhí)枴緾N201510671117
【發(fā)明人】蔡國(guó)永, 張東
【申請(qǐng)人】桂林電子科技大學(xué)
【公開(kāi)日】2016年1月20日
【申請(qǐng)日】2015年10月16日