(四川大學網絡空間安全學院 四川 610065)
隨著社交網絡的發展以及其多樣性,社交網絡活躍用戶數量逐年遞增,根據Statista 的統計報告顯示(https://www.statista.com/statistics/272014/global-social-networks-ranked-by-number-of-users/),截至2020 年10 月,Facebook 活躍用戶數達27.01 億,Twitter 活躍用戶數達3.53 億。出于不同的目的,用戶可能會使用多個社交網絡,使用Facebook 與生活中的朋友聯系,使用Twitter 發布自己的興趣愛好,使用LinkedIn 來求職以及獲取職業信息,并與工作上的同事聯系。如果能夠識別出不同社交網絡平臺中具有相同身份的用戶,就可以整合出該用戶較為全面的個人信息,以及繪制出其較為完整的好友關系,從而能從中挖掘出一些隱藏的信息。
商業銷售角度上,網購零售平臺可以利用跨社交網絡用戶識別,如網絡購物網站和社交網絡關聯識別得到用戶的喜好以及購買傾向,進而發掘潛在客戶;信息安全角度上,用戶就可以注意這些屬性以及好友關系可能會泄露其個人隱私,同時,也讓社交平臺知道其在個人信息安全方面存在的隱患。
在現實世界中,對于同一實體有許多種描述方式,并且大多數情況下,這些實體信息是彼此分離,沒有任何聯系的,因此就有研究人員提出如何有效將不同信息源的數據融合在一起也成了一個研究點。廣泛學習(broad learning)也就應運而生,最初它被提出主要是用于將不同種類的大規模數據進行融合,再對這些融合數據進行數據挖掘與分析[1]。跨社交網絡用戶識別實際上也用到不少廣泛學習中的概念和方法,如多源社交網絡融合,社交網絡對齊等。跨社交網絡用戶識別將有助于社交網絡好友推薦,信息傳播和社區檢測等。
用戶識別主要是通過特征工程或者深度學習等方法,從用戶信息中發現能夠表征用戶的特征,進而實現用戶識別。用戶信息包括用戶配置文件(profile)、用戶發布的內容(user-generated contents)和社交關系(relationships)。在實際的社交網絡中,往往面臨以下問題,這些問題對于跨社交網絡用戶識別也是巨大的挑戰。
(1)用戶信息虛假性。為了保護個人隱私或者隱藏自己的真實意圖,用戶在填寫用戶信息時,可能會填寫虛假的信息。
(2)用戶信息異構性。出于不同的使用目的,用戶可能會構建適應于不同社交網絡的用戶信息,來迎合不同的需求,如在Twitter中的用戶屬性往往會更加生活化,在LinkedIn 中的用戶屬性往往會更加正規化。
(3)用戶信息不完整性。由于社交網絡的數據獲取限制以及用戶可以選擇公開或不公開自己的信息,研究者很難獲得用戶完整信息。
近年來,社交網絡的用戶劇烈增長,用戶數量越來越多,這無疑給用戶識別帶來了挑戰和機遇。
近年來,國內外有許多關于社交網絡用戶識別的研究。跨社交網絡的用戶識別又可以稱為用戶身份關聯[2]、用戶文件匹配[3]、用戶賬號匹配[4]、用戶身份識別[5]、錨鏈接預測[6]等、。其研究方向主要包括基于用戶屬性的用戶識別、基于發布內容的用戶識別、基于用戶社交關系的用戶識別以及綜合上述方法的用戶識別。我們可以將用戶識別定義為:判斷社交網絡G1中的用戶與社交網絡G2中的用戶是否在現實中是同一自然人,如果屬于同一自然人,則稱用戶和用戶為關聯用戶(錨鏈接用戶),否則為非關聯用戶(非錨鏈接用戶)[7]。
在實際的社交網絡中,用戶可分為認證用戶和非認證用戶。認證用戶主要是一些組織賬號或者具有一定知名度的用戶,非認證用戶主要是普通用戶。大多數研究主要關注非認證用戶的用戶識別。
現有研究大都基于兩個社交網絡進行用戶識別,然而在現實世界中,人們通常同時使用多個社交網絡。研究有多個社交網絡的用戶被定義為“多個匿名社交網絡的對齊”問題[8]。基于多個社交網絡的用戶識別需要保證兩兩錨鏈接用戶之間滿足傳遞關系。
在社交網絡中,用戶屬性包括用戶的顯示名、用戶ID、頭像、地理位置、個人簡介、用戶頭像等。
部分研究僅利用單一屬性進行用戶識別。僅利用用戶顯示名分析不同社交網絡的關聯用戶[9-12],從用戶名中間提取一系列特征,結合提取的用戶名特征來判斷用戶識別結果。僅利用用戶頭像進行用戶識別[13]、從頭像中提取出直方圖特征或者利用人臉識別方法或者主成分分析等。僅利用地理位置[14-16],例如軌跡相似度分析等。大多數研究選擇其中的一個或多個屬性,這也證明這些屬性有助于判斷社交網絡上的關聯用戶。
這些研究旨在證明單一屬性對于實現用戶識別的可行性,但社交網絡中并不只包含單一屬性,還有其他的屬性信息可用于用戶識別,可以充分利用多個屬性背后隱藏的信息和社交關系信息,來提高用戶識別的準確性,挖掘出更多關聯用戶。Li 等人[17]利用顯示名和用戶ID 來識別關聯用戶。Motoyama 等人[18]利用多種屬性信息,如顯示名、地理位置、年齡、電子郵件等來進行用戶識別。Raad 等人[3]FOAF(Friend of a Friend)配置文檔進行用戶識別,計算兩個配置文檔中用戶屬性的相似度,并給不同的屬性分配不同的權重,再基于用戶屬性相似度來計算兩個用戶之間的相似性。Lu 等人[19]對部分對齊網絡(如:電子商務網站和社交網站)進行用戶識別,給出了用戶名和郵件地址的相似度匹配方法以及用戶個人興趣相似度匹配的方法。何鵬濤等人[20]利用用戶的注冊信息包含的屬性信息,計算個人簡介、地理位置、教育工作信息的相似度,并利用維特比算法來進行三個社交網絡的用戶識別。
用戶出于對個人隱私的保護,用戶可能會填寫虛假的個人資料信息,或選擇不填寫。基于用戶屬性的用戶識別的準確性會有所降低。
在社交網絡中,用戶發布內容包括發布內容的地理信息、時間信息、文本信息、多媒體信息、寫作風格和內容主題等。
Li 等人[3]計算了用戶發布內容在空間,時間和文本內容三個維度上的相似性,并提出了一種三級級聯的融合分類器來判斷用戶識別結果。Goga 等人[21]綜合附加到發布內容后的位置信息,發布時間信息和書寫風格來識別用戶。Nie 等人[22]先識別出重要用戶,將重要用戶和待識別用戶的發布內容融合,得到一段長文本,通過LDA 識別出長文本的主題,將用戶識別轉發為主題相似度判斷。張樹森等人[5]利用發布內容中的文本內容、多媒體內容和時間序列信息來進行用戶識別,包括內容口語化程度、復雜程度、規范化程度、用戶圖片特征以及構建與時間序列擬合的函數。
由于用戶隱私設置和社交網絡對數據采集的限制,基于發布內容的用戶識別的魯棒性會有較大的影響。
在社交網絡中,社交關系包括正在關注關系和關注者關系[23],目前研究基于這兩種關系可以構建出無向網絡和有向網絡,有向網絡又可分為單向網絡和雙向網絡。
由于用戶在不同社交平臺上形成社交關系網絡相對來說更穩定,因此可根據賬號的社交關系形成該賬號的社交關系網絡,并與其他賬號的社交關系網絡做相似性計算。Xuan 等人[24]調查發現通常情況下用戶會在不同的社交網絡平臺上維護相似的好友圈,并利用社交關系信息進行用戶識別,提出FRUI 算法。Zhang 等人[25]通過考慮多個網絡之間的本地和全局的相似性,結合能量模型提出COSNET 模型。Cheng 等人[26]通過共享參數的神經網絡來獲取用戶對社交關系的網絡結構向量,并提出了深度主動學習模型DALAUP。Zhou 等人[27]對網絡進行采樣并學習網絡節點的向量表示,通過深度神經網絡對齊錨節點,利用雙重學習范式和策略梯度法關聯用戶。Pedarsani 等人[28]在無種子節點的條件下,采用貝葉斯方法進行用戶識別,并在較為相近的兩個網絡中取得了較好的結果。
近來用戶表示學習受到學術界的廣泛關注,諸如隨機游走[29]、卷積神經網絡(Convolutional Neural Network,CNN)[30]、圖卷積網絡(Graph Convolutional networks,GCN)[31]、圖神經網絡(Graph Neural Networks,GNN)[2]被應用于用戶表示學習(也稱用戶嵌入或圖嵌入)。這類方法相當于將用戶的各類信息映射到一個隱空間,這個隱空間的向量能夠有效表征用戶。Man 等人[32]利用網絡嵌入方法來發掘網絡結構的規律,通過跨網絡映射來識別關聯用戶。Zhou 等人[33]提出一種基于朋友關系的無先驗知識用戶識別方法FRUI-P。Liu 等人[23]將用戶的正在關注關系和關注者關系都嵌入到網絡中,以此來進行用戶識別。Wang 等人[2]生成異構圖來表示用戶配置文檔、發布內容和社交關系,并利用基于注意力機制的圖神經網絡來進行用戶識別,通過多個注意力層來聚合用戶信息,并通過多層感知來預測用戶識別結果。
社交關系相較于用戶屬性而言更穩定。但由于社交網絡的開放性,任何用戶都能關注其他用戶,導致被關注者可能并不認識關注他的人。由于社交網絡對數據采集的限制以及獲得多層社交關系成本較高。因此在實際社交網絡中,社交關系通常比較稀疏且不完整。
在用戶屬性中加入社交關系,由于社交關系具有穩定性,可以避免一些用戶屬性缺失或虛假帶來的負面影響;在社交關系中加入用戶屬性,可以識別出一些社交關系稀疏的用戶,并提高用戶識別模型的準確率和召回率。通過綜合多種識別方法對用戶進行跨社交網絡用戶識別,防止只采用一種計算方法而造成誤差[34]。正如之前所提到的隱空間映射問題,其實用戶屬性也可以像社交關系一樣被映射到隱空間中,將離散屬性變量轉變為連續的變量,并且提取中間具有代表性的屬性,也相當于一個降維的過程,這樣可以設計一個通用隱空間模型,來將屬性和社交關系映射到隱空間中,再通過優化函數來提高效果。
Zhang 等人[35]利用顯示名、地理位置和社交關系三種信息,從每種信息中提取出一些特征,最后利用分類器判定用戶是否關聯。Zhang 等人[36]結合用戶屬性和網絡結構來鏈接多種共享實體的潛在鏈接。Jain 等人[37]提出了一個身份識別系統Finding Nemo,充分結合了用戶屬性和鏈接信息,用于找出一個Twitter 用戶在Facebook 中的賬戶。Li 等人[38]結合用戶顯示名和社交網絡的信息冗余來實現用戶識別。Bartunov 等人[39]提出了JLA 算法。該算法主要用來合并用戶通訊錄,從局部方面來進行用戶識別。JLA 算法將用戶屬性和好友關系網絡相結合進行匹配,通過構建一個統一用戶屬性與社交關系的匹配模型,并使用條件隨機場來進行賬號匹配。
目前沒有研究用戶識別的公開數據集。一些研究從社交網絡上用爬蟲或者公開API 采集實驗數據,一些研究使用kong 等人[6]論文中使用的數據集,該數據集是在2012 年11 月采集形成的。多篇論文曾采用該數據集來驗證用戶識別實驗,如Zhang 等人[40]和Liu 等人[23]。Liu 等人[23]曾在 GitHub 上公布了該數據集引用要求(https://github.com/ColaLL/IONE)。
有部分研究從rocketreach(https://rocketreach.co/)和about.me(https://about.me/)網站上獲取用戶在不同社交網絡上的賬號,并將其作為groundtruth(錨鏈接用戶)。Lim 等人[41]采集about.me 網站上的用戶的關聯賬號,包括社交網絡Flickr、Google+、Instagram、Tumblr、Twitter 和 Youtube,其數據集也公開在 GitHub 上(https://github.com/kite1988/aboutme)。
本文整理和歸納了跨社交網絡用戶識別的研究現狀和實驗數據集獲取方式。目前,大多數有關跨社交網絡用戶識別的論文都針對兩個社交網絡進行實驗,較少有論文直接對三個及三個以上的社交網絡做用戶識別。一個是因為三個及三個以上數據集獲取難度較大,另外也因為三個及以上社交網絡用戶識別和兩個社交網絡用戶識別的方法有較大的區別。
由于用戶對個人隱私的保護和社交網絡對數據采集的限制,我們可以充分利用可獲取的各類用戶數據,包括用戶屬性信息、發布內容和社交關系信息,來幫助提高用戶識別的準確率和召回率。可以利用特征工程從各類用戶數據提取出能有效表征用戶的特征,也可以利用各類用戶數據形成圖結構,將這些提取出的信息輸入自己構造的機器學習模型或深度神經網絡模型來進行用戶識別。