1. 程式人生 > >【譯】SAE:一個大規模網絡的社交分析引擎

【譯】SAE:一個大規模網絡的社交分析引擎

圖計算 表達 推斷 strong 的人 int 識別 表現 gen

Yang Yang, Jianfei Wang, Yutao Zhang, Wei Chen, Jing Zhang, Honglei Zhuang,

Zhilin Yang, Bo Ma, Zhanpeng Fang, Sen Wu, Xiaoxiao Li, Debing Liu, and Jie Tang

Deparment of Computer Science and Technology, Tsinghua University

發表時間:2013 發表刊物:KDD

摘要

在線的社交網絡成為了連接我們的日常生活和虛擬網絡空間的橋梁,它不僅提供了豐富可供挖掘的數據,而且帶來了許多新的挑戰。在這篇論文中,我們提出了一個新的社交分析引擎以處理大規模在線社交網絡。我們著力處理的分析引擎的關鍵問題跟以下問題有關:

1)在微觀層次,人們怎麽形成了不同類型的社交紐帶,並且互相影響彼此?

2)在中間層次,人們是怎樣形成群體的?

3)在宏觀層次,社交網絡最熱的話題是什麽而且這些話題是怎麽隨著時間發展的?

我們提出了一些方法來解決上述疑問。這些方法是通用的,可以被應用到多種社交網絡的數據。我們部署了這個分析引擎到許多不同的網絡上,並且驗證了相關方法的有效性和高效性。

關鍵詞

社交分析引擎;社交影響;社交網絡

1.介紹

快速發展的在線社交網絡提供了豐富的數據,正好可以讓我們去理解那些支配著社交網絡動態變化的復雜機制。這個事實吸引了來自學術界和工業界的關註。例如SNAP是一個通用的網絡分析和圖挖掘庫。它主要是為網絡靜態網絡設計的,並且提供了分析工具。GraphChi希望把網絡規模的圖計算能夠運行在筆記本上。它支持在利用並行計算的技巧,在單機上非常大規模的圖計算。它著眼於圖的計算,但是不能直接被應用到社交網絡。比如它忽略了社交網絡中的幾個重要因素,例如社交影響,社交狀態,和結構洞。

在本文中,我們提出了社交網絡引擎以分析和挖掘大規模的圖網絡。圖1顯示了SAE的架構。分析引擎的基石是一個分布式圖數據庫,它存儲著網絡化的數據。在數據庫的頂部,有三個核心的部分:網絡繼承,社交網絡分析和分布式機器學習。

網絡集成組件能夠集成從不同網絡提取出來的實體。例如,在學術領域,一個作者可以在Google Scholar, AMiner和LinkedIn上都有個人主頁,但卻是不同的賬號。自動識別和集成這些主頁有利於許多應用,例如專家尋找和影響力的分析。

社交網絡分析組件是我們的主要技術貢獻。首先它提供了基本的網絡特征分析,包括宏觀層面的屬性,如密度,直徑,度數的分布和社交劃分,也包括微觀屬性,例如中心性(centrality),同質性(homophily),互利性(reciprocity), 榮譽(prestige),和可達性(reachability)這些出現在明確個體上的屬性。進一步地,我們設計和實現了幾個新的技術用於社交影響分析,結構洞擴展檢測以及社交紐帶挖掘。更具體一點,社交影響力用於量化在一個大型的社交網絡中用戶在不同話題下受到的影響力度。結構洞擴展檢測嘗試識別結構洞spanner,也就是他們控制了社交網絡的信息流。社交紐帶挖掘嘗試揭示那些使得不同社交關系組成的基礎因素。

我們也開發了一個分布式機器學習的組件,它支持和其他和上面所說的社交網絡協同,把分析組件獲得的基於社交的因素歸並到機器學習模型裏。以因子圖模型為例,我們通過把社交理論特征轉換成因子圖模型,證實了推斷社交紐帶的表現可以得到很大的提升。

我們提出的社交分析引擎,有很多真實的應用。我們將會用集成實體搜索,社交影響分析和話題演化分析作為例子證明這個分析引擎的強大。

技術分享

圖-1. Architecture. Social Analytic Engine (SAE, http://thukeg.github.io/) for mining large networks. SAE consists of several major components: a graph database, which provides data storage and indexing; a distributed computation engine; a social network analysis component; and a distributed machine learning component.

2.核心技術

首先我們先說明我們在社交引擎中的社交網絡數據。表-1列出了幾個典型社交網絡的統計。Co-Author是一個包括了作者和作者之間協作關系的網絡;Twitter是通過滾雪球方法采樣抓取的Twitter子集;Patent是一個包含公司、發明者和專利的完整文本的混合網絡,它來自一個專利數據庫;Weibo是一個像Twitter一樣的微博網絡;Slashot是一個朋友和foes組成的網絡;Email是一個從Enron數據集導出的網絡,而Mobile是一個基於位置的移動手機用戶組成的網絡。

技術分享

表-1 Several typical social networks. #Messages indicates the number of messages/articles associated with the users in the corresponding network.

我們接著用三個場景來介紹SAE的核心技術:集成實體搜索(Integrated Enitity Search),社交影響分析(Social Influence Analysis),話題演化分析(Topic Evolution Analysis)。

2.1 集成實體搜索

給定一個查詢,在網絡中找出最相關的實體(比如,一件領袖,作者和公司)是社交網絡分析的一個重要任務。這個問題目前為止被稱為實體搜索或者專家發現(搜索人物的時候)。但是,傳統的搜索忽略了一個事實:一個用戶可能在不同的網絡有多個相異的賬號。例如在學術領域,一個作者可能在Google Scholar,AMiner和LinkedIn都有個人主頁。

自動從不同的網絡連接實體可以很大程度幫忙為實體排序幫忙。我們首先提出了一個網絡integration方法。基本想法是相同實體在不同網絡內擁有相同的社交圈。為了實現這個方法,給定兩個網絡,我們首先用啟發式方法識別出潛在的候選對。接著我們構建一個成對因子圖,把每個候選對看成一個觀察變量x,用一個二元變量y聯系每個對,表示這個是否是表示同一對實體。我們用一個小規模的數據集訓練因子圖模型,通過最大化log-likelihood目標函數P(Y|X)(Y和X分別表示對應變量{x}和{y}的集合),並把訓練好的模型應用到辨別其他鏈接對。

我們進行了一個Google Scholar, AMiner, LinkedIn和VideoLecture的實驗。利用提出的方法,我們精確地聚集了超過10,000個來自四個網絡的研究者。

基於集成的結果,我們提出了一個基於傳播的實體排序算法。給定一個查詢q, 我們要將文本和網絡的信息計算,對每個v∈V得到一個相關性分數r[v]。

更明確地說,這個方法有兩個步驟:第一步,我們計算一個實體跟查詢q的相關度,這是通過使用語言模型得到的;第二步,我們選擇排名最靠前的那些實體作為候選集,並且構造一個異構子圖。我們通過傳播子圖中的相連實體的分數,修改了候選集的相關性分數。第二步的直觀解釋是,一個人寫的文檔在某話題上的專業度越高越可能有更高的相關性(或影響),一個擁有越高質量的文檔和越高級、活躍的用戶的機構應該排在越前面,一個寫的文檔影響力越大也的用戶應該排名越高。分數傳播表示如下(這裏我們用一個機構節點c作為一個例子):

技術分享

這裏rk[c]是機構c的排序分數在第k步傳播的大小;表示跟機構c相關的用戶集合,而

表示跟機構c擁有的文檔;技術分享技術分享是兩個控制傳播的參數。傳播步驟數反映了我們對網絡信息的信任度。把k設置為0表示我們只使用內容的信息,把k設為∞表示我們只相信網絡信息,因此這個算法在異構網絡上得到一個跟PageRank相似的結果。

2.2 社交影響分析

社交影響分析發生在一個人的觀點、情緒、行為被其他人影響的時候。它被普遍認為一個基本的控制社交網絡動態的動力。在SAE裏,提供了一個獨特的特征來評估用戶基於話題的影響力。在圖1給出的例子中,Quoc Le被識別為一個受到Andrew Ng教授很大影響的人。

這個問題的輸入是一個社交網絡G=(V,E),以及一個T-維的話題分布技術分享,它跟G中的每個節點(用戶)相關。每個元素技術分享是用戶在話題z的概率(重要度), 並且滿足技術分享話題的分布是通過話題建模方法在SAE上的分布式機器學習組件獲得的。社交影響分析的目標是基於輸入的網絡和每個用戶的話題分布,得到話題級別的社交影響。形式化地說,從用戶v到用戶v‘的社交影響標記成技術分享,它是跟邊技術分享和話題z關聯的數值權重。在大多數情況下,社交影響是不對稱的,即技術分享而且社交影響從用戶v到v‘會因為不同的話題而改變。我們定義了一個人的全局影響度,記為技術分享

為了量化用戶間的社交影響,有必要考慮指定用戶-話題分布和網絡結構。我們使用了一個統一的方法使得局部屬性(話題分布)和全局結構(網絡信息)可用於社交影響分析

。這個算法稱為TAP(topical affinity propogation)。主要思想是在話題級別上為社交影響進行相似性傳播以進行社交影響力識別。該方法基於一個觀察數據是在局部屬性和關系上都內聚性的因子圖模型。為了計算在不同時期內的影響,我們在每個時間點分別運行了該方法。

2.3 話題演化分析

明白最熱門的話題是什麽和話題是怎麽隨時間演化的是一個重要和有挑戰性的任務。SAE通過支持去建構一個話題流圖,解決了這個問題。在一個話題流圖例,一個頂點代表了一個話題,一條邊代表了一個話題流。一個話題到另外一個話題的話題流,在相鄰的時間點之間代表了前者怎麽演化(分裂或合並)到後者的。如在圖1中提到的例子,"大數據"話題最近非常熱門,而且可以被回溯到"數據庫"和"並行計算"。一個沒有任何入邊的頂點代表了一個已合並的話題。一個沒有出邊的頂點代表了一個無人討論的話題。兩個頂點間的箭頭的粗細表示兩個話題間的相似度。頂點的大小代表了相應話題的熱度。

給定一個查詢,SAE返回一個包含了查詢相關的話題的流圖。用戶可以選擇一個頂點(話題)。系統接著會識別出包含了被選中話題的主幹路,並且把這條路上的所有話題顯示出來。系統同時會顯示一個表,上面有跟該話題相關,並且來自每個社交網絡的文檔,用戶和機構。

話題流圖可以定義成一個有向無環圖(DAG),頂點表示每個時間點的話題,邊隱含兩個兩個時間連續的話題的話題流。給定一個隨時間變化的文檔,則技術上的目標是抽取隱含的話題以及構建一個DAG來表示話題流。

為了給一個查詢自動生成一個話題流圖,我們首先用SAE分布式機器學習組件實現概率話題模型,來獨立地提取每個時間點的文檔中隱含的話題。每個話題被單詞分布技術分享賦值,表示單詞w用來表達話題z。我們采用了經典聚類算法,如K-means,來對連續時間點的話題進行聚類。兩個話題之間的舉例定義成它們的單詞分布的KL-divergence。對於兩個連續時間的話題,我們會在它小於一個閾值的時候創建一條邊,並且把粗細定義成距離的倒數。

3. 總結

在這篇論文中,我們提出了Social Analytic Engine(SAE)用於大型網絡。我們簡單地介紹了該系統的架構並且用三個場景作為例子解釋了它的核心技術:integrated實體搜索,社交影響分析,話題演化分析。該引擎還提供了其他社交網絡分析工具,例如核心社區的檢測,結構洞用戶的檢測,以及用戶行為建模。我們在若幹個不同類型的數據集上部署了SAE引擎,並且我們的工作驗證了這個社交分析引擎的有效性和高效性。

致謝

這項工作得到中國自然科學基金會(No. 61222212, No. 61073073, No. 61170061),中國國家重點研究基金(No. 60933013, No.61035004), 以及華為公司的研究基金會的支持。

4. 參考文獻

[1] J. Hopcroft, T. Lou, and J. Tang. Who will follow you back? reciprocal relationship prediction. In CIKM‘11, pages 1137–1146, 2011.

[2] L. Liu, J. Tang, J. Han, M. Jiang, and S. Yang. Mining topic-level influence in heterogeneous networks. In CIKM‘10, pages 199–208, 2010.

[3] T. Lou and J. Tang. Mining structural hole spanners through information diffusion in social networks. In WWW‘13, pages 837–848, 2013.

[4] L. Page, S. Brin, R. Motwani, and T. Winograd. The pagerank citation ranking: Bringing order to the web. Technical Report SIDL-WP-1999-0120, Stanford University, 1999.

[5] J. Tang, T. Lou, and J. Kleinberg. Inferring social ties across heterogeneous networks. In WSDM‘12, pages 743–752, 2012.

[6] J. Tang, J. Sun, C. Wang, and Z. Yang. Social influence analysis in large-scale networks. In KDD‘09,

pages 807–816, 2009.

[7] J. Tang, B. Wang, Y. Yang, P. Hu, Y. Zhao, X. Yan, B. Gao, M. Huang, P. Xu, W. Li, and A. K. Usadi.

Patentminer: Topic-driven patent analysis and mining. In KDD‘2012, pages 1366–1375, 2012.

[8] J. Tang, J. Zhang, L. Yao, J. Li, L. Zhang, and Z. Su. Arnetminer: Extraction and mining of academic social networks. In KDD‘08, pages 990–998, 2008.

[9] W. Tang, H. Zhuang, and J. Tang. Learning to infer social ties in large networks. In ECML/PKDD‘11,

pages 381–397, 2011.

[10] C. Wang, J. Han, Y. Jia, J. Tang, D. Zhang, Y. Yu, and J. Guo. Mining advisor-advisee relationships from research publication networks. In KDD‘10, pages 203–212, 2010.

[11] Y. Yang, J. Tang, J. Keomany, Y. Zhao, Y. Ding, J. Li, and L. Wang. Mining competitive relationships

by learning across heterogeneous networks. In CIKM‘12, pages 1432–1441, 2012.

[12] J. Zhang, B. Liu, J. Tang, T. Chen, and J. Li. Social influence locality for modeling retweeting behaviors. In IJCAI‘13, 2013.

【譯】SAE:一個大規模網絡的社交分析引擎