李 貞 吳 勇 耿海軍
1(晉中職業(yè)技術(shù)學(xué)院電子信息學(xué)院 山西 晉中 030600)2(山西大學(xué)軟件學(xué)院 山西 太原 030013)
隨著移動(dòng)互聯(lián)網(wǎng)和電子商務(wù)領(lǐng)域的蓬勃發(fā)展,目前已經(jīng)進(jìn)入信息嚴(yán)重過(guò)剩的網(wǎng)絡(luò)時(shí)代,為提高用戶瀏覽網(wǎng)絡(luò)信息的效率,自動(dòng)推薦系統(tǒng)應(yīng)運(yùn)而生[1]。龐大的信息量和高復(fù)雜度的社交網(wǎng)絡(luò)為自動(dòng)推薦系統(tǒng)帶來(lái)了巨大的挑戰(zhàn),當(dāng)前的推薦系統(tǒng)對(duì)于大規(guī)模數(shù)據(jù)和復(fù)雜網(wǎng)絡(luò)難以實(shí)現(xiàn)快速、準(zhǔn)確的推薦服務(wù)[2]。
稀疏性問(wèn)題和冷啟動(dòng)問(wèn)題是推薦系統(tǒng)的一個(gè)重要問(wèn)題,直接影響推薦系統(tǒng)的推薦準(zhǔn)確性、多樣性等性能[3]。深入挖掘并利用用戶的社交關(guān)系信息以及語(yǔ)義信息是目前解決這些問(wèn)題的重要手段,文獻(xiàn)[4]提出的近鄰矩陣分解算法,將用戶近鄰與項(xiàng)目近鄰評(píng)分信息融合為一個(gè)近鄰評(píng)分矩陣,挖掘目標(biāo)用戶對(duì)目標(biāo)項(xiàng)目的評(píng)分信息。該算法降低了原始評(píng)分矩陣的稀疏性問(wèn)題,并且有效地提高了推薦的準(zhǔn)確性,但其未利用社交關(guān)系的社區(qū)信息,不支持分布式計(jì)算的擴(kuò)展方法,對(duì)于大規(guī)模復(fù)雜網(wǎng)絡(luò)的搜索時(shí)間較長(zhǎng)。文獻(xiàn)[5]運(yùn)用SVD降維技術(shù)得到項(xiàng)目的隱式特征空間,引入項(xiàng)目信任因子,建立信任模型并融入到相似度空間中。該算法充分應(yīng)用了用戶的社交關(guān)系,并且通過(guò)降維技術(shù)加快了系統(tǒng)的處理時(shí)間,但其采用余弦相似度計(jì)算項(xiàng)目間的相似度,存在較高的冗余度[6]。文獻(xiàn)[7]將Tri-training框架加以擴(kuò)展,提出基于用戶活躍度生成無(wú)標(biāo)記教學(xué)集合的算法和對(duì)矩陣分解模型擴(kuò)充的形式,該算法對(duì)于復(fù)雜網(wǎng)絡(luò)的計(jì)算效率較低,難以提供高效的推薦列表。結(jié)合大量的研究和分析,現(xiàn)有的推薦系統(tǒng)大多存在以下的不足之處:① 未利用社交關(guān)系的社區(qū)信息;② 對(duì)于大規(guī)模復(fù)雜網(wǎng)絡(luò)的搜索時(shí)間較長(zhǎng);③ 不支持并行計(jì)算的擴(kuò)展方法;④ 學(xué)習(xí)語(yǔ)義信息的過(guò)程中需要大量的時(shí)間。
皮爾森相似度、余弦相似性[8-9]是協(xié)同過(guò)濾推薦系統(tǒng)中廣泛采用的相似性度量方案,為充分考慮用戶環(huán)境的作用[10],采用相對(duì)相似性指數(shù)(Relative Similarity Index,RSI)度量用戶的相似性,應(yīng)用Meta Path概念[11]構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu)。為支持并行計(jì)算的可擴(kuò)展性,將大規(guī)模復(fù)雜網(wǎng)絡(luò)劃分社區(qū)結(jié)構(gòu),再對(duì)小規(guī)模的子圖做并行處理。為解決稀疏性問(wèn)題和冷啟動(dòng)問(wèn)題,設(shè)計(jì)了基于重引力搜索[11]的鏈接預(yù)測(cè)機(jī)制和評(píng)分信息傳播機(jī)制(Gravitational Search based Link Prediction & Rating Propagation,GSLPRP),以較短的學(xué)習(xí)時(shí)間獲得充足的隱藏評(píng)分信息。
圖1所示是推薦系統(tǒng)的主要模塊。本算法主要由3個(gè)階段組成:第一階段:計(jì)算用戶之間的相似性,該階段結(jié)合RSI和Meta Path來(lái)增強(qiáng)用戶間的相似性計(jì)算。第二階段:應(yīng)用鏈接預(yù)測(cè)算法發(fā)現(xiàn)隱藏的網(wǎng)絡(luò)鏈接,該階段設(shè)計(jì)了基于重引力搜索的鏈接預(yù)測(cè)算法,發(fā)現(xiàn)隱藏的用戶鏈接來(lái)緩解稀疏性問(wèn)題。第三階段:應(yīng)用評(píng)分傳播機(jī)制,該階段設(shè)計(jì)了基于傳染病模型的評(píng)分信息傳播機(jī)制,進(jìn)一步豐富用戶的評(píng)分信息。

圖1 推薦系統(tǒng)的主要模塊
文獻(xiàn)[12]提出了RSI,有效地提高了推薦系統(tǒng)的準(zhǔn)確率和多樣性。兩個(gè)用戶ui和ui+1之間的RSI指數(shù)計(jì)算為:
(1)
式中:sim為兩個(gè)節(jié)點(diǎn)的余弦相似性,co_rate是與目標(biāo)用戶共同評(píng)分的項(xiàng)目數(shù)量,max(co_rate)為網(wǎng)絡(luò)中每對(duì)用戶共同評(píng)分的項(xiàng)目數(shù)量。
構(gòu)建一個(gè)廣義的用戶-項(xiàng)目網(wǎng)絡(luò)(User-Item,U-I),網(wǎng)絡(luò)的節(jié)點(diǎn)為用戶和項(xiàng)目,邊為加權(quán)的鏈接,表示用戶對(duì)于各個(gè)項(xiàng)目的評(píng)分。圖2所示是一個(gè)網(wǎng)絡(luò)的實(shí)例,圖中U表示用戶,I表示項(xiàng)目,網(wǎng)絡(luò)由4個(gè)用戶和6個(gè)項(xiàng)目組成,鏈接為用戶對(duì)于項(xiàng)目的評(píng)分。

圖2 一個(gè)U-I網(wǎng)絡(luò)的實(shí)例
異構(gòu)網(wǎng)絡(luò)中存在不同類型的節(jié)點(diǎn)和鏈接,采用廣義路徑Meta Path模型,定義為異構(gòu)網(wǎng)絡(luò)中從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)之間包含的節(jié)點(diǎn)和鏈接,計(jì)算網(wǎng)絡(luò)中所有的Meta Path需要極大的計(jì)算負(fù)擔(dān)。Meta Path需要計(jì)算路徑內(nèi)所有的用戶節(jié)點(diǎn)和項(xiàng)目節(jié)點(diǎn),結(jié)合評(píng)分信息構(gòu)建網(wǎng)絡(luò),基于Meta Path計(jì)算用戶間的相似性。
采用“用戶-項(xiàng)目-用戶”的Meta-Path,簡(jiǎn)稱為simUIU。simUIU計(jì)算加權(quán)Meta-Path的相似性,假設(shè)評(píng)分范圍為{1,2,3,4,5},將評(píng)分信息分為三個(gè)級(jí)別:低:{1,2},中:{3,4};高:{5}。圖3是評(píng)分分級(jí)的示意圖,將Meta-Path細(xì)分為三個(gè)加權(quán)的子Meta-Path{P1,P2,P3},圖中P1子Meta-Path對(duì)應(yīng)評(píng)分值在R1區(qū)間的情況。

圖3 評(píng)分分級(jí)的示意圖
然后將U-I網(wǎng)絡(luò)分為3個(gè)子網(wǎng),如圖4所示。將從細(xì)粒度轉(zhuǎn)化為粗粒度的目的是提高評(píng)分的可理解性,有助于觀察用戶的相似度。

圖4 U-I網(wǎng)絡(luò)的子網(wǎng)劃分和Meta-Path圖
Meta-Path路徑的計(jì)算方法為:
(2)

連接預(yù)測(cè)的主要思想是通過(guò)引入社區(qū)信息來(lái)提高局部鏈接預(yù)測(cè)的準(zhǔn)確率,從強(qiáng)社區(qū)提取優(yōu)化的子圖來(lái)實(shí)現(xiàn)局部鏈接的預(yù)測(cè),其中通過(guò)重引力搜索對(duì)子圖做優(yōu)化處理,從而縮小搜索空間。

GSA的每個(gè)agent具有4個(gè)屬性:位置、慣性質(zhì)量、主動(dòng)引力質(zhì)量和被動(dòng)引力質(zhì)量,agent的位置即為問(wèn)題的解集。設(shè)兩個(gè)agent的質(zhì)量分別為M1和M2,兩者的距離為R,那么其中一個(gè)agent受到的引力為F=G((M1M2)/R2),G為引力常量。GSA的搜索過(guò)程如下:
Step1初始化。根據(jù)下式隨機(jī)初始化N個(gè)agent的位置:
(3)

Step2評(píng)價(jià)適應(yīng)度。在每次迭代中分別通過(guò)下式計(jì)算最優(yōu)適應(yīng)度和最差適應(yīng)度:
fmax(t)=maxfitj(t)
(4)
fmin(t)=minfitj(t)
(5)
式中:fitj(t)為第j個(gè)agent在第t次迭代的適應(yīng)度值。
Step3計(jì)算引力常量。第t次迭代G的計(jì)算方法為:
(6)
式中:G0與α均為初始化參數(shù),T為迭代的總次數(shù)。
Step4計(jì)算agent的引力。第t次迭代agent慣性質(zhì)量和引力的計(jì)算方法為:
Mαi=Mpi=Mii=Mi
(7)
(8)
(9)
式中:Mpi和Mαi分別為被動(dòng)引力質(zhì)量和主動(dòng)引力質(zhì)量,Mii為第i個(gè)agent的慣性質(zhì)量,fiti為第i個(gè)agent的適應(yīng)度函數(shù)。
Step5計(jì)算agent的加速度。第t次迭代agent加速度的計(jì)算方法為:
(10)
第i個(gè)agent總引力的計(jì)算方法為:
(11)

(12)
式中:Kbest為前K個(gè)agent的最優(yōu)適應(yīng)度值,最大質(zhì)量隨著迭代線性降低,最終僅有一個(gè)agent對(duì)其他agent產(chǎn)生引力。G(t)為當(dāng)前迭代的重引力常量,ε為常量,Rij(t)為agenti和j之間的RSI相似性。
Step6更新agent的速度和位置。搜索過(guò)程的速度和位置更新方法分別為:
(13)
(14)

Step7重復(fù)Step 2-Step 6。如果未達(dá)到結(jié)束條件,那么重復(fù)Step 2-Step 6。將最后一次迭代的最優(yōu)適應(yīng)度作全局適應(yīng)度。
基于重引力的鏈接預(yù)測(cè)參數(shù)、適應(yīng)度函數(shù)和其他的參數(shù)建模為:
(1) 初始化網(wǎng)絡(luò)參數(shù)。隨機(jī)初始化agent的位置和網(wǎng)絡(luò)參數(shù),N個(gè)agent的位置初始化為:
Xi=Init+(Xup-Init)×rand(0,1)+
(Xlo-Init)×rand(0,1)
(15)
式中:Init表示第i個(gè)agent的位置,Xup為最大的平均分簇系數(shù),Xlo為最小的平均分簇系數(shù)(Average Clustering Coefficient,ACC)。
(2) 適應(yīng)度函數(shù)。為將ACC參數(shù)最大化,通過(guò)以下的適應(yīng)度函數(shù)評(píng)價(jià)質(zhì)量:





在求解最優(yōu)解的問(wèn)題中,在每次迭代t中通過(guò)式(4)和式(5)分別求解最優(yōu)適應(yīng)度和最差適應(yīng)度,fitj(t)為第t次迭代、第j個(gè)agent的適應(yīng)度值。
(3) 重引力搜索的常量值。重引力搜索的agent常量設(shè)為:G0=100,α=10,T=100。
(4) 重引力質(zhì)量和慣性質(zhì)量。GSA的每次迭代中通過(guò)式(7)-式(9)計(jì)算重引力的質(zhì)量和慣性質(zhì)量。
(5) 總體引力。Agent的引力和總引力計(jì)算方法分別如下:
(16)
(17)
式中:ε=0.1。
(6) 加速度和速度。網(wǎng)絡(luò)參數(shù)的加速度和速度分別如下:
(18)
(19)
GSA傾向于開(kāi)發(fā)搜索空間的中心位置,該性質(zhì)嚴(yán)重影響了GSA的多樣性,而大多情況下,Xg附近的搜索空間才應(yīng)該被局部地深入開(kāi)發(fā)。為提高GSA的收斂速度和求解質(zhì)量,對(duì)質(zhì)量分配機(jī)制進(jìn)行了改進(jìn)。為每個(gè)agent的質(zhì)量分配一個(gè)范圍[LM,UM],約束GSA的局部搜索空間。定義時(shí)間不變線性遞增函數(shù)如下,建立適應(yīng)度和質(zhì)量的映射:R→R,f(Xi)→g(f(Xi)),?Xj∈X。
Mi=g(f(Xi))=
(20)
式中:j∈{1,2,…,S}。
采用特征相似性降低特征之間的冗余度,最大化簇內(nèi)特征的相似性,最小化簇間特征的相似性。從每個(gè)社區(qū)中選擇一個(gè)特征組成降維的子集,然后采用GSA技術(shù)優(yōu)化子集之間的冗余度。特征選擇由兩個(gè)步驟組成:(1) 原特征集分為若干的社區(qū);(2) 從每個(gè)社區(qū)選擇一個(gè)代表性特征。
觀察發(fā)現(xiàn),預(yù)測(cè)外部鏈接對(duì)于鏈接預(yù)測(cè)結(jié)果的準(zhǔn)確性沒(méi)有明顯提高。圖5所示是鏈接預(yù)測(cè)算法的主要模塊,圖6所示是鏈接預(yù)測(cè)算法的流程框圖。

圖5 鏈接預(yù)測(cè)算法的主要模塊

圖6 鏈接預(yù)測(cè)算法的流程框圖
算法1是本文基于GSA的鏈接預(yù)測(cè)算法。輸入變量為社交網(wǎng)絡(luò)的圖模型,輸出結(jié)果為預(yù)測(cè)的鏈接集。算法分為4個(gè)階段:(1) 社區(qū)檢測(cè)階段:將復(fù)雜網(wǎng)絡(luò)劃分社區(qū),將網(wǎng)絡(luò)劃分為子圖能夠有效地提高算法的效率,算法的第1行通過(guò)社區(qū)檢測(cè)將社區(qū)分簇。(2) 子圖優(yōu)化階段:算法的第5行通過(guò)GSA對(duì)每個(gè)社區(qū)Cis的子圖ci進(jìn)行優(yōu)化處理。(3) 鏈接預(yù)測(cè)階段:算法的第3行預(yù)測(cè)了社區(qū)的外部鏈接,第7行預(yù)測(cè)社區(qū)的內(nèi)部鏈接。(4) 鏈接分類階段:將預(yù)測(cè)的所有鏈接分類,輸出最終的預(yù)測(cè)鏈接集。
算法1基于GSA的鏈接預(yù)測(cè)算法

輸出:L={l1,l2,…,lm}
/*社區(qū)檢測(cè)C=c1,…,ck*/

/*應(yīng)用鏈接預(yù)測(cè)和ELP預(yù)測(cè)內(nèi)部鏈接和外部鏈接*/
2.intlink=AAL(C);
3.extlink=ELP(ci,cj);
/*預(yù)測(cè)每個(gè)社區(qū)的外部鏈接*/
4.F=CalForce(ci,cj);
5.OptGraphList=GSA(C);
6. foreachjfrom 1 to l do
7.IntLinks=AAL(cj);
/*預(yù)測(cè)每個(gè)社區(qū)的內(nèi)部鏈接*/
8. endfor
9. foreachcicjinOptGraphListdo
10.Fij=CalForce(ci,cj);
11.Flist←Fij;
12. endfor
13. foreachcicjinOptGraphListdo
14. ifFij>γ
15.PreLinks←ELP(ci,cj);
16.Mark(PreLinks,Fij);
/*為鏈接標(biāo)記引力大小*/
17. endif
18. endfor
評(píng)分信息是推薦系統(tǒng)的一個(gè)重要部分,采用基于傳染病模型的網(wǎng)絡(luò)傳播策略,根據(jù)已有的模式探索隱藏的模式。定義一個(gè)傳播閾值θd,如果N(u,i)≥θd,用戶u則接受項(xiàng)目i,N(u,i)為用戶u的鄰居數(shù)量。根據(jù)增強(qiáng)的相似性矩陣將評(píng)分信息在網(wǎng)絡(luò)中傳播,相似性矩陣建模為一個(gè)網(wǎng)絡(luò),節(jié)點(diǎn)為用戶,評(píng)分信息為節(jié)點(diǎn)的特征。定義一個(gè)u的鄰居用戶集PN,PN中的用戶與u的相似性得分為正。
圖7所示為評(píng)分信息傳播的效果圖,圖中共有7個(gè)用戶,評(píng)分信息作為用戶的特征,黑色用戶u為目標(biāo)用戶,u評(píng)分的項(xiàng)目為{0,7},灰色用戶為u的PN集,假設(shè)θd=0.1,u2、u3、u4的評(píng)分項(xiàng)目均包含了31和41,所以項(xiàng)目31和項(xiàng)目41的評(píng)分次數(shù)較多,因此用戶u接受PN對(duì)31和41兩個(gè)項(xiàng)目的評(píng)分。

圖7 評(píng)分信息傳播的效果圖
θd決定了目標(biāo)用戶是否接受PN集傳播的評(píng)分信息,定義為u接受PN評(píng)分的比例,將閾值設(shè)為θd=0.1?;跈?quán)重將評(píng)分信息融合,用戶u對(duì)于目標(biāo)項(xiàng)i評(píng)分的融合方法為:
(21)
式中:sim(u,v)為用戶u和v的相似性,相似性越高,對(duì)于評(píng)分結(jié)果的貢獻(xiàn)度越大。ru,i為用戶u對(duì)于項(xiàng)i的評(píng)分。C(u,i)表示對(duì)項(xiàng)i評(píng)分的PN用戶集。
算法2為評(píng)分信息傳播算法。算法的輸入是用戶評(píng)分R,輸出是增強(qiáng)的評(píng)分信息Re與相似性矩陣Se。算法的第5、第6行計(jì)算用戶之間三個(gè)加權(quán)的Meta Path,第9行計(jì)算相似性矩陣,第14行計(jì)算新的評(píng)分信息Re。
算法2評(píng)分信息傳播算法
輸入:評(píng)分信息:R
輸出:增強(qiáng)的評(píng)分信息Re,相似性矩陣Se
1.NI←R中的項(xiàng)目數(shù)量;
2.NU←R中的用戶數(shù)量;
3. 將R分為子Meta-Path{P1,P2,P3};
4. 建立U-I矩陣;
5. 根據(jù)式(1)計(jì)算Sim;
/*根據(jù)式(1)計(jì)算相似性*/
6. 將Sim歸一化為[-1,1]區(qū)間;
7. foreachu,vfrom 1 toNUdo
8. ifSim(u,v)=0 &&u≠vdo
/*根據(jù)已有連接建立網(wǎng)絡(luò)*/
9. 根據(jù)式(2)計(jì)算Meta-Path路徑;
10. endif
11. endfor
12. 應(yīng)用算法1預(yù)測(cè)隱藏的鏈接;
12.Se=Smain+Se;
13. foreachufrom 1 toNUdo
/*在網(wǎng)絡(luò)中傳播評(píng)分信息*/
14. 根據(jù)式(21)計(jì)算Re(u,Item(u));
15.Re=R+Re;
16. endfor
(1) 實(shí)驗(yàn)環(huán)境。實(shí)驗(yàn)環(huán)境為:Intel(R) Core(TM) i5-5200 CPU, 2.2 GHz主頻,8 GB內(nèi)存容量,操作系統(tǒng)為Windows 10操作系統(tǒng),編程環(huán)境為MATLAB R2016a。
(2) 實(shí)驗(yàn)數(shù)據(jù)集。實(shí)驗(yàn)采用三個(gè)經(jīng)典的公開(kāi)數(shù)據(jù)集,分別為FilmTrust、Epinion和Flixster[13]。FilmTrust數(shù)據(jù)集是電影評(píng)分的數(shù)據(jù)集,Epinions是產(chǎn)品評(píng)論數(shù)據(jù)集,F(xiàn)lixster是Flixster.com網(wǎng)站用戶對(duì)于電影評(píng)價(jià)和興趣的數(shù)據(jù)集。表1是3個(gè)實(shí)驗(yàn)數(shù)據(jù)集的簡(jiǎn)介。

表1 數(shù)據(jù)集的主要屬性
(3) 性能評(píng)價(jià)指標(biāo)。采用5折交叉驗(yàn)證分別進(jìn)行訓(xùn)練和測(cè)試:每個(gè)數(shù)據(jù)集隨機(jī)分為5個(gè)子集,4個(gè)子集組成訓(xùn)練集,另1個(gè)子集為測(cè)試集,輪流完成5次驗(yàn)證,將測(cè)試數(shù)據(jù)集的結(jié)果統(tǒng)計(jì)為最終的平均性能。平均絕對(duì)誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Square Error,RMSE)是評(píng)價(jià)推薦準(zhǔn)確率的常用指標(biāo),MAE對(duì)異常點(diǎn)的敏感度較低,RMSE對(duì)異常點(diǎn)的敏感度則較高。MAE和RMSE的計(jì)算方法為:
(22)
(23)
式中:Ω為測(cè)試集,|Ω|為測(cè)試集的大小,用戶u對(duì)項(xiàng)目i的實(shí)際評(píng)分和預(yù)測(cè)評(píng)分分別記為ru,i和pu,i。
此外,評(píng)價(jià)了系統(tǒng)的評(píng)分覆蓋率RC(Rating Coverage),覆蓋率度量了系統(tǒng)對(duì)長(zhǎng)尾項(xiàng)目的挖掘能力,定義為系統(tǒng)推薦的項(xiàng)目占總集合的比例。
(4) 實(shí)驗(yàn)方法。首先使用基本協(xié)同過(guò)濾推薦算法(Collaborative Filtering,CF)觀察本方法對(duì)于推薦系統(tǒng)的增強(qiáng)效果。然后選擇其他近期的協(xié)同過(guò)濾推薦算法進(jìn)行對(duì)比實(shí)驗(yàn),進(jìn)一步評(píng)價(jià)本算法的性能,分別為TrustSVD[14]、TrustMF[15]和BKCF[16]三個(gè)算法。TrustSVD是一種基于信任的矩陣分解方案,該方案為推薦模型引入了多種信息源,并且引用了社交關(guān)系的信息,與本算法具有相似之處。TrustMF[15]采用了信任傳播機(jī)制,利用矩陣分解方法將用戶映射至低維的特征空間,探索用戶觀點(diǎn)之間的影響,該方案是一種新穎且性能較好的推薦系統(tǒng)。BKCF設(shè)計(jì)了一種新的布爾核,并將布爾核嵌入?yún)f(xié)同過(guò)濾推薦系統(tǒng)中,該方案提高了推薦系統(tǒng)的語(yǔ)義感知能力,具有較好的推薦效果。
首先,測(cè)試了基于重引力搜索算法的鏈接預(yù)測(cè)效果。表2所示是通過(guò)鏈接預(yù)測(cè)增加的鏈接結(jié)果,表中顯示本算法有效地增加了數(shù)據(jù)量,對(duì)于數(shù)據(jù)密度較高的Filmtrust數(shù)據(jù)集,預(yù)測(cè)率達(dá)到了9.5%,對(duì)于密度較低的數(shù)據(jù)集,也實(shí)現(xiàn)了有效的補(bǔ)充。

表2 鏈接預(yù)測(cè)處理的結(jié)果
鏈接預(yù)測(cè)的目標(biāo)是緩解網(wǎng)絡(luò)的稀疏性,為后續(xù)的評(píng)分傳播處理提供支持,因此對(duì)評(píng)分傳播處理也進(jìn)行了實(shí)驗(yàn)和評(píng)價(jià)。對(duì)FilmTrust、Epinion和Flixster做預(yù)處理,刪除一些不完整的數(shù)據(jù)。然后測(cè)試評(píng)分傳播處理的效果,表3所示是評(píng)分傳播處理的結(jié)果,表中顯示評(píng)分傳播處理對(duì)于密度低的Flixster數(shù)據(jù)集增加了4%的信息。

表3 評(píng)分傳播處理的結(jié)果
將本文算法與基本的協(xié)同過(guò)濾推薦算法集成,評(píng)估本文算法對(duì)推薦系統(tǒng)的改進(jìn)效果。圖8所示為基本CF算法和集成CF算法對(duì)于三個(gè)數(shù)據(jù)集的RMSE結(jié)果,基本CF算法隨著領(lǐng)域閾值的增加緩慢提高,而集成CF算法的增長(zhǎng)較快,具有明顯的優(yōu)勢(shì)。

(a) Filmtrust數(shù)據(jù)集

(b) Epinion數(shù)據(jù)集

(c) Flixster數(shù)據(jù)集圖8 RMSE的實(shí)驗(yàn)結(jié)果
圖9所示為基本CF算法和集成CF算法對(duì)于三個(gè)數(shù)據(jù)集的MAE結(jié)果,基本CF算法隨著領(lǐng)域閾值的增加緩慢提高,而集成CF算法的增長(zhǎng)較快,具有明顯的優(yōu)勢(shì)。

(a) Filmtrust數(shù)據(jù)集

(b) Epinion數(shù)據(jù)集

(c) Flixster數(shù)據(jù)集圖9 MAE的實(shí)驗(yàn)結(jié)果
圖10所示為基本CF算法和集成CF算法對(duì)于三個(gè)數(shù)據(jù)集的覆蓋率結(jié)果,基本CF算法隨著領(lǐng)域閾值的增加迅速降低,而集成CF算法隨著領(lǐng)域閾值的提高表現(xiàn)得較為穩(wěn)定,始終高于0.85。

(a) Filmtrust數(shù)據(jù)集

(b) Epinion數(shù)據(jù)集
將GSLPRP算法與多層協(xié)同過(guò)濾模型(Multifaceted Collaborative Filtering Model,MCFM)集成,組成GSLPRP_ MCFM算法。將GSLPRP_ MCFM與TrustSVD、TrustMF和BKCF三個(gè)推薦系統(tǒng)比較,結(jié)果如圖11所示。可以看出,GSLPRP_ MCFM算法的RMSE和MAE結(jié)果始終低于其他三個(gè)算法,并且具有明顯的優(yōu)勢(shì)。與此同時(shí),GSLPRP_ MCFM算法的覆蓋率也略高于其他三個(gè)算法。本文算法設(shè)計(jì)了基于重引力搜索的連接預(yù)測(cè)機(jī)制和評(píng)分信息傳播機(jī)制,有效地補(bǔ)充了數(shù)據(jù)集的信息,緩解了稀疏性問(wèn)題。

(a) RMSE結(jié)果

(b) MAE結(jié)果

(c) RC結(jié)果圖11 4個(gè)推薦系統(tǒng)的性能比較
比較GSLPRP_ MCFM與TrustSVD、TrustMF和BKCF三個(gè)推薦系統(tǒng)的處理時(shí)間,結(jié)果如圖12所示。可以看出,GSLPRP_ MCFM算法的RMSE和MAE結(jié)果明顯低于其他三個(gè)算法,隨著數(shù)據(jù)量的增加,GSLPRP_ MCFM的處理時(shí)間依然保持較低。GSLPRP_ MCFM通過(guò)社區(qū)檢測(cè)算法將原網(wǎng)絡(luò)圖劃分成小規(guī)模的子圖,與MCFM的多層協(xié)同過(guò)濾模型集成,通過(guò)并行處理對(duì)每個(gè)子圖進(jìn)行處理,因此隨著數(shù)據(jù)規(guī)模的增加,算法的總體時(shí)間并未呈現(xiàn)劇烈的增長(zhǎng)趨勢(shì)。

圖12 4個(gè)推薦系統(tǒng)的處理時(shí)間
為支持并行計(jì)算的可擴(kuò)展性,將大規(guī)模復(fù)雜網(wǎng)絡(luò)劃分社區(qū)結(jié)構(gòu),再對(duì)小規(guī)模的子圖做并行處理。為解決稀疏性問(wèn)題和冷啟動(dòng)問(wèn)題,設(shè)計(jì)了基于重引力搜索的鏈接預(yù)測(cè)機(jī)制和評(píng)分信息傳播機(jī)制,以較短的學(xué)習(xí)時(shí)間獲得充足的隱藏評(píng)分信息。實(shí)驗(yàn)結(jié)果表明,本文算法對(duì)基本協(xié)同過(guò)濾推薦系統(tǒng)實(shí)現(xiàn)了明顯的增強(qiáng)效果,并且優(yōu)于其他近期的推薦系統(tǒng)。
本文算法主要是一種推薦系統(tǒng)的增強(qiáng)策略,目前主要研究了與協(xié)同過(guò)濾推薦系統(tǒng)的集成效果,未來(lái)將關(guān)注與其他類型統(tǒng)計(jì)系統(tǒng)的集成方案和效果。