謝忠紅,張 穎,張 琳
(南京農業大學 信息科學技術學院,江蘇 南京 210095)
基于邏輯回歸算法的微博水軍識別*
謝忠紅,張 穎,張 琳
(南京農業大學 信息科學技術學院,江蘇 南京 210095)
受潛在的商業利益的驅動,微博水軍橫行于話題與評論之間,對人們了解真實的結果產生不良影響,成為正常用戶了解事實真相的障礙。分析了正常用戶和水軍的關系圖,以此為切入點,分析了水軍的特點,從用戶屬性中抽取了8個特征數據(粉絲數、關注數、好友粉絲比、注冊時間、活躍度、關注速率、雙向關注比和互粉數)基于學習數據集R訓練邏輯回歸分類模型,得到可靠的回歸系數后,使用識別樣本集R進行識別,水軍識別率高達98.770%。為驗證抽取的8個特征是否能有效識別水軍,使用Scikit-Learn機器學習庫中4種分類方法對同一識別樣本集進行水軍識別,水軍識別準確率均在98.688%以上。研究結果表明,選取的8個特征能有效地進行水軍判別,邏輯回歸分類模型在進行水軍識別研究中具有高準確性和可靠性。
微博;水軍;邏輯回歸
互聯網時代的到來以及社會生活的高度信息化,使網絡承載了蘊含著價值的大數據,如新浪微博、大眾點評網、豆瓣等擁有海量用戶的社會化網絡媒體,已經被組織和個人廣泛地用來進行輔助決策。巨大的用戶群體蘊含著潛在的商機。為了人為控制事件的走向,使虛假意見和垃圾信息被廣泛地制造和傳播,該類危害的源頭即俗稱的網絡水軍。
1.1 國外研究狀況
2009年10月Twitter推出了用戶舉報功能。在Twitter上,國外學者從Twitter虛假用戶入手對如何判別水軍用戶有較深入的研究。水軍既屬于不可信用戶也屬于虛假用戶。利用用戶特征通過機器學習算法來識別Twitter中的虛假用戶,衡量了所使用特征的好壞。學者們提出了一種在Facebook平臺上通過分析照片墻帖子中包含的常見URL和相似文本來識別水軍用戶。McCord等人通過傳統的機器學習分類器檢測Twitter上的水軍用戶,比較了幾種分類器的檢測性能[1]。Lee等人利用Twitter中7個月的數據,自動發現Twitter中的微博機器人用戶[1]。
1.2 國內研究狀況
國內的研究大多數基于內容與關系特征進行研究,隨后,統計學也相繼應用于此。2012年5月國內的新浪微博成立了微博社區委員會負責審核用戶舉報信息,微博平臺提出了一些利用明顯水軍特征進行模式匹配的識別技術。國內一些學者針對微博播環境中水軍事件進行分析。莫倩等人總結了目前的特征關系,分析了基于內容特征、基于環境特征、基于用戶特征、基于綜合特征的網絡水軍識別研究[2]。程曉濤等人利用用戶關系圖獲得了聚類系數、節點核數等特征,通過樸素貝葉斯算法來識別,識別率達82.8%[3]。
2.1 水軍定義
網絡水軍是指那些由商業利益驅動,為達到影響網絡民意、擾亂網絡環境等不正當目的,通過操縱軟件機器人或水軍賬號,在互聯網中制造、傳播虛假意見和垃圾信息等網絡垃圾意見的用戶的總稱。水軍可以使某些話題迅速登上熱門話題,引起廣泛關注,甚至會影響輿論導向。
2.2 水軍用戶關系圖繪制
NetworkX是一個用Python語言開發的圖論與復雜網絡建模工具。在采集的用戶集合之中,隨機抽取了一個正常用戶“Yvonne_zzyyy”與一個水軍用戶“Areyding”來繪制用戶關系圖[4]。首先,分別獲取了正常用戶“Yvonne_zzyyy”和水軍用戶“Areyding”的好友id,從而繪制出了一個正常用戶好友關系圖(如圖1所示)和一個水軍用戶好友關系圖(如圖2所示)。

圖1 正常用戶和水軍用戶的好友關系圖

圖2 水軍用戶的完整關系圖
3.1 微博用戶關系數據獲取
新浪微博是中國排名第一的運營商,用戶數占69.4%,因此本次研究選擇使用新浪微博開放的API來獲取新浪微博數據[3]。然而為了限制惡意利用API獲取微博數據,新浪對微博平臺API進行了升級,導致獲取大量微博數據難度增加。本文通過分析大量微博發現,水軍用戶的存在形式集中于評論之中,例如產品的推廣等。人工采集微博關系數據的方法是:人工進行評論的獲取,采用測試賬號對其進行關注,然后通過新浪開放平臺提供的Java SDK獲取測試賬號所關注的用戶信息,獲得水軍用戶的全部基本信息。比較正常用戶與水軍用戶之間差異,刪除對本次研究沒有幫助的字段后保留了8個字段如下:用戶UID(Id)、粉絲數(followers_count)、關注數(friends_count)、互粉數(bi_followers_count)、微博數(statuses_count)、收藏數(favourites_count)、用戶創建時間(created_at)、互粉數(bi_followers)。
3.2 特征選擇
為了能夠有效識別出偽裝成正常用戶的水軍,本文除了選擇已有的簡單特征(粉絲數、關注數、互粉數、發博數、注冊時間等)外,還通過計算得到了一些其他特征,例如:關注速率、用戶活躍度、雙向關注比等[5-8]。已用特征的定義如下:
(1)粉絲數Nfollowers
粉絲數反映用戶的受歡迎程度,反面說明其他用戶對該用戶所發內容等的一種喜好程度。正常用戶擁有一定比例的粉絲數,而水軍用戶一般大量關注大V用戶而得不到對方的關注,水軍擁有的粉絲數很少。
(2)關注數Nfriends
關注數反映用戶的喜好范圍。正常用戶只會對自己認識或者感興趣的博主進行關注,進而關注數處于一個合理的范圍,而水軍用戶為了達到營銷等效果,會大批量關注各種博主,因此水軍用戶與正常用戶相比,擁有高關注數。
(3)互粉數Nbf
互粉數反映用戶的社會交際水平。正常用戶存在朋友圈因此擁有高相互關注數,而水軍大部分是關注大V,而沒有真實的朋友圈形成,因此相互關注數處于一個很低的狀態。
(4)注冊時間Tcreate
注冊時間反映用戶的存在周期,對于水軍用戶該信息尤其重要,一部分水軍產生于某事件發生的時間,相對于正常用戶,存在周期較短,因此這個特征能夠衡量用戶是否為水軍。
(5)關注速率Rf

(1)
其中,Nfriends是關注數,Tcreate是注冊時間。關注速率從側面反映出注冊時間的作用,水軍用戶會在一個較短的時間差內關注大批量的用戶,關注速率比較高。
(6)用戶活躍度Ralive

(2)
其中,Nblog是發博數,Tcreate是注冊時間。通過在一個時間段內的發博數來反映一個用戶的活躍程度。水軍用戶一般活躍于評論之中,自己發博數很少,正常用戶的發博量肯定會比較多。
(7)雙向關注比Rbf

(3)
其中,Nbf是相互關注數,Nfriends是關注數。雙向關注比反映用戶的一個交際情況,正常用戶存在朋友關系一般會相互關注彼此,而水軍可能的相互關注數會很低,通過觀察,水軍用戶大多關注的大V較多,而大V用戶一般對自己認識或者感興趣的人才會相互關注。
(8)好友粉絲比Rff

(4)
其中,Nfriends是關注數,Nfollowers是粉絲數。出于營銷等目的,水軍會大批量關注別人,而獲取對方關注的機會較低,因此呈現出高出度和低入度的狀態特征。
4.1 邏輯回歸算法

圖3 邏輯回歸流程圖
邏輯回歸算法是一種廣義的線性回歸分析模型,可用于二分類和多分類問題,常用于數據挖掘、疾病自動診斷、經濟預測等領域。具體過程如圖3所示:選取合適的預測函數,構造并求解Cost函數,基于梯度下降法求Cost函數的最小值以及遞歸下降過程的向量化。Cost函數表示預測的輸出與訓練數據類別之間的偏差[8-10]。
利用邏輯函數,即Sigmoid函數[11],該函數形式為:
hθ(x)=g(θTx)
(5)

(6)
計算最佳擬合參數θ的方法是最優化算法——求解的邏輯回歸的代價函數是最大化似然函數,似然函數公式為:
(7)
所謂的梯度就是函數變化最快的方向。將參數θ設為全1,然后在算法迭代的每一步里計算梯度,沿著梯度的方向移動,以此來改變參數θ,直到θ的擬合效果達到要求值或迭代步數達到設定值。θ的更新公式為:

(8)
4.2 數據分析
研究中定義了測試集P和識別集R,P和R中均含325個用戶關系,其中包含95個水軍用戶和230個正常用戶。使用邏輯回歸模型對R中的水軍進行識別,結果如表1、表2所示。分析表1和表2可知在步長和迭代次數相同時,和普通梯度上升函數相比,采用隨機梯度上升函數作為Cost函數時識別率高出了12.46%,且步長相同時,迭代次數越多識別率越高。

表1 邏輯回歸模型識別結果

表2 隨機梯度上升在不同步長和迭代次數下識別結果
4.3 基于Scikit-learn機器學習庫中分類算法的對比分析
Scikit-Learn是基于Python的機器學習模塊,選擇了Python機器學習庫中多種不同的分類算法對提取的特征進行驗證,對比提取的特征在不同算法作用下的正確率和特征的有效性[12-15]。
研究中設計了2個集合分別為含305個用戶的訓練集P和含305個用戶的測試集T。P和T中均含有75個水軍用戶,230個正常用戶。基于本文抽取的8個特征使用KNN最近鄰、樸素貝葉斯、SVC和決策樹4種方法進行水軍識別,準確率分號為98.688%,99.016%,100%和100%。可見本文選取的8個特征在進行網絡水軍識別時是非常有效的,詳細結果如表3所示[12-15]。

表3 Scikit-Learn機器學習庫中各分類算法識別結果
本文抽取了粉絲數、關注數、好友粉絲比、注冊時間、活躍度、關注速率、雙向關注比和互粉數共8個有效特征,使用邏輯回歸方法實現水軍用戶的識別,識別率可達到98.77%,邏輯回歸分類模型在水軍識別研究中具有高準確性和可靠性。
[1] 陶永才,王曉慧,石磊,等.基于用戶粉絲聚類現象的微博僵尸用戶檢測[J].小型微型計算機系統,2015,36(5):1007-1011.
[2] 莫倩,楊珂.網絡水軍識別研究[J].軟件學報,2014,25(7):1505-1526.
[3] 程曉濤,劉彩霞,劉樹新.基于關系圖特征的微博水軍發現方法[J]. 自動化學報,2015,41(9):1533-1541.
[4] HAGBERG A,SCHULT D,SWART P. Exploring network structure,dynamics,and function using NetworkX[C]. Scipy, 2008:11-15.
[5] 方潔, 龔立新, 魏疆. 基于利益相關者理論的微博輿情中的用戶分類研究[J]. 情報科學, 2014,32(1):18-22.
[6] 韓忠明,許峰敏,段大高.面向微博的概率圖水軍識別模型[J]. 計算機研究與發展,2013,50(S2):180-186.
[7] 陳侃,陳亮,朱培棟,等.基于交互行為的在線社會網絡水軍檢測方法[J].通信學報,2015,36(7):120-128.
[8] 王越,張劍金. 一種應用SAVBP神經網絡的僵尸粉判別方法[J].重慶理工大學學報(自然科學),2014,28(4):72-76.
[9] 張良,朱湘,李愛平,等.一種基于邏輯回歸算法的水軍識別方法[J]. 信息安全與技術,2015(4):57-62.
[10] YU L L, ASUR S,HUBERMAN B A. Trend dynamics and attention in Chinese social media[J]. Ssrn Electronic Journal,2015,59(9).
[11] HARRINGTON P. Machine learning in action[M]. Manning Publications,2012.
[12] 何友奇,蔣新華,聶明星.基于模糊貝葉斯網絡的叉裝車制動系統故障診斷研究[J].微型機與應用,2016,35(11):70-73.
[13] 郭朝偉,張中煒.基于決策樹學習的柱狀二級管表面缺陷檢測系統設計[J]. 微型機與應用,2015,34(6):39-41.
[14] 張線媚.數據挖掘在電信行業客戶流失預測中的應用[J]. 微型機與應用,2015,34(15): 99-102.
[15] 杜翠紅,李曉峰,簡沖,等. SVC在無線信道傳輸中的非均衡差錯保護[J]. 電子技術應用,2010,36(8):130-133,137.
The recognition of public opinion viruses of micro-blog based on logistic regression
Xie Zhonghong, Zhang Ying, Zhang Lin
(School of Information Science and Technology, Nanjing Agricultural University, Nanjing 210095, China)
Drived by the potential commercial benefits, micro-blog’s public opinion viruses rampant between topics and comments, and they not only have a bad influence on understanding the real result for people, but also have become an obstacle to normal users to explore the truth. This paper analyzed the normal users and public opinion viruses diagram, as the starting point for the study, after analysing the characteristics of the public opinion , 8 characters (number of fans, number of friends, the number of mutual concern, register time, activity, attention rate and the rate of fans and friends) were extracted. After obtaining reliable regression coefficients by classification training logistic regression model based on a learning data set, the public opinion viruses recognition rate was as high as 98.770% based on recognition sample setR. In order to verify that the 8 features could identify the public opinion viruses effectively, 4 kinds of classification methods in Scikit-Learn machine repository were used to recognize public opinion viruses in the same sample setR, and the recognition accuracy rate was above 98.688%.The results show that the logistic regression model has high accuracy and reliability in the recognition of classification public opinion viruses.
micro-blog; public opinion viruses; logistic regression
南京農業大學中央高校基本科研業務費人文社會科學研究基金項目(SK2015023);國家社會科學基金項目(13CTQ031)
TP393
A
10.19358/j.issn.1674- 7720.2017.16.019
謝忠紅,張穎,張琳.基于邏輯回歸算法的微博水軍識別[J].微型機與應用,2017,36(16):67-69,72.
2017-02-23)
謝忠紅(1977-),女,博士,副教授,主要研究方向:情報信息處理、圖像處理、機器視覺技術。
張琳(1970-),女,學士,副教授,主要研究方向:情報信息處理。