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