自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HipHop算法:利用微博互動關系挖掘社交圈

大數(shù)據(jù) 算法
經過人工評估,HipHop算法挖掘出的社交圈有較強的社交內聚度,同時也滿足算法設計之初設定的幾個約束條件,所以具有很強的實用性。同時,經過大量實例的分析,我們發(fā)現(xiàn)在微博中形成的社交關系和IM形成的社交關系有較大的差異,大部分用戶的微博中的社交關系以同事關系和興趣關系為主……

[[120924]]

在微博環(huán)境下,如何自動挖掘某個微博用戶的社交圈子或者興趣圈子是個很基礎且重要的問題。如果能夠對于某個用戶在微博上體現(xiàn)的社交關系進行準確的挖掘,對于很多具體應用來說都有很好的作用,比如可以更好的對用戶的興趣進行挖掘或者能夠推薦用戶還未關注的社交圈子成員等,或者根據(jù)其社交圈子更準確的對用戶進行個性化建模,為其它基于用戶個性化模型的推薦或者廣告推送等提供基礎服務。

我們在微博相關研發(fā)任務中提出了HipHop算法,旨在通過利用微博用戶的互動行為,來自動挖掘出用戶的不同社交圈子。在設計算法之初,我們希望圈子挖掘算法能同時滿足以下幾個條件:

1.對于某個微博用戶A來說,可以挖掘出其所屬的多種社交圈子,比如用戶既有同事關系圈,也有所屬的專業(yè)興趣圈。

2.同時對于另外一個用戶B來說,可能同時屬于用戶A的不同社交圈子,比如B既是A的大學同學,也是A的某公司同事,那么B應該同時出現(xiàn)在用戶A的兩個不同興趣圈里。

3.不使用用戶隱私數(shù)據(jù),出于保護用戶隱私的目的,我們希望算法只使用用戶公開行為和信息,所以HipHop算法只使用了互動關系這種公眾完全可見的公開信息。

4.社交圈可解釋,即可以通過簡潔的方式描述社交圈子的性質或者特點,目前是通過給每個圈子打上不同的標簽來進行區(qū)分。

HipHop社交圈挖掘算法就是在以上幾個指導原則下設計開發(fā)出的,它能夠同時滿足以上幾條約束條件,目前公開的參考文獻中很少見到能夠同時滿足這些條件的相關社交圈挖掘算法。

相關閱讀:探尋微博背后的大數(shù)據(jù)原理:微博推薦算法簡述>>>

常見的社交圈挖掘算法

社交圈挖掘是目前社交網絡研究中非常典型和熱門的研究任務,通常被稱為“社群發(fā)現(xiàn)“。學術界也陸續(xù)提出了很多算法來解決這個問題,大體而言,可以將其分為兩大類:”單社群“方法和”多社群“方法。所謂”單社群“方法,就是說網絡結構中的某個節(jié)點只能隸屬于某個社群,不允許出現(xiàn)隸屬多個社群的現(xiàn)象。而”多社群“方法則允許用戶同時隸屬于多個社群。下面分別以GN算法和”最大團結構“作為這兩類算法的代表對其思路進行簡要介紹。

GN算法

GN算法是一種非常常用的圖結構中社群自動發(fā)現(xiàn)算法,最初由Girvan和Newman在2002年提出,因其有效性得到了廣泛的使用。

GN算法的基本思想是:在圖結構中,首先計算每條邊的“介數(shù)”,然后從圖中刪除“介數(shù)”最大的邊,如此不斷循環(huán),一直迭代刪除當前“介數(shù)”最大的邊,最終就形成了發(fā)現(xiàn)出的社群。所謂邊的“介數(shù)”,是指的圖中任意兩個節(jié)點的最短路徑中經過這條邊的次數(shù)。邊的“介數(shù)”越大,則這條邊是連接了兩個或者多個社群或者圈子的多余的邊的概率越大,所以通過不斷刪除高“介數(shù)”邊可以達到分離社群的目的。

GN算法是有效的算法,但是這是一種“單社群”發(fā)現(xiàn)方法,就是說,對于圖中某個節(jié)點,只能屬于固定的一個社群,不可能同時屬于多個社群,這個與實際應用場景需求是有較大差異的,形成了該算法的局限。

“最大團結構“算法

“最大團結構”(max clique)是一種比較流行的能夠進行“多社群”發(fā)現(xiàn)算法,即圖中的節(jié)點可以同時隸屬于多個不同的社群。

“最大團結構”通過對圖的拓撲結構進行分析,找到滿足“最大團”性質的子圖結構,也就是最大的全聯(lián)通子圖,每個“最大團”就是一個發(fā)現(xiàn)的社群。

盡管“最大團結構”算法可以發(fā)現(xiàn)某個節(jié)點屬于多個社群,比“單社群”發(fā)現(xiàn)方法有更多的實用性和應用場景,但是這個算法有其局限:因為“最大團結構”要求是全聯(lián)通子圖,即子圖中任意兩個節(jié)點都有邊連接,這是一種非常強的約束。真實應用的圖中往往滿足如此強約束的這種圖結構很小或者很少,這導致這個算法很多圖中的節(jié)點無法歸入某個社群。

HipHop算法在某個步驟也采取了“最大團結構”的思想,但是通過技術手段放松了這種約束,有效地改進了其效果。

利用HipHop算法發(fā)現(xiàn)微博里的社交圈

Hiphop算法利用微博用戶的互動關系來自動挖掘某個用戶的不同社交圈子。這里的“互動”是一種總稱,具體互動內容包括:轉發(fā)微博、評論微博和@其它用戶等行為,如果用戶A和用戶B有任意上述提到的行為則可以認為兩者有互動關系存在,且根據(jù)其頻率可以賦予邊不同的強度,代表了兩個用戶的社交親密程度。

我們之所以使用社交關系來挖掘社交圈,是基于以下的一個基本假設:和某個微博用戶進行過交互行為的人群存在不同的小團體,而小團體成員之內有較為密切的互動行為,不同小團體之間成員之間交互行為較少。比如你的大學同學之間在微博上有較多互動行為,但是他們和你的同事之間就很少有交互行為(參考圖1)。盡管這只是一種假設,但是實際挖掘效果表明大多數(shù)情況下這個假設是成立的。

HipHop算法的技術流程可以劃分為順序進行的三個步驟:

步驟一:從與用戶有直接互動的其它用戶中尋找“最大團結構”

首先,對于某個微博用戶A,所有和用戶A在微博上有過直接互動行為的用戶形成直接互動集合S。本步驟試圖在集合S中找到多個“最大團結構”,也即挖掘多個小團體的核心成員。

對于集合S中的節(jié)點來說,可以根據(jù)他們相互之間的互動關系構造一個圖G,在此基礎上去挖掘圖G中的“最大團結構”。所謂“團結構”,就是圖G中包含的任意全連通子圖,比如圖G中的三個節(jié)點{a,b,c},如果他們之間任意兩人都有互動關系存在,則形成了一個三節(jié)點的“團結構”。而所謂“最大團結構”,是指對于某個“團結構”T來說,無法在圖G中找到任意其它節(jié)點n,如果把n納入T,就形成更大的一個“團結構”。比如上述的三節(jié)點團結構,如果存在節(jié)點d,這個節(jié)點和a、b以及c都有互動關系,那么{a,b,c,d}就形成了一個四節(jié)點的“團結構”,而如果找不到節(jié)點能夠和{a,b,c}都有互動關系,那么{a,b,c}就是一個三節(jié)點的“最大團結構”。

圖的“團結構”是一個非常強的約束,因為它要求圖中任意兩個節(jié)點都存在互動關系。步驟一找出的某個用戶A的“最大團結構”的物理含義是:和用戶A有密切關系的那些用戶中,有哪些是有密切聯(lián)系的小團體。

步驟二:“最大團結構”在直接互動用戶集合的擴充

步驟一找出了與用戶A有過直接互動行為的集合S中形成的“最大團結構”,步驟二在此基礎上,在集合S范圍內對每個發(fā)現(xiàn)的“最大團結構”進行擴充,來發(fā)現(xiàn)更多屬于某個“最大團結構”的其它用戶。具體的擴充方式如下:

對于某個具體的“最大團結構”T,其包含若干用戶,首先找到和T中用戶有過互動行為,同時又在集合S中的其它用戶,我們簡稱這個集合為U。對于U中的某個用戶w,我們需要判斷是否應該將其擴充進入“最大團結構”T,目前的判斷標準采取如下公式:

算法
假設G是最大團T將用戶w融合后形成的新圖,公式的分子部分代表新圖G中所有節(jié)點內部邊的權重之和,而分母部分代表圖G中所有節(jié)點和圖G之外的任意節(jié)點形成的所有邊權重之和。如果Utility(G)函數(shù)比未擴充節(jié)點w的原圖結構T的效用函數(shù)Utility(T)值大,那么我們認為將節(jié)點w擴充進入T是合理的,否則不應該將節(jié)點w擴充進入圖T中。有了這個函數(shù)作為標準,我們就知道集合U中的用戶哪些應該擴充進入團結構T中,而哪些應該被舍棄。

之所以采取上述公式作為判斷標準,是基于之前提到的如下假設:一個社交圈子成員之間互動關系密切,而圈子成員與圈子外成員之間的互動關系不是很密切。上述公式就是這個基本假設的具體體現(xiàn),分子部分是衡量圈子成員內部的關系緊密程度,而分母衡量的是圈子成員和圈子外成員的關系緊密程度。從公式可以看出,如果圈子成員之間互動越多,而與圈子外成員互動越少,則效用函數(shù)越大,也就是說這個圈子越緊密。

如果對于集合U中所有后續(xù)擴充用戶都采用上述公式進行判斷取舍,來做出是否將這個用戶擴充進入“最大團結構”T的決策,則就完成了T的一輪擴充,形成了擴充后的新集合T’。對于T’來說,仍然可以采取上述擴充方法不斷外擴。“最大團結構”T外擴的終止條件是:如果對于集合U中所有用戶,做出的決策都是不進行擴充,那么此時已經達到了擴充的邊界,可以停止外擴,形成最終擴充結果。

如果對步驟一中發(fā)現(xiàn)的所有“最大團結構”都采取上述方式外擴,即完成了步驟二的任務。從上述過程可以看出,步驟二是對步驟一的擴充階段。

步驟三:與用戶有“二級互動“關系的其它用戶集合中的擴充

所謂用戶A的“二級互動”用戶集合,是指與用戶A有直接互動的用戶形成集合S,而與集合S中任意一個用戶有互動行為的所有其他用戶形成了二級互動集合。

對于步驟二的結果來說,完成了對“最大團結構”的擴充,在直接互動用戶集合中找到了不同的社交圈子。步驟三首先將直接互動用戶集合S擴充為二級互動用戶集合,然后采取和步驟二類似的方法繼續(xù)向外擴充,這樣就形成了HipHop算法的最終結果,形成了用戶A的多個不同社交圈子,而任意一個其他用戶B可能同時屬于用戶A的多個社交圈。

通過上述三個步驟,就可以通過微博互動關系自動挖掘出某個用戶的社交關系圈子。對于微博的海量用戶而言,只要對每個用戶都依次采取上述步驟,即可獲得最終結果,這可以采取大規(guī)模并行計算來快速實現(xiàn)。

下面我們用一個具體例子來說明HipHop算法。以“李開復”作為示例,說明上述步驟及其中間輸出結果。

對于步驟一,首先找到與“李開復”有過互動的微博成員形成集合S,之后在集合S里采用發(fā)現(xiàn)“最大團結構”的方法,可以得到最初的5個“最大團結構”:

  • 最大團1(創(chuàng)新工場有關):王肇輝/蔡學鏞/周源/張亮/徐磊Ryan
  • 最大團2(互聯(lián)網媒體相關):keso已被XX/牛立雄/金磊
  • 最大團3(財經投資相關):徐小平/愛國者馮軍/潘石屹/楊瀾
  • 最大團4(創(chuàng)新工場有關):郎春輝/羅川/袁聰iw/應用匯
  • 最大團5(企業(yè)家相關):曹國偉/江南春/吳征bruno/蔣錫培

經過步驟二,對原始的5個最大團在集合S中進行擴充,每個原始的最大團都有不同程度的擴大,其新擴充進的成員范圍在3-10個不等。

步驟三首先將直接互動成員集合S擴充為二級互動成員集合,即將與集合S中成員有過互動行為的微博用戶形成新的更大范圍的集合。通過上文講述的擴充方式后,5個最初的“最大團結構”獲得了進一步的擴充,最后形成了包含48個到150個成員的不同社交圈子。

經過人工評估,HipHop算法挖掘出的社交圈有較強的社交內聚度,同時也滿足算法設計之初設定的幾個約束條件,所以具有很強的實用性。同時,經過大量實例的分析,我們發(fā)現(xiàn)在微博中形成的社交關系和IM形成的社交關系有較大的差異,大部分用戶的微博中的社交關系以同事關系和興趣關系為主,而IM中形成的社交關系則以親友、同事、同學等線下關系為主,這可能反映了社會化媒體和傳統(tǒng)社交網絡的區(qū)別所在。

原文出自:http://blog.csdn.net/malefactor/article/details/9201505

責任編輯:林師授 來源: 張俊林博客
相關推薦

2021-12-06 16:35:33

QQ微博社交軟件

2017-12-25 05:40:35

信息安全社交網絡大數(shù)據(jù)

2024-10-14 14:19:02

2017-11-25 19:11:45

微服務架構設計

2012-04-13 11:17:19

Everyme社交應用

2012-02-03 13:49:35

電商

2015-04-16 10:35:08

微博微博如何實現(xiàn)

2015-07-06 13:36:14

Redis微博關注關系

2014-07-18 09:51:05

挖掘數(shù)據(jù)分析

2012-12-14 08:46:14

微博PageRank算法

2013-05-22 10:58:09

微信公眾賬號微信

2011-09-14 17:27:15

金網獎

2023-03-05 18:19:18

2011-06-08 13:19:13

2014-04-22 10:34:57

新浪微博Redis

2015-03-16 12:46:07

甲骨文社交云微博

2013-06-17 10:39:32

淘寶阿里巴巴新浪微博

2016-05-09 10:16:14

MapReduce數(shù)據(jù)分析明星微博

2014-05-07 11:21:39

新浪微博社交媒體GMIC

2013-06-24 09:28:53

大數(shù)據(jù)挖掘
點贊
收藏

51CTO技術棧公眾號