張朝恒,何小衛(wèi),陳勇兵
(浙江師范大學(xué) 數(shù)理與信息工程學(xué)院,浙江 金華 321000)
基于社交網(wǎng)絡(luò)信息的協(xié)同過(guò)濾推薦算法
張朝恒,何小衛(wèi),陳勇兵
(浙江師范大學(xué) 數(shù)理與信息工程學(xué)院,浙江 金華 321000)
隨著互聯(lián)網(wǎng)數(shù)量的不斷增多,海量的數(shù)據(jù)信息為互聯(lián)網(wǎng)用戶帶來(lái)了便利,同時(shí)也給推薦系統(tǒng)帶來(lái)了技術(shù)性的挑戰(zhàn)。用戶-評(píng)分矩陣對(duì)傳統(tǒng)的協(xié)同過(guò)濾算法具有關(guān)鍵性的作用,然而在大數(shù)據(jù)時(shí)代的背景下,用戶面對(duì)海量的數(shù)據(jù)信息,很難對(duì)自己喜歡的項(xiàng)目全部進(jìn)行評(píng)分,這就造成了評(píng)分?jǐn)?shù)據(jù)的稀疏,從而影響推薦算法的精度性。針對(duì)數(shù)據(jù)稀疏問(wèn)題,利用社交網(wǎng)絡(luò)信息,分別從用戶評(píng)分、興趣標(biāo)簽、社交關(guān)系三個(gè)方面分別建立用戶相似度模型,然后采用協(xié)同過(guò)濾算法將三個(gè)模型進(jìn)行融合,以進(jìn)行推薦預(yù)測(cè)。在KDD CUP 2012 Track1數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該算法相比傳統(tǒng)的協(xié)同過(guò)濾算法,算法精確度有較好的提高,對(duì)于數(shù)據(jù)稀疏問(wèn)題也有較好的緩解作用。
協(xié)同過(guò)濾;推薦系統(tǒng);相似度模型;標(biāo)簽信息;社交關(guān)系
隨著互聯(lián)網(wǎng)技術(shù)的日趨成熟,以信息化服務(wù)產(chǎn)業(yè)以及電子信息產(chǎn)業(yè)為代表的互聯(lián)網(wǎng)數(shù)量越來(lái)越多,如新聞資訊、百科系統(tǒng)、電子商務(wù)以及社交網(wǎng)絡(luò)等。這些網(wǎng)站大多擁有巨大的用戶量,隨之帶來(lái)的是海量的數(shù)據(jù)信息?,F(xiàn)如今,人們已經(jīng)進(jìn)入大數(shù)據(jù)時(shí)代,用戶很難從海量的數(shù)據(jù)信息中快速找到自己所需要的信息,不同的用戶利用搜索引擎往往得到的是相同的推薦排名結(jié)果,然而用戶更希望根據(jù)自己的興趣喜好得到個(gè)性化推薦。以亞馬遜網(wǎng)上書店、淘寶網(wǎng)、京東商城,天貓超市等為代表的電子商務(wù)網(wǎng)站,以及以YouTube、騰訊微博、FaceBook、人人網(wǎng)等為代表的社交網(wǎng)絡(luò)平臺(tái)大都采用個(gè)性化推薦,而傳統(tǒng)的推薦系統(tǒng)已經(jīng)很難滿足用戶需求。因此,許多學(xué)者提出了多種推薦算法,其中協(xié)同過(guò)濾算法以其良好的擴(kuò)展性和可實(shí)現(xiàn)性[1],在推薦系統(tǒng)中被廣泛應(yīng)用。然而協(xié)同過(guò)濾推薦自身也存在著許多缺點(diǎn),主要包括:(1)數(shù)據(jù)稀疏問(wèn)題。由于用戶-項(xiàng)目評(píng)分矩陣數(shù)據(jù)的稀疏性,計(jì)算出的用戶或項(xiàng)目相似度必定是不準(zhǔn)確的,進(jìn)而影響到推薦精度以及用戶的體驗(yàn)效果。(2)冷啟動(dòng)問(wèn)題。在推薦系統(tǒng)中由于新用戶沒(méi)有對(duì)項(xiàng)目的評(píng)分信息,而新項(xiàng)目也沒(méi)有被用戶評(píng)分,這就無(wú)法計(jì)算其相應(yīng)的最近鄰,因此無(wú)法推薦。(3)傳統(tǒng)算法計(jì)算只能區(qū)分用戶間的興趣程度,對(duì)于用戶間的朋友關(guān)系與陌生程度卻不能區(qū)分。
一方面,傳統(tǒng)的協(xié)同過(guò)濾算法過(guò)分依賴評(píng)分信息,而忽略其他因素,如用戶的標(biāo)簽信息,這些標(biāo)簽信息本質(zhì)上體現(xiàn)了用戶對(duì)某些項(xiàng)目上的偏好程度[2-3]。如何更好地利用這些信息,建立用戶相似度模型,對(duì)實(shí)現(xiàn)個(gè)性化推薦以及提高算法的精確度有著重要作用。
另一方面,許多推薦系統(tǒng)都基于這樣一個(gè)假設(shè):用戶對(duì)于項(xiàng)目的評(píng)分是相互獨(dú)立的,用戶主觀地根據(jù)自己的興趣愛好對(duì)項(xiàng)目進(jìn)行評(píng)分,而不會(huì)受到其他用戶的影響。然而,在現(xiàn)實(shí)生活中,大多數(shù)用戶當(dāng)決定選擇某項(xiàng)項(xiàng)目時(shí),一般都會(huì)向自己信任的朋友或社交網(wǎng)絡(luò)中親密的好友征求意見,人們的興趣愛好通常容易受到朋友圈中好友或現(xiàn)實(shí)中親人的影響。用戶的社交關(guān)系在一定程度上反映了他們?cè)谂d趣愛好上的相似程度以及他們?cè)诂F(xiàn)實(shí)世界的相似程度。社交網(wǎng)絡(luò)作為一種信息傳播媒介,為人們提供了一個(gè)交流、學(xué)習(xí)、娛樂(lè)的社會(huì)平臺(tái),其中比較出名的有騰訊微博、FaceBook、YouTube、微信、朋友圈等。這些網(wǎng)絡(luò)平臺(tái)提供了豐富的用戶關(guān)系以及朋友關(guān)系信息。近年來(lái),利用社交網(wǎng)絡(luò)信息來(lái)提高推薦系統(tǒng)的性能越來(lái)越受到學(xué)者們的關(guān)注[4-6]。例如:Ziegler和Lausen發(fā)現(xiàn)在社交平臺(tái)中用戶間的信任度與相似度成正相關(guān)性[7-9];Massa和Avesani利用Epinions網(wǎng)絡(luò)上的信息計(jì)算用戶的信任關(guān)系來(lái)預(yù)測(cè)用戶興趣偏好[10]。如何合理地利用社交網(wǎng)絡(luò)信息,產(chǎn)生個(gè)性化推薦,對(duì)推薦系統(tǒng)精度的提高以及用戶體驗(yàn)都有重要意義[11-13]。
目前大多數(shù)網(wǎng)站都是根據(jù)用戶的喜好為其提供個(gè)性化的推薦,例如亞馬遜、易趣網(wǎng)等,這些網(wǎng)站大都采用協(xié)同過(guò)濾算法[14]?;谟脩舻膮f(xié)同過(guò)濾算法的主要步驟如下:
(1)計(jì)算用戶間的相似度。
(2)依據(jù)目標(biāo)用戶與其他用戶的相似度從大到小排序,選出前N個(gè)用戶作為其最近鄰。
(3)利用最近鄰對(duì)其進(jìn)行評(píng)分預(yù)測(cè)。
用戶間的相似度計(jì)算可采用多種方式,其中最常用的是皮爾遜相關(guān)系數(shù)[15]。給定用戶a與用戶b,相似度計(jì)算如式(1)所示:
(1)
通過(guò)皮爾遜相關(guān)系數(shù)計(jì)算用戶間相似度,然后選取目標(biāo)用戶最近鄰,記Nur是其最近鄰,最后計(jì)算其對(duì)項(xiàng)目i的預(yù)測(cè)評(píng)分,如式(2)所示:
(2)
(3)
其中,Si為所有項(xiàng)目集合;ruj為用戶u對(duì)項(xiàng)目j的評(píng)分。
傳統(tǒng)的推薦算法基于用戶之間的評(píng)分是相互獨(dú)立的,忽略了社交網(wǎng)絡(luò)中用戶間的信任關(guān)系以及現(xiàn)實(shí)生活中用戶間的朋友關(guān)系,然而通常情況下,用戶選擇某項(xiàng)項(xiàng)目時(shí),一般會(huì)征求其好友的建議或意見。為了提高推薦精度,社交網(wǎng)絡(luò)信息與用戶評(píng)分信息在社交推薦系統(tǒng)中應(yīng)該同時(shí)被考慮[16-18]。在現(xiàn)實(shí)生活中,用戶可以向自己關(guān)系密切,并且信任的好友表達(dá)自己的興趣偏好,同樣,他們的興趣愛好也會(huì)對(duì)其所信任的好友有不同程度的影響,因此通過(guò)用戶間信任度,可以對(duì)用戶偏好進(jìn)行預(yù)測(cè)。Golbeck在社交網(wǎng)絡(luò)中研究了用戶間的信任度,并且通過(guò)用戶間信任度進(jìn)行預(yù)測(cè)推薦[19],這些利用信任關(guān)系的推薦系統(tǒng)比傳統(tǒng)推薦更具個(gè)性化。
傳統(tǒng)的協(xié)同過(guò)濾通常利用評(píng)分信息計(jì)算用戶間相似度,記SR={Sij},其中Sij表示用戶i與用戶j的相似度,SR表示用戶間相似度矩陣。根據(jù)協(xié)同過(guò)濾,用戶u對(duì)項(xiàng)目j的預(yù)測(cè)評(píng)分可以表示成關(guān)于SR的函數(shù),記為Puj=f(SR)。
提取用戶標(biāo)簽信息,計(jì)算基于用戶標(biāo)簽信息的相似度矩陣,記Sk={Sij},然后采用協(xié)同過(guò)濾算法,用戶u對(duì)項(xiàng)目j的評(píng)分預(yù)測(cè)記為Puj=f(Sk)。
同樣依據(jù)用戶社交關(guān)系信息,計(jì)算基于社交關(guān)系的用戶相似度矩陣,記Ss={Sij},然后同樣采用協(xié)同過(guò)濾算法,用戶u對(duì)項(xiàng)目j的評(píng)分預(yù)測(cè)可記為Puj=f(Ss)。
為了能夠得到較好的推薦結(jié)果,將三種模型進(jìn)行融合。為了方便表示,每個(gè)模型定義如下:
UB:基于評(píng)分矩陣模型。
KW:基于社交網(wǎng)絡(luò)用戶標(biāo)簽?zāi)P汀?/p>
SNS:基于社交網(wǎng)絡(luò)用戶社交關(guān)系模型。
UK:結(jié)合UB模型與KW模型。
US:結(jié)合UB模型與SNS模型。
UKS:結(jié)合UB模型、KW模型與SNS模型。
文中提取社交網(wǎng)絡(luò)中的標(biāo)注信息,其中用戶對(duì)項(xiàng)目的標(biāo)注信息均為二值標(biāo)注,這里的標(biāo)注值相當(dāng)于用戶對(duì)項(xiàng)目的評(píng)分值,然后采用基于用戶的協(xié)同過(guò)濾算法進(jìn)行評(píng)分預(yù)測(cè)。
在社交網(wǎng)絡(luò)中,用戶通常會(huì)選用一些關(guān)鍵詞來(lái)表示自己的職業(yè)、興趣愛好以及觀點(diǎn),這一系列的關(guān)鍵詞被稱為用戶的標(biāo)簽。用戶的標(biāo)簽是用戶的自我描述,例如:運(yùn)動(dòng)、乒乓、游泳、唱歌、旅游等。用戶的標(biāo)簽信息反映了用戶的興趣趨向,在某種程度上用戶標(biāo)簽的相似性反映了用戶興趣的相似性。提取所有的用戶關(guān)鍵詞形成一個(gè)用戶-關(guān)鍵詞字典,令N表示字典中關(guān)鍵詞的總個(gè)數(shù),給定一個(gè)用戶a,其關(guān)鍵詞的向量形式如式(4)所示:
uka={ka1,ka2,…,kan}
(4)
利用杰卡德相關(guān)系數(shù)計(jì)算基于用戶標(biāo)簽信息相似度,用戶a與用戶b的相似度計(jì)算如式(5)所示:
(5)
然后選取目標(biāo)用戶u最近鄰,記Nuk為基于用戶標(biāo)簽最近鄰,然后預(yù)測(cè)評(píng)分,如式(6)所示:
(6)
社交網(wǎng)絡(luò)中用戶的社交關(guān)系主要反映在用戶的關(guān)注關(guān)系上。關(guān)注關(guān)系在社交平臺(tái)上普遍存在,例如:騰訊QQ、微信、微博等社交平臺(tái)。除了關(guān)注關(guān)系,還包括點(diǎn)贊、打賞、綁定賬號(hào)等特殊的社交關(guān)系方式。關(guān)注關(guān)系作為一種普通的社交關(guān)系,在某種程度上反映了用戶間的相互支持認(rèn)同、信任等關(guān)系。如果用戶a關(guān)注用戶b,具體說(shuō)來(lái)主要有兩個(gè)原因:第一,在現(xiàn)實(shí)世界中,用戶a與用戶b本來(lái)就是朋友關(guān)系;第二,用戶a對(duì)用戶b發(fā)表或轉(zhuǎn)發(fā)的內(nèi)容感興趣,因此關(guān)注了用戶b,而用戶b發(fā)表或轉(zhuǎn)發(fā)的內(nèi)容本身也反映了b的興趣。a關(guān)注了b,在一定程度上反映了a與b具有相近的興趣偏好。
同樣地,如果用戶a關(guān)注了用戶c,用戶b關(guān)注了用戶c,那么就可以認(rèn)為一定程度上用戶a與用戶b也有相似的興趣愛好。根據(jù)用戶間的關(guān)注信息進(jìn)行建模,給定一個(gè)用戶a,記用戶a在一段時(shí)間內(nèi)關(guān)注過(guò)其他用戶的集合為:
fa={fa1,fa2,…,fan}
(7)
同樣利用杰卡德相關(guān)系數(shù)計(jì)算用戶社交關(guān)系的相似度,如式(8)所示:
(8)
同樣選取與目標(biāo)用戶u最近鄰,記為Nus為基于社交關(guān)系的最近鄰,然后依據(jù)協(xié)同過(guò)濾算法預(yù)測(cè)評(píng)分,如式(9)所示:
(9)
通過(guò)評(píng)分信息可以很容易找到目標(biāo)用戶的最近鄰,但由于評(píng)分矩陣的稀疏性,利用式(1)計(jì)算用戶間的相似度存在一定的偏差。
如果用戶a與用戶b共同評(píng)論的數(shù)量非常少而且評(píng)價(jià)的分值又高度相近,由式(1)計(jì)算的用戶a與用戶b的相似度就很高[20]。例如:a與b只對(duì)項(xiàng)目i進(jìn)行評(píng)分,且評(píng)分分值相同,通過(guò)式(1)計(jì)算得到a與b的相似度為1。如果把b作為a的最近鄰用戶,利用b的評(píng)分信息來(lái)預(yù)測(cè)a的評(píng)分,這就會(huì)對(duì)a的預(yù)測(cè)評(píng)分造成一定的影響,也就是說(shuō),a與b雖然擁有相同的項(xiàng)目評(píng)分,但是只利用單一的用戶-項(xiàng)目評(píng)分矩陣計(jì)算用戶相似度無(wú)法準(zhǔn)確地反映用戶間的興趣愛好程度。
基于上述情況,從社交網(wǎng)絡(luò)中提取用戶標(biāo)簽信息,挖掘用戶的興趣偏好,建立用戶相似度模型。給定一個(gè)用戶u,記Nuk為利用社交網(wǎng)絡(luò)中用戶關(guān)鍵詞信息計(jì)算的用戶u的最近鄰,然后利用Nur和Nuk兩個(gè)最近鄰進(jìn)行評(píng)分預(yù)測(cè),將基于評(píng)分信息的協(xié)同過(guò)濾與基于用戶標(biāo)簽的協(xié)同過(guò)濾相融合,如式(10)所示:
(10)
在一定程度上,該算法能夠?qū)ι鲜銮闆r起到緩解作用,其中參數(shù)λ表示KW模型在UK模型中的權(quán)重。
相反地,如果用戶a與用戶b在現(xiàn)實(shí)世界中是好朋友,但由于矩陣稀疏,用戶a與用戶b沒(méi)有評(píng)分的項(xiàng)目非常少甚至沒(méi)有,通過(guò)式(1)計(jì)算出用戶a與用戶b的相似度就相當(dāng)?shù)?。因?yàn)橛脩鬮是用戶a的朋友,用戶b的評(píng)分對(duì)用戶a的預(yù)測(cè)評(píng)分有著重要影響,但是用戶a與用戶b的相似度過(guò)低,使得用戶b不在用戶a的最近鄰內(nèi),這就造成了用戶a最近鄰用戶的缺失,進(jìn)而影響推薦精度。
基于上述可能出現(xiàn)的情況,運(yùn)用社交網(wǎng)絡(luò)中用戶的社交關(guān)系信息建立用戶相似度模型,然后獲取目標(biāo)用戶的最近鄰。給定一個(gè)用戶u,記Nus為基于用戶社交關(guān)系計(jì)算的最近鄰,然后在傳統(tǒng)協(xié)同過(guò)濾算法的基礎(chǔ)上融合基于用戶社交關(guān)系的協(xié)同過(guò)濾,利用Nur和Nus兩個(gè)最近鄰進(jìn)行評(píng)分預(yù)測(cè),對(duì)傳統(tǒng)的協(xié)同過(guò)濾算法進(jìn)行補(bǔ)充,如式(11)所示:
(11)
其中,參數(shù)δ表示SNS模型在US模型中的權(quán)重。在一定程度上,該算法能夠?qū)ι鲜銮闆r起到緩解作用。
基于上述兩種情況,融合基于評(píng)分矩陣相似度模型(UB模型)、基于用戶標(biāo)簽相似度模型(KW模型)、基于用戶社交關(guān)系相似度模型(SNS模型)來(lái)提高推薦精度,如式(12)所示:
(12)
其中,α,β,γ為參數(shù),有α+β+γ=1。
傳統(tǒng)的協(xié)同過(guò)濾算法,即UB模型算法的時(shí)間復(fù)雜度是O(n2),而基于KW模型算法與SNS模型算法的時(shí)間復(fù)雜度也都為O(n2),所以KW模型、SNS模型、UB模型的時(shí)間復(fù)雜度相當(dāng)。由于UKS模型是由以上三種模型進(jìn)行線性組合,因此,基于UKS模型的算法時(shí)間復(fù)雜度與傳統(tǒng)的UB模型算法的時(shí)間復(fù)雜度相當(dāng)。
為了驗(yàn)證算法的有效性,選取KDD CUP 2012 Track1(www.kddcup2012.org)作為數(shù)據(jù)集。該數(shù)據(jù)集是2012年騰訊公司提供的關(guān)于騰訊微博用戶數(shù)據(jù)的一個(gè)真實(shí)采樣,其中主要使用三個(gè)數(shù)據(jù)集。
標(biāo)注信息數(shù)據(jù)集:包含1 392 873個(gè)用戶,4 710個(gè)項(xiàng)目,以及42 118 498條標(biāo)注信息,標(biāo)注信息均采用二值標(biāo)注,其中標(biāo)注值均為1或-1,每個(gè)標(biāo)注信息還有一個(gè)時(shí)間戳。
用戶關(guān)鍵詞數(shù)據(jù)集:包含2 320 895個(gè)用戶的關(guān)鍵詞信息,每個(gè)用戶不同的關(guān)鍵詞都用不同特定的正整數(shù)表示。
用戶社交關(guān)系數(shù)據(jù)集:包含50 655 143條用戶關(guān)注信息,每個(gè)用戶與被關(guān)注的用戶都用特定的數(shù)字作為其索引號(hào)。
標(biāo)注信息數(shù)據(jù)集稀疏程度計(jì)算如下:
由此可以看出該數(shù)據(jù)集十分稀疏。
由于原數(shù)據(jù)集中數(shù)據(jù)規(guī)模過(guò)于龐大,因此從中選取10萬(wàn)條標(biāo)注信息作為訓(xùn)練集,其中包括3 162個(gè)用戶,3 365個(gè)項(xiàng)目。在原測(cè)試集中缺少真實(shí)的評(píng)分?jǐn)?shù)據(jù),為了確保實(shí)驗(yàn)的精確度,將對(duì)選出的數(shù)據(jù)做以下處理:從10萬(wàn)條數(shù)據(jù)信息中隨機(jī)篩選出90%作為訓(xùn)練集,剩下10%作為測(cè)試集,為了實(shí)現(xiàn)算法的實(shí)驗(yàn)評(píng)估,在測(cè)試集中確保每個(gè)用戶至少有3個(gè)正標(biāo)注信息。
在實(shí)驗(yàn)中,采取平均精度(Mean Average Precision atN,MAP@N)來(lái)評(píng)價(jià)推薦算法的精度。首先計(jì)算測(cè)試集中每個(gè)測(cè)試用戶的精度,然后將每個(gè)測(cè)試用戶的精度進(jìn)行累加,最后尋求精度平均值。具體來(lái)說(shuō):給定一個(gè)測(cè)試用戶u,L是按照推薦算法預(yù)測(cè)評(píng)分高低排序?yàn)橛脩魎推薦的項(xiàng)目列表,每個(gè)測(cè)試用戶精度AP@N定義如式(13)所示:
(13)
其中,M為推薦列表L中被測(cè)試用戶標(biāo)注過(guò)的項(xiàng)目總數(shù);p(k)為推薦列表L中第k位置處的精度,定義如式(14)所示:
(14)
(15)
其中,U表示測(cè)試集中所有用戶的集合。
在KDD CUP 2012 Track1任務(wù)中,N值取3作為實(shí)驗(yàn)評(píng)估標(biāo)準(zhǔn)。為了更好地與其他實(shí)驗(yàn)進(jìn)行比較,文中也取N為3作為實(shí)驗(yàn)評(píng)估標(biāo)準(zhǔn)。
為了尋找每個(gè)模型最近鄰最佳個(gè)數(shù),將運(yùn)用訓(xùn)練集對(duì)UB,KW,SNS三種單因素模型進(jìn)行訓(xùn)練,通過(guò)改變最近鄰個(gè)數(shù)來(lái)觀測(cè)對(duì)算法精度的影響,進(jìn)而尋找每個(gè)模型的最佳鄰居個(gè)數(shù)。選取TOP-N從2到20來(lái)觀察精度的變化,實(shí)驗(yàn)結(jié)果如圖1所示。
圖1 三種模型TOP-N對(duì)精度的影響
從圖1中可以看出,在KW,SNS模型中,算法精度MAP@3先隨著TOP-N的增加而增加,然而當(dāng)TOP-N超過(guò)某個(gè)值后精度反而減少,最后趨于平穩(wěn)。而在UB模型中,當(dāng)TOP-N從0到6逐漸增加時(shí),算法精度有所提高,但當(dāng)TOP-N從6到20變化時(shí),算法精度大體呈現(xiàn)下降趨勢(shì)。同時(shí)還可以觀察出,當(dāng)TOP-N分別為6、6、12時(shí),UB,KW,SNS模型算法精度MAP@3相應(yīng)最高,因此UB,KW,SNS三種模型的最佳TOP-N分別為6,6,12,對(duì)應(yīng)UB,KW,SNS三種模型最佳精度值分別為0.340 2,0.240 0,0.173 0。由此可知,UB模型有著較高的推薦精度,KW模型次之,然后是SNS模型。為了提高算法的推薦精度,將對(duì)UK模型中的參數(shù)λ,US模型中的參數(shù)δ,以及UKS模型中的參數(shù)α,β,γ進(jìn)行實(shí)驗(yàn),尋找各個(gè)模型中的參數(shù)最佳值。
3.4.1 尋找UK,US模型中的最佳參數(shù)λ,δ
在UK模型中,為了評(píng)估KW模型在UK模型中所占的權(quán)重,將對(duì)模型中參數(shù)λ值取步長(zhǎng)為0.1進(jìn)行實(shí)驗(yàn)。當(dāng)λ=0時(shí),表示只依賴于UB模型進(jìn)行評(píng)分預(yù)測(cè);當(dāng)λ=1時(shí),表示只利用KW模型進(jìn)行評(píng)分預(yù)測(cè);當(dāng)參數(shù)λ∈(0,1),表示融合UB模型與KW模型來(lái)進(jìn)行評(píng)分預(yù)測(cè)。
在US模型中,參數(shù)δ為SNS模型在US模型中的權(quán)重。當(dāng)δ=0時(shí),表示只依賴于UB模型進(jìn)行評(píng)分預(yù)測(cè);當(dāng)δ=1時(shí),表示只利用SNS模型進(jìn)行評(píng)分預(yù)測(cè);當(dāng)參數(shù)δ∈(0,1),表示融合UB模型與SNS模型進(jìn)行評(píng)分預(yù)測(cè)。對(duì)于參數(shù)δ,步長(zhǎng)也取0.1,實(shí)驗(yàn)結(jié)果如圖2所示。
圖2 UK模型中參數(shù)λ,US模型中參數(shù)δ對(duì)精度的影響
從圖2中可看出,在UK模型下,當(dāng)參數(shù)λ從0到0.3變化時(shí),算法精度MAP@3逐漸呈上升趨勢(shì),當(dāng)參數(shù)λ進(jìn)一步從0.3到1不斷增大時(shí),算法精度反而逐漸下降,然后趨于平穩(wěn)。同時(shí)還可以觀察到,當(dāng)λ=0時(shí),算法精度明顯高于λ=1的算法精度值,說(shuō)明單一的UB模型在精度上要高于KW模型。從算法精度MAP@3變化趨勢(shì)來(lái)看,當(dāng)參數(shù)λ在0.2到0.4之間的范圍內(nèi)時(shí),基于UK模型的算法精度較高,當(dāng)參數(shù)λ=0.3時(shí),算法精度MAP@3最高。
在US模型下,當(dāng)參數(shù)δ從0到0.2變化時(shí),算法精度逐漸呈上升趨勢(shì),隨著參數(shù)δ進(jìn)一步從0.2增加到1,算法精度MAP@3逐漸降低,然后趨于平穩(wěn)。當(dāng)δ=0時(shí),算法精度MAP@3明顯高于δ=1時(shí)的算法精度,這也說(shuō)明單一的UB模型精度也要高于SNS模型精度。從算法精度MAP@3的變化趨勢(shì)來(lái)看,當(dāng)參數(shù)δ在0.1到0.3之間,基于US模型算法的精度較高,當(dāng)參數(shù)δ=0.2時(shí)算法精度MAP@3最佳。
3.4.2 尋找UKS模型中的最佳參數(shù)α,β,γ
在UKS模型中,為了評(píng)估UB,KW,SNS模型各自在UKS模型中的權(quán)重,將分別對(duì)參數(shù)α,β,γ進(jìn)行實(shí)驗(yàn)。考慮到在UB,UK,US模型中,UB模型的推薦精度相比KW,SNS模型較高,且由α+β+γ=1,只需尋求β,γ兩個(gè)參數(shù)即可。
根據(jù)圖1,選取UB,KW,SNS每個(gè)模型最佳鄰居數(shù)進(jìn)行實(shí)驗(yàn),即UB模型TOP-N為6,KW模型TOP-N為6,SNS模型TOP-N為12。當(dāng)尋求參數(shù)α最佳值時(shí),先固定參數(shù)α,γ,參數(shù)β步長(zhǎng)采用0.1來(lái)進(jìn)行實(shí)驗(yàn);同樣對(duì)于參數(shù)γ,先固定參數(shù)α,β,步長(zhǎng)也采用0.1,實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 UKS模型中參數(shù)β,γ對(duì)精度的影響
從圖3可以看出,當(dāng)參數(shù)β從0到0.2逐漸增加時(shí),算法精度MAP@3也隨之增加,隨著β從0.2到1繼續(xù)增加,算法精度先降低,然后趨于平穩(wěn)。而對(duì)于參數(shù)γ,當(dāng)從0到0.1范圍內(nèi)變化時(shí),精度MAP@3提高較快,當(dāng)從0.1到1逐漸增加時(shí),精度MAP@3先降低,然后趨于平穩(wěn)。同時(shí)還可以觀察到,當(dāng)參數(shù)β,γ從0.4到1變化時(shí),算法精度MAP@3趨于平穩(wěn),也說(shuō)明隨著參β,γ數(shù)值的增大,KW模型與SNS模型對(duì)UKS模型的影響逐漸減弱。因此得到如下結(jié)論:在UKS模型下,當(dāng)參數(shù)β=0.2,參數(shù)γ=0.1時(shí),算法精度最高。
為了檢驗(yàn)各個(gè)模型的最佳精度,將在各個(gè)模型參數(shù)取得最佳的情況下進(jìn)行測(cè)試。在UK模型中參數(shù)λ取0.3,在US模型中參數(shù)δ取0.2,在UKS模型中參數(shù)α,β,γ分別取0.7,0.2,0.1。仍然選取TOP-N從2到20來(lái)觀察算法精度的變化,實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 UB,UK,US,UKS的TOP-N對(duì)精度的影響
從圖4中可以看到,當(dāng)TOP-N從4到20變化時(shí),模型UK,US,UKS的精度都大于UB模型的精度,表明融合社交網(wǎng)絡(luò)信息的UKS模型算法要比單一的依據(jù)評(píng)分信息的UB模型算法,在推薦精度方面有較好的提高,并且UKS模型的算法精度最優(yōu),UK模型次之,然后是US模型。也驗(yàn)證了表1中單因素KW模型較優(yōu)于單因素SNS模型。同時(shí)還可以觀察到,在UB模型中,隨著TOP-N從12到20變化,算法精度MAP@3急劇下降,然而在UK,US,UKS模型中,算法精度相對(duì)趨于平穩(wěn),表明基于社交網(wǎng)絡(luò)信息的KW,SNS模型對(duì)UB模型有較好的補(bǔ)充作用。
為了精確計(jì)算UK,US,UKS模型對(duì)于UB模型提高的精度,定義計(jì)算方式如下:
(16)
表1US,UK,UKS三種模型與UB模型的精度比較及提高比率
從表1中可以看出,US模型相比UB模型提高了8.70%,UK模型相比UB模型提高了10.50%,顯然UK模型要優(yōu)于US模型。表明在UB模型的基礎(chǔ)上融合不同的單因素模型對(duì)算法會(huì)有不同的影響,也驗(yàn)證了圖1中在單因素模型下KW模型要優(yōu)于SNS模型。隨著影響模型因素的增加,算法精度也有不同程度的提高,其中UKS模型精度最高,相比UB模型精度提高18.01%。UKS模型在UB模型的基礎(chǔ)上融合了KW和SNS,而UK,US兩個(gè)模型相比UB模型,只分別融合了KW,SNS單個(gè)模型。實(shí)驗(yàn)結(jié)果表明:在UB模型上融合KW,SNS兩個(gè)模型要優(yōu)于融合單因素模型。
通過(guò)以上實(shí)驗(yàn)可以得出如下結(jié)論:融合多因素模型的算法精度要優(yōu)于單因素模型,然后將多因素UKS模型與另外兩種算法—SHANDA[21]和UST[22]作比較。UST,SHANDA也相應(yīng)融合了多因素分解模型,比較結(jié)果如圖5所示。
ModelUSUTUSTMAP@30.3460.3640.394ModelUSUKSHANDAMAP@30.36880.38870.3911ModelUSUKUKSMAP@30.36980.37680.4015
圖5 UKS、SHANDA、UST三種模型的精度比較
通過(guò)比較可知,在UK模型中的文中算法精度高于UST模型中UT模型的精度,而略低于SHANDA模型中UK模型的精度,然而在US和UKS模型中,文中算法精度仍然比其他兩種模型算法的精度要高。相比其他兩種算法,UKS模型對(duì)于推薦精度有較好的提高。相比傳統(tǒng)的協(xié)同過(guò)濾算法,在用戶評(píng)分?jǐn)?shù)據(jù)稀疏的情況下,提取用戶的標(biāo)簽信息、用戶社交關(guān)系信息來(lái)計(jì)算用戶間的相似度,進(jìn)而預(yù)測(cè)評(píng)分,對(duì)傳統(tǒng)算法中數(shù)據(jù)稀疏問(wèn)題有很好的補(bǔ)充作用,對(duì)于推薦精度也有很好的提高。
分析了多種因素模型對(duì)推薦精度的影響,包括用戶標(biāo)注信息、用戶標(biāo)簽信息,以及用戶在社交平臺(tái)上的社交關(guān)系信息,利用這些信息提出一種融合社交網(wǎng)絡(luò)信息的協(xié)同過(guò)濾算法。實(shí)驗(yàn)結(jié)果表明,相比傳統(tǒng)的UB模型,在數(shù)據(jù)稀疏的情況下,UKS模型對(duì)其有很好的緩解作用,與SHANDA和USTCF兩種推薦算法相比,算法精度都有所提高。不足之處在于參數(shù)的尋找問(wèn)題。對(duì)于不同的數(shù)據(jù)集,取得參數(shù)的最佳值可能存在一定的偏差,這就需要抽取不同的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),才能尋求更加準(zhǔn)確的最佳值。下一步的工作將是抽取不同的數(shù)據(jù)集對(duì)算法中的參數(shù)進(jìn)行多次實(shí)驗(yàn),尋找更加精確的參數(shù)值,進(jìn)一步提高算法推薦精度。
[1] Herlocker J L,Konstan J A,Terveen L G,et al.Evaluating collaborative filtering recommender systems[J].ACM Transactions on Information Systems,2004,22(1):5-53.
[2] 陳博文,劉功申,張浩霖,等.融合標(biāo)簽傳播和信任擴(kuò)散的個(gè)性化推薦方法[J].計(jì)算機(jī)工程,2014,40(12):33-38.
[3] 張艷梅,王 璐.適應(yīng)用戶興趣變化的社會(huì)化標(biāo)簽推薦算法研究[J].計(jì)算機(jī)工程,2014,40(11):318-321.
[4] Ma H,Yang H,Lyu M R,et al.Sorec:social recommendation using probabilistic matrix factorization[C]//Proceedings of the 17th ACM conference on information and knowledge management.[s.l.]:ACM,2008:931-940.
[5] Ma H,King I,Lyu M R.Learning to recommend with social trust ensemble[C]//Proceedings of the 32nd international ACM SIGIR conference on research and development in information retrieval.[s.l.]:ACM,2009:203-210.
[6] Liu F,Lee H J.Use of social network information to enhance collaborative filtering performance[J].Expert Systems with Applications,2010,37(7):4772-4778.
[7] Ma H,Zhou D,Liu C,et al.Recommender systems with social regularization[C]//Proceedings of the 4h ACM international conference on web search and data mining.[s.l.]:ACM,2011:287-296.
[8] Ziegler C N, Lausen G. Analyzing correlation between trust and user similarity in online communities[C]//Second international conference on trust management.[s.l.]:[s.n.],2004.
[9] 定明靜.基于信任網(wǎng)絡(luò)的推薦技術(shù)研究及應(yīng)用[D].成都:電子科技大學(xué),2013.
[10] Massa P,Avesani P.Trust-aware recommender systems[C]//Proceedings of the 2007 ACM conference on recommender systems.[s.l.]:ACM,2007.
[11] 蔡 浩,賈宇波,黃成偉.結(jié)合用戶信任模型的協(xié)同過(guò)濾推薦方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(35):148-151.
[12] 朱麗中,徐秀娟,劉 宇.基于項(xiàng)目和信任的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)工程,2013,39(1):58-62.
[13] 楊興耀,于 炯,吐爾根·依布拉音,等.基于信任模型填充的協(xié)同過(guò)濾推薦模型[J].計(jì)算機(jī)工程,2015,41(5):6-13.
[14] Linden G,Smith B,York J.Amazon.com recommendations:item-to-item collaborative filtering[J].IEEE Internet Computing,2003,7(1):76-80.
[15] Adomavicius G, Tuzhilin A. Personalization technologies:a processoriented perspective[J].Communication of the ACM,2005,48(10):83-90.
[16] Shardanand U,Maes P.Social information filtering:algorithms for automating word of mouth[C]//Proceedings of the SIGCHI conference on human factors in computing systems.[s.l.]:ACM,1995:210-217.
[17] Ma H.An experimental study on implicit social recommendation[C]//Proceedings of the 36th international ACM SIGIR conference on research and development in information retrieval.[s.l.]:ACM,2013:73-82.
[18] Wu L,Chen E,Liu Q,et al.Leveraging tagging for neighborhood-aware probabilistic matrix factorization[C]//Proceedings of the 21st ACM international conference on information and knowledge management.[s.l.]:ACM,2012:1854-1858.
[19] Golbeck J.Generating predictive movie recommendations from trust in social networks[C]//International conference on trust management.[s.l.]:[s.n.],2006:93-104.
[20] Wang Bailing,Huang Junhen,Qu Linbing,et al.A collaborative filtering algorithm fusing user-based,item-based and social network information[C]//IEEE international conference on big data.[s.l.]:IEEE,2015:2337-2343.
[21] Chen Y,Liu Z,Ji D,et al.Context-aware ensemble of multifaceted factorization models for recommendation prediction in social networks[C]//Proceedings of the KDD-Cup workshop.Beijing,China:[s.n.],2012:1-7.
[22] Wang Rui,Wang Bailing,Huang Junhen.A collaborative filtering algorithm based social network information[C]//IEEE international conference on big data.[s.l.]:IEEE,2015:2384-2389.
ACollaborativeFilteringRecommendationAlgorithmBasedonSocialNetworkInformation
ZHANG Chao-heng,HE Xiao-wei,CHEN Yong-bing
(School of Mathematics and Information Engineering,Zhejiang Normal University,Jinhua 321000,China)
With the increasing number of Internet,massive data information offers convenience for Internet users and also brings a technical challenge to the recommendation system.User rating matrix plays a key role on the traditional collaborative filtering algorithm.However,in the age of big data,it is difficult for users to score all items they love when facing massive data information,resulting in the sparse rating data,which affects the accuracy of the recommendation algorithm.For data sparsity,the user similarity models are established respectively from three aspects of user score,interest tags and social relationship by using the social network information and then collaborative filtering algorithm is applied to complete the three models integration for recommending prediction.It is experimented in the data set of KDD CUP 2012 Track1 that the algorithm proposed is improved in the accuracy compared with the traditional one,and also has good ease for the data sparsity.
collaborative filtering;recommendation system;similarity model;tags information;social relationships
TP301.6
A
1673-629X(2017)12-0028-07
10.3969/j.issn.1673-629X.2017.12.007
2016-12-03
2017-04-12 < class="emphasis_bold">網(wǎng)絡(luò)出版時(shí)間
時(shí)間:2017-08-01
國(guó)家自然科學(xué)基金資助項(xiàng)目(61572023);浙江省自然科學(xué)基金(LY14F010008)
張朝恒(1990-),男,碩士研究生,研究方向?yàn)閰f(xié)同過(guò)濾、機(jī)器學(xué)習(xí);何小衛(wèi),副教授,碩士生導(dǎo)師,研究方向?yàn)闄C(jī)器學(xué)習(xí)、圖像視頻處理。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170801.1556.072.html