王嘉祺 何新磊 汪天一 王 新
1(復旦大學計算機科學技術學院 上海 201203)2(上海市智能信息處理重點實驗室(復旦大學) 上海 200433)3(北京字節跳動科技有限公司 北京 100086)
在當代,移動社交應用已經成為日常生活中不可或缺的一部分,如WhatsApp[1]、微信[2]、Instagram[3]、Foursquare[4]/Swarm[5]等已經在全球廣泛使用。在這些應用中,用戶分類有著很多實用的場景。例如,找出惡意賬號并及時封禁可以極大提升用戶體驗;針對高影響力用戶或潛在的會員用戶可以采取對應的營銷策略。若是對用戶進行多維度標簽,推薦系統便可以高效運作。
本文旨在設計一套基于機器學習的移動社交網絡用戶分類系統,該系統可以適用于各種分類場景,而并不局限于單一的分類目標。例如,廣告提供商可以使用它分類出高影響力用戶并與其合作,使得廣告的投放事半功倍;虛擬服務提供商可以用其找出某個移動社交網絡中的付費用戶,因為這些用戶更有可能付費購買其服務;移動社交網絡平臺可以用其檢測出平臺中的惡意賬號并及時采取措施,保障正常用戶的體驗。分類系統分為兩部分:基礎分類模塊和處理時序特征的深度學習模塊。用戶的靜態特征,例如人口學特征、用戶生成內容(UGC)特征等由基礎分類模塊處理;用戶的動態特征例如發帖、評論等行為特征由深度學習模塊處理。為了測量分類系統的效果,我們實驗了三種不同的分類目標,分別是惡意賬號檢測、高影響力用戶發現及會員用戶發現。由于陌陌已經標定了惡意用戶及會員用戶,因此我們省去了數據標定的過程。實驗中對于不同的分類目標均使用了大量來自陌陌的真實用戶數據,并對比了不同的監督學習算法,最終我們選擇XGBoost[6]作為基礎分類模塊的核心算法。
本文共有以下3個貢獻:
1) 提出了移動社交網絡中的用戶分類問題,且使用陌陌中的真實用戶數據驗證了分類模型。
2) 使用了深度學習技術,即長短記憶神經網絡[7],并與經典的分類算法相結合,實現了多目標的分類。
3) 對陌陌的真實數據進行了充分的分析,實驗結果表明,本文的模型對于不同的分類目標均可達到很好的效果。
鑒于社交網絡中用戶分類問題的重要性,目前對此已有多項研究,不妨以惡意賬號檢測為例,已有的分類方法主要分為兩大類。
一類方法聚焦于社交圖譜。這類方法通常假設在惡意賬號與正常賬號之間建立緊密聯系是較為困難的。西班牙最大的在線社交網絡Tuenti上部署著這類基于社交圖譜的隨機游走算法SybilRank,以檢測惡意賬號[8]。
另一類方法通過收集各項特征并利用機器學習算法找出惡意賬號。人人網基于此運行了一套惡意賬號檢測系統。Yang等[9]發現,人人網中的惡意賬號與正常賬號聯系密切,他們基于用戶之間的交互,如好友請求的頻率等特征,構建了一套惡意賬號檢測系統,并于2010年8月部署到人人網。Zhang等[10]在大眾點評上部署了類似的系統。Gong等[11]提出了一套基于深度學習的算法DeepScan,以在大眾點評上找出惡意賬號。然而,這類算法均是聚焦于一種具體的用戶分類場景,并不具有較好的通用性。文獻[12]設計了一套用戶分類系統,將推特中的用戶分為不同類別,但與本文不同的是,他們并沒有考慮到用戶的動態行為特征。
影響力[13]是一種描述用戶在社交網絡中重要程度的指標。信息在社交網絡傳播的過程中,重要的用戶通常起著較大的作用。目前已經有一些通用的方法來衡量用戶的影響力。文獻[14]考慮通過關注數和活躍程度衡量影響力,但他們發現擁有較高關注者的用戶并非一定擁有較大影響力,因為這些用戶的推特轉發數和提及數并不一定很高。文獻[13]研究了推特中事件的傳播,他們發現高影響力的用戶對于某些事件的傳播擁有決定性作用。文獻[15]通過Page-Rank[16]來衡量節點的影響力。在社交網絡中,Page-Rank不僅考慮了用戶的關注數,還考慮了每個關注者自身的影響力,因此可以較好地衡量用戶的影響力,但是計算PageRank需要獲得整個網絡的結構信息。
陌陌[17]是一款基于地理位置的移動社交應用,用戶可以與好友或者周圍的陌生人進行互動。陌陌在全球擁有超過1.8億用戶,通過陌陌,用戶可以基于自己的實時位置,查看附近有哪些其他用戶,與他們分享文字、圖片和視頻,并與他們成為好友。用戶主頁是用戶的第一形象,包含了用戶ID、頭像、性別、注冊日期、年齡星座、發帖數、最近一次更新的位置及更新時間等信息。
動態是陌陌的核心社交功能之一。用戶可以發帖向好友和周圍的用戶分享文字、圖片、視頻信息,該帖可被其他用戶評論,帖下的評論也可以被其他用戶評論。通過該功能,位置相近的用戶可以找到共同的興趣話題,并成為好友。
陌陌是被廣泛使用的移動社交軟件之一,擁有近1.8億遍布全球的用戶。在陌陌中,我們可以訪問任意用戶的用戶主頁,查看其發帖,并通過主頁和發帖信息,知道該用戶是否是惡意用戶或會員用戶。因為惡意用戶或會員用戶均會在主頁和發帖信息中有相應標識,因此免去了我們人工標定數據的過程,標識的細節我們將在后文中敘述。此外,我們獲取到了較長一段時間內陌陌用戶所有的發帖和評論信息,使得建模整個活躍用戶社交網絡,計算用戶的PageRank成為可能。綜上所述,我們選擇陌陌作為我們研究的移動社交網絡。
社交網絡中的用戶根據不同的標準可以劃分為不同類別。為了驗證本文提出的分類算法的可擴展性,我們從3個不同的方面,分別將陌陌用戶分為惡意賬號與正常賬號、高影響力用戶與一般用戶、會員用戶與普通用戶。
(1) 數據獲取 通過抓包的方式,我們獲得了陌陌客戶端調用服務端的相關API,包括了發帖詳情、帖評論詳情、用戶主頁詳情的API。通過這些API,我們首先獲取了2016年7月17日至2016年9月17日所有的發帖,以及這些發帖的所有評論,共得到3.44億條發帖及3.58億條評論。然后,我們獲取了這些發帖評論關聯的陌陌用戶主頁信息,共計3 200萬條。這些數據存儲在數據庫中,共占用330 GB磁盤空間。需要注意的是,所有獲取到的用戶ID均是加密的,無法將獲取到的數據與陌陌應用中的用戶直接關聯,所以用戶的隱私得到了保障。
(2) 陌陌數據概況 在我們的數據集中,男性用戶占67.91%,女性用戶占32.09%。從年齡分布來看,20歲以內的用戶占9.71%,20~30歲的用戶占62.03%,30~40歲的用戶占20.29%,超出40歲的用戶占7.69%,由此可見,20~30歲的用戶是陌陌的主力軍。
(3) 評論圖譜 基于評論數據,我們構建了評論圖譜G=(V,E)來建立陌陌用戶間的評論社交關系。圖中節點v∈V代表陌陌用戶,若用戶x對用戶y的發帖或評論發表了評論,則(x,y)∈E,否則(x,y)?E。最終,G中包含了21 541 801節點和148 844 803條邊。
我們引入了入度、出度、聚集系數和PageRank來描述G中節點的屬性。入度表示該用戶的發帖或評論被評論的次數,出度表示該用戶評論其他用戶的次數,聚集系數越高則該用戶與其周圍的用戶聯系越緊密,PageRank越高則表示該用戶的影響力越高。圖1中展示了入度、出度、網頁排名的累積分布函數,G中節點的平均入度和出度是4.55,大部分節點的聚集系數都很小,表明G中的節點連接得并不緊密。同時,我們分析了G中較大的弱連通子圖,規模由大到小依次占2.75%、2.38%、2.29%、2.05、2.02%。這與常見的社交圖譜的不同,因為它并不包含一個較大的弱連通子圖。

(a) 陌陌評論圖譜入度/出度 (b) 陌陌評論圖譜網頁排名圖1 陌陌評論圖譜入度、出度、網頁排名的累積分布
本節介紹分類系統的設計架構。系統基于機器學習算法,結合靜態特征和動態特征,具有較好的擴展性,可適用于不同的分類目標。
為了充分發掘靜態特征與動態特征所包含的信息,分辨不同類別的用戶在兩類特征上的不同,我們引入了深度神經網絡。系統架構如圖2所示,動態特征輸入LSTM網絡,再通過Softmax得到深度學習模塊輸出的各類別的概率,其輸出與靜態特征一同輸入傳統機器學習分類模塊的自定義分類器,得到最終的輸出。自定義分類器是從幾種經典的分類算法中,選擇分類效果最好的算法作為其具體實現,具體細節將在實驗部分詳述。

圖2 系統架構圖
如表1所示,特征被分為了不同類別(子集),如人口學特征、UGC特征、社會學特征等靜態特征,及發帖特征、評論特征等動態特征。

表1 特征集

續表1
(1) 靜態特征 靜態特征主要包括用戶屬性和統計意義上的特征。其中:人口學特征包含了用戶的基本信息,如年齡、性別、注冊日期等;UGC特征包括了用戶的發帖數、主頁收藏的音樂、電影、書籍等統計特征;社會學特征即社交圖譜中節點的圖屬性,包括了入度、出度、聚集系數和PageRank。
(2) 動態特征 我們假設不同類別的用戶會有不同的日常行為模式,因此分析用戶的每日發帖和評論行為并作為動態特征。
動態特征包含發帖特征和評論特征。發帖特征體現了不同用戶每天的發帖模式,包括了每天的總發帖數、每天被評論的帖數、每天所發帖的總長度等;評論特征提現了不同用戶每天的評論模式,包括了截至當天的總評論數、每天評論的用戶數、每天的評論數等。
為了深入理解不同特征子集對不同分類目標的重要程度,我們分別對于每個分類目標采用不同特征子集,并比較他們的分類結果。
圖3-圖5分別展示了不同特征在不同類別用戶上的分布。如圖3所示,惡意賬號與正常賬號在注冊時間上表現出了極大差別,正常賬號的注冊時間分布較為均勻,而惡意賬號的增長速度在2016年4月后陡增。這可能與陌陌在2016年4月上線在線直播功能有關,一些主播可能會采用大量馬甲賬號提升自己直播間的人氣。圖中還可以看出,惡意賬號的年齡與正常賬號比更年輕,需要注意的是,惡意賬號的年齡可能是虛假的,以騙取更多用戶關注。圖4中,高影響力用戶擁有更高的入度,且發了更多帖子,可見高影響力用戶一般較為活躍。圖5中,會員用戶的注冊時間相對普通用戶更久些,發帖數比普通用戶更多,由此可推斷出老用戶比新用戶更傾向購買會員。

(a)注冊時間累積分布 (b)年齡累積分布圖3 惡意賬號vs正常賬號

(a)入度累積分布 (b)發帖數累積分布圖4 高影響力用戶vs一般用戶

(a)注冊時間累積分布 (b)發帖數累積分布圖5 會員用戶vs普通用戶
我們使用了LSTM模型建立用戶每日行為特征向量之間的聯系。用戶每日的行為特征已在表1中的動態特征部分展示,由發帖特征和評論特征構成11維向量。根據2.4節所述,我們的數據集包含了陌陌用戶63日內的行為數據,可以構成長度為63的向量序列,序列中的每個向量表示用戶當日的行為特征。LSTM神經網絡是一種時間遞歸神經網絡,被設計以處理和預測較長的序列向量,它的特點在于擅長記憶較長的序列,且具備遺忘機制。在我們的模型中,如圖2所示,LSTM被用以記憶用戶的日常行為特征序列,分辨不同類別用戶行為模式的差異。
我們將用戶日常行為特征向量輸入LSTM網絡,將最后的輸出傳入全連通網絡,并使用交叉熵代價函數作為目標函數優化模型中的參數。用于訓練模型的數據越多,數據的質量越高,訓練出的模型效果越好。
最終,我們構建了一套監督學習用戶分類系統,該系統使用了靜態特征與動態特征,結合了傳統機器學習算法與深度學習算法。
我們將在本節中介紹分類系統的實現細節,且通過實驗評估其效果。為了實現系統中基于LSTM的時間序列分析模塊,我們使用了tensorflow,一套開源的機器學習軟件庫。我們對比了一些經典的機器學習算法,包括C4.5決策樹[18]、隨機森林[19]、支持向量機[20]、樸素貝葉斯[21]和XGBoost。我們的分類目標包括惡意賬號檢測、高影響力用戶發現及會員用戶發現。
(1) 惡意賬號與正常賬號分類 陌陌的用戶主頁詳情API中有“deny code”字段,若該字段設為1,則主頁被瀏覽時,上方會出現提示“賬號可能存在異常,請謹慎交談”。另一類惡意賬號由于多次進行垃圾評論,其所有的評論內容被置為“該用戶被多人舉報,可能存在異常”。數據集中,惡意賬號共有1 459 697個,占總數的4.6%。我們隨機選擇10 000個惡意賬號與10 000個正常賬號,取其中70%作為訓練集,另30%作為測試集。
(2) 高影響力用戶與一般用戶分類 我們使用PageRank量化用戶的影響力,事實上,PageRank已經被廣泛用于衡量影響力。我們根據評論圖譜,計算每個用戶的PageRank并由高到低排序,取前1%作為高影響力用戶,其余用戶為一般用戶。數據集中,共有327 000用戶被標記為高影響力用戶。我們隨機選擇10 000高影響力用戶與10 000一般用戶并選擇其中70%作為訓練集,其余為測試集。
(3) 會員用戶與普通用戶分類 會員用戶作為付費用戶的代表,在數據集中占7%。同樣地,我們隨機選擇10 000會員用戶與10 000普通用戶,并取其中70%作為訓練集,其余為測試集。
我們使用查準率、查全率和F1值衡量分類效果。以惡意賬號檢測為例,查準率為算法正確分類出的惡意賬號數占算法分類出的惡意賬號數的比例,查全率為算法正確分類出的惡意賬號數占總惡意賬號數的比例,F1值為兩者的調和平均。對于每種算法,我們使用網格搜索法找到最適合的參數。
首先對比了不同的機器學習算法的分類效果,表2-表4展示了3種不同的分類目標分別使用不同傳統機器學習算法實現自定義分類器的分類結果。可以看出,對于不同的分類目標,XGBoost總能取得最好的效果。在表2中,惡意賬號檢測的F1值可以達到0.918,在表3中,高影響力用戶發現的F1值可以高達0.970,在表4中,會員用戶發現的F1值可以達到0.872。

表2 惡意賬號檢測分類結果

表3 高影響力用戶發現分類結果

表4 會員用戶發現分類結果
為了評估各特征集合對分類結果的貢獻,我們對于不同的分類目標,分別使用的一個或多個不同特征集進行分類。首先使用全部特征集分類,然后每次分別移除一個特征集,保留除該特征集外的其余特征集,得到缺失某個特征集的分類效果。接著,每次僅使用一個特征集分類,得到使用單個特征集的分類效果。實驗結果分別展示在表5-表7中。對于惡意賬號檢測,移除了動態特征后F1值下降最多,且僅使用動態特征本身時分類效果也是相對最高的,F1值達到0.845。因此,動態特征對于惡意賬號檢測至關重要,各特征集的重要程度由大到小依次為動態特征>發帖特征>UGC特征>人口學特征>評論特征>社會學特征。可以看出,惡意賬號與正常賬號的發帖行為有著較大差別。對于高影響力用戶發現,移除動態特征后F1值下降最多,在僅使用一個特征集的條件下,使用動態特征的效果最好。因此動態特征對于高影響力用戶發現同樣是最重要的,各特征集重要程度依次為動態特征>社會學特征>評論特征>發帖特征>UGC特征>人口學特征。與惡意賬號檢測不同的是,社會學特征與評論特征對于高影響力用戶發現較為重要。對于會員用戶發現,移除人口學特征后F1值下降最多,人口學特征與UGC特征均比動態特征重要,各特征集重要程度依次為人口學特征>UGC特征>動態特征>發帖特征>評論特征>社會學特征。這表明人口學特征和UGC特征與該用戶是否是會員用戶最為相關。事實上,在陌陌中,會員用戶在發帖頁擁有獨有的表情和氣泡,這可能會鼓勵會員用戶發更多帖。

表5 惡意賬號檢測各特征子集貢獻分析

表6 高影響力用戶發現各特征子集貢獻分析

表7 會員用戶發現各特征子集貢獻分析
本文研究了移動社交網絡中的用戶分類問題,基于深度學習技術,分析了不同類別用戶行為模式的差異。本文實現的分類系統經過陌陌真實數據的驗證,在不同的分類目標上均取得了較好的效果。由于本文使用的數據均來自公開數據,本文提出的分類方法不僅適用于移動社交網絡服務提供商,其他的三方應用提供商亦可適用。
我們的研究中尚有不足之處。由于陌陌的數據已有標簽,我們可以免去人工標定數據的麻煩,所以本文僅使用陌陌數據驗證效果。本文的研究可以拓展到其他社交網絡及更多分類目標。同時,我們將進一步挖掘用戶數據中的文本、圖片和視頻信息,以期在分類效果上達到新的高度。