楊曉暉 梁笑
(河北大學 網(wǎng)絡(luò)空間安全與計算機學院,河北 保定 071000)
近年來,在線社交網(wǎng)絡(luò)(OSN)如Facebook、Twitter、微博的出現(xiàn)滿足了互聯(lián)網(wǎng)用戶與朋友、家人以及具有相似興趣愛好的人保持聯(lián)系的需求[1]。但微博給人們的生活帶來便利的同時也給垃圾用戶提供了良好的發(fā)展平臺。垃圾用戶利用微博發(fā)布大量垃圾信息或請求,甚至涉及惡意URL鏈接、虛假廣告、網(wǎng)絡(luò)釣魚、欺詐、色情等內(nèi)容,給用戶的財產(chǎn)安全帶來了巨大的隱患;此外,無用信息占據(jù)網(wǎng)絡(luò)資源,消耗了大量的網(wǎng)絡(luò)負載。以上問題的存在吸引了大量研究人員致力于消除微博垃圾用戶所帶來的負面影響,試圖維護社交網(wǎng)絡(luò)的安全和改善用戶的使用體驗。
早期的研究方法大多基于某一方面的信息即單一視圖對用戶進行表征,但由于垃圾用戶使用的策略多種多樣且不斷更新,因此僅依靠單一視圖的信息越來越難以應對,檢測性能十分受限。目前的方法大多基于用戶來自不同方面的信息即多視圖信息,在一定程度上提高了表征用戶的能力。這些方法從不同視圖中提取特征,并將它們集成作為分類器的輸入以區(qū)分垃圾用戶和正常用戶,但仍存在信息考慮不完整和特征挖掘不充分的問題。它們在提取特征時只注重用戶自身而未充分考慮用戶粉絲及用戶在社交網(wǎng)絡(luò)中所處的環(huán)境,垃圾用戶可以通過更新策略避開與其自身活動和屬性相關(guān)的特征進而逃避檢測,但是依賴其粉絲和所處社交環(huán)境的特征卻難以躲避。此外,目前基于多視圖的方法在融合來自不同視圖的特征時未考慮各視圖的特征所具有的不同的數(shù)據(jù)特性,并且使用固定的融合策略,無法及時適應垃圾用戶的變化。
為了解決上述方法中存在的缺點,本文提出了一種新的基于多視圖融合的方法。該方法首先從3個不同視圖中提取特征,設(shè)計出一套新穎的用戶表征策略;接著構(gòu)建基于線性加權(quán)函數(shù)的多視圖融合決策模型,為每個視圖分別學習一個基分類器,將來自各視圖的分類結(jié)果進行線性加權(quán)融合,通過最小化近似誤差求得最優(yōu)融合系數(shù),進而得到最終的分類結(jié)果。
為解決社交網(wǎng)絡(luò)中垃圾用戶這一復雜并且不斷演化的問題,研究者們提出了很多方法。張宇翔等[2]對微博中垃圾用戶的檢測方法進行了深入的研究,通過將不同的特征選擇方法與不同的分類器組合得出,特征組的選擇較分類器的改進更為重要;LEE等[3]和Stringhini等[4]在社交網(wǎng)絡(luò)上創(chuàng)建并部署蜜罐賬戶來觀察垃圾用戶的行為,并提取特征集用以區(qū)分正常用戶和垃圾用戶;Cresci等[5]受到生物學對應物的啟發(fā),將社交網(wǎng)絡(luò)中的用戶行為以字符序列編碼的形式呈現(xiàn)出來,然后定義這種數(shù)字DNA序列的相似性度量,以對一組正常用戶和垃圾用戶進行區(qū)分;Amleshwaram等[6]新提出了15項基于消息內(nèi)容的特征來檢測Twitter中的垃圾用戶,并對這些垃圾用戶進行聚類來檢測垃圾用戶的活動;Tan等[7]提出了一種方法,該方法更加重視被攻擊者入侵并在其發(fā)布的內(nèi)容中注入惡意鏈接的被攻擊用戶的原始內(nèi)容。另外,一些研究者使用基于交互或社交網(wǎng)絡(luò)圖的方法檢測社交網(wǎng)絡(luò)中的垃圾用戶。Hu等[8]利用用戶的網(wǎng)絡(luò)結(jié)構(gòu)來訓練優(yōu)化模型,比傳統(tǒng)方法能更準確地識別垃圾用戶;Thomas等[9]指出,現(xiàn)在的垃圾用戶大多不參與或很少參與正常的社交活動,但會通過主動關(guān)注別人和在熱門話題下發(fā)表垃圾評論來吸引普通用戶點擊;Bindu等[10]針對垃圾用戶利用社區(qū)結(jié)構(gòu)向正常用戶傳播垃圾信息的問題,提出一種名為SpamCom的無監(jiān)督方法來檢測Twitter中由垃圾用戶所組成的社區(qū)。以上方法多基于單一視圖的信息對用戶進行表征,在逐漸復雜化的垃圾用戶活動中,方法所覆蓋的信息不夠全面,容易形成識別漏洞。
目前,基于多視圖的方法結(jié)合了用戶來自不同方面的信息,且取得了一定程度上的成功。Zheng等[11]從爬取到的微博數(shù)據(jù)集中研究與消息內(nèi)容和用戶行為相關(guān)的主要特征,并將其應用于基于SVM分類器的方法中;Yu等[12]引入半監(jiān)督矩陣分解模型,利用微博內(nèi)容矩陣、社交關(guān)系矩陣對垃圾用戶進行過濾;Shen等[13]將來自微博內(nèi)容的信息和社交網(wǎng)絡(luò)信息結(jié)合,集成到分類模型中,設(shè)計出一種廣義的社交網(wǎng)絡(luò)垃圾用戶檢測模型;Liu等[14]通過對用戶行為、微博內(nèi)容、關(guān)注網(wǎng)絡(luò)和轉(zhuǎn)發(fā)網(wǎng)絡(luò)的綜合建模,提出了一種新的學習框架,用于協(xié)同檢測垃圾微博和垃圾用戶;Li等[15]提出了一種基于半監(jiān)督的深度學習方法,將用戶個人信息和微博內(nèi)容信息一起嵌入到神經(jīng)網(wǎng)絡(luò)的輸入層,采用半監(jiān)督的方法對網(wǎng)絡(luò)進行訓練,降低了標注數(shù)據(jù)的成本。上述多視圖方法在表征用戶時,雖考慮了來自不同視圖的信息,但其關(guān)注的焦點仍多集中于用戶自身。 Fazil等[16]發(fā)現(xiàn)垃圾用戶可以通過調(diào)整自身的行為以模仿正常用戶,進而逃避檢測,但與其粉絲行為和其在社交網(wǎng)絡(luò)圖中的鄰域(社區(qū))相關(guān)聯(lián)的特征卻難以逃避。文本在提取特征時著重分析了用戶粉絲和其所在的社區(qū)的特點,引入了粉絲比率、粉絲平均雙向連接率、基于社區(qū)的雙向連接率、基于社區(qū)的集群系數(shù)等新特征。此外,為更有效地融合來自各視圖的信息,文中構(gòu)建了基于線性加權(quán)函數(shù)的融合決策模型,其中用于融合各視圖分類結(jié)果的權(quán)重不是固定的,能夠隨著垃圾用戶所用的策略變化而及時調(diào)整。
通過研究現(xiàn)有文獻的觀點,結(jié)合近幾年垃圾用戶特征的變化,本文選取了13個特征,其中包括6個新定義的特征和7個在現(xiàn)有方法中廣泛使用并證明有效的特征。特征集由來自3個視圖的4類特征構(gòu)成:即基于用戶行為的特征、基于微博內(nèi)容的特征、基于社交關(guān)系的交互特征和社區(qū)特征。表1中簡要介紹了這些特征的來源及其類別,其中來源列的“新”指本文新引入的特征,這些特征在現(xiàn)有微博垃圾用戶檢測的文獻中未見應用。
基于用戶行為的特征有3個,首先是發(fā)博間隔標準差Psd。微博中的普通用戶發(fā)布微博的時間是隨機的,而由程序控制的垃圾用戶發(fā)布微博的時間具有高度的規(guī)律性[4],故Psd值也應明顯低于正常用戶。Psd由式(2)表示,其中N(u)表示觀測時間內(nèi)用戶發(fā)布的微博數(shù)量,Bi表示第i條微博發(fā)布的時刻,I(u)表示用戶在觀測時間內(nèi)發(fā)布微博的平均間隔。
表1 所用特征及其類別和來源Table 1 Features used and their categories and sources
(1)
(2)
其次是轉(zhuǎn)發(fā)比率rR。為了以較低的成本維持賬號的活躍,垃圾用戶的微博通常傾向于轉(zhuǎn)發(fā)別人的內(nèi)容而非原創(chuàng)[19]。衡量用戶已發(fā)布的微博中轉(zhuǎn)發(fā)微博所占比例的特征rR可由式(3)表示,其中R(u)表示觀測時間內(nèi)用戶轉(zhuǎn)發(fā)微博的數(shù)量。通常情況下,垃圾用戶的轉(zhuǎn)發(fā)比率很高,而正常用戶的轉(zhuǎn)發(fā)比率較低。
(3)
第3個特征是陽光信用Yc。陽光信用等級是為了評價用戶的信用度而新增的一個用戶屬性。根據(jù)官方的定義,這一屬性能夠全面評價用戶的發(fā)言歷史、活躍度、違規(guī)記錄等用戶使用微博的行為,因此將其作為區(qū)分垃圾用戶和正常用戶的重要依據(jù)是十分合理的。微博將用戶“陽光信用”等級由低到高分為5個級別,在本文中將其映射為1-5的整數(shù)值。
將社交網(wǎng)絡(luò)中用戶之間的關(guān)注和被關(guān)注關(guān)系構(gòu)造成有向圖G={V,E},頂點集V對應用戶集U,vi∈V對應社交用戶ui∈U,邊集E對應用戶間的關(guān)系,eij∈E表示ui是uj的粉絲。
2.2.1 交互特征
第1個交互特征是粉絲比率rF。不同于正常用戶,垃圾用戶很難吸引他人的關(guān)注,為了快速建立起社交影響力,其不得不大量關(guān)注其他用戶。定義rF用于衡量用戶在信任網(wǎng)絡(luò)中的粉絲比率,rF可由式(4)表示,其中UF代表用戶u的粉絲集合,UL代表u關(guān)注的人的集合。
(4)
第2個交互特征是雙向連接率rB。如果兩個用戶相互關(guān)注,從社交網(wǎng)絡(luò)圖的角度看,即二者之間存在雙向連接。用戶的雙向連接率反映了用戶在社交網(wǎng)絡(luò)中的受信任程度,通常情況下垃圾用戶的雙向連接率很低而正常用戶的雙向連接率較高[14]。rB可由式(5)表示:
(5)
(6)
第4個交互特征是集群系數(shù)C。與垃圾用戶相關(guān)聯(lián)的用戶之間大多互不相識,反映在社交網(wǎng)絡(luò)圖里即垃圾用戶所對應的節(jié)點的局部聚類系數(shù)通常較低[17]。在社交網(wǎng)絡(luò)圖中一個頂點vi的鄰域Ni被定義為Ni={vj:eij∈E∨eji∈E}。假定Ki是用戶在社交網(wǎng)絡(luò)圖中所對應的節(jié)點vi的出入度之和,則用戶的集群系數(shù)C可由式(7)表示:
(7)
2.2.2 社區(qū)特征
在社交網(wǎng)絡(luò)中具有相似品味、喜好、地理位置等共同點的人之間具有更加緊密的交互關(guān)系,進而自動形成社交網(wǎng)絡(luò)中的虛擬集群或社區(qū)[10]。從形式上講,社區(qū)結(jié)構(gòu)可以定義為一組緊密的頂點,它們具有較高的組內(nèi)邊緣密度和較低的組間邊緣密度。圖1展示了一個示例性的用戶社交網(wǎng)絡(luò),其中Community1和Community2分別表示兩個可能的社區(qū)結(jié)構(gòu)。本文使用Python語言用于社區(qū)發(fā)現(xiàn)的函數(shù)包Networkx構(gòu)建用戶社交網(wǎng)絡(luò)并檢測社區(qū),并提取了兩個基于社區(qū)的特征。
圖1 社交網(wǎng)絡(luò)示例圖Fig.1 Sample graph of social network
第1個社區(qū)特征是基于社區(qū)的雙向連接率rCB。同一社區(qū)內(nèi)的成員通常具有相似的特性,用戶的信任等級與其在社區(qū)中其他用戶的信任等級相關(guān)聯(lián)。用戶所處社區(qū)中的其他成員的信任等級較高,最終也提高了該用戶的受信任程度,反之亦然。基于以上事實,定義用戶的基于社區(qū)的雙向連接率rCB用于衡量用戶在社區(qū)層面的受信任程度。rCB可由式(8)表示,其中M表示用戶所在社區(qū)的個數(shù),|gm|表示第m個社區(qū)中的成員總數(shù),rB(gm(q))表示用戶所在的第m個社區(qū)的第q個成員的rB值。
(8)
第2個社區(qū)特征是基于社區(qū)的集群系數(shù)CC。垃圾用戶和正常用戶所在的社區(qū)通常是不同的,垃圾用戶所在社區(qū)的成員往往也為垃圾用戶,他們彼此之間的聯(lián)系很稀疏。定義用戶基于社區(qū)的集群系數(shù)CC用于衡量用戶所處社區(qū)內(nèi)成員之間聯(lián)系的緊密程度的平均值。CC可由式(9)表示,Cm為第m個社區(qū)的集群系數(shù)。
(9)
第1個基于微博內(nèi)容的特征是平均標簽數(shù)Ta。在微博中標簽代表主題,其形式為#Topic#。垃圾用戶頻繁地在其微博中添加當下最熱門的標簽,使自己發(fā)布的內(nèi)容被更多用戶瀏覽,增加了欺騙的可能性[6]。Ta可由式(10)表示,其中T(u)表示所發(fā)微博中使用標簽的總數(shù)。
(10)
第2個基于微博內(nèi)容的特征是內(nèi)容標簽相似度SCT?!拔⒉崴选卑礋岫葘崟r更新當前微博標簽的排名,進入熱搜榜的主題在當下具有最高的關(guān)注度和瀏覽量。在分析數(shù)據(jù)時發(fā)現(xiàn)垃圾用戶發(fā)布的微博中通常帶有與內(nèi)容完全不相關(guān)的標簽。垃圾用戶為增加內(nèi)容的受眾,在內(nèi)容中添加受關(guān)注度高的標簽是最簡單、成本最低的方式?;谝陨鲜聦?,定義內(nèi)容標簽相似度函數(shù)SCT,SCT可由式(12)表示,其中Si(由式(11)表示)用于衡量用戶發(fā)布的第i條微博的內(nèi)容與這條微博中所添加標簽的相似程度。SCT的具體計算方法如下:
步驟1 提取每條微博正文中的主題標簽t1,t2,…,tW;
步驟2 利用典型的概率主題模型LDA[21]計算每條微博文本中Top3的3個主題詞w1、w2、w3及其對應的概率值p1、p2、p3;
步驟3 計算每條微博的內(nèi)容標簽相似程度:
(11)
其中Sjk表示第j個主題詞與第k個標簽在內(nèi)容上的相似度;
步驟4 計算用戶的內(nèi)容標簽相似度:
(12)
第3個基于微博內(nèi)容的特征是平均URL數(shù)A。垃圾用戶在發(fā)布的微博中頻繁添加URL鏈接,以實現(xiàn)欺騙用戶的目的[7]。這些鏈接通常會重定向到一些特定的第三方軟件,以“淘寶”、“京東”等購物平臺居多。衡量用戶微博中使用URL鏈接頻繁程度的特征A由式(13)表示,其中A′(u)表示用戶觀測時間內(nèi)發(fā)布的微博中使用URL鏈接的總數(shù)。
(13)
第4個基于微博內(nèi)容的特征是單一提及率rM。在微博中提及符“@”可用來提及用戶,但該功能卻被垃圾用戶濫用。垃圾用戶在其微博中使用“@”提及無辜用戶使其成為潛在的受害者。正常用戶的互動絕大多數(shù)限定在熟人之間,而垃圾用戶則隨機提及用戶[6]。rM可由如式(14)表示,其中M(u)表示在觀測時間內(nèi)所發(fā)微博中使用提及符的總數(shù),O(u)表示只被提及過一次的用戶的數(shù)量。rM值越接近1證明該用戶為垃圾用戶的嫌疑越大。
(14)
基于多視圖融合的垃圾用戶檢測方法(MVFM)的整體框架如圖2所示。首先,按照第2部分中介紹的方法從用戶行為、社交關(guān)系、微博內(nèi)容3個視圖中提取特征,并分別構(gòu)造特征集。然后,應用多視圖融合決策模型,將提取到的來自3個視圖的特征分別用于訓練相應的基分類器Classifier1、Classifier2、Classifier3,將輸出轉(zhuǎn)化為概率型,并對各基分類器的輸出進行融合得到最終的分類結(jié)果。
圖2 基于多視圖融合的垃圾用戶檢測方法整體框架圖Fig.2 Overall framework of spammer detection method based on multi-view fusion
定義基于融合的函數(shù),以獲取最終的分類結(jié)果:
(15)
(16)
則θ的求解問題轉(zhuǎn)化為
argθminL(θ)
(17)
令
P=[p1p2…pn]∈Rn×3,
則上述優(yōu)化問題可表示為
于是式(17)可轉(zhuǎn)化為
(18)
在上述分析的基礎(chǔ)上將融合系數(shù)向量θ學習過程總結(jié)到算法1中。
算法1
輸入:經(jīng)過預處理的數(shù)據(jù)集X;X的真實標簽Y0;3個不同視圖對應的基分類器Classifier1、Classifier2、Classifier3。
輸出:融合系數(shù)向量θ。
1)將X分割為X1和X2
2)for ?Classifier do
6)End for
7)Initialization:
10)Updateθ
11)Returnθ
為了更加準確地驗證本文所提方法的有效性,準備了2套數(shù)據(jù)集,具體情況如下。
(1)爬蟲數(shù)據(jù)集
新浪微博官方API僅允許下載授權(quán)賬戶的近期信息,為收集足夠的研究所需數(shù)據(jù),本文設(shè)計了爬蟲程序,主要步驟如下:
步驟1 構(gòu)建一個包含200個賬號的種子用戶集。其中,100個正常用戶來自生活中的同學、親人和朋友;另購買100個垃圾用戶,并且統(tǒng)一關(guān)注了指定的賬號。
步驟2 依次爬取種子用戶的粉絲列表和關(guān)注列表,將獲取到的23 269個用戶ID連同種子用戶一同存入用戶ID列表。
步驟3 對用戶ID列表中的每個賬號爬取其粉絲列表、關(guān)注列表、用戶基本信息;此外,抓取其在2019年5月1日至5月31日所發(fā)布的全部微博。
步驟4 邀請10名計算機領(lǐng)域的研究生對爬取到的數(shù)據(jù)進行人工標注,標注過程中綜合考慮每個賬號來自各方面的信息,且僅保留來自10名標注者標注結(jié)果一致的賬號數(shù)據(jù)。結(jié)果得到14 620個正常用戶和4 105個垃圾用戶,為了實驗數(shù)據(jù)的平衡,從標注結(jié)果中隨機選取4 100條正常用戶數(shù)據(jù),稱采用此方法得到的數(shù)據(jù)集為數(shù)據(jù)集1。
(2)公共數(shù)據(jù)集
社交網(wǎng)絡(luò)研究領(lǐng)域的公共數(shù)據(jù)集[22]包含了170萬個賬號的用戶信息、微博信息以及社交關(guān)系信息,但該數(shù)據(jù)集不包含用戶的“陽光信用”這一信息。該數(shù)據(jù)集在原文獻中被用來進行轉(zhuǎn)發(fā)行為預測,故并未對用戶的屬性進行標注。從原數(shù)據(jù)集中隨機選擇1萬條用戶數(shù)據(jù)按照數(shù)據(jù)集1構(gòu)造過程中步驟4的方法進行人工標注,結(jié)果得到5 543個正常用戶和1 817個垃圾用戶,為了保持數(shù)據(jù)的平衡,從標注結(jié)果中隨機選取1 800條正常用戶數(shù)據(jù),稱采用此方法得到的數(shù)據(jù)集為數(shù)據(jù)集2。
為分析新定義特征對正常用戶和垃圾用戶的區(qū)分能力,設(shè)計了如下兩個實驗,以從定性和定量兩個角度證明引入6個新定義特征的合理性??紤]到數(shù)據(jù)的完整性,選擇4.1節(jié)中的數(shù)據(jù)集1(正常用戶4 100個、垃圾用戶4 105個)作為特征分析實驗的數(shù)據(jù)來源。
對本文新增的特征進行顯著性檢驗:分別對新定義的特征進行雙尾t檢驗(平均值差異性檢驗的方法)[23],在t檢驗的零假設(shè)中,假設(shè)正常用戶和垃圾用戶在新定義的特征上的總體均值沒有明顯差異;而在備選假設(shè)中,假設(shè)兩者在新定義的特征上的總體均值差異明顯。計算本文新定義的6個特征的t檢驗值,并與5%的顯著性水平的t檢驗的臨界值進行比較(查表知該值為1.96),結(jié)果如表2所示。
表2 顯著性檢驗Table 2 Significance test
分析表2可知,本文提出的6個新特征的零假設(shè)均為被拒絕,因此可以得出結(jié)論:正常用戶與垃圾用戶在新提出的6個特征上的平均值的差別顯著。
累積分布函數(shù)(CDF)能夠完整描述一個隨機變量X的概率分布,定義為:FX(x)=P(X 各評估實驗均在Pycharm上利用Python語言實現(xiàn),實驗運行環(huán)境為Windows 10操作系統(tǒng),英特爾酷睿i5-10210U@4.2 GHz處理器,12 GB內(nèi)存。 4.3.1 評價指標選取 借鑒相關(guān)研究,選取精確率(P)、 召回率(R)和F1值對方法的性能進行評估,并著重分析垃圾用戶的識別情況。其中精確率和召回率是機器學習領(lǐng)域中用來評價準確性的指標,F(xiàn)1值是精確率和召回率綜合表現(xiàn)的評價指標,各指標定義如下。 精確率表示垃圾用戶被正確分類的比例,由式(19)定義,其中TP為垃圾用戶被正確分類的個數(shù),F(xiàn)P為被錯誤分類為垃圾用戶的正常用戶個數(shù)。 (19) 召回率表示全部垃圾用戶中被檢測到的比例,由式(20)定義,其中FN為被錯誤分類為正常用戶的垃圾用戶個數(shù)。 (20) F1值表示精確率和召回率的調(diào)和平均值,由式(21)定義: (21) 4.3.2 有效性及對比 為了驗證文中所提方法的效果設(shè)置了如下實驗:分別選擇Logistic Regression、SVM、Random Forest作為本文所提方法(MVFM)中的基分類器。此外設(shè)置了4組對比實驗:兩個傳統(tǒng)的基于單視圖的方法[4,6]、一個基于多視圖的有監(jiān)督檢測方法[13]和一個基于多視圖的半監(jiān)督檢測方法[15]。使用4.1節(jié)中的兩個數(shù)據(jù)集作為上述實驗組和對比組的數(shù)據(jù)來源,采用10折交叉驗證的方法對數(shù)據(jù)集進行劃分,以保證每個實例在訓練和測試過程中都能參與。每組實驗獨立重復進行10次,取數(shù)據(jù)的平均值,實驗結(jié)果列于表3和表4中,其中MVFM-SVM、MVFM-LR和MVFM-RF分別為選擇SVM、Logistic Regression、Random Forest為文中所提方法基分類器的方法。 表3 來自數(shù)據(jù)集1的實驗結(jié)果Table 3 Experimental results from dataset 1 如表3所示,使用SVM作為基分類器的實驗組在精確率、召回率和綜合評價指標F1值上均在3個實驗組中位列第一,且較對比組有較大的優(yōu)勢;使用Random Forest作為基分類器的實驗組在各評價指標上略低于MVFM-SVM,但明顯優(yōu)于其他組,其F1值排在第2位;使用Logistic Regression作為基分類器的實驗組在召回率上低于文獻[13]的方法,但在精確率上仍高于全部對比組,其F1值排在第3位。對比組方面,基于單視圖方法的整體性能明顯低于其他方法,說明當前隨著微博上垃圾用戶所用技術(shù)的提高,其逃避檢測的能力越來越強,傳統(tǒng)方法中僅依靠一個視圖的信息對用戶進行表征的方法已經(jīng)很難適應?;诙嘁晥D方法的對比組的檢測性能較傳統(tǒng)單視圖方法有了很大的提升,但與本文方法仍有差距。文獻[13]方法僅將基于微博文本和社交關(guān)系的信息單獨處理再進行串聯(lián)拼接,沒有考慮用戶行為的信息;文獻[15]中方法雖然僅需要極少量的標注數(shù)據(jù)就能夠完成檢測,但半監(jiān)督的方法難免會引入標記錯誤的數(shù)據(jù),影響算法的精度。 表4 來自數(shù)據(jù)集2的實驗結(jié)果Table 4 Experimental results from dataset 2 如表4所示,除3個實驗組外其余各對比組的結(jié)果較表3中的結(jié)果均有一定提升,其原因為數(shù)據(jù)集1中的數(shù)據(jù)為最新的數(shù)據(jù),新型的垃圾用戶所用的技術(shù)更為先進,逃避檢測的能力更強。此外,由于數(shù)據(jù)集2中缺少微博官方提供的“陽光信用”這一重要的特征,實驗組的性能受到了一定程度的影響,但MVFM-SVM、MVFM-RF、MVFM-LR的綜合評價指標F1值仍然排在前3位?;诙嘁晥D的文獻[13]和[15]中方法的F1值分別達到了0.923和0.909,略低于本文方法,而基于單視圖的方法的表現(xiàn)仍然最差。 綜上所述,實驗證明本文提出的基于多視圖融合的微博垃圾用戶檢測方法能夠?qū)脩暨M行有效檢測,且與之前的方法相比擁有更高的精確率和F1值。此外,對比3個選用不同基分類器的實驗組的結(jié)果,可知基于SVM算法的性能最優(yōu),故在后述實驗中均使用SVM作為所提方法的基分類器。 4.3.3 穩(wěn)定性測試 為驗證所提方法的穩(wěn)定性,設(shè)置了如下實驗:在最新的爬蟲數(shù)據(jù)集上隨機選擇垃圾用戶和正常用戶,按照1∶1、1∶2、1∶5、1∶10的比例構(gòu)造實驗數(shù)據(jù)。選擇SVM算法作為本文方法中的基分類器,對比組的設(shè)置和4.3.2節(jié)相同。此外,為了更直觀地進行對比,使用F1值作為實驗的評價指標,結(jié)果見表5。 表5 不平衡數(shù)據(jù)集上的實驗結(jié)果Table 5 Experimental results on unbalanced data 分析表5可知,當降低實驗數(shù)據(jù)中垃圾用戶的比例時F1值也會隨之降低,這種現(xiàn)象在基于單視圖的方法中表現(xiàn)得最為明顯。本文方法在各組數(shù)據(jù)上的表現(xiàn)均為最優(yōu);另外還對比了不同方法在各組數(shù)據(jù)上F1值的變化情況,通過計算標準差可知本文方法在處理不平衡數(shù)據(jù)集時的性能表現(xiàn)更加穩(wěn)定。 4.3.4 消除測試 為評估不同視圖特征對所提方法性能的影響,文中進行了消除測試[24]。分別在多視圖融合決策模塊中移除一個視圖,觀察結(jié)果的變化情況。實驗在最新的爬蟲數(shù)據(jù)集上進行,選取SVM算法作為本文方法中的基分類器。運行程序3次,結(jié)果如圖4所示。其中,Ⅰ表示從完整模型中去掉來自行為視圖的信息,Ⅱ表示從完整模型中去掉來自社交關(guān)系視圖的信息,Ⅲ表示從完整模型中去掉來自微博內(nèi)容視圖的信息。 分析圖4可知,基于用戶行為視圖的特征對檢測性能的影響最小,說明機器控制的垃圾用戶使用各種算法模仿正常用戶的日常使用行為,并取得了相當不錯的效果,但由于“陽光信用”這一特征的缺失,F(xiàn)1值也下降了7.6%;基于微博內(nèi)容視圖的特征對整體性能的影響大于用戶行為視圖,因為部分垃圾用戶為了實現(xiàn)推廣內(nèi)容或捕獲用戶的目的,不可避免地在其所發(fā)微博中添加垃圾內(nèi)容;基于社交關(guān)系視圖的特征對檢測性能的影響最顯著,該視圖包含2個新定義的交互特征和2個新定義的社區(qū)特征,反映了用戶的粉絲以及用戶所處社交環(huán)境對于檢測垃圾用戶的重要性。 圖4 消除對應視圖后的檢測結(jié)果Fig.4 Detection result after eliminating the corresponding view 本文提出了一種新的基于多視圖融合的微博垃圾用戶檢測方法。該方法在提取特征時更加注重用戶的粉絲及其在社交網(wǎng)絡(luò)中所處的環(huán)境。此外,不同于傳統(tǒng)基于多視圖的方法,本文從3個視圖中提取特征,并將提取到的特征分別用于學習一個基分類器,然后將來自不同視圖的分類結(jié)果通過線性加權(quán)進行融合以檢測垃圾用戶,保證了融合策略能夠隨著垃圾用戶所用策略的變化而及時更新。實驗表明,與當前的方法相比本文方法具有明顯的優(yōu)勢。為對比不同視圖特征對分類結(jié)果的影響,文中還設(shè)計了消除測試,結(jié)果顯示基于用戶社交關(guān)系視圖的特征對檢測性能的影響最顯著。然而,垃圾用戶會不斷改變其行為模式或更新技術(shù)以逃脫檢測機制,基于批處理的方法存在滯后性,因此,接下來的工作中我們擬將文中的方法擴展到在線模式,以提高該方法的實時性和有效性。4.3 性能評估
5 結(jié)語