張瑤瑤 朱小棟
(上海理工大學管理學院 上海 200093)
在用戶主導而生成內容的互聯網產品模式的Web 2.0時代,Facebook、Twitter、微博、知乎、豆瓣、天涯等國內外知名社交網站的逐漸興起火熱,當代社交網絡也已成為用戶日常生活不可缺少的部分。據STATISTA報告,截至2018年4月美國社交媒體平臺領先者Facebook月活躍賬戶22.34億,與此同時中國社會媒體平臺新浪微博擁有3.92億月活躍賬戶;視頻門戶網站Youtube月活躍賬戶15億;主題交流社區百度貼吧擁有月活躍賬戶3億。伴隨著成熟的技術和成功的推廣,社交網站吸引越來越多的網民注冊使用,在這樣龐大的網絡群體中,可能會因為垃圾用戶經常發布無用信息造成社交用戶個人主頁信息冗雜干擾使用,也可能會發生盜取個人信息詐騙造成精神金錢損失,甚至還可能因為有組織有預謀的行為引起熱門話題的討論和輿論的錯誤導向[1~3]。
當下對與社交網絡垃圾用戶特征的研究分為三個部分——基于內容分析方法、基于用戶行為分析方法、基于用戶關系分析方法。第一種基于內容特征分析的模式中,通常使用一系列的機器學習算法來識別內容中的潛在垃圾關鍵字[4]。在第二種基于用戶特征分析包括貝葉斯算法[5]、決策樹分類[6]等經典機器學習算法,早期研究使用垃圾用戶部分行為特征作為屬性[7],如關注人數,粉絲數,關注/粉絲比,推文數等[8],但由于社交軟件功能的更新以及逐漸善于偽裝的垃圾用戶,后來的研究逐漸考慮更多的屬性,如博文之間的相似性,發文時間分布,博文中URL比例等[9],但是過多的屬性也會造成數據預處理和標準化的困難,延長處理時間,降低處理效率。第三種基于用戶關系特征的分析方法應用如神經網絡分類法、貝葉斯網絡等[10]。這類方法為了建立社交網絡需要收集大量具有復雜關系的數據,但是許多垃圾用戶通過學習正常用戶的社交圖譜規律,構建穩固的社交關系,故分類效果往往并不理想。綜合分類效率和分類精度,本文提出了運用基于嶺回歸極限學習機的微博垃圾用戶檢測方法。
在傳統的神經網絡訓練中,通常要通過梯度下降算法來不斷的調整隱層與輸出層,輸出層與隱層之間的權值矩陣,以及偏置b。在ELM(Extreme Learning Machine)算法中,隱層的權值矩陣W和偏置b則沒有必要調整,在學習算法開始時任意隨機給定W和b的值,利用其計算出H(隱層節點的輸出),并令其保持不變,后續只需確定β[11]。設前向神經網絡的輸入層節點數量為P,特征向量的維數與輸入節點數量相同;隱藏層的節點數量為L。則hidden layer的第i個節點的輸出為

即將P維向量映射到L維向量:

其中wi為第輸入層節點與隱層節點之間的第i個鏈接,bi為偏置,g為激活函數,這里使用sigmoid函數:

輸出層的節點數記作M;第i個隱層節點和第j個輸出層節點之間的權重為βi,j,則節點j的輸出為

因此輸入樣本X,對應的輸出為

在識別階段,給定一個樣本X,則該樣本所屬類別為

ELM算法和神經網絡算法最大的區別在于:ELM不需要進行迭代,而是一次性通過標簽計算出最后一層神經元的權重。而神經網絡是通過梯度下降的方法,不斷地根據loss值更新權重值。因此ELM算法并不適合構造出更深的網絡結構,但是減少了計算量,減少了機器開銷。而RR-ELM(Ridge Regression Extreme Learning Machine)相對于ELM加入了正則項的限制,防止過擬合。ELM的泛化能力和穩定性由如下代價函數得到:

適當確定σ1,p,σ2,q,并當加入正則項后,代價函數變成:

加入正則項的RR-ELM泛化能力更強,分類效果預計也更好。
圖1 展示了所提出的微博垃圾用戶檢測模型的基本概念。在該方案中,訓練數據被轉換成一系列 的 特 征 向 量,{users:attribute1,attribute2,…,attributen}表示用戶的屬性特征,包括注冊時間、個人簡介、關注對象、粉絲、互粉數量、點贊數量等屬性特征:{microblog:attribute1,attribute2,…,attributem}表示用戶的一系列屬性特征,包括推文的原創比例,轉發比例,話題比例等屬性。這些向量構成了一個ELM機器學習算法的輸入值。在訓練之后,得到一個分類模型,并以此來區分特定用戶是否屬于普通用戶或垃圾用戶。

圖1 基于RR-ELM的垃圾用戶識別算法框架
目前雖然在UCI機器學習數據庫有一些數據集,但是這些數據集只有數據屬性,卻沒有標簽。為驗證本文微博網絡垃圾用戶識別方法的有效性,需從微博中爬取相關數據。本文使用八爪魚抓取2018年8月1日到2018年9月27日多 個用 戶 的粉絲和關注用戶(分別為人工確認的正常用戶的關注用戶和非正常用戶的粉絲用戶)作為原數據集。通過查閱文獻資料,默認手工標注的垃圾用戶的粉絲同樣為垃圾用戶,正常用戶的關注用戶為正常用戶[12],由此得到充足數據集,且可以省去耗費人力物力財力的人工標注的繁復步驟(且時間跨度大的人工標注往往無法保證準確率),提取的信息包括用戶信息、用戶行為信息、文本內容信息。
特征提取主要包括基于用戶信息、基于用戶行為信息、基于文本信息、基于用戶關系網絡等四方面[13]。但是由于基于用戶關系網絡需要數據量大,用戶關系錯綜復雜,分類效果不佳,故常常提取前三個方面的特征。
通過微博爬蟲手工標注的垃圾用戶的粉絲和正常用戶的關注用戶得到數據集。首先通過運行SVM代碼得到如下準確率。
在pycharm中 運 行ELM和RR-ELM的python程序,我們將隱藏層設置為5時,垃圾用戶和真實用戶的比例分別設置為5∶1,3∶1,1∶1,1∶3,1∶5五種比例,ELM的準確率為和RR-ELM的準確率如
從上表中可以直觀地看出,神經元數目對于兩種神經網絡的分類效果影響較大。
通過查閱資料得知,SVM往往在經典機器學習分類中分類效果之最[14]。同樣,當垃圾用戶和真實用戶比例設置為1∶1時,C值分別設置為0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1,且核函數為線性時,訓練得到的SVM分類器的分別對于訓練集和測試機的分類準確率如表2。

表2 懲罰系數C
將核函數的線性函數換成RFB徑向基函數,懲罰函數設置為0.8時,在γ值不同的情況下的分類效果。
從表1中可以看出,當垃圾用戶和正常用戶的比例為1∶1時,分類效果是最好的,且RR-ELM的分類效果總是好于ELM。究其原因,只有當垃圾用戶和正常用戶的比例達到一定的均衡接近實際比例時,訓練得到的分類器才具有普適性,而比值越遠1∶1效果越不好。同時可以猜測新浪微博用戶是否幾乎有一般的用戶都是機器人操控的,分別通過不同的利益團體執行不同的任務,左右輿論和商業市場的走向,這對于社交平臺的自我認識,對于未來的品牌提升思考也有一定的借鑒意義[15]。

表1 不同影響因子下的準確率
另外從表1中可以看出,隨著隱藏神經元數目增加,RR-ELM和ELM的分類效果也越來越好,其中RR-ELM和ELM的分類效果相差很小。故而隱藏層神經元數目對于分類器的影響相較于數據集用戶比例的影響相對較小。當構建分類器時,需要注意兩個因素孰輕孰重。
從表2中可以看出,剛開始時SVM對于訓練集和測試集兩者分類效果差別較大,但當逐漸增大C值時兩者的分類效果逐漸趨于一致。且對于測試集的分類效果隨著C直接增加,先下降后上升,效果不是很穩定。由于分類器是由訓練集訓練得到的,故對于訓練集的擬合效果較好。
從表3中可以看出,徑向基核函數相較于線性核函數的分類效果好很多,同樣訓練集的分類效果也比測試集的分類效果更佳,同樣由于分類器是由訓練集訓練得到的,故對于訓練集的擬合效果較好,分類準確率也比較穩定。

表3 γ值
本文的主要貢獻在于優化了ELM的處理能力,并給出了分類效果最好時的正常用戶和垃圾用戶用戶比例,最佳比例為1∶1;RR-ELM分類效果也會隨著神經網絡的隱藏層神經元數目增加而增加。本文還得出SVM達到較好分類效果的時候懲罰系數C值和徑向核函數γ值的值范圍。
但是在多樣化特征的社交網絡用戶中,任何數量的標記數據都是不足夠的,只有盡可能多數量的采樣,才能更好地接近實際情況[16]。為了彌補這一缺憾,未來的工作可以著手對于其他代價函數的改進對比和基于少量標記數據的半監督學習模型等,以期達到更好的分類效果。