金浙良,胡桂明
(1.浙江工業(yè)職業(yè)技術(shù)學(xué)院 電氣電子工程學(xué)院,浙江 紹興 312000;2.廣西大學(xué) 電氣工程學(xué)院,廣西 南寧 530004)
隨著電子商務(wù)的快速發(fā)展和商品資源的日漸豐富,用戶如何快速?gòu)暮A啃畔⒅蝎@取所需信息變得越來(lái)越緊迫,協(xié)同過(guò)濾推薦算法[1]通過(guò)分析用戶購(gòu)買和評(píng)分的歷史記錄來(lái)進(jìn)行預(yù)測(cè)和推薦,是現(xiàn)今應(yīng)用最為廣泛的方法,但仍面臨數(shù)據(jù)稀疏不均衡等問(wèn)題,使系統(tǒng)難以有效的向新用戶推薦商品[1]。為高效使用用戶和商品的信息,并為用戶推薦感興趣的商品,信任關(guān)系被引入到推薦系統(tǒng)的算法中,提出基于用戶信任關(guān)系的過(guò)濾推薦系統(tǒng)模型。文獻(xiàn)[2]描述了基于用戶信任關(guān)系的協(xié)同過(guò)濾算法原理,通過(guò)利用其信任用戶的信息來(lái)向新用戶推薦商品,取得較好的效果。然而,基于信任模型的推薦系統(tǒng)其信任值的合理計(jì)算對(duì)于提高算法性能至關(guān)重要,但現(xiàn)有方法存在以下不足:(1)覆蓋率指標(biāo)與推薦精度存在互斥問(wèn)題,且二進(jìn)制表示方式導(dǎo)致推薦精度下降;(2)用戶信息不對(duì)稱,不能充分利用信任用戶提高算的性能。
為解決上述問(wèn)題,提出一種融合用戶動(dòng)態(tài)標(biāo)簽的改進(jìn)協(xié)同過(guò)濾推薦算法。算法首先通過(guò)構(gòu)建用戶集、標(biāo)簽集和物品集三者間的動(dòng)態(tài)聯(lián)系,建立用戶動(dòng)態(tài)偏好矩陣,接著構(gòu)建基于用戶社會(huì)網(wǎng)絡(luò)信息的用戶信任關(guān)系矩陣,最后提出融合用戶動(dòng)態(tài)標(biāo)簽和用戶信任關(guān)系的矩陣概率分解模型優(yōu)化協(xié)同過(guò)濾推薦算法。仿真實(shí)驗(yàn)結(jié)果表明,算法取得了較好的效果,提高了協(xié)同過(guò)濾推薦算法的性能。
用三元組的形式在標(biāo)簽集、用戶集和項(xiàng)目集之間建立動(dòng)態(tài)聯(lián)系,用戶在訪問(wèn)資源時(shí),其對(duì)標(biāo)簽進(jìn)行查找、新增和關(guān)注及與資源進(jìn)行交互,充分表現(xiàn)出用戶的實(shí)時(shí)偏好行為,可以計(jì)算這類行為的相關(guān)特征,以更好地向用戶推薦資源。標(biāo)簽的質(zhì)量可用Sigmoid函數(shù)[3]進(jìn)行計(jì)算,假定項(xiàng)目i與對(duì)應(yīng)標(biāo)簽t之間的權(quán)重值為ω(i,t)
式中:m—標(biāo)簽的質(zhì)量,m=TF×IDF;TF—詞條 t的出現(xiàn)次數(shù);IDF—文檔的逆頻文件頻率,指文檔頻率與詞條t頻率之間存在的反比關(guān)系。
采用項(xiàng)目資源評(píng)級(jí)(Item-Rating,IR)對(duì)用戶與資源的交互進(jìn)行用戶偏好標(biāo)簽的預(yù)測(cè)。

式中:ru,i—用戶 u 對(duì)資源 i的評(píng)分;ω(i,t)—資源 i與標(biāo)簽 t之間的權(quán)重,變量Mt是包含標(biāo)簽t的所有資源。式(2)未考慮用戶未評(píng)價(jià)但執(zhí)行收藏等操作時(shí)的用戶偏好,為了展示該類隱式標(biāo)簽的作用,采用式(3)對(duì)用戶偏好進(jìn)一步預(yù)測(cè):

式中:NTP(u,t)—用戶u對(duì)標(biāo)簽t的興趣程度;Tt—包含隱式標(biāo)簽t的所有項(xiàng)目資源集。則用戶與物品間的偏好標(biāo)簽矩陣為:

式中:使用α(0≤α≤1)調(diào)節(jié)因子來(lái)為物品顯式標(biāo)簽與物品隱式標(biāo)簽設(shè)置權(quán)重。
用戶信任關(guān)系為用戶偏好相似性和用戶影響力,結(jié)合這兩種因素的用戶信任模型,如圖1所示。圖1中邊緣代表節(jié)點(diǎn)間的信任關(guān)系,當(dāng)請(qǐng)求用戶U0的推薦信息時(shí),只向其直接信任節(jié)點(diǎn)U1和U4發(fā)送信任查詢信息,這些節(jié)點(diǎn)也同樣向其受信任的節(jié)點(diǎn)發(fā)送信任查詢關(guān)系,直到信任查詢過(guò)程結(jié)束,然后選擇信任值最高的用戶,并反饋其所有產(chǎn)品的信任值,從而建立了基于用戶信任關(guān)系圖的反饋機(jī)制。通過(guò)信任反饋過(guò)程,就可以得到用戶U0的受信任節(jié)點(diǎn)(包括直接和間接信任節(jié)點(diǎn))所推薦項(xiàng)目的綜合評(píng)分。

圖1 用戶信任關(guān)系模型Fig.1 User Trust Relation Model

信任關(guān)系具有轉(zhuǎn)移性和方向性等非對(duì)稱特性,可以有效緩解用戶評(píng)分矩陣的數(shù)據(jù)稀疏問(wèn)題。為測(cè)量用戶間的影響力,使用Jaccard距離[4]來(lái)衡量用戶的非對(duì)稱關(guān)系。

用戶之間的信任值主要由用戶間相似度和用戶間影響力組成,通過(guò)分配不同的權(quán)值計(jì)算用戶間的信任值TRu,v。

概率矩陣分解模型(Probability matrix factorization model,簡(jiǎn)寫PMFM)是一類重要的協(xié)同過(guò)濾方式,文獻(xiàn)[5]中將用戶對(duì)項(xiàng)目的評(píng)價(jià)問(wèn)題轉(zhuǎn)換為概率問(wèn)題,但是該模型未考慮到參與評(píng)分用戶的信任級(jí)別以及用戶與物品標(biāo)簽之間的動(dòng)態(tài)聯(lián)系。實(shí)際評(píng)分過(guò)程中過(guò)于均值化不利于體現(xiàn)重點(diǎn)用戶的評(píng)分意見,同時(shí)用戶對(duì)物品標(biāo)簽的偏好是動(dòng)態(tài)的,需要獲取實(shí)時(shí)交互行為,才能更好地向用戶推薦商品。為此,融合信任關(guān)系和動(dòng)態(tài)標(biāo)簽,設(shè)計(jì)了改進(jìn)概率矩陣分解模型,如圖2所示。

圖2 改進(jìn)PMFM模型Fig.2 Improved PFMF Model
改進(jìn)模型中,評(píng)分矩陣為n行m列,第j行對(duì)應(yīng)的潛在特征為uj,第i列對(duì)應(yīng)的潛在特征為vi。Nui為具有相似偏好標(biāo)簽的用戶集合,Nvi為用戶u所信任的用戶集合,tg(u1,t)為用戶u1與物品標(biāo)簽t之間的關(guān)聯(lián)程度,tr(v1,u)為用戶v1與用戶u之間的信任程度,tg(u1,t)與tr(v1,u)由用戶偏好標(biāo)簽矩陣和用戶信任關(guān)系矩陣計(jì)算得到。模型求解過(guò)程時(shí),uj和vi均服從高斯特征分布N和),融合用戶動(dòng)態(tài)偏好標(biāo)簽和信任關(guān)系后聯(lián)合概率分布為:

而用戶信任關(guān)系矩陣與用戶潛在特征的聯(lián)合概率分布為:

由于在改進(jìn)模型中,U和V相互獨(dú)立,則:

結(jié)合式(8)~式(10),通過(guò)貝葉斯推理可以得到,用戶和物品潛在特征的后驗(yàn)概率分布為:



改進(jìn)PMFM模型的求解過(guò)程為:(a)根據(jù)數(shù)據(jù)集和式(4)、式(5)計(jì)算用戶-項(xiàng)目評(píng)分矩陣、用戶-項(xiàng)目的動(dòng)態(tài)偏好標(biāo)簽矩陣及目標(biāo)用戶與其他用戶之間的信任關(guān)系。(b)利用K-NN算法[6]獲得目標(biāo)用戶u的K個(gè)用戶-項(xiàng)目偏好標(biāo)簽集合以及K個(gè)與目標(biāo)用戶信任值極高的近鄰用戶集合。(c)設(shè)置迭代初始步數(shù)i=1,利用K-NN算法將步驟(b)得到的集合帶入式(12)。(d)根據(jù)梯度下降法原理利用K-NN算法計(jì)算目標(biāo)函數(shù)的下降可行方向d(i),并依據(jù)式(12)中的約束條件來(lái)計(jì)算下降方向的步長(zhǎng)[0,λmax]。(e)根據(jù)獲得的下降方向以及步長(zhǎng)范圍,利用0.618法[7]計(jì)算最優(yōu)步長(zhǎng)λi。(f)獲得式(13)、式(14)的最優(yōu)解,最終得到目標(biāo)用戶 u所有參數(shù),并進(jìn)行矢量相乘,最終獲得目標(biāo)用戶對(duì)待評(píng)物品的預(yù)測(cè)值。
為驗(yàn)證文中算法的有效性,在Jester-Data和MovieLens兩個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)驗(yàn)證。Jester-Data數(shù)據(jù)集隨機(jī)選取1743組用戶,對(duì)121組新聞進(jìn)行了評(píng)價(jià),包含18924組用戶標(biāo)簽評(píng)分信息。MovieLens測(cè)試集共有943組用戶,1682組電影,100000條標(biāo)簽評(píng)分信息。這兩個(gè)數(shù)據(jù)集的相關(guān)屬性,如表1所示。不失一般性,采用5-fold交叉驗(yàn)證方法,將數(shù)據(jù)集分為測(cè)試集和訓(xùn)練集,比例為1:4,且這兩個(gè)集合互斥,涵蓋整個(gè)數(shù)據(jù)集。

表1 數(shù)據(jù)集相關(guān)屬性Tab.1 The Relevant Attributes of the Data Set
5.2.1 平均絕對(duì)誤差指標(biāo)
式中:pi—用戶的預(yù)測(cè)評(píng)分;ri—用戶的實(shí)際評(píng)分;N—評(píng)分條數(shù)。
5.2.2 平均準(zhǔn)確率指標(biāo)Precision
式中:Ru—模型根據(jù)訓(xùn)練集用戶的行為給用戶做出的Top-N推薦集;Tu—用戶對(duì)測(cè)試集所做出的正面評(píng)分集;N—測(cè)試用戶的數(shù)目。該值越大說(shuō)明所預(yù)測(cè)的項(xiàng)目占所有項(xiàng)目的比例越高,從而表明推薦算法的性能越佳
5.3.1 閾值設(shè)置對(duì)算法性能的影響
在Jester-Data測(cè)試集和MovieLens測(cè)試集上設(shè)置不同的閾值,并設(shè)定用戶近鄰參數(shù)值為8,測(cè)試其平均絕對(duì)誤差,實(shí)驗(yàn)結(jié)果,如圖3所示。

圖3 不同閾值下的平均絕對(duì)誤差Fig.3 The Mean Absolute Error at Different Thresholds
從圖3可以看出,隨著閾值不斷增大,MovieLens測(cè)試集的平均絕對(duì)誤差呈先迅速下降后趨于平穩(wěn)的趨勢(shì)。而Jester-data測(cè)試集則先緩慢下降,再逐漸增加,最后趨于平穩(wěn)。其差異的主要原因是,Jester-data數(shù)據(jù)集其測(cè)試集的規(guī)模要小于其本身的規(guī)模,當(dāng)閾值過(guò)大時(shí),無(wú)法計(jì)算Jester-data測(cè)試集的用戶相似性,導(dǎo)致協(xié)同過(guò)濾推薦算法的推薦精度下降。而MovieLens測(cè)試集由于規(guī)模較大,用戶信任關(guān)系錯(cuò)綜復(fù)雜,無(wú)法計(jì)算用戶相似性,當(dāng)增加的取值時(shí),會(huì)過(guò)濾掉一些重要程度不高的用戶,有利于提高協(xié)同過(guò)濾推薦算法的精度。
5.3.2 算法性能分析
為驗(yàn)證所提算法的性能,選取FTCF[8]、IBCF[9]以及SemPMF[10]三種經(jīng)典的協(xié)同過(guò)濾算法,在不同的環(huán)境下進(jìn)行實(shí)驗(yàn)結(jié)果,如圖4所示。算法由于在推薦過(guò)程中融合了用戶的動(dòng)態(tài)偏好標(biāo)簽和信任關(guān)系,使得推薦模型能迅速感知用戶的喜好并基于用戶的社會(huì)化屬性選擇近鄰用戶,向當(dāng)前用戶準(zhǔn)確地推薦商品。從圖6(a)和圖6(b)的實(shí)驗(yàn)結(jié)果可以看出,與FTCF、IBCF以及SemPMF算法相比,算法在不同近鄰參數(shù)k的環(huán)境下,均獲得了良好的性能。


圖4 不同近鄰參數(shù)k的實(shí)驗(yàn)結(jié)果Fig.4 Experimental Results Corresponding to Different Values of Neighbor Parameter k
針對(duì)社交網(wǎng)絡(luò)推薦算法因信任值存在互斥導(dǎo)致的推薦精度下降的問(wèn)題,提出了一種融合用戶動(dòng)態(tài)標(biāo)簽和用戶信任關(guān)系的矩陣概率分解模型對(duì)推薦算法進(jìn)行優(yōu)化改進(jìn)。改進(jìn)算法在一定程度上緩解了傳統(tǒng)的協(xié)同過(guò)濾算法存在的數(shù)據(jù)稀疏、用戶評(píng)分不均等問(wèn)題,提高了協(xié)同過(guò)濾推薦算法的性能,實(shí)驗(yàn)結(jié)果驗(yàn)證了算法的有效性。
[1]陳婷,朱青,周夢(mèng)溪.社交網(wǎng)絡(luò)環(huán)境下基于信任的推薦算法[J].軟件學(xué)報(bào),2017,28(3):721-731.(Chen Ting,Zhu Qing,Zhou Meng-xi.Trust-based recommendation algorithm in social network[J].Journal of software,2017,28(3):721-731.)
[2]Akulwar P,Pardeshi S.Bayesian Probabilistic Matrix Factorization-A dive towards recommendation[C].International Conference on Inventive Computation Technologies,IEEE,2017.
[3]Zhao Hai-yan,Wang Sheng-sheng,Chen Qing-kui.Probabilistic matrix factorization based on similarity propagation and trust propagation for recommendation[C].Conference on Collaboration and Internet Computing,IEEE,2016:90-98.
[4]高發(fā)展,黃夢(mèng)醒,張婷婷.綜合用戶特征及專家信任的協(xié)作過(guò)濾推薦算法[J].計(jì)算機(jī)科學(xué),2017,44(2):103-106.(Gao Fa-zhan,Huang Meng-xing,Zhang Ting-ting.Collaborative filtering recommendation algorithm based on user characteristics and expert opinions[J].Computer Science,2017,44(2):103-106.)
[5]Li Gai.Pairwise probabilistic matrix factorization for implicit feedback collaborative filtering[C].International Conference on Security,Pattern Analysis,and Cybernetics,IEEE,2014:17-25.
[6]張金萍,白廣彬.基于主元分析與KNN算法的旋轉(zhuǎn)機(jī)械故障識(shí)別方法[J].機(jī)械設(shè)計(jì)與制造,2017(6):23-25.(Zhang Jin-ping,Bai Guang-bin.Fault recognition method of rotating machinery based on principal component analysis and KNN algorithm[J].Machinery Design&manufacture,2017(6):23-25.)
[7]陸坤,謝玲,李明楚.一種融合隱式信任的協(xié)同過(guò)濾推薦算法[J].小型微型計(jì)算機(jī)系統(tǒng),2016,37(2):241-245.(Chen Kun,Xie Ling,Li Ming-chu.Research on Implied-trust Aware Collaborative Filtering Recommendation Algorithm[J].Journal of Chinese Computer Systems,2016,37(2):241-245.)
[8]Liu Jun-tao,Wu Cai-hua,Xiong Yi.List-wise probabilistic matrix factorization for recommendation[J].Information Sciences,2014,278(10):434-447.
[9]Bokde D,Girase S,Mukhopadhyay D.Matrix factorization model in collaborative filtering algorithms:a survey[J].Procedia Computer Science,2015,49(1):136-146.
[10]Liu Zi-qi,Wang Yu-xiang,Smola Alexander.Fast differentially private matrix factorization[C].Proceedings of the 9th ACM Conference on Recommender Systems,ACM,2015:171-178.