高良誠
(銅陵職業技術學院信息工程系,安徽 銅陵 244061)
隨著互聯網和移動網絡技術的快速發展,社交網絡作為真實社會社交關系的有益補充,構建了虛擬世界的朋友圈,極大地豐富了人們的工作方式和生活方式。社交網絡用戶數量飛速增長,信息過載問題突出,在海量用戶中找到真正需要的朋友越來越困難,好友推薦系統可以有效改善用戶體驗,已成為社交網絡領域的研究熱點[1-4]。
基于社交關系的推薦,其推薦的多為認識的好友或好友的好友,推薦范圍具有很大的局限性,對于好友數比較少的用戶難以產生好的推薦結果,不利于拓展朋友圈?;诰W絡內容的推薦,可以讓用戶快速找到感興趣的人,但所推薦用戶的信任度不高,影響推薦效果。綜合考慮社交關系和網絡內容及其它用戶信息,找到合適的融合參數,可以有效平衡推薦的新穎度和信任度,大量文獻做了這方面的研究。本文提出一種社交網絡中融合用戶關系、興趣愛好、地理位置的好友推薦算法(A Friend recommendation algorithm Based on Relations-Interests-Lacations,RIL-FR),綜合考慮用戶社交關系、興趣愛好、地理位置等用戶信息,提升算法的精準度。
好友推薦是網絡社交平臺的重要功能,高效的好友推薦算法能提升用戶交友體驗,快速擴大用戶社交圈,好友推薦已成為社交網絡領域的研究熱點。胡文江等[5]在社交關系的基礎上加入愛好標簽的相似度進行推薦,但用戶往往不愿意主動加入標簽特征,導致推薦算法性能不佳。xu J等[6]提出了一種好友推薦算法,采用基于用戶-項目評分矩陣的概率矩陣分解法,通過加權平均來度量受信任用戶與目標用戶的興趣相似性,加入用戶興趣信息后,能有效提高好友推薦算法的精度,但推薦用戶存在信任問題。龍增艷等[7]提出一種基于用戶交互的相似度計算算法KIFLink,根據用戶屬性、網絡拓撲和交互關系進行鏈路預測,并對用戶屬性與交互行為進行計算,以此來推薦好友。
隨著定位技術的發展,用戶地理位置信息在社交網絡中發揮著越來越重要的作用。地理位置信息與用戶在真實社會中的活動相關聯,一定程度上體現了用戶的行為模式、個人偏好。用戶行為在現實社會中受時空因素制約,距離的遠近直接影響其社交范圍和社交能力,將地理位置信息融入到好友推薦算法中,使社交網絡與現實社會網絡有機結合,且用戶之間更容易產生信任,有助于提高算法的有效性。
孫建偉等[8]等使用評分矩陣對用戶位置進行預估計,綜合考慮用戶興趣相似度和信任度,提出了針對位置預估計的組合算法,提高了位置預估計的精確度。曾雪琳等[9]提出一種基于位置和好友關系的協同過濾LFBCF算法,綜合考慮用戶行為、用戶社交關系、位置關系進行協同過濾,有效提升了算法的準確率,但對用戶興趣考慮不夠。XING X等[10]提出一種多維相似度的好友推薦算法,計算興趣、時間等相似度并通過用戶之間位置距離差值進行評價,但算法對位置距離的處理較為簡單。
本文提出一種社交網絡中融合用戶關系、興趣愛好、地理位置的好友推薦算法,綜合考慮用戶社交關系、興趣愛好、地理位置等用戶信息,計算相應的相似度,在此基礎上,將三種相似度加權融合計算用戶之間最終相似度,測試最佳融合參數,將其作為好友推薦算法的依據,增加好友推薦新穎度和信任度,從而提升算法的精準度。
根據六度分割原理,用戶能夠通過好友的好友來認識社交網絡中任何用戶,因此,兩個用戶的共同好友數量,直接影響他們成為好友的概率。用戶為校友關系或歷史上有共同居住地,將增加彼此信任度,他們之間成為好友的概率也會增加。
基于共同好友數、共同居住地數、是否校友關系的信任相似度計算公式為:

其中:GF用戶u和v的好友相似度;PR為用戶u和v共同居住地數;AS為是否校友關系,取值0或1;w1、w2和w3為比例系數。
好友相似度Gf由式(2)計算:

其中:Fu為用戶u的好友集合;Fv為用戶v的好友集合;|Fu∩Fv|為用戶u和v的共同好友數;|Fu∪Fv|為用戶u和v所有好友數。
具有相同興趣愛好的用戶在情感上容易產生共鳴,更容易成為好友。本文根據評論信息計算各個用戶與目標用戶之間的興趣相似度值,基于皮爾遜相關系數(Pearson correlation coefficient,PCC)的相似性計算公式為:

其中:ri(u)為用戶u在項目i上的評分值;rˉi(u)為用戶u在整個項目上的平均評分值。
社交網絡和現實社會并非完全獨立的,某些場景下,現實社會關系會在社交網絡中體現?,F實社會中,兩個用戶之間距離的遠近直接影響用戶的社交意愿,因而,用戶之間位置關系是社交網絡好友推薦的關鍵因素[11]。用戶u、v基于位置的相似度計算公式為:

其中:用戶u為目標用戶,(v1,v2,…,vM)為待推薦用戶集,du,vi按公式(5)計算:

其中:AS為是否校友;d(lu,lvi)為地點lu與地點lvi之間的距離,采用經緯度距離公式(6)計算:

社交網絡中,用戶交友的偏好不盡相同,對信任相似度、興趣相似度、位置相似度也有所側重,本文對上述三個要素進行融合,進行加權處理,將融合計算出的最終相似度值作為推薦好友依據,計算公式如下:

其中:Tru,v為信任相似度值;Hsimu,v為興趣相似度值;Distu,v為位置相似度值;α、β、γ為融合參數。
根據公式(7)計算出目標用戶與待推薦用戶的最終相似度值,采用Top-n策略,將相似度值大的前n個用戶推薦給目標用戶。
算法步驟如下:
1)對每個待推薦用戶集(v1,v2,…,vM)中用戶,分別按照公式(1)、(3)、(4)計算與目標用戶之間的相似性。
2)對每個待推薦用戶集(v1,v2,…,vM)中用戶,按公式(7)融合計算與目標用戶的相似度值
3)將步驟2)計算出的相似度值排序,根據Top-n策略,前n個用戶推薦給目標用戶。
本文采用新浪微博數據集,對數據進行預處理,刪除了簽到次數小于10和好友數小于6的用戶,從剩余的數據中隨機選取2048個用戶進行實驗,其中包含57339對好友關系數。設置參數w1=0.3,w2=0.05,w3=0.06,α=0.3,β=0.3,γ=0.6。
本文對RIL-FR算法、基于用戶的協同過濾算法(User-CF)[12]以及文獻[10],在準確率、召回率以及F1-measure指標方面進行比較與分析。
準確率的計算公式如下:

召回率的計算公式如下:

F1-measure的計算公式如下:

圖1為三種算法的準確率對比。由圖1可見,隨著推薦好友數量增加,三種算法的準確率均下降,但本文算法的準確率性能更佳。

圖1 三種算法的準確率對比
圖2為三種算法的召回率對比。由圖2可見,隨著推薦好友數量增加,三種算法召回率均上升,本文算法的召回率上升更明顯。

圖2 三種算法的召回率對比
圖3為三種算法的F1-measure對比。由圖3可見,本文算法的F1-measure值指標較好。

圖3 三種算法的F1-measure值對比
提出了一種融合用戶關系-興趣-位置的社交網絡好友推薦算法,綜合考慮用戶社交關系、興趣愛好、地理位置等用戶信息,計算用戶間的信任相似度、興趣相似度和位置相似度,在此基礎上,對上述三個相似度值進行加權處理,將最終融合計算結果作為好友推薦算法的依據,相似性值高的用戶被推薦的可能性增大。仿真實驗表明,該算法準確率和召回率性能較好。