熊清華
摘 要: 基于社交網(wǎng)絡(luò)的社會化推薦的依據(jù)是社交網(wǎng)絡(luò)中親密關(guān)系的用戶往往具有相似的興趣愛好。當(dāng)前基于社交網(wǎng)絡(luò)的推薦沒有充分地利用社交關(guān)系信息,導(dǎo)致預(yù)測精度較低和計算效率低、收斂速度慢。為了緩解數(shù)據(jù)稀疏以及提高推薦系統(tǒng)準(zhǔn)確性,對社交網(wǎng)絡(luò)提出了一種融合用戶熟悉度和用戶特征評分的推薦模型,充分利用了社交網(wǎng)絡(luò)中的用戶關(guān)系信息和特征信息。實驗表明,給出的推薦算法相比傳統(tǒng)的協(xié)同過濾算法明顯提高了推薦精度。
關(guān)鍵詞: 社交網(wǎng)絡(luò); 推薦系統(tǒng); 用戶熟悉度; 用戶特征評分; 評分融合
中圖分類號:TP391.1 文獻標(biāo)志碼:A 文章編號:1006-8228(2015)08-29-02
Research on recommendation model based on social network
Xiong Qinghua
(Institute of Software & Intelligent Technology, Hangzhou Dianzi University, Hangzhou, Zhejiang 310018, China)
Abstract: The basis of social recommendation based on social networks is that users of intimate relationships in social networks often have similar interests. Existing recommender approaches based on social trust relationships have not fully utilized such relationships and thus have low prediction accuracy or slow convergence speed. In order to improve the system accuracy and reduce data sparseness, we propose an improved recommendation model which blends user intimate rating and user characteristic rating and fully utilizes social relationships and characteristic information. The experiments show that the proposed algorithm is significantly improved compared with the traditional collaborative filtering algorithm.
Key words: social network; recommendation system; user intimate rating; user characteristic rating; rating blending
0 引言
當(dāng)前社交網(wǎng)絡(luò)迅猛發(fā)展,其中龐大的用戶數(shù)量、用戶關(guān)系信息以及海量的各種交互數(shù)據(jù),可以為個性化推薦系統(tǒng)提供有利的數(shù)據(jù)基礎(chǔ)。例如基于Oauth2.0的第三方登陸協(xié)議開始普遍應(yīng)用于各類互聯(lián)網(wǎng)應(yīng)用的賬戶登錄[1],用戶可以利用其社交網(wǎng)絡(luò)賬戶登錄到第三方的服務(wù)網(wǎng)站。第三方服務(wù)網(wǎng)站不僅可以有效降低用戶的注冊難度,也可以獲取到用戶的社交網(wǎng)絡(luò)信息,為用戶提供個性化的內(nèi)容。本文提出了一種融合社交網(wǎng)絡(luò)的推薦模型,充分利用了用戶的社交網(wǎng)絡(luò)信息,在有效緩解數(shù)據(jù)稀疏問題的同時,明顯的提高了推薦系統(tǒng)的預(yù)測精度。
1 基于社交網(wǎng)絡(luò)的推薦模型
1.1 社交網(wǎng)絡(luò)用戶熟悉度的計算
對社交網(wǎng)絡(luò)中用戶熟悉度的計算,是以社會心理學(xué)中人的信任產(chǎn)生過程研究為理論基礎(chǔ)。一般來說,人們會對熟悉的人產(chǎn)生信任,越是熟悉,信任度也越大,另外如果在相同熟悉度的條件下,人們往往更傾向信任與自己有相似背景、興趣和價值觀的人。因此對某人的熟悉度計算可以在一定程度上反映用戶對其的信任度。對于推薦系統(tǒng)來說,若是這部分人的推薦,用戶往往更容易接受,同時也可以根據(jù)熟悉用戶的人對項目的偏好,來推測出用戶的對項目的偏好[2]。
我們用s∈Rn×n表示用戶的社交關(guān)系,矩陣中的每一個元素sij取值為0或1,當(dāng)sij=0時表示用戶i與用戶j之間沒有直接聯(lián)系,當(dāng)sij=1時表示用戶i與用戶j相互關(guān)注或存在直接聯(lián)系,并且他們的距離為1,若sik=0,sjk=1,則用戶i與用戶k存在間接關(guān)系,他們的距離為dik=sij+sjk=2。根據(jù)六度分割理論,在一般的社交網(wǎng)絡(luò)中,兩個人之間最多只需要6人就可以產(chǎn)生聯(lián)系?;谶@個理論,社交網(wǎng)絡(luò)中兩用戶的最大距離d為7??紤]到計算復(fù)雜性及準(zhǔn)確率之間的平衡,我們只取最大距離dmax=3作為臨近用戶的計算[3]。
對于間接關(guān)系的熟悉度計算,本文定義,在社交網(wǎng)絡(luò)中兩個用戶u,v的熟悉程度與他們的距離呈對數(shù)衰減,具體公式定義如下:
⑴
1.2 社交網(wǎng)絡(luò)用戶特征評分的計算
針對傳統(tǒng)推薦算法中,用戶-項目評分矩陣數(shù)據(jù)稀疏的問題,我們選取了社交網(wǎng)絡(luò)用戶的若干特征,構(gòu)造了用戶特征-項目評分的矩陣,如表1所示。
表1 用戶特征-項目評分矩陣
[\&項目1\&項目2\&...\&項目n\&特征1\&0\&3\&...\&2\&特征2\&1\&4\&...\&2\&...\&...\&...\&...\&...\&特征n\&1\&3\&...\&0\&]
矩陣的項rfi表示具有特征f的用戶對項目i的評分的統(tǒng)計平均值取整,若具有f特征且對項目i評分的人數(shù)少于給定閾值時,考慮到評分的可信度,將rfi置零。求解矩陣中的0項元素采用LFM模型求解,因為LFM模型的訓(xùn)練效果最好,并且具有很好的可擴展性。
預(yù)測評分公式如下:
⑵
其中,oc表示用戶特征的偏置,oi表示項目偏置,k表示潛在語義,pck=P(c,k),qki=Q(k,i),也即將預(yù)測評分矩陣表示為矩陣P、Q相乘再加上偏置量。最后采用直接最小化均方根誤差來學(xué)習(xí)計算P、Q矩陣。
使用LFM模型求解出用戶特征-項目評分矩陣后,假設(shè)用戶自身特征集合為F(u),trfi表示具有特征f的用戶對項目i作出的評分,wf表示對應(yīng)特征f的權(quán)重。求用戶對項目的偏好評分公式如下:
⑶
對于特征權(quán)重wf的計算,考慮TF-IDF算法的思想[4],它綜合考慮特征詞在所有特征中的重要性和普遍性,具有很好的區(qū)分度,計算公式如下:
⑷
其中,N表示用戶總數(shù)量,nf表示具有特征f的用戶數(shù),k是常數(shù),主要作用是防止某些小眾特征獲得過大的權(quán)重。
1.3 社交網(wǎng)絡(luò)用戶熟悉度與用戶特征評分的融合
社交網(wǎng)絡(luò)用戶熟悉度的計算用于確定用戶的近鄰,并衡量他們的信任程度。用戶的特征評分的計算得到了相似特征、相似興趣等條件下用戶基于某種特征對項目給出的預(yù)測評分。將這兩部分進行適當(dāng)融合,可以有效提高評分預(yù)測的準(zhǔn)確度。
首先計算基于社交網(wǎng)絡(luò)用戶熟悉度的用戶評分。根據(jù)用戶u的熟悉度計算確定其近鄰用戶集合為Γ(u),用戶u與其鄰居v間熟悉度用fu,v來表示,用戶v對項目i的評分用frvi表示,則用戶u對項目i的評分可以按如下表達式計算得到:
⑸
對于與用戶特征評分的融合,若直接采用線性融合方式,會忽略掉社交網(wǎng)絡(luò)中的某些用戶因素。例如社交網(wǎng)絡(luò)中的用戶權(quán)重并不都是相同的,有些用戶作為核心節(jié)點,理論上應(yīng)該占有更大的權(quán)重。這里采用Fisher線性判別的方式,其訓(xùn)練特征除了包括基于用戶熟悉度的預(yù)測評分、用戶特征預(yù)測評分。還包括用戶好友數(shù)量特征、用戶特征數(shù)量等。其融合函數(shù)形式如下:
⑹
通過Fisher線性判別的訓(xùn)練計算過程[5],可以將、λ、θ、β等參數(shù)求解出來。
2 實驗與結(jié)論
2.1 實驗數(shù)據(jù)集
針對本章提出的改進算法,為了驗證其有效性與推薦質(zhì)量,本文采用了百度開放研究社區(qū)提供的電影推薦系統(tǒng)算法創(chuàng)新大賽數(shù)據(jù)集。該數(shù)據(jù)集提供了139690個用戶和140000部電影數(shù)據(jù)。實驗使用了training_set.txt、user_social.txt 兩個數(shù)據(jù)文件。其中training_set.txt數(shù)據(jù)格式為:userId、movieId、rating(1-5分),擁有用戶評分?jǐn)?shù)據(jù)493905條,稀疏度為0.0025%。user_social.txt 為用戶的社交關(guān)系數(shù)據(jù),數(shù)據(jù)格式為userId,follows,其中有用戶社交關(guān)系53690條。
2.2 評價指標(biāo)
平均絕對誤差(MAE)[6]是所有單個觀測值與算數(shù)平均值的偏差的絕對值平均。其定義為:
⑺
其中,I為測試集,表示i的預(yù)測評分,ri為其實際評分。
均方根誤差(RMSE),它能反映預(yù)測值與實際值的偏差程度。其表達式定義如下:
⑻
其中,rui表示實際評分,表示預(yù)測值。
平均精度(MAP),單個top-N推薦的平均精度是每個項目的準(zhǔn)確率的平均值。MAP是反映系統(tǒng)在全部推薦項目的準(zhǔn)確率的指標(biāo)。其定義為:
⑼
其中,P(k)表示用戶對該項目的點擊數(shù)與其在top-N列表中的排序k的比值,即該項目的推薦準(zhǔn)確度。c為推薦項目中被用戶點擊過的項目總數(shù)。
2.3 實驗分析
實驗一:選取社交網(wǎng)絡(luò)用戶間接聯(lián)系層級數(shù)S分別為0、1、2、3、4,計算對應(yīng)的數(shù)據(jù)稀疏度及平均絕對誤差MAE,結(jié)果如表2所示。
表2 不同層級下數(shù)據(jù)稀疏度及平均絕對誤差對比
[層級數(shù)S\&0\&1\&2\&3\&4\&數(shù)據(jù)稀疏度\&0.002%\&0.05%\&1.3%\&18.2%\&73.2%\&平均絕對誤差\&0.972\&0.851\&0.687\&0.615\&0.758\&]
從實驗結(jié)果可以看出,隨著網(wǎng)絡(luò)層級數(shù)的增加,數(shù)據(jù)稀疏度明顯降低,從而有效降低由于數(shù)據(jù)稀疏帶來的計算不準(zhǔn)確的問題。同時平均絕對誤差也隨之層級數(shù)的增加而改善,但是在層級數(shù)達到4時,平均絕對誤差反而增加了。分析其原因,隨著層級的增大,用戶間的實際信任度是降低了,這就對最終結(jié)果帶入了誤差,所以造成了平均絕對誤差出現(xiàn)了增加。綜合考慮系統(tǒng)效率和準(zhǔn)確度的要求,選擇層級數(shù)為3的計算用戶信任度較為合適。
實驗二:選擇樸素貝葉斯算法作為比較算法,與本文提出的算法分別對比均方根誤差及平均精度。實驗結(jié)果如表3所示。
表3 不同推薦算法實現(xiàn)效果的對比
[實現(xiàn)算法\&RMSE\&map\&樸素貝葉斯\&0.7266\&0.3262\&本文算法\&0.6653\&0.3611\&]
從實驗結(jié)果可以看出,樸素貝葉斯算法的實現(xiàn)效果并不是很好,本文所提出融合社交網(wǎng)絡(luò)分析的推薦算法,有效的緩解了數(shù)據(jù)稀疏的問題,同時考慮到了社交網(wǎng)絡(luò)的用戶特征對推薦的影響,因此在推薦效果方面有顯著的提高。
3 小結(jié)
本文提出了一種融合社交網(wǎng)絡(luò)信息分析的推薦模型,有效緩解了傳統(tǒng)推薦系統(tǒng)的用戶評分?jǐn)?shù)據(jù)稀疏的問題。實驗使用了百度電影推薦算法大賽的數(shù)據(jù)集,與傳統(tǒng)的推薦算法相比,驗證了本文算法的有效性。由于數(shù)據(jù)集的限制,本文的推薦模型僅僅考慮到了用戶在社交網(wǎng)絡(luò)上的社交關(guān)系信息,而在實際應(yīng)用中還可以考慮用戶在社交網(wǎng)絡(luò)中的交互數(shù)據(jù)、訪問數(shù)據(jù)等,以進一步提高系統(tǒng)準(zhǔn)確度。
參考文獻:
[1] 盧惠峰,趙文濤,孫志峰等.社會化網(wǎng)絡(luò)服務(wù)中的OAuth2.0的應(yīng)用研
究與實現(xiàn)[J].計算機應(yīng)用,2014.34(S1):50-54
[2] 孟祥武,胡勛,王才立,張玉潔.移動推薦系統(tǒng)及其應(yīng)用[J].軟件學(xué)報,
2013.24(1):91-102
[3] 王玙,高琳.基于社交圈的在線社交網(wǎng)絡(luò)朋友推薦算法[J].計算機學(xué)
報,2014.37(4):801-808
[4] 周由,戴牡紅.語義分析與TF-ID方法結(jié)合的新聞推薦技術(shù)[J].計算
機科學(xué),2013.40(11):267-269
[5] 林鴻飛,楊志豪,趙晶.基于內(nèi)容和合作模式的信息推薦機制[J].中文
信息學(xué)報,2005.19(01):48-55
[6] 朱郁筱,呂琳媛.推薦系統(tǒng)評價指標(biāo)綜述[J].電子科技大學(xué)學(xué)報,
2013.41(2):163-173