周磊 覃俊 劉晶
摘要摘要:微博作為近年來的熱門社交網(wǎng)絡(luò)平臺,其用戶行為、興趣模型及個(gè)性化推薦深受國內(nèi)外學(xué)者關(guān)注。針對微博社交網(wǎng)絡(luò)的弱關(guān)系特點(diǎn),結(jié)合用戶實(shí)時(shí)交互信息與用戶基本信息,提出一種綜合考慮用戶基本信息與用戶交互信息的用戶相似度計(jì)算方法;進(jìn)而在UserCF算法的基礎(chǔ)上,提出一種基于微博交互信息的推薦算法。該算法考慮了微博平臺的弱連接關(guān)系特點(diǎn),能有效針對微博類社交網(wǎng)絡(luò)進(jìn)行用戶推薦。通過實(shí)際社交數(shù)據(jù)集實(shí)驗(yàn)證明,該算法具有良好的執(zhí)行效率與推薦效果。
關(guān)鍵詞關(guān)鍵詞:社交網(wǎng)絡(luò);微博;弱關(guān)系;交互信息;推薦算法
DOIDOI:10.11907/rjdk.1431068
中圖分類號:TP312
文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2015)004006304
0引言
近年來,隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,各種新媒體,尤其是社交媒體技術(shù)猶如雨后春筍般涌現(xiàn),社交網(wǎng)絡(luò)服務(wù)(Social Networks Services,SNS)逐漸走進(jìn)人們的視線并為大家所熟知。以Twitter、新浪微博為代表的社交網(wǎng)絡(luò)微博服務(wù)(Microblog)以其及時(shí)便捷、受眾面廣等傳播優(yōu)勢而成為主要的社交網(wǎng)絡(luò)形態(tài)。
微博,即微型博客的簡稱,是一個(gè)基于用戶關(guān)系的信息分享、傳播及獲取的平臺。用戶可以利用無線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)實(shí)現(xiàn)全方位通信,實(shí)現(xiàn)Web頁面、手機(jī)、IM接受和信息發(fā)送[1]。信息分享的即時(shí)性作為微博的獨(dú)特之處,在服務(wù)用戶的同時(shí)也為用戶帶來了一定的影響。從實(shí)際角度來看,即時(shí)性是為了讓人們盡可能快地展示生活中的點(diǎn)點(diǎn)滴滴。但隨著微博的發(fā)展,微博用戶和信息的爆炸式增長,導(dǎo)致信息泛濫成災(zāi),在這些重復(fù)以及過載的信息中,微博用戶很難找到自己感興趣的用戶,并定位感興趣的信息。
面對海量信息,解決信息過載問題的推薦系統(tǒng)應(yīng)運(yùn)而生,因其顯著的推薦效果被廣泛應(yīng)用于電子商務(wù)等領(lǐng)域,作為推薦系統(tǒng)核心組成部分的推薦算法,受到學(xué)者們的關(guān)注,各種推薦算法層出不窮。雖然通過互粉、聯(lián)系人、手機(jī)通訊錄等真實(shí)社交信息進(jìn)行推薦的方法能達(dá)到很好的效果[2],但其為用戶推薦的多為強(qiáng)關(guān)系鏈接的用戶。經(jīng)濟(jì)社會學(xué)家馬克·格蘭諾維特提出:相對于強(qiáng)關(guān)系而言,弱關(guān)系有助于傳遞新信息。針對微博這種弱關(guān)系型社交網(wǎng)絡(luò),弱關(guān)系的推薦比強(qiáng)關(guān)系更有價(jià)值。
因此,研究基于微博平臺的弱關(guān)系用戶推薦算法尤為重要。從用戶角度看,它可以幫助用戶構(gòu)建起新的社會關(guān)系,使用戶擴(kuò)大交際圈;從微博平臺角度看,它增強(qiáng)了用戶之間的交互性,提高了用戶對平臺的信任度與依賴度。
本文旨在解決微博社交網(wǎng)絡(luò)平臺用戶進(jìn)行用戶推薦時(shí)能顧及到弱連接用戶。對此,本文綜合使用用戶實(shí)時(shí)交互信息與用戶基本信息來計(jì)算用戶相似度,在UserCF算法基礎(chǔ)上,提出一種基于用戶交互的BOI(BaseonInteraction)算法。通過采集實(shí)際社交網(wǎng)絡(luò)中的數(shù)據(jù)對其進(jìn)行驗(yàn)證,同時(shí)分析各參數(shù)對推薦效果的影響。
1研究綜述
目前,對于用戶推薦的研究很多,研究方向主要有:基于內(nèi)容的推薦方法、協(xié)同過濾推薦方法、聚類技術(shù)、關(guān)聯(lián)技術(shù)、混合推薦等。
協(xié)同過濾算法是目前應(yīng)用最廣泛也是最受歡迎的推薦算法,它利用用戶愛好之間的相似性來進(jìn)行推薦[3],不依賴物品的內(nèi)容,利用用戶對物品的偏好信息,一般以打分的形式進(jìn)行評價(jià)[4]。不過其并不能直接應(yīng)用類似于微博這種弱關(guān)系社交網(wǎng)絡(luò)的好友推薦,因?yàn)樵谖⒉╊惿缃痪W(wǎng)絡(luò)中,沒有物品與評分的概念。此外,由于微博類社交網(wǎng)絡(luò)的數(shù)據(jù)稀疏性,現(xiàn)有協(xié)同過濾算法的推薦效果并不理想。
關(guān)于利用用戶的內(nèi)容進(jìn)行推薦方面,趙巖露[5]等結(jié)合微博數(shù)據(jù)集分析用戶的個(gè)人特征,以此提高個(gè)性化推薦系統(tǒng)的質(zhì)量。袁園等通過微博關(guān)注數(shù)據(jù),挖掘用戶關(guān)注對象的分布及對象間的關(guān)聯(lián)性[6]。Shen D[7]和Zheng Y等[8]分析用戶關(guān)注的blog或曾瀏覽的信息得出用戶的興趣模型,由模型計(jì)算得出用戶興趣相似度進(jìn)而發(fā)現(xiàn)潛在好友。Wu Z等[9]提出了一種根據(jù)用戶的長相來進(jìn)行推薦的算法。于海群等[10]通過分析社交網(wǎng)絡(luò)中用戶的話題偏好提出了基于用戶話題偏好的推薦算法。關(guān)于基于用戶的交互推薦方面,Lo S等[11]提出了按照好友之間的互動次數(shù)衡量兩者的親密度,互動次數(shù)越多說明兩者之間關(guān)系越好,如果兩個(gè)用戶對第三個(gè)用戶親密度都高則說明他們與第三個(gè)用戶有很好的關(guān)系,這樣他們就可能建立起新的好友關(guān)系。Chin A[12]根據(jù)任意兩個(gè)用戶之間的手機(jī)交互次數(shù)來進(jìn)行推薦。
當(dāng)前,社交網(wǎng)絡(luò)有一個(gè)功能是“你可能認(rèn)識的人”,它是基于“friend of friend”算法進(jìn)行的推薦。該算法的思想是:如果A的很多好友是B的好友,那么A也可能會是B的好友。這種算法推薦效果很顯著,但是只能幫用戶尋找沒有添加的強(qiáng)關(guān)系。
2BOI推薦算法
BOI算法旨在根據(jù)弱關(guān)系社交網(wǎng)絡(luò)中的用戶交互信息,為用戶推薦其可能感興趣的關(guān)注對象。通過綜合分析用戶交互信息與用戶基本信息,提高弱關(guān)系社交網(wǎng)絡(luò)平臺的推薦效果。
定義1:用戶數(shù)據(jù)集User={u1,u2,u3…uN} ,ux為用戶x的用戶ID值。User表示原爬蟲算法獲取的新浪微博用戶數(shù)據(jù)集(后簡稱原始數(shù)據(jù)集)中根據(jù)uid統(tǒng)計(jì)出的用戶ID集。
(1)根據(jù)用戶數(shù)據(jù)集User與用戶微博集Tweet計(jì)算用戶之間的興趣度,得到用戶興趣度矩陣R。
(2)對于任意待推薦的用戶u,根據(jù)用戶興趣度矩陣R計(jì)算其中非零元素對應(yīng)的用戶與帶推薦用戶u的相似度,得到用戶交互相似度矩陣S。
(3)根據(jù)用戶興趣度矩陣R與用戶交互相似度矩陣S計(jì)算推薦度,并對結(jié)果從高到低排序,去前N個(gè)數(shù)據(jù),得到排序結(jié)果C。
(4)按照排序結(jié)果C產(chǎn)生最終的推薦結(jié)果列表L。(5)算法結(jié)束。
3實(shí)驗(yàn)及分析
3.1實(shí)驗(yàn)對象和實(shí)驗(yàn)數(shù)據(jù)
為驗(yàn)證本文算法的有效性,將真實(shí)的社交網(wǎng)絡(luò)平臺用戶數(shù)據(jù)作為實(shí)驗(yàn)對象。該數(shù)據(jù)根據(jù)新浪微博平臺的開放API接口,由微博爬蟲以一組微博用戶作為種子節(jié)點(diǎn),根據(jù)雪球采集策略采集的微博用戶個(gè)人數(shù)據(jù),通過清理、整合、變化3個(gè)步驟對數(shù)據(jù)集進(jìn)行處理,將處理后的30萬條用戶關(guān)注數(shù)據(jù)集以及近50萬條微博內(nèi)容,然后將其分為多組進(jìn)行實(shí)驗(yàn),最終實(shí)驗(yàn)結(jié)果為多組實(shí)驗(yàn)數(shù)據(jù)的平均值。每組約包含500個(gè)用戶與近2萬條微博內(nèi)容。代碼由Python和Java實(shí)現(xiàn)。實(shí)驗(yàn)代碼運(yùn)行于Lenovo Y460上,Python版本為Python 3.4.1,jdk版本1.7。
實(shí)驗(yàn)參照的算法有:①傳統(tǒng)的Top-N相似的協(xié)同過濾算法(CF);②“Friend-of-Friend”算法;③Content-plus-Link ( CplusL )算法。其中,CF算法為基于用戶的協(xié)同過濾(UserCF),用戶相似度采用Jaccard公式進(jìn)行計(jì)算,最終推薦結(jié)果采用Top-N推薦。
3.2實(shí)驗(yàn)評估指標(biāo)
本文使用的評估指標(biāo)為當(dāng)前常用的3個(gè)評價(jià)推薦算法的指標(biāo):準(zhǔn)確率(precision)、召回率(recall)和Fmeasure[13],及其算法運(yùn)行效率。準(zhǔn)確率和召回率是用來反映查詢結(jié)果的兩個(gè)重要指標(biāo)。其中:準(zhǔn)確率指檢索的相關(guān)信息量占檢索出的總信息量的百分比,用來衡量檢索系統(tǒng)的信噪比;召回率指檢索出的相關(guān)信息量占相關(guān)信息量的百分比,衡量檢索系統(tǒng)的成功度;Fmeasure為準(zhǔn)確率(precision)與召回率(recall)的調(diào)和平均值,該值越高說明其推薦的綜合效果越好。
3.3實(shí)驗(yàn)結(jié)果與分析
3.3.1算法效率測試
設(shè)置Top-N中N值為20,數(shù)據(jù)集分別用1 000、2 000、3 000、4 000、5 000、6 000、7 000、8 000、9 000和10 000條數(shù)據(jù)記錄進(jìn)行測試。比較傳統(tǒng)的Top-N相似的協(xié)同過濾算法與本文的基于用戶交互的BOI算法在不同數(shù)據(jù)集下運(yùn)行的效率。算法運(yùn)行效率如圖1所示。當(dāng)數(shù)據(jù)集選取6 000條記錄,Top-N中N值為5、10、15、20、25和30時(shí),其算法運(yùn)行效率如圖2所示。
從圖1、圖2可以看出,在不同大小的數(shù)據(jù)集以及在為用戶推薦不同人數(shù)方面,本文基于用戶交互的BOI算法所用時(shí)間均小于傳統(tǒng)的Top-N相似的協(xié)同過濾算法,由此可見本算法具有著較好的時(shí)間性能。
3.3.2算法準(zhǔn)確性測試
分別選取多個(gè)N值對傳統(tǒng)的Top-N相似的協(xié)同過濾算法、 “Friend-of-Friend”算法以及本文基于用戶交互的BOI算法進(jìn)行對比實(shí)驗(yàn)?!癋riend-of-Friend”算法的閾值設(shè)置為20,設(shè)置Top-N中N={2,4,6,8,10,12, 14, 16, 18, 20,22,24},測試結(jié)果如圖3-圖5所示。其中,圖3為3個(gè)算法的準(zhǔn)確率曲線,圖4為3個(gè)算法的召回率曲線,圖5為3個(gè)算法的Fmeasure指標(biāo)曲線。
可以看出,本文基于用戶交互的BOI算法在推薦準(zhǔn)確性方面介于傳統(tǒng)Top-N相似的協(xié)同過濾算法與“Friend-of-Friend”算法之間。如圖5所示,本文算法與“Friend-of-Friend”算法的Fmeasure曲線走勢十分接近且在數(shù)值上相差也較小,都具有著較好的準(zhǔn)確度,但本文算法在為用戶推薦潛在的弱關(guān)系好友方面較強(qiáng)。從人類現(xiàn)實(shí)社會學(xué)角度來看,為用戶推薦出潛在的“志同道合”的好友,也有重大意義與價(jià)值。4結(jié)語
基于微博平臺的弱關(guān)系用戶推薦算法研究具有重要意義。從用戶角度看,它可以幫助用戶構(gòu)建起新的社會關(guān)系,使用戶擴(kuò)大自己的交際圈;從微博平臺角度看,它擴(kuò)大、增強(qiáng)了用戶之間的交互性,提高了用戶對平臺的信任度與依賴度。本文綜合考慮用戶實(shí)時(shí)交互信息與用戶的基本信息來計(jì)算用戶相似度。在UserCF算法的基礎(chǔ)上,
提出一種基于用戶交互的BOI(BaseonInteraction)算法。
通過真實(shí)的實(shí)驗(yàn)數(shù)據(jù)集,驗(yàn)證了其具有較高的準(zhǔn)確度與效率,通過調(diào)整各項(xiàng)參數(shù)分析了其對推薦結(jié)果的影響。
后續(xù)研究需引入更具智能與有效的反饋機(jī)制,通過用戶的反饋對推薦結(jié)果進(jìn)行動態(tài)優(yōu)化。同時(shí),希望能引進(jìn)更多的用戶信息,并且能做到分布式并行化處理,以減少單一系統(tǒng)的負(fù)載,同時(shí)提高其算法執(zhí)行效率。
參考文獻(xiàn)參考文獻(xiàn):
[1]文瑞.微博之識[J]. 軟件工程師,2009(12):1020.
[2]CHEN J, GEYER W, DUGAN C,et al.Proceedings of the 27th International Conference on Human Foctors in Computing Sysrems[C]. New York, NK. USA, 2009: 201210.
[3]SARWAR BM, KARYPIS G, KONSTAN J A.Analysis of recommendation algorithms for Proceedings of the 2nd ACM Conference on Electronic Commerce ( EC00)[C]. Minneapolis, MN, USA, 2000:158167.
[4]LINDEN GREG, SMITH BRENT, YORK JEREMY.AMAZON.com recommendations:item to item collaborative filtering[J]. IEEE Internet Computing, 2003, 7(1): 7680.
[5]趙巖露,王晶,沈奇威. 基于特征分析的微博用戶興趣發(fā)現(xiàn)算法[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2012,25(11): 7983.
[6]袁園,孫霄凌,朱慶華. 微博用戶關(guān)注興趣的社會網(wǎng)絡(luò)分析[J]. 現(xiàn)代圖書情報(bào)技術(shù),2012(2): 6875.
[7]SHEN D, SUN J T, YANG Q, et al.Latent friend mining from blog data[C].Data Mining, 2006.ICDM'06. Sixth International Conference on. IEEE, 2006: 552561.
[8]ZHENG Y, CHEN Y, XIE X,et al.GeoLife2.0:a locationbased social networking service[C].Mobile Data Management: Systems, Services and Middleware, 2009. MDMf09. Tenth International Conference on. IEEE, 2009: 357358.
[9]WU Z, JIANG S, HUANG Q. Friend recommendation according to appearances on photos[C].Proceedings of the 17th ACM international conference on Multimedia. ACM, 2009:987988.
[10]于海群,劉萬軍,邱云飛.基于用戶話題偏好的社會網(wǎng)絡(luò)二級人脈推薦[J].計(jì)算機(jī)應(yīng)用,2012,32(5): 13661370.
[11]LO S,LIN C. WmrA graphbased algorithm for friend recommendation[C].Proceedings of the 2006 IEEEAVIC/ACM International Conference on Web Intelligence. IEEE Computer Society, 2006:121128.
[12]CHIN A.Finding cohesive subgroups and relevant members in the nokia friend view mobile social network[C].Computational Science and Engineering,2009.CSEf09. International Conference on. IEEE, 2009(4):278283.
[13]陳克韓,韓盼盼,吳健.基于用戶聚類的易購社交網(wǎng)絡(luò)推薦算法[J].計(jì)算機(jī)學(xué)報(bào),2013,36(2): 349359.
責(zé)任編輯(責(zé)任編輯:陳福時(shí))