王瑞琴 蔣云良 李一嘯 樓俊鋼
1(湖州師范學(xué)院信息工程學(xué)院 浙江湖州 313000)2 (浙江財經(jīng)大學(xué)信息管理與工程學(xué)院 杭州 310018) (angelwrq@163.com)
?
一種基于多元社交信任的協(xié)同過濾推薦算法
王瑞琴1蔣云良1李一嘯2樓俊鋼1
1(湖州師范學(xué)院信息工程學(xué)院浙江湖州313000)2(浙江財經(jīng)大學(xué)信息管理與工程學(xué)院杭州310018) (angelwrq@163.com)
A Collaborative Filtering Recommendation Algorithm Based on Multiple Social
摘要協(xié)同過濾推薦是當(dāng)前最成功的個性化推薦技術(shù)之一,但是傳統(tǒng)的協(xié)同過濾推薦算法普遍存在推薦性能低和抗攻擊能力弱的問題.針對以上問題,提出了一種基于多元化社交信任的協(xié)同過濾推薦算法CF-CRIS (collaborative filtering based on credibility, reliability, intimacy and self-orientation).1)借鑒社會心理學(xué)中的信任產(chǎn)生原理,提出基于多個信任要素(可信度、可靠度、親密度、自我意識導(dǎo)向)的信任度計算方法;2)深入研究社交網(wǎng)絡(luò)環(huán)境中各信任要素的識別、提取和量化方法;3)基于用戶間的綜合信任度選取可信鄰居,完成對目標(biāo)用戶的個性化推薦.基于通用測試數(shù)據(jù)集的實驗研究結(jié)果表明:該算法不但可以極大地提高推薦系統(tǒng)的精確度和召回率,而且表現(xiàn)出良好的抗攻擊能力.
關(guān)鍵詞協(xié)同過濾;社交網(wǎng)絡(luò);信任;信任要素;推薦精度;召回率;抗攻擊能力
隨著計算機和Internet技術(shù)的快速發(fā)展,電子商務(wù)技術(shù)日趨成熟與壯大,人們的日常生活已離不開它.在電子商務(wù)環(huán)境下最重要的是信任(trust),然而信任問題仍然是當(dāng)前電子商務(wù)中的一個未解難題[1].在社會科學(xué)中,信任被認為是一種作用于個人或團體的依賴關(guān)系[2].信任具有主觀性、非對稱性、傳播性、可組合性、自我加強性和事件敏感性等特征.傳統(tǒng)的推薦技術(shù)通常假設(shè)用戶是獨立和恒等分布的,經(jīng)常忽略用戶間基于社會關(guān)系產(chǎn)生的信任.然而,在朋友推薦和系統(tǒng)推薦之間做出選擇時,無論從推薦的質(zhì)量還是推薦的有效性來看,用戶往往更傾向于前者,所以提取和量化用戶間的信任關(guān)系是改善推薦質(zhì)量的法寶.
社交網(wǎng)絡(luò)是人們在線交流的平臺,也是信息傳播的媒介,這一想法激發(fā)了基于信息傳播的信任推理方法的研究與發(fā)展.根據(jù)推理過程的不同,可以分為基于社交網(wǎng)絡(luò)結(jié)構(gòu)的信任模型和基于社會交互的信任模型2大類[3].
基于社交網(wǎng)絡(luò)結(jié)構(gòu)的信任模型通常建立在FOAF(friend-of-a-friend)基礎(chǔ)上.Paolo等人[4]基于Epinions數(shù)據(jù)集中的信任數(shù)據(jù)建立了預(yù)測模型MoleTrust,以此對社交網(wǎng)絡(luò)中用戶間的信任度進行預(yù)測,并基于信任進行推薦.Golbeck[5]提出基于最短信任路徑的信任推理模型TidalTrust,該模型計算復(fù)雜度低,具有良好的可擴展性.Zhang等人[6]對TidalTrust模型進行擴展,引入信任評價和可信度因子,使用加權(quán)圖結(jié)構(gòu)計算實體間的信任度.Kuter等人[7]根據(jù)來自不同信任鏈的信息,提出基于貝葉斯網(wǎng)絡(luò)的信任推理模型SUNNY.Kim[8]很據(jù)用戶在特定領(lǐng)域的專業(yè)程度和用戶間的熟悉程度構(gòu)建信任網(wǎng)絡(luò),并進行信任度的計算.Caverlee等人[9]基于社會關(guān)系和用戶反饋進行信任計算和推理,提出基于信譽的動態(tài)信任推理模型SocialTrust,該模型具有很好的魯棒性.Zuo等人[10]提出利用信任圖中的信任鏈計算信任度的方法,同時考慮了信任的組合問題.Hang等人[11]提出基于圖結(jié)構(gòu)的信任度量方法,并利用信任圖的相似性進行節(jié)點推薦.Seth等人[12]分析了社交網(wǎng)絡(luò)中常見的信任傳播模式,提出基于概率圖模型的信任推理算法.邢星[13]在信任網(wǎng)絡(luò)中定義了串聯(lián)和并聯(lián)2種信任組合路徑,分別定義不同的傳遞算子來計算用戶間的間接信任度.Jiang等人[14]利用小世界網(wǎng)絡(luò)特性從大型社交網(wǎng)絡(luò)中提取基于用戶領(lǐng)域的小型信任網(wǎng)絡(luò),計算復(fù)雜度更低,結(jié)果更客觀、更穩(wěn)定.
在基于社會交互的信任計算模型方面,Liu等人[15]利用在線社區(qū)中用戶的交互行為預(yù)測用戶的信任度.清華大學(xué)的課題組[16]和武漢大學(xué)的課題組[17]利用博弈原理,基于用戶間的交互行為研究用戶間的信任關(guān)系.Adali等人[18]基于交流信任和傳播信任計算用戶在社交網(wǎng)絡(luò)中的信任度.北京郵電大學(xué)的課題組[19]借鑒社會心理學(xué)中人與人之間的信任產(chǎn)生原理,基于用戶交互圖和用戶-項目評分進行信任計算.Nepal等人[20]提出一個基于交互的信任模型STrust,融合了流行信任度和參與信任度2種類型的信任.Kim等人[21]基于用戶評價衡量用戶對于相關(guān)主題的專業(yè)程度和用戶的興趣,進而計算用戶間的信任度.Li等人[22]利用用戶評分的相似性和用戶間由交互產(chǎn)生的熟悉性綜合度量用戶間的信任度.Nikolay等人[23]從評分數(shù)據(jù)中提取一系列關(guān)鍵特征用于用戶間信任度的計算,并使用分類算法度量每個特征在信任計算中的重要性.Emanuel等人[24]基于多數(shù)據(jù)源下的交互信息,定義了一系列基于內(nèi)容和基于網(wǎng)絡(luò)的用戶相似性度量方法進行協(xié)同推薦.
綜上所述,研究者們在信任計算和基于信任的推薦方面取得了一定的研究成果,然而已有方法主要關(guān)注用戶之間顯式的信任關(guān)系,很多有價值的隱式信任關(guān)系往往被忽略,對于信任傳播和信任融合方面的研究也不夠深入.另外,已有研究幾乎都是從技術(shù)角度來分析信任問題,缺乏社會心理學(xué)方面的理論指導(dǎo),這些問題都有待深入研究.
本文通過對社會心理學(xué)中信任產(chǎn)生原理的學(xué)習(xí),提出用戶間社交信任的計算方法,并深入研究社交網(wǎng)絡(luò)環(huán)境中各信任要素的提取、量化和集成方法,進而提出一種基于社交信任的協(xié)同過濾(collabora-tive filtering, CF)推薦算法.本文的創(chuàng)新點主要體現(xiàn)在4個方面:
1)借鑒社會心理學(xué)中的信任產(chǎn)生原理,在社交信任計算中綜合考慮多個信任要素,具有一定的理論基礎(chǔ);
2)充分利用用戶-項目評分數(shù)據(jù)和用戶間的初始信任關(guān)系,提取信任要素并對其進行量化,準(zhǔn)確度量用戶間的綜合社交信任度;
3)提出基于多元社交信任的協(xié)同過濾推薦算法,利用用戶間的綜合信任關(guān)系選取推薦鄰居,通過推薦鄰居的評分信息,實現(xiàn)對目標(biāo)用戶的推薦;
4)在FilmTrust和Epinions數(shù)據(jù)集上進行了實驗驗證,結(jié)果表明,和同類方法相比,本文算法不但提高了推薦的精度和召回率,而且在抗攻擊能力方面表現(xiàn)良好.
1多元社交信任的理論基礎(chǔ)
1.1信任產(chǎn)生原理
在《The Trusted Advisor》一書中,David等人[25]借鑒社會心理學(xué)中人們之間信任產(chǎn)生的過程,提出一個商業(yè)領(lǐng)域的信任計算公式:
TR=(C×K×I)S,
(1)
其中,TR表示用戶間的信任度,C表示用戶的可信度(credibility),K表示用戶的可靠度(reliability),I表示用戶間的親密度(intimacy),S表示用戶的自我意識導(dǎo)向(self-orientation).
需要指出的是,式(1)并不是一個嚴(yán)格的用于信任計算的數(shù)學(xué)公式,而是指明信任計算中前3個要素C,K,I是正向指標(biāo),最后1個要素S是反向指標(biāo).
1.2相關(guān)定義
在協(xié)同過濾推薦系統(tǒng)中,用戶評分數(shù)據(jù)由m個用戶組成的用戶集U={u1,u2,…,um},n個項目組成的項目集T={t1,t,…,tn}和一個m×n階評分矩陣R組成,其中Rij表示用戶ui對項目tj的評分值,如果用戶ui對項目tj沒有評價,則Rij=0.
一些電子商務(wù)社交平臺允許人們顯式地指定信任關(guān)系,信任關(guān)系通常用m×m階的信任矩陣DT表示,DTij表示用戶ui對用戶uj的信任程度,DTij∈{0,1},0表示不信任,1表示信任.信任矩陣也可以使用一個信任網(wǎng)絡(luò)圖G=(V,E)來表示,其中節(jié)點V表示用戶,邊E表示用戶間具有信任關(guān)系,邊的權(quán)重表示信任的程度.
定義1. 候選鄰居用戶集H.給定一個歷史評分矩陣R,當(dāng)前用戶ui∈U,當(dāng)前項目tk∈T,此時Rik=0.如果存在uj∈U,使得Rjk≠0,那么稱用戶uj是用戶ui在項目tk上的一個候選鄰居.則ui在項目tk上的候選鄰居集Hk(ui)表示為
Hk(ui)={uj|Rik=0∧Rjk≠0,uj∈U,tk∈T}.
(2)
定義2. 共評項目集CI.給定用戶ui和用戶uj,如果存在tk∈T,使得Rik≠0且Rjk≠0,那么就說項目tk是用戶ui和用戶uj的一個共評項目.則用戶ui和用戶uj的共評項目集CIij表示為
CIij={tk|Rik≠0∧Rjk≠0,tk∈T}.
(3)
定義3. 用戶的可信度C.給定用戶ui和用戶uj,如果CIij≠?,那么可以根據(jù)用戶ui和用戶uj在CIij上的評分相似度sim(ui,uj)來衡量用戶間的可信度.則用戶ui和用戶uj間的可信度表示為
C(ui,uj)=sim(ui,uj), ifCIij≠?.
(4)
定義4. 用戶的可靠度K.給定用戶ui和用戶uj,如果CIij≠?,那么可以使用用戶uj在CIij上對用戶ui預(yù)測評分的推薦準(zhǔn)確率PR(ui,uj)作為用戶ui對用戶uj可靠性的度量.則用戶ui對用戶uj可靠性的度量表示為
K(ui,uj)=PR(ui,uj), ifCIij≠?.
(5)
定義5. 用戶間的親密度I.給定一個初始信任矩陣DT,用戶ui∈U,用戶uj∈U,如果DTij≠0或者通過信任推理后用戶ui和用戶uj間的間接信任度ITij≠0,那么就說用戶ui和用戶uj之間具有一定的社會親密度.則用戶ui和用戶uj間的親密度表示為
(6)
定義6. 用戶的自我意識導(dǎo)向S.給定一個信任網(wǎng)絡(luò)G,當(dāng)前用戶ui∈U,那么可以使用用戶ui在G中全局信譽度rep(ui)的倒數(shù)來衡量ui的自我意識導(dǎo)向.則用戶ui的自我意識導(dǎo)向表示為
(7)
2多元社交信任的計算方法
2.1用戶間可信度(C)的計算
可信度指的是人們給出的可以證明自己沒有言過其實的種種信號.比如他們的確擁有自己聲稱擁有的資質(zhì),或者他們的職業(yè)水平確實如他們自稱的一樣出色.某人的可信度越高,你就越是可以相信他.現(xiàn)實世界中“物以類聚、人以群分”的自然選擇規(guī)律在虛擬的社交網(wǎng)絡(luò)中同樣適用,研究表明,興趣愛好越相似的用戶之間的信任程度越高,我們稱之為相似信任.因此,本文基于用戶間的評分相似度來衡量用戶間的可信度,用戶間的評分相似度可以采用Pearson相關(guān)系數(shù)來度量:
(8)
假設(shè)s(ui,uj)=s(ui,uk),但是|CIij|>|CIik|,即用戶ui和用戶uj之間的共評項目數(shù)大于用戶ui和用戶uk之間的共評項目數(shù),顯然此時用戶ui和用戶uj間的評分相似度應(yīng)該比用戶ui和用戶uk間的評分相似度大.下面利用用戶間的共評項目數(shù)|CIi,j|對評分相似度的計算公式進行優(yōu)化:
(9)
式(9)使用指數(shù)函數(shù)避免|CIi,j|過大對相似度計算結(jié)果造成的影響,使得用戶相似度落在[0,1]區(qū)間內(nèi).當(dāng)|CIi,j|足夠大時,式(9)的右項值趨于1;對于很小的|CIi,j|,該項的值約為0.6;當(dāng)|CIi,j|>5時,該項的值大于0.9.
2.2用戶可靠度(K)的計算
簡單地講,可靠度指一個人做事情的靠譜程度.在電子商務(wù)推薦系統(tǒng)中,用戶的可靠度就是用戶推薦的準(zhǔn)確度,比如他們越是經(jīng)常性地向你推薦你喜歡的商品,那么你越是有理由相信該用戶未來的推薦也是可靠的.因此,本文通過計算用戶的推薦準(zhǔn)確率來評估其可靠性.
將用戶uj∈Hk(ui)作為用戶ui的唯一推薦用戶,對于tk∈CIij,根據(jù)以下公式對目標(biāo)用戶ui進行評分預(yù)測:
(10)
根據(jù)實際評分值與預(yù)測評分值之間的差異程度,得到用戶ui對用戶uj推薦能力的計算公式如下:
(11)
目標(biāo)用戶ui對推薦用戶uj推薦準(zhǔn)確率的計算為
(12)
其中,|CIij|表示用戶ui和用戶uj的共評項目數(shù).
2.3用戶間親密度(I)的計算
社交網(wǎng)絡(luò)的主體是用戶,用戶能創(chuàng)建和維護與其他用戶之間的朋友關(guān)系,具有朋友關(guān)系的用戶之間具有較強的親密度.朋友關(guān)系具有傳遞性,所謂“friend of a friend is a friend”就是這個道理.親密度是信任中最強有力的情感因素之一,是信任計算中不可忽視的一個組成部分.
Fig. 1 Initial trust network of users.圖1 用戶間的初始信任網(wǎng)絡(luò)
如定義5所述,社會親密度由直接信任度或間接信任度來表征,這里借鑒文獻[19]中提出的方法計算用戶間的間接信任度.給定用戶間的初始信任網(wǎng)絡(luò)G,如圖1所示,要計算當(dāng)前用戶ui和其他用戶間的間接信任度.首先以用戶ui為起點,將與用戶ui有直接信任關(guān)系的所有用戶排列在用戶ui的周圍;再將這些用戶直接信任的用戶排在以用戶ui為圓心的第2層,以此類推,形成一系列以用戶ui為圓心的同心圓;為了獲取最短信任路徑,只保留不同層節(jié)點之間的連接邊,得到目標(biāo)節(jié)點的信任網(wǎng)絡(luò)圖G′,如圖2所示,此時第1層節(jié)點(u1,u2,u3,u4)為用戶ui的朋友,第2層節(jié)點(u5,u6,u7,u8)為用戶ui的朋友(u1,u2,u3,u4)的朋友,以此類推.
Fig. 2 Trust network of the target user node.圖2 目標(biāo)用戶節(jié)點信任網(wǎng)絡(luò)示意圖
采用以下公式計算當(dāng)前用戶ui對處于G′中第2層及以上的用戶uj的間接信任度:
(13)
其中,IT(ui,uj)表示用戶ui與用戶uj的間接信任度,Lj為用戶uj所在的層,n表示從用戶ui到用戶uj共有n條路徑.以上信任推理過程同時考慮了信任路徑的長度和多信任路徑的組合問題.
例如對于用戶節(jié)點u7,它處于第2層,所以L7=2;從ui到u7有2條路徑(ui→u2→u7和ui→u4→u7),所以n=2;則用戶ui與用戶u7的間接信任度為(121)(1(1+e-1))≈0.37.
2.4用戶自我意識導(dǎo)向(S)的計算
人際網(wǎng)絡(luò)建設(shè)的核心要素在于樂于助人,構(gòu)建不以交換原則為基礎(chǔ)的新型人際關(guān)系.社交網(wǎng)絡(luò)亦是如此,使用自己的網(wǎng)絡(luò)來解決問題,通過給他人提供商業(yè)機會來構(gòu)筑杠桿原理.所以說,自我意識導(dǎo)向是信任中的負面因素,一個人的自我意識導(dǎo)向越是強烈,人們越是無法信任此人.比如一個只對自己感興趣、全然不在意他人的感受,這樣的人就是自我意識導(dǎo)向強烈者的范例之一;而愿意推薦競爭對手的好產(chǎn)品而不是堅持自家產(chǎn)品壟斷,這樣的人就有著較低的自我意識導(dǎo)向.
本文基于用戶在社交信任網(wǎng)絡(luò)中的全局信譽度(reputation)來衡量用戶自我意識導(dǎo)向的強度,用戶信譽度越高,其自我意識導(dǎo)向程度越弱,越值得信任.給定信任網(wǎng)絡(luò)G,目標(biāo)用戶ui∈U,用戶ui的信譽度rep(ui)與G中信任用戶ui的用戶數(shù)和這些用戶自身的信譽度密切有關(guān),本文采用PageRank算法來計算用戶的信譽度:
(14)其中,m是信任網(wǎng)絡(luò)中的用戶數(shù)量,TU(ui)是信任用戶ui的用戶集,rep(uj)是用戶uj的信譽度,|TN(uj)|是用戶uj的信任用戶數(shù),q是調(diào)和因子.
2.5基于信任四要素的社交信任計算方法
完成所有信任要素的提取和量化之后,首先進行各信任要素的歸一化操作,然后采用線性合并的方法(測試多種合并方式后發(fā)現(xiàn)此方法性能最好)得到用戶間的綜合社交信任程度:
TR(ui,uj)=w1×C(ui,uj)+w2×K(ui,uj)+
w3×I(ui,uj)-w4×S(uj),
(15)
其中,TR(ui,uj)表示用戶ui對用戶uj的綜合社交信任度;C(ui,uj)表示用戶ui對用戶uj的可信度的度量值;K(ui,uj)表示用戶ui對用戶uj的可靠度的度量值;I(ui,uj)表示用戶ui和用戶uj之間的親密度的度量值;S(uj)表示用戶uj的自我意識導(dǎo)向的度量值;w1,w2,w3,w4為各信任要素的權(quán)重因子,滿足w1+w2+w3+w4=1,具體權(quán)重分配采用實驗訓(xùn)練方法得到.
3基于多元社交信任的協(xié)同推薦算法
傳統(tǒng)協(xié)同推薦方法基于相似用戶對目標(biāo)項目的歷史評分來估計當(dāng)前用戶對目標(biāo)項目的喜好程度,用戶間的相似度基于歷史評分矩陣計算得到.在實際應(yīng)用中,隨著系統(tǒng)規(guī)模的不斷擴大,用戶-項目評分矩陣會變得越來越稀疏,導(dǎo)致用戶相似性的計算結(jié)果很不準(zhǔn)確,從而影響推薦質(zhì)量.另外,在面對用戶概貌注入攻擊(profile injection attacks)時,基于用戶相似度的協(xié)同過濾算法抗攻擊能力較差.針對上述問題,本文提出一種基于多元社交信任的協(xié)同推薦算法CF-CRIS (collaborative filtering based on credibility, reliability, intimacy and self-orientation),其核心思想如下:
1) 針對目標(biāo)項目tk,選取目標(biāo)用戶ui的候選鄰居集Hk(ui);
2) 分別利用式(4)~(7)計算每個候選鄰居的可信度C、可靠度K、親密度I和自我意識導(dǎo)向S,然后利用式(15)將以上4個信任要素進行合并,得到目標(biāo)用戶對候選用戶的綜合信任度TR;
3) 按照綜合信任度對候選用戶進行降序排列,選取前k個信任度最大的用戶作為目標(biāo)用戶的推薦鄰居knn(ui);
4) 根據(jù)推薦鄰居對目標(biāo)項目tk的評分信息,采用基于社交信任的協(xié)同過濾方法計算目標(biāo)用戶ui對目標(biāo)項目tk的預(yù)測評分:
(16)
根據(jù)以上算法思想,給出算法CF-CRIS的偽代碼描述如下:
算法1. CF-CRIS.
輸入:評分矩陣R、初始信任矩陣DT、目標(biāo)用戶ui∈U、目標(biāo)項目tk∈T;
輸出:用戶ui對項目tk的預(yù)測評分Pik.
①knn(ui)=?;
②Hk(ui)←{uj|Rik=0∧Rjk≠0,uj∈U};
③ for eachuj∈Hk(ui) do
④C(ui,uj)=sim(ui,uj);
⑤K(ui,uj)=P(ui,uj);
⑥ ifDTij≠0 then
⑦I(ui,uj)=DT(ui,uj);
⑧ else ifITij≠0 then
⑨I(ui,uj)=IT(ui,uj);
⑩ end if
4實驗結(jié)果與分析
4.1測試數(shù)據(jù)集
本文實驗采用2個數(shù)據(jù)集:
1) FilmTrust站點*http://trust.mindswap.org提供的數(shù)據(jù)集.該數(shù)據(jù)集是一個電影評分數(shù)據(jù)集,其中包括1 508個用戶對2 071部電影的35 497次評分,評分范圍為0.5~4,評分數(shù)據(jù)的稀疏度為98.86%;此外,該數(shù)據(jù)集還包括1 642個用戶之間的1 853個顯式信任關(guān)系,信任數(shù)據(jù)的稀疏度為99.93%.
2) Epinions站點*http://www.epinions.com提供的數(shù)據(jù)集.該數(shù)據(jù)集是一個大眾消費者點評數(shù)據(jù)集,其中包括49 290個用戶對139 738件商品的664 824次評分,評分范圍為1~5,評分數(shù)據(jù)的稀疏度為99.99%;此外,該數(shù)據(jù)集還包括49 290個用戶之間的487 181個顯式信任關(guān)系,信任數(shù)據(jù)的稀疏度為99.98%.
實驗中,我們采用了5-cross交叉驗證法,首先將原始評分數(shù)據(jù)集劃分為互不相交的5組;然后對于每組數(shù)據(jù),隨機選取其中的10%作為訓(xùn)練集,進行參數(shù)w1,w2,w3,w4的估計,其余90%作為測試集,采用leave-one out方法進行評分預(yù)測;最后取5組測試的平均值作為實驗結(jié)果.
4.2性能評價指標(biāo)
1) 平均絕對誤差(mean absolute error,MAE).MAE是一個廣泛用于評估推薦算法性能的重要參數(shù),通過計算實際評分值與預(yù)測評分值之間的偏差得到.MAE的值越低說明推薦算法的精度越高.
(17)
其中,Pk表示預(yù)測評分值,Rk表示真實評分值,n表示評分預(yù)測的次數(shù).
2) 召回率(recall,RL).RL也叫查全率,指通過算法可以預(yù)測出來的評分數(shù)與所有待測評分數(shù)之間的比值.
(18)
其中,m表示通過算法可以得到的預(yù)測評分數(shù),n表示測試集中待測評分數(shù).
3) 平均預(yù)測偏差(average prediction shift,APS).APS用來評價推薦算法的抗攻擊能力,描述推薦算法受攻擊前后預(yù)測性能的差異程度,APS越小說明推薦算法的抗攻擊能力越強.單個項目的APS定義為
(19)
(20)
其中,T表示項目集合.
4.3推薦性能的比較
文獻[26]提出一種基于雙重鄰居選取策略的協(xié)同過濾推薦算法CF-DNC,與本文方法有類似之處.該算法基于評分相似度選擇目標(biāo)用戶的興趣相似用戶集,然后利用leave-one-out方法計算目標(biāo)用戶對興趣相似用戶的信任程度,以此作為選取可信鄰居用戶的依據(jù).與本文提出的CF-CRIS算法相比,CF-DNC算法只考慮了信任的前2個要素,沒有考慮用戶間的親密度和用戶的自我意識導(dǎo)向.
為了評價推薦算法的精度,在同樣的實驗環(huán)境下,將本文提出的推薦算法(CF-CRIS)與傳統(tǒng)的協(xié)同過濾推薦算法(CF)和CF-DNC算法進行實驗比較.另外,我們還和采用單一信任要素的協(xié)同推薦算法進行了對比,包括基于可信度的協(xié)同推薦算法(CF-C)、基于可靠度的協(xié)同推薦算法(CF-R)、基于親密度的協(xié)同推薦算法(CF-I)和基于自我意識導(dǎo)向的協(xié)同推薦算法(CF-S).采用FilmTrust和Epinions數(shù)據(jù)集,分別為目標(biāo)用戶選取不同的信任鄰居個數(shù)(k)得到的推薦精度(MAE)對比結(jié)果如表1和表2所示.
從表1和表2中可以看出,在信任用戶數(shù)k=15和k=25時,采用FilmTrust和Epinions數(shù)據(jù)集的推薦方法達到最佳推薦效果.同時,不論采用哪種數(shù)據(jù)集,CF-CRIS的推薦MAE值都明顯小于CF算法和CF-DNC算法,以及基于單一信任要素的推薦算法CF-C,CF-R,CF-I,CF-S.這不僅說明基于多元社交信任的協(xié)同推薦算法可以改善推薦質(zhì)量,而且表明本文提出的社交信任度量方法是可取的,因為該方法在信任計算中綜合考慮了多個信任要素,所以推薦鄰居的選擇更加準(zhǔn)確,從而獲得了更高的推薦精度.
Table 1Comparison of Recommendation Precision (MAE)
with FilmTrust Dataset
表1 采用FilmTrust數(shù)據(jù)集的推薦精度(MAE)對比
Table 2Comparison of Recommendation Precision (MAE)
with Epinions Dataset
表2 采用Epinions數(shù)據(jù)集的推薦精度(MAE)對比
Fig. 3 Comparison of recall (RL) using FilmTrust dataset.圖3 采用FilmTrust數(shù)據(jù)集召回率(RL)對比
例如,采用FilmTrust數(shù)據(jù)集的實驗,當(dāng)推薦鄰居數(shù)k=15時,CF-CRIS的推薦精度比CF和CF-DNC算法分別提高了大約29%和16%,比基于單一信任要素的推薦算法CF-C,CF-R,CF-I,CF-S分別提高了大約15%,16%,35%,24%.此外,CF-C的推薦精度比CF算法提高了大約17%,因為在用戶相似度的計算過程中,CF-C考慮了用戶間的共評項目數(shù),由此可見,共評項目數(shù)是度量用戶偏好相似度的重要指標(biāo)之一.為了進一步評價推薦算法的召回率,將本文提出的CF-CRIS算法與傳統(tǒng)的CF算法和CF-DNC算法,以及基于單一信任要素的推薦算法的召回率進行了實驗比較,對比結(jié)果如圖3和圖4所示:
Fig. 4 Comparison of recall (RL) using Epinions dataset.圖4 采用Epinions數(shù)據(jù)集召回率(RL)對比
從圖3和圖4可以看出,不論采用哪種數(shù)據(jù)集,算法CF-CRIS的召回率與CF算法、CF-DNC算法以及基于單一信任要素的推薦算法CF-C,CF-R,CF-I和CF-S相比,性能相當(dāng)或更好.由此可見,在數(shù)據(jù)集極端稀疏的情形下,本文提出的推薦算法在提高推薦精度的同時,也獲得了較好的召回率.究其原因在于,社交信任的計算中綜合考慮了多個信任要素,所以有效避免了數(shù)據(jù)稀疏性問題.此外,不論采用哪種數(shù)據(jù)集,基于用戶親密度的推薦算法CF-I的RL值都非常低,這一方面是由于用戶聲明的信任關(guān)系非常稀疏,另一方面也說明本文提出的信任推理算法有待進一步優(yōu)化.
4.4抗攻擊能力的比較
由于推薦系統(tǒng)固有的開放性和對用戶信息的敏感性,使其非常容易受用戶概貌注入型攻擊的影響,從而影響推薦的質(zhì)量.為了對比本文算法CF-CRIS和傳統(tǒng)推薦算法CF以及CF-DNC算法在抗攻擊能力方面的性能,采用混合攻擊方式人為地向原始數(shù)據(jù)集中注入惡意用戶概貌信息.推薦過程中,選取填充規(guī)模(filling size)為1%,3%,5%,10%,攻擊規(guī)模(attack size)為1%,2%,3%,5%,在不同填充規(guī)模和攻擊規(guī)模下,3種推薦算法的推薦精度對比結(jié)果如表3和表4所示:
Table 3 Comparison of Recommendation Precision (MAE) for Hybrid Attack when Using FilmTrust Dataset
Table 4 Comparison of Recommendation Precision (MAE) for Hybrid Attack when Using Epinions Dataset
從表3和表4可以看出,在同一填充規(guī)模下,隨著攻擊規(guī)模的不斷增大,3種推薦算法的MAE都有上升趨勢,由此可見,隨著攻擊用戶的增多,系統(tǒng)的推薦精度逐漸下降.此外,無論在何種攻擊規(guī)模和填充規(guī)模下,CF-CRIS的推薦MAE值都明顯小于CF推薦算法和CF-DNC算法,而且CF-CRIS因攻擊產(chǎn)生的預(yù)測偏差也比CF算法和CF-DNC算法要小.以采用FilmTrust數(shù)據(jù)集的實驗結(jié)果為例,在受到平均攻擊的情況下,CF-CRIS算法的推薦精度比CF算法和CF-DNC算法分別提高了大約30%和16%,由此可見,本文算法具有良好的抗攻擊能力.
在混合攻擊方式下,分別采用FilmTrust和Epinions數(shù)據(jù)集,當(dāng)用戶概貌信息的填充規(guī)模為3%,5%,10%時,采用3種推薦算法的平均預(yù)測偏差(APS)對比結(jié)果如圖5~7所示.從圖5~7可以看出,在同一填充規(guī)模下,無論采用哪個數(shù)據(jù)集,3種推薦算法的APS值都隨攻擊規(guī)模的增大而增大,由此可見,攻擊用戶數(shù)越多推薦質(zhì)量越差.在同樣的填充規(guī)模和攻擊規(guī)模下,CF-CRIS算法比CF算法預(yù)測偏差要小很多,比CF-DNC算法的預(yù)測偏差也要略小一些,由此可見,CF-CRIS算法對于用戶概貌攻擊具有較強的抵抗能力.
Fig. 5 Comparison of APS with 3% filling size.圖5 3%填充規(guī)模時平均預(yù)測偏差(APS)對比
Fig. 6 Comparison of APS with 5% filling size.圖6 5%填充規(guī)模時平均預(yù)測偏差(APS)對比
Fig. 7 Comparison of APS with 10% filling size.圖7 10%填充規(guī)模時平均預(yù)測偏差(APS)對比
5結(jié)束語
隨著個性化推薦技術(shù)在電子商務(wù)系統(tǒng)中的廣泛應(yīng)用,關(guān)于推薦系統(tǒng)的推薦精度、召回率及抗攻擊能力方面的研究越來越引起人們的關(guān)注.本文借鑒社會心理學(xué)中的信任產(chǎn)生原理,綜合考慮多種信任要素在社交信任度量中的作用,提出一種基于多元社交信任的協(xié)同過濾推薦算法CF-CRIS.
CF-CRIS算法利用用戶-項目評分數(shù)據(jù)度量用戶的可信度和可靠性,基于用戶顯式聲明的信任關(guān)系推理用戶間的隱式信任和用戶的信譽度,綜合以上信任要素進行協(xié)同推薦.該算法的推薦精度和召回率都較傳統(tǒng)方法和現(xiàn)有方法具有大幅度提高,并表現(xiàn)出良好的抗攻擊能力.
CF-CRIS算法綜合利用用戶評分相似度和用戶信任關(guān)系選取推薦鄰居,可以避免傳統(tǒng)推薦中的數(shù)據(jù)稀疏性問題,而且信任推理和全局信任度的引入可以有效解決協(xié)同推薦中的冷啟動問題.進一步在實際應(yīng)用環(huán)境中檢測本文方法的性能是下一步的研究工作.
參考文獻
[1]Jones K, Leonard L. Trust in consumer-to-consumer electronic commerce[J]. Information Management, 2008, 45(2): 88-95
[2]Gambetta D. Trust[M]. Oxford, UK: Oxford University Press, 1990: 213-237
[3]Wanita S, Suryan N, Cecile P. A survey of trust in social networks[J]. ACM Computing Surveys, 2013, 45(4): 1-33
[4]Paolo M, Paolo A. Trust-aware collaborative filtering for recommender systems[G] //LNCS 3290: Proc of the Int Conf on CoopIS, DOA, and ODBASE. Berlin: Springer, 2004: 492-508
[5]Golbeck J A. Computing and applying trust in Web-based social networks[D]. College Park, Maryland: University of Maryland, 2005
[6]Zhang Y, Chen H, Andwu Z. A social network-based trust model for the semantic Web[G] //LNCS 4158: Proc of the Int Conf on Autonomic and Trusted Computing. Berlin: Springer, 2006: 183-192
[7]Kuter U, Golbeck J. SUNNY: A new algorithm for trust inference in social networks, using probabilistic confidence models[C] //Proc of the 22nd Int Conf on Artificial Intelligence. Menlo Park, CA: AAAI, 2007: 1377-1382
[8]Kim Y A. Building a Web of trust without explicit trust ratings[C] //Proc of IEEE ICDE’08. Piscataway, NJ: IEEE, 2008: 531-536
[9]Caverlee J, Liu L, Webb S. Towards robust trust establishment in Web-based social networks with SocialTrust[C] //Proc of the Int Conf on World Wide Web. New York: ACM, 2008: 1163-1164
[10]Zuo Y, Hu W C, O’Keefe T. Trust computing for social networking[C] //Proc of IEEE ICITNG’09. Piscataway, NJ: IEEE, 2009: 1534-1539
[11]Hang C W, Munindar P S. Trust based recommendation based on graph similarities[C] //Proc of the IEEE AAMAS’10. Piscataway, NJ: IEEE, 2010: 1-11
[12]Seth A, Myers, Zhu C G, et al. Information diffusion and external influence in networks[C] //Proc of the 18th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2012: 33-41
[13]Xing Xing. Research on recommendation methods in social networks[D]. Dalian: Dalian Maritime University, 2013 (in Chinese)(邢星. 社交網(wǎng)絡(luò)個性化推薦方法研究[D]. 大連:大連海事大學(xué), 2013)
[14]Jiang W J, Wang G J, Wu J. SWTrust: Generating trusted graphs for trust evaluation in online social networks[C] //Proc of the IEEE TrustCom’10. Piscataway, NJ: IEEE, 2011: 320-327
[15]Liu H, Lim E P, Lauw H W, et al. Predicting trusts among users of online communities: An Epinions case study[C] //Proc of the 9th ACM Conf on Electronic Commerce. New York: ACM, 2008: 310-319
[16]Tian Liqin, Lin Chuang. A kind of Game-Theoretic control mechanism of user behavior trust based on prediction in trustworthy network[J]. Chinese Journal of Computers, 2007, 30(11): 1930-1939 (in Chinese)(田立勤, 林闖. 可信網(wǎng)絡(luò)中一種基于行為信任預(yù)測的博弈控制機制[J]. 計算機學(xué)報, 2007, 30(11): 1930-1939)
[17]Chen Jing, Du Ruiying, Wang Lina, et al. A trust game method basing on probability model in networks[J]. Acta Electronic Sinica, 2010, 38(2): 427-433 (in Chinese)(陳晶, 杜瑞穎, 王麗娜, 等. 網(wǎng)絡(luò)環(huán)境下一種基于概率密度的信任博弈模型[J]. 電子學(xué)報, 2010, 38(2): 427-433)
[18]Adali S, Escriva R, Goldberg M K, et al. Measuring behavioral trust in social networks[C] //Proc of IEEE ISI’10. Piscataway, NJ: IEEE, 2010: 150-152
[19]Qiao Xiuquan, Yang Chun, Li Xiaofeng, et al. A trust calculation algorithm based on social networking service users’ context[J]. Chinese Journal of Computers, 2011, 34(12): 2043-2052 (in Chinese)(喬秀全, 楊春, 李曉峰, 等. 社交網(wǎng)絡(luò)服務(wù)中一種基于用戶上下文的信任度計算方法[J]. 計算機學(xué)報, 2011, 34(12): 2043-2052)
[20]Nepal S, Sherchan W, Patis C. STrust: A trust model for social networks[C] //Proc of the IEEE TrustCom’11. Piscataway, NJ: IEEE, 2011: 841-846
[21]Kim Y A, Phalak R. A trust prediction framework in rating-based experience sharing social networks without a Web of trust[J]. Information Sciences, 2012, 191: 128-145
[22]Li Y M, Shiu Y L. A diffusion mechanism for social advertising over microblogs[J]. Decision Support Systems, 2012, 54(1): 9-22
[23]Nikolay K, Alex T. Trust prediction from user-item ratings[J]. Social Network Analysis and Mining, 2013, 3(3): 749-759
[24]Emanuel L, Dominik K, Lukas E. Utilizing online social network and location-based data to recommend products and categories in online marketplaces[G] //LNCS 8940: Proc of the 4th Int Workshops on MUSE, Berlin: Springer, 2013: 96-115
[25]David H M, Charles H G, Rebert M G. The Trusted Advisor[M]. New York: Free Press, 2000
[26]Jia Dongyan, Zhang Fuzhi. A collaborative filtering recommendation algorithm based on double neighbor choosing strategy[J]. Journal of Computer Research and Development, 2013, 50(5): 1076-1084 (in Chinese)(賈冬艷, 張付志. 基于雙重鄰居選擇策略的協(xié)同過濾推薦算法[J]. 計算機研究與發(fā)展, 2013, 50(5): 1076-1084)
Wang Ruiqin, born in 1979. PhD, lecturer. Member of China Computer Federation. Her main research interests include data mining, knowledge services and social recommendation.
Jiang Yunliang, born in 1967. PhD, professor. His main research interests include artificial intelligence and data integration (jylsy@hutc.zj.cn).
Li Yixiao, born in 1982. PhD, associate professor. His main research interests include complex system and complex network (yixiao_li@126.com).
Lou Jungang, born in 1981. PhD, associate professor. His main research interests include dependable computing and software reliability evaluation (ljg@hutc.zj.cn).
Trusts
Wang Ruiqin1, Jiang Yunliang1, Li Yixiao2, and Lou Jungang1
1(SchoolofInformationEngineering,HuzhouUniversity,Huzhou,Zhejiang313000)2(SchoolofInformationManagementandEngineering,ZhejiangUniversityofFinance&Economics,Hangzhou310018)
AbstractCollaborative filtering (CF) is one of the most successful recommendation technologies in the personalized recommendation systems. It can recommend products or information for target user according to the preference information of similar users. However the traditional collaborative filtering algorithms have the disadvantages of low recommendation efficiency and weak capacity of attack-resistance. In order to solve the above problems, a novel collaborative filtering algorithm based on social trusts is proposed. Firstly, referring to the trust generation principle in social psychology, a social trust computation method based on multiple trust elements is presented. In social networking environment, trust elements mainly include credibility, reliability, intimacy and self-orientation. Then specific methods of identifying, extraction and quantification of the trust elements are studied in depth. Finally, the trustworthy neighbors of target user are selected in accordance with the social trust, so as to make trust-based collaborative recommendation. Using the FilmTrust and Epinions as test data sets, the performance of the novel algorithm is compared with that of the traditional CF and the-state-of-art methods, as well as the CF based on single trust element. Experimental results show that compared with the other methods, the proposed algorithm not only improves the recommendation precision and recall, but also has powerful attack-resistance capacity.
Key wordscollaborative filtering (CF); social network; trust; trust elements; recommendation precision; recall; attack-resistance capacity
收稿日期:2015-04-20;修回日期:2015-10-13
基金項目:國家自然科學(xué)基金項目(61402336,61370173,61403338);國家教育部科學(xué)基金項目(14YJCZH152);浙江省自然科學(xué)基金項目(LY15F020018);浙江省科技計劃項目(2013C31138,2015C33247)
中圖法分類號TP391
This work was supported by the National Natural Science Foundation of China (61402336,61370173,61403338), the Science Foundation of Ministry of Education of China (14YJCZH152), the Natural Science Foundation of Zhejiang Province of China (LY15F020018), and the Science and Technology Planning Project of Zhejiang Province of China (2013C31138,2015C33247).