謝忠紅,張 穎,張 琳
(南京農(nóng)業(yè)大學(xué) 信息科學(xué)技術(shù)學(xué)院,江蘇 南京 210095)
基于邏輯回歸算法的微博水軍識(shí)別*
謝忠紅,張 穎,張 琳
(南京農(nóng)業(yè)大學(xué) 信息科學(xué)技術(shù)學(xué)院,江蘇 南京 210095)
受潛在的商業(yè)利益的驅(qū)動(dòng),微博水軍橫行于話題與評(píng)論之間,對(duì)人們了解真實(shí)的結(jié)果產(chǎn)生不良影響,成為正常用戶了解事實(shí)真相的障礙。分析了正常用戶和水軍的關(guān)系圖,以此為切入點(diǎn),分析了水軍的特點(diǎn),從用戶屬性中抽取了8個(gè)特征數(shù)據(jù)(粉絲數(shù)、關(guān)注數(shù)、好友粉絲比、注冊(cè)時(shí)間、活躍度、關(guān)注速率、雙向關(guān)注比和互粉數(shù))基于學(xué)習(xí)數(shù)據(jù)集R訓(xùn)練邏輯回歸分類模型,得到可靠的回歸系數(shù)后,使用識(shí)別樣本集R進(jìn)行識(shí)別,水軍識(shí)別率高達(dá)98.770%。為驗(yàn)證抽取的8個(gè)特征是否能有效識(shí)別水軍,使用Scikit-Learn機(jī)器學(xué)習(xí)庫(kù)中4種分類方法對(duì)同一識(shí)別樣本集進(jìn)行水軍識(shí)別,水軍識(shí)別準(zhǔn)確率均在98.688%以上。研究結(jié)果表明,選取的8個(gè)特征能有效地進(jìn)行水軍判別,邏輯回歸分類模型在進(jìn)行水軍識(shí)別研究中具有高準(zhǔn)確性和可靠性。
微博;水軍;邏輯回歸
互聯(lián)網(wǎng)時(shí)代的到來以及社會(huì)生活的高度信息化,使網(wǎng)絡(luò)承載了蘊(yùn)含著價(jià)值的大數(shù)據(jù),如新浪微博、大眾點(diǎn)評(píng)網(wǎng)、豆瓣等擁有海量用戶的社會(huì)化網(wǎng)絡(luò)媒體,已經(jīng)被組織和個(gè)人廣泛地用來進(jìn)行輔助決策。巨大的用戶群體蘊(yùn)含著潛在的商機(jī)。為了人為控制事件的走向,使虛假意見和垃圾信息被廣泛地制造和傳播,該類危害的源頭即俗稱的網(wǎng)絡(luò)水軍。
1.1 國(guó)外研究狀況
2009年10月Twitter推出了用戶舉報(bào)功能。在Twitter上,國(guó)外學(xué)者從Twitter虛假用戶入手對(duì)如何判別水軍用戶有較深入的研究。水軍既屬于不可信用戶也屬于虛假用戶。利用用戶特征通過機(jī)器學(xué)習(xí)算法來識(shí)別Twitter中的虛假用戶,衡量了所使用特征的好壞。學(xué)者們提出了一種在Facebook平臺(tái)上通過分析照片墻帖子中包含的常見URL和相似文本來識(shí)別水軍用戶。McCord等人通過傳統(tǒng)的機(jī)器學(xué)習(xí)分類器檢測(cè)Twitter上的水軍用戶,比較了幾種分類器的檢測(cè)性能[1]。Lee等人利用Twitter中7個(gè)月的數(shù)據(jù),自動(dòng)發(fā)現(xiàn)Twitter中的微博機(jī)器人用戶[1]。
1.2 國(guó)內(nèi)研究狀況
國(guó)內(nèi)的研究大多數(shù)基于內(nèi)容與關(guān)系特征進(jìn)行研究,隨后,統(tǒng)計(jì)學(xué)也相繼應(yīng)用于此。2012年5月國(guó)內(nèi)的新浪微博成立了微博社區(qū)委員會(huì)負(fù)責(zé)審核用戶舉報(bào)信息,微博平臺(tái)提出了一些利用明顯水軍特征進(jìn)行模式匹配的識(shí)別技術(shù)。國(guó)內(nèi)一些學(xué)者針對(duì)微博播環(huán)境中水軍事件進(jìn)行分析。莫倩等人總結(jié)了目前的特征關(guān)系,分析了基于內(nèi)容特征、基于環(huán)境特征、基于用戶特征、基于綜合特征的網(wǎng)絡(luò)水軍識(shí)別研究[2]。程曉濤等人利用用戶關(guān)系圖獲得了聚類系數(shù)、節(jié)點(diǎn)核數(shù)等特征,通過樸素貝葉斯算法來識(shí)別,識(shí)別率達(dá)82.8%[3]。
2.1 水軍定義
網(wǎng)絡(luò)水軍是指那些由商業(yè)利益驅(qū)動(dòng),為達(dá)到影響網(wǎng)絡(luò)民意、擾亂網(wǎng)絡(luò)環(huán)境等不正當(dāng)目的,通過操縱軟件機(jī)器人或水軍賬號(hào),在互聯(lián)網(wǎng)中制造、傳播虛假意見和垃圾信息等網(wǎng)絡(luò)垃圾意見的用戶的總稱。水軍可以使某些話題迅速登上熱門話題,引起廣泛關(guān)注,甚至?xí)绊戄浾搶?dǎo)向。
2.2 水軍用戶關(guān)系圖繪制
NetworkX是一個(gè)用Python語(yǔ)言開發(fā)的圖論與復(fù)雜網(wǎng)絡(luò)建模工具。在采集的用戶集合之中,隨機(jī)抽取了一個(gè)正常用戶“Yvonne_zzyyy”與一個(gè)水軍用戶“Areyding”來繪制用戶關(guān)系圖[4]。首先,分別獲取了正常用戶“Yvonne_zzyyy”和水軍用戶“Areyding”的好友id,從而繪制出了一個(gè)正常用戶好友關(guān)系圖(如圖1所示)和一個(gè)水軍用戶好友關(guān)系圖(如圖2所示)。
圖1 正常用戶和水軍用戶的好友關(guān)系圖
圖2 水軍用戶的完整關(guān)系圖
3.1 微博用戶關(guān)系數(shù)據(jù)獲取
新浪微博是中國(guó)排名第一的運(yùn)營(yíng)商,用戶數(shù)占69.4%,因此本次研究選擇使用新浪微博開放的API來獲取新浪微博數(shù)據(jù)[3]。然而為了限制惡意利用API獲取微博數(shù)據(jù),新浪對(duì)微博平臺(tái)API進(jìn)行了升級(jí),導(dǎo)致獲取大量微博數(shù)據(jù)難度增加。本文通過分析大量微博發(fā)現(xiàn),水軍用戶的存在形式集中于評(píng)論之中,例如產(chǎn)品的推廣等。人工采集微博關(guān)系數(shù)據(jù)的方法是:人工進(jìn)行評(píng)論的獲取,采用測(cè)試賬號(hào)對(duì)其進(jìn)行關(guān)注,然后通過新浪開放平臺(tái)提供的Java SDK獲取測(cè)試賬號(hào)所關(guān)注的用戶信息,獲得水軍用戶的全部基本信息。比較正常用戶與水軍用戶之間差異,刪除對(duì)本次研究沒有幫助的字段后保留了8個(gè)字段如下:用戶UID(Id)、粉絲數(shù)(followers_count)、關(guān)注數(shù)(friends_count)、互粉數(shù)(bi_followers_count)、微博數(shù)(statuses_count)、收藏?cái)?shù)(favourites_count)、用戶創(chuàng)建時(shí)間(created_at)、互粉數(shù)(bi_followers)。
3.2 特征選擇
為了能夠有效識(shí)別出偽裝成正常用戶的水軍,本文除了選擇已有的簡(jiǎn)單特征(粉絲數(shù)、關(guān)注數(shù)、互粉數(shù)、發(fā)博數(shù)、注冊(cè)時(shí)間等)外,還通過計(jì)算得到了一些其他特征,例如:關(guān)注速率、用戶活躍度、雙向關(guān)注比等[5-8]。已用特征的定義如下:
(1)粉絲數(shù)Nfollowers
粉絲數(shù)反映用戶的受歡迎程度,反面說明其他用戶對(duì)該用戶所發(fā)內(nèi)容等的一種喜好程度。正常用戶擁有一定比例的粉絲數(shù),而水軍用戶一般大量關(guān)注大V用戶而得不到對(duì)方的關(guān)注,水軍擁有的粉絲數(shù)很少。
(2)關(guān)注數(shù)Nfriends
關(guān)注數(shù)反映用戶的喜好范圍。正常用戶只會(huì)對(duì)自己認(rèn)識(shí)或者感興趣的博主進(jìn)行關(guān)注,進(jìn)而關(guān)注數(shù)處于一個(gè)合理的范圍,而水軍用戶為了達(dá)到營(yíng)銷等效果,會(huì)大批量關(guān)注各種博主,因此水軍用戶與正常用戶相比,擁有高關(guān)注數(shù)。
(3)互粉數(shù)Nbf
互粉數(shù)反映用戶的社會(huì)交際水平。正常用戶存在朋友圈因此擁有高相互關(guān)注數(shù),而水軍大部分是關(guān)注大V,而沒有真實(shí)的朋友圈形成,因此相互關(guān)注數(shù)處于一個(gè)很低的狀態(tài)。
(4)注冊(cè)時(shí)間Tcreate
注冊(cè)時(shí)間反映用戶的存在周期,對(duì)于水軍用戶該信息尤其重要,一部分水軍產(chǎn)生于某事件發(fā)生的時(shí)間,相對(duì)于正常用戶,存在周期較短,因此這個(gè)特征能夠衡量用戶是否為水軍。
(5)關(guān)注速率Rf
(1)
其中,Nfriends是關(guān)注數(shù),Tcreate是注冊(cè)時(shí)間。關(guān)注速率從側(cè)面反映出注冊(cè)時(shí)間的作用,水軍用戶會(huì)在一個(gè)較短的時(shí)間差內(nèi)關(guān)注大批量的用戶,關(guān)注速率比較高。
(6)用戶活躍度Ralive
(2)
其中,Nblog是發(fā)博數(shù),Tcreate是注冊(cè)時(shí)間。通過在一個(gè)時(shí)間段內(nèi)的發(fā)博數(shù)來反映一個(gè)用戶的活躍程度。水軍用戶一般活躍于評(píng)論之中,自己發(fā)博數(shù)很少,正常用戶的發(fā)博量肯定會(huì)比較多。
(7)雙向關(guān)注比Rbf
(3)
其中,Nbf是相互關(guān)注數(shù),Nfriends是關(guān)注數(shù)。雙向關(guān)注比反映用戶的一個(gè)交際情況,正常用戶存在朋友關(guān)系一般會(huì)相互關(guān)注彼此,而水軍可能的相互關(guān)注數(shù)會(huì)很低,通過觀察,水軍用戶大多關(guān)注的大V較多,而大V用戶一般對(duì)自己認(rèn)識(shí)或者感興趣的人才會(huì)相互關(guān)注。
(8)好友粉絲比Rff
(4)
其中,Nfriends是關(guān)注數(shù),Nfollowers是粉絲數(shù)。出于營(yíng)銷等目的,水軍會(huì)大批量關(guān)注別人,而獲取對(duì)方關(guān)注的機(jī)會(huì)較低,因此呈現(xiàn)出高出度和低入度的狀態(tài)特征。
4.1 邏輯回歸算法
圖3 邏輯回歸流程圖
邏輯回歸算法是一種廣義的線性回歸分析模型,可用于二分類和多分類問題,常用于數(shù)據(jù)挖掘、疾病自動(dòng)診斷、經(jīng)濟(jì)預(yù)測(cè)等領(lǐng)域。具體過程如圖3所示:選取合適的預(yù)測(cè)函數(shù),構(gòu)造并求解Cost函數(shù),基于梯度下降法求Cost函數(shù)的最小值以及遞歸下降過程的向量化。Cost函數(shù)表示預(yù)測(cè)的輸出與訓(xùn)練數(shù)據(jù)類別之間的偏差[8-10]。
利用邏輯函數(shù),即Sigmoid函數(shù)[11],該函數(shù)形式為:
hθ(x)=g(θTx)
(5)
(6)
計(jì)算最佳擬合參數(shù)θ的方法是最優(yōu)化算法——求解的邏輯回歸的代價(jià)函數(shù)是最大化似然函數(shù),似然函數(shù)公式為:
(7)
所謂的梯度就是函數(shù)變化最快的方向。將參數(shù)θ設(shè)為全1,然后在算法迭代的每一步里計(jì)算梯度,沿著梯度的方向移動(dòng),以此來改變參數(shù)θ,直到θ的擬合效果達(dá)到要求值或迭代步數(shù)達(dá)到設(shè)定值。θ的更新公式為:
(8)
4.2 數(shù)據(jù)分析
研究中定義了測(cè)試集P和識(shí)別集R,P和R中均含325個(gè)用戶關(guān)系,其中包含95個(gè)水軍用戶和230個(gè)正常用戶。使用邏輯回歸模型對(duì)R中的水軍進(jìn)行識(shí)別,結(jié)果如表1、表2所示。分析表1和表2可知在步長(zhǎng)和迭代次數(shù)相同時(shí),和普通梯度上升函數(shù)相比,采用隨機(jī)梯度上升函數(shù)作為Cost函數(shù)時(shí)識(shí)別率高出了12.46%,且步長(zhǎng)相同時(shí),迭代次數(shù)越多識(shí)別率越高。
表1 邏輯回歸模型識(shí)別結(jié)果
表2 隨機(jī)梯度上升在不同步長(zhǎng)和迭代次數(shù)下識(shí)別結(jié)果
4.3 基于Scikit-learn機(jī)器學(xué)習(xí)庫(kù)中分類算法的對(duì)比分析
Scikit-Learn是基于Python的機(jī)器學(xué)習(xí)模塊,選擇了Python機(jī)器學(xué)習(xí)庫(kù)中多種不同的分類算法對(duì)提取的特征進(jìn)行驗(yàn)證,對(duì)比提取的特征在不同算法作用下的正確率和特征的有效性[12-15]。
研究中設(shè)計(jì)了2個(gè)集合分別為含305個(gè)用戶的訓(xùn)練集P和含305個(gè)用戶的測(cè)試集T。P和T中均含有75個(gè)水軍用戶,230個(gè)正常用戶?;诒疚某槿〉?個(gè)特征使用KNN最近鄰、樸素貝葉斯、SVC和決策樹4種方法進(jìn)行水軍識(shí)別,準(zhǔn)確率分號(hào)為98.688%,99.016%,100%和100%??梢姳疚倪x取的8個(gè)特征在進(jìn)行網(wǎng)絡(luò)水軍識(shí)別時(shí)是非常有效的,詳細(xì)結(jié)果如表3所示[12-15]。
表3 Scikit-Learn機(jī)器學(xué)習(xí)庫(kù)中各分類算法識(shí)別結(jié)果
本文抽取了粉絲數(shù)、關(guān)注數(shù)、好友粉絲比、注冊(cè)時(shí)間、活躍度、關(guān)注速率、雙向關(guān)注比和互粉數(shù)共8個(gè)有效特征,使用邏輯回歸方法實(shí)現(xiàn)水軍用戶的識(shí)別,識(shí)別率可達(dá)到98.77%,邏輯回歸分類模型在水軍識(shí)別研究中具有高準(zhǔn)確性和可靠性。
[1] 陶永才,王曉慧,石磊,等.基于用戶粉絲聚類現(xiàn)象的微博僵尸用戶檢測(cè)[J].小型微型計(jì)算機(jī)系統(tǒng),2015,36(5):1007-1011.
[2] 莫倩,楊珂.網(wǎng)絡(luò)水軍識(shí)別研究[J].軟件學(xué)報(bào),2014,25(7):1505-1526.
[3] 程曉濤,劉彩霞,劉樹新.基于關(guān)系圖特征的微博水軍發(fā)現(xiàn)方法[J]. 自動(dòng)化學(xué)報(bào),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] 方潔, 龔立新, 魏疆. 基于利益相關(guān)者理論的微博輿情中的用戶分類研究[J]. 情報(bào)科學(xué), 2014,32(1):18-22.
[6] 韓忠明,許峰敏,段大高.面向微博的概率圖水軍識(shí)別模型[J]. 計(jì)算機(jī)研究與發(fā)展,2013,50(S2):180-186.
[7] 陳侃,陳亮,朱培棟,等.基于交互行為的在線社會(huì)網(wǎng)絡(luò)水軍檢測(cè)方法[J].通信學(xué)報(bào),2015,36(7):120-128.
[8] 王越,張劍金. 一種應(yīng)用SAVBP神經(jīng)網(wǎng)絡(luò)的僵尸粉判別方法[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2014,28(4):72-76.
[9] 張良,朱湘,李愛平,等.一種基于邏輯回歸算法的水軍識(shí)別方法[J]. 信息安全與技術(shù),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] 何友奇,蔣新華,聶明星.基于模糊貝葉斯網(wǎng)絡(luò)的叉裝車制動(dòng)系統(tǒng)故障診斷研究[J].微型機(jī)與應(yīng)用,2016,35(11):70-73.
[13] 郭朝偉,張中煒.基于決策樹學(xué)習(xí)的柱狀二級(jí)管表面缺陷檢測(cè)系統(tǒng)設(shè)計(jì)[J]. 微型機(jī)與應(yīng)用,2015,34(6):39-41.
[14] 張線媚.數(shù)據(jù)挖掘在電信行業(yè)客戶流失預(yù)測(cè)中的應(yīng)用[J]. 微型機(jī)與應(yīng)用,2015,34(15): 99-102.
[15] 杜翠紅,李曉峰,簡(jiǎn)沖,等. SVC在無(wú)線信道傳輸中的非均衡差錯(cuò)保護(hù)[J]. 電子技術(shù)應(yīng)用,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
南京農(nóng)業(yè)大學(xué)中央高校基本科研業(yè)務(wù)費(fèi)人文社會(huì)科學(xué)研究基金項(xiàng)目(SK2015023);國(guó)家社會(huì)科學(xué)基金項(xiàng)目(13CTQ031)
TP393
A
10.19358/j.issn.1674- 7720.2017.16.019
謝忠紅,張穎,張琳.基于邏輯回歸算法的微博水軍識(shí)別[J].微型機(jī)與應(yīng)用,2017,36(16):67-69,72.
2017-02-23)
謝忠紅(1977-),女,博士,副教授,主要研究方向:情報(bào)信息處理、圖像處理、機(jī)器視覺技術(shù)。
張琳(1970-),女,學(xué)士,副教授,主要研究方向:情報(bào)信息處理。