徐開元 周安民 陳艾琳 代金鞘 賈鵬
摘要:?社交機器人一直在應(yīng)用中不斷發(fā)展,并且為了逃避現(xiàn)有的檢測方法,變得更加先進(jìn)和復(fù)雜,較大地影響了原有部分社交機器人檢測方法的效果.檢測社交機器人成為了一項漫長而又艱巨的工作.在社交機器人檢測領(lǐng)域中,目前存在著已公開相關(guān)數(shù)據(jù)集較少的情況,需要人工標(biāo)注大量的數(shù)據(jù).本文提出了一種結(jié)合主動學(xué)習(xí)與關(guān)系圖卷積神經(jīng)網(wǎng)絡(luò)(RGCN)的檢測方法——ALRGCN,用以解決人工標(biāo)注大量數(shù)據(jù)成本較高的問題.其主要思路是利用主動學(xué)習(xí)方法來擴充標(biāo)記數(shù)據(jù)集,以最大化人工標(biāo)注的價值.主動學(xué)習(xí)利用種子選擇算法構(gòu)建初始訓(xùn)練集以及不確定性采樣方法篩選出較高信息熵的樣本,交由分類模型進(jìn)行訓(xùn)練,旨在通過專業(yè)人員的經(jīng)驗來人工標(biāo)注一些分類器難以分類的數(shù)據(jù).鑒于社交機器人通常以集群的形式出現(xiàn),本文引入了RGCN來捕捉其網(wǎng)絡(luò)結(jié)構(gòu)特征.RGCN可以有效地分析節(jié)點及其相鄰節(jié)點的屬性,進(jìn)而幫助該節(jié)點進(jìn)行分類.實驗在TwiBot-20數(shù)據(jù)集上進(jìn)行,通過對比進(jìn)行使用的基線實驗,ALRGCN在 F 1上取得了2.83%的提升.實驗結(jié)果證明,ALRGCN在標(biāo)注樣本更小的情況下可以更有效地檢測出社交機器人.
關(guān)鍵詞:社交機器人檢測; 主動學(xué)習(xí); RGCN; 社交網(wǎng)絡(luò)
中圖分類號:??TP391? 文獻(xiàn)標(biāo)識碼:A? DOI:10.19907/j.0490-6756.2023.053001
收稿日期: ?2022-07-01
基金項目: ?四川省科技廳重點研發(fā)項目(2021YFG0156)
作者簡介: ??徐開元(1998-), 男, 碩士研究生, 研究方向為社交機器人檢測. E-mail: xuky11@163.com
通訊作者: ?周安民.E-mail: zhouanmin@scu.edu.cn
Social bot detection based on active learning ?and relational graph convolutional neural networks
XU Kai-Yuan, ZHOU An-Min, CHEN Ai-Lin, DAI Jin-Qiao, JIA Peng
(School of Cyber Science and Engineering, Sichuan University, Chengdu 610065, China)
Social bots have been evolving over time, and they have become more advanced and sophisticated while avoiding existing detection methods. This has made some of the original social bot detection methods no longer superior and detecting social bots has become a long and arduous task. The field of social bot detection currently suffers from a small number of publicly available relevant datasets and requires manual annotation of a large amount of data. This paper propose ALRGCN, a detection framework that combines active learning with Relational Graph Convolutional Neural networks (RGCN), to address the problem of high cost of manually labeling large amounts of data. The main idea is to use active learning methods to expand the labeled dataset and maximize the value of manual labeling. Active learning uses a seed selection algorithm to construct an initial training set and an uncertainty sampling method to filter out samples with high information entropy for training by a classification model, aiming at classifying data that are prone to misclassification by a professional's experience. Given that social bots usually appear as clusters, this paper introduces RGCN to capture its network structure features. RGCN can effectively analyze the attributes of a node and its neighboring nodes, which in turn helps that node to perform classification. The experiments are conducted on the TwiBot-20 dataset, and ALRGCN achieves a 2.83% improvement on ?F 1 compared to the baseline experiments conducted for use. The experimental results demonstrate that ALRGCN can be more effective in detecting social bots with smaller labeled samples.
Social bot detection; Active Learning; RGCN; Social networks
1 引 言
社交機器人是一種人為控制的自動化軟件,用于在社交網(wǎng)絡(luò)中傳播各種信息.但是隨著應(yīng)用的發(fā)展,這項技術(shù)遭到了濫用.社交機器人更多地被用來竊取個人信息,傳播錯誤信息,進(jìn)而欺騙和操控社交網(wǎng)絡(luò)上的用戶.以往的檢測方法從檢測賬戶信息開始,通過賬戶上所填寫的個人信息作為特征,對正常用戶賬戶和社交機器人賬戶進(jìn)行分類.而后演變至對賬戶發(fā)布的推文內(nèi)容及其時間序列進(jìn)行分析 ?[1] .但是,社交機器人檢測是一個對抗性的過程,社交機器人為了避免現(xiàn)有的檢測方法,變得更加先進(jìn)和復(fù)雜.為了增加自己的可信度,社交機器人會對正常的用戶進(jìn)行身份盜竊,抓取正常的個人信息對自己的賬戶信息進(jìn)行完善.社交機器人也會學(xué)習(xí)其他正常用戶的動作序列特征,在行為模式上表現(xiàn)也更像正常的用戶,而不是像在早期呈現(xiàn)出簡單的單一活動規(guī)律.現(xiàn)如今社交機器人已經(jīng)能夠發(fā)布和正常用戶具有類似時間模式的內(nèi)容,并與正常用戶在網(wǎng)絡(luò)上進(jìn)行互動 ?[2] .這些都使得社交機器人檢測變得極為復(fù)雜,也使得已有的部分檢測方法變得不再有效.面對如此迫切的情況,急需要提出新的社交機器人檢測方法.
越來越多的研究人員使用大量的已經(jīng)標(biāo)記過的數(shù)據(jù),利用復(fù)雜的神經(jīng)網(wǎng)絡(luò)進(jìn)行分類訓(xùn)練.這種方法存在的問題是,需要使用大量經(jīng)過專家人員人工標(biāo)記的樣本進(jìn)行模型訓(xùn)練.一方面,像推特這類在線網(wǎng)絡(luò)社交平臺上存在著難以計數(shù)的未標(biāo)記用戶,手工標(biāo)注大量的樣本數(shù)據(jù)是一項成本高且容易出錯的任務(wù).另一方面,如果使用無監(jiān)督學(xué)習(xí),得到的準(zhǔn)確率往往很低,并且魯棒性很差 ?[3] .
為解決上述存在的問題,本文提出了ALRGCN,這是一種結(jié)合主動學(xué)習(xí)和關(guān)系圖卷積神經(jīng)網(wǎng)絡(luò)(Relational Graph Convolutional Neural networks,RGCN)的檢測方法.主動學(xué)習(xí)通過選擇性的標(biāo)記較少數(shù)據(jù),能夠以較快速度提升模型的檢測效果,一定程度上解決標(biāo)注成本較大的問題.另一方面,由于社交網(wǎng)絡(luò)的特殊結(jié)構(gòu),社交機器人需要關(guān)注數(shù)以增強自身的影響力進(jìn)而引導(dǎo)輿情.本文通過使用節(jié)點的賬戶特征和發(fā)送的推文作為關(guān)系圖的節(jié)點特征,不同樣本實例之間的關(guān)注與被關(guān)注關(guān)系構(gòu)建圖的邊,整體構(gòu)建了RGCN的模型,來同時捕獲節(jié)點特征和圖形結(jié)構(gòu)特征,進(jìn)而對社交機器人賬戶和正常用戶進(jìn)行分類.本文的貢獻(xiàn)如下.
(1) 提出了一種結(jié)合主動學(xué)習(xí)和RGCN的社交機器人檢測方法.ALRGCN通過采樣策略篩選出含有較高信息熵的未標(biāo)記實例,進(jìn)而由人工進(jìn)行標(biāo)注,再加入至RGCN網(wǎng)絡(luò)的訓(xùn)練集中進(jìn)行再訓(xùn)練,提高分類的效果.這是目前為止,首次提出在社交機器人檢測領(lǐng)域?qū)⒅鲃訉W(xué)習(xí)和RGCN相結(jié)合的方法.
(2) 本文在公開數(shù)據(jù)集上測試結(jié)果,實驗表明本文的方法能夠在較少標(biāo)記樣本的情況下更有效地出檢測社交機器人.
2 相關(guān)工作
近年來,社交機器人檢測研究方法的主要思路可以分為兩種:基于特征提取的社交機器人檢測和基于圖結(jié)構(gòu)的社交機器人檢測.此外,為了解決研究過程中存在的需求樣本量大、標(biāo)記難的問題,本文還引入了主動學(xué)習(xí)方法.
2.1 基于特征提取的社交機器人檢測
早期社交機器人檢測中的大部分方法都是在賬戶級別檢測機器人.這類方法為了保證訓(xùn)練得到的精確度較高,需要收集大量的數(shù)據(jù)進(jìn)行訓(xùn)練,包括賬號信息、活動記錄、帖子的內(nèi)容和情感、網(wǎng)絡(luò)結(jié)構(gòu)和時間使用模式等內(nèi)容.
一些學(xué)者呼吁研究機器人的一些行為模式,這樣的優(yōu)勢在于:行為模式很容易被編碼為各種特征,用以學(xué)習(xí)正常用戶和社交機器人行為的差異之處.這樣的方法有時也能揭示出機器人行為的一些新的規(guī)律.Gong等人 ?[4] 結(jié)合了新引入的時間序列特征和從用戶活動中提取的一組常規(guī)特征,發(fā)現(xiàn)時間序列特征在檢測系統(tǒng)中起著至關(guān)重要的作用.另外一些學(xué)者通過分析賬號發(fā)布的推文內(nèi)容,將研究從賬號級轉(zhuǎn)入到推文級.轉(zhuǎn)向推文級的檢測方法使得訓(xùn)練數(shù)據(jù)的數(shù)量級遠(yuǎn)大于其他方法,讓社交機器人檢測問題更易于使用深度學(xué)習(xí)模型.然而,用于文本分類的傳統(tǒng)深度學(xué)習(xí)技術(shù)完全依賴于文本特征進(jìn)行分類.僅僅使用推文文本并不能很好地預(yù)測社交機器人帳戶,利用帳戶元數(shù)據(jù)、網(wǎng)絡(luò)結(jié)構(gòu)信息或時態(tài)活動模式等其他特征的組合,可以獲得更健壯和準(zhǔn)確的結(jié)果 ?[5] .
然而,基于特征提取的社交機器人檢測方法也存在著如下的限制:(1) 從賬戶內(nèi)容中提取特征是一項費時費力的工作;(2) 特征提取方法并不是通用的,只能檢測出特定特征所定義的特定類別的社交機器人.如果提取的特征質(zhì)量低,分類系統(tǒng)的性能會自動降低.
2.2 基于圖結(jié)構(gòu)的社交機器人檢測
為了克服基于特征提取方法中的局限性,研究人員嘗試基于圖劃分的方法檢測社交機器人.Cao等人 ?[6] 認(rèn)為,社交機器人賬戶存在著與正常用戶之間的關(guān)注關(guān)系,因為他們需要和大量正常的用戶進(jìn)行互動以增強自己的可信程度.然而已有的集群檢測方法難以識別出社交機器人用戶.
隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)的不斷發(fā)展,研究人員嘗試努力將這種風(fēng)靡的模型用于編碼處理圖形結(jié)構(gòu).Kipf ?[7] 提出的圖卷積神經(jīng)網(wǎng)絡(luò)考慮了圖結(jié)構(gòu)上的譜卷積,能夠利用節(jié)點的特征并聚合節(jié)點鄰域的特征,但是其需要計算完整的拉普拉斯圖,這樣會導(dǎo)致每一層中的單個節(jié)點的輸出嵌入完全依賴于前一層的所有相鄰節(jié)點.為了解決上述方法存在的缺陷,Hamilton ?[8] 提出了Graph Stage節(jié)點嵌入算法,Hamilton使用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)圖結(jié)構(gòu)中節(jié)點的嵌入,并且可以從節(jié)點的領(lǐng)域聚合信息.此后,Alhossein ?[9] 首次嘗試使用圖卷積神經(jīng)網(wǎng)絡(luò)對社交機器人進(jìn)行檢測,利用賬戶之間相互的關(guān)注關(guān)系構(gòu)建圖進(jìn)而對節(jié)點進(jìn)行分類.Alhossein等人的實驗結(jié)果驗證了使用圖結(jié)構(gòu)進(jìn)行檢測的有效性.
互聯(lián)網(wǎng)中的圖數(shù)據(jù)存在多種節(jié)點類型和多種邊類型,而圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Network, GCN)難以處理不同類型的邊,這對節(jié)點分類的效果造成了影響.Schlichtkrull ?[10] 提出了基于關(guān)系圖的卷積神經(jīng)網(wǎng)絡(luò)模型RGCN.RGCN引入了一個邊類型的轉(zhuǎn)換,依賴于邊的類型和方向可以更好地處理圖數(shù)據(jù)中多種邊類型的情況.Feng ?[14] 則將RGCN引入到社交機器人檢測中,通過從關(guān)注和被關(guān)注關(guān)系構(gòu)建異構(gòu)圖的邊,使用賬戶的信息和推文作為節(jié)點的屬性,有效提高了社交機器人檢測的精度.
2.3 主動學(xué)習(xí)
主動學(xué)習(xí)作為機器學(xué)習(xí)的一個分支,主要是針對數(shù)據(jù)標(biāo)簽較少或打標(biāo)簽“代價”較高這一場景而設(shè)計的.Settles ?[11] 的文章詳細(xì)地介紹了主動學(xué)習(xí):“主動學(xué)習(xí)是機器學(xué)習(xí)的一個子領(lǐng)域,在統(tǒng)計學(xué)領(lǐng)域也叫查詢學(xué)習(xí)或最優(yōu)實驗設(shè)計”.主動學(xué)習(xí)方法能夠提高樣本及標(biāo)注的收益,最大化模型的性能,是一種從樣本的角度提高模型性能的方案.Wu等人 ?[12] 提出了一種結(jié)合主動學(xué)習(xí)和深度學(xué)習(xí)的社交機器人檢測方法,使用主動學(xué)習(xí)方法擴展標(biāo)記數(shù)據(jù),實驗結(jié)果證明了引入主動學(xué)習(xí)方法的有效性,但是沒有考慮到結(jié)合社交網(wǎng)絡(luò)中的圖結(jié)構(gòu)對樣本進(jìn)行分析.
雖然基于圖劃分的方法克服了基于特征提取方法的部分局限性,但是這兩種方法都存在著如下的缺點:首先,為了保證檢測能有較高的精度,需要獲取大量的已標(biāo)記數(shù)據(jù)進(jìn)行訓(xùn)練.然而在實際的業(yè)務(wù)場景或者生產(chǎn)環(huán)境中,獲得大規(guī)模的數(shù)據(jù)樣本的成本很高.其次,目前缺少統(tǒng)一的標(biāo)注標(biāo)準(zhǔn),不同人員對相同數(shù)據(jù)的標(biāo)注也可能存在著偏見.總之,手工標(biāo)注樣本需要豐富的經(jīng)驗支持和大量的時間成本.如何通過較少人工成本來獲得較大價值的標(biāo)注數(shù)據(jù),進(jìn)一步地提升算法的效果就成為了值得思考的問題.綜合考慮之下,本文在基于圖劃分的方法中引入主動學(xué)習(xí)模塊,構(gòu)建了ALRGCN的整體框架.
3 研究方法
為了解決社交機器人檢測領(lǐng)域中存在的已標(biāo)記數(shù)據(jù)集較少的問題,本文結(jié)合社交網(wǎng)絡(luò)的結(jié)構(gòu)特征,提出了基于主動學(xué)習(xí)和關(guān)系圖神經(jīng)網(wǎng)絡(luò)相結(jié)合的ALRGCN檢測框架.ALRGCN有三個關(guān)鍵的組成部分,分別為主動學(xué)習(xí)、特征編碼與組合、關(guān)系圖卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法.在本節(jié)內(nèi)容中,依次介紹ALRGCN的三個組成部分,并對本文研究過程中使用的方法進(jìn)行說明.
3.1 主動學(xué)習(xí)過程
在進(jìn)行分類任務(wù)的建模過程中,通常包括有樣本選擇、模型訓(xùn)練、模型預(yù)測和模型更新等4個步驟.本文則將主動學(xué)習(xí)領(lǐng)域中的標(biāo)注候選集提取和人工標(biāo)注這兩個步驟加入整體流程.ALRGCN中主動學(xué)習(xí)流程的框架如圖1所示.
圖1中包含有:Seed表示種子選擇算法,將初始的訓(xùn)練集劃分為 U 和 S d 兩部分; U 表示訓(xùn)練集中不需標(biāo)注的部分; S d 表示初始未標(biāo)注訓(xùn)練集,依賴于種子選擇算法構(gòu)成,包含訓(xùn)練集中一些最具代表性的實例; S 表示依賴于專家經(jīng)驗對未標(biāo)記的數(shù)據(jù)進(jìn)行標(biāo)記; L 表示進(jìn)行標(biāo)注過后的訓(xùn)練集,由兩部分組成:第一部分由 S d 經(jīng)過標(biāo)記后得到,作為初始模型的訓(xùn)練集.第二部分則是在每次訓(xùn)練的迭代過程中,分類器選取 U 中不確定性最高的樣本,將其人工標(biāo)注后加入到 L 中,利用主動學(xué)習(xí)更新的標(biāo)記數(shù)據(jù)對RGCN進(jìn)行再訓(xùn)練; Q 表示查詢策略,從 U 中通過采樣方法獲得更有價值的樣本數(shù)據(jù); C 表示本文使用的RGCN模型,其中包含有模型的訓(xùn)練和預(yù)測兩部分.
主動學(xué)習(xí)算法用于進(jìn)行賬號種子選擇以及標(biāo)記和更新數(shù)據(jù)集中.首先,在關(guān)系圖卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練開始之前,主動學(xué)習(xí)算法通過種子選擇算法創(chuàng)建初始的未標(biāo)記數(shù)據(jù)集 S d .其次,在RGCN進(jìn)行訓(xùn)練的迭代過程中,主動學(xué)習(xí)使用基于信息熵的不確定性采樣的方法選取熵較大的樣本實例進(jìn)行標(biāo)注后更新標(biāo)記數(shù)據(jù)集 L . 接下來,對主動學(xué)習(xí)的這兩個部分進(jìn)行說明.
(1) 種子選擇算法.常見的神經(jīng)網(wǎng)絡(luò)通過給人為的給定數(shù)據(jù)的索引來劃分生成初始的訓(xùn)練集和測試集.通過這種類似于隨機選擇的方法得到的訓(xùn)練集,訓(xùn)練數(shù)據(jù)不具有一定的代表性和多樣性,可能會使模型訓(xùn)練得到的準(zhǔn)確度較低 ?[13] .本文使用種子選擇算法來生成初始的標(biāo)記數(shù)據(jù)集 L ,以此來提升模型的精度.
如圖2所示,圖2中的每個圓表示一個樣本實例,黑線表示進(jìn)行分類的決策邊界. A 更加遠(yuǎn)離決策邊界,這將被認(rèn)為是最具有代表性的.但是,查詢 B 會得到更多關(guān)于整個數(shù)據(jù)分布的信息,更能得到某類數(shù)據(jù)的一些劃分特征.本文使用基于密度權(quán)重的代表性采樣策略,在使用代表性采樣策略的時候,將樣本數(shù)據(jù)的稠密性考慮進(jìn)去.如式(1)所示.
I(u)= argmax φ(u)·( 1 k ∑ k ?i=1 ??sim (u,v ?i)) ?(1)
其中, φ(u) 表示使用的代表性采樣策略; k 表示類別的個數(shù); v i 表示分類簇中某類元素中的一個具有代表性的元素;sim是用以計算信息密度的函數(shù),計算得到的信息密度結(jié)果越高,給定的元素實例和其余的數(shù)據(jù)就越相似,即數(shù)據(jù)更為稠密.
信息密度的計算方法如式(2)所示.
sim (x,y)= 1 d+1 = 1 ?∑ n ?i=1 ??(x ?i-y ?i) ?2 +1 ??(2)
此處 d 為歐幾里德距離.通過計算各個節(jié)點的基于信息密度的代表性,再進(jìn)行排序.在每個分類簇中按比例選取樣本,得到的樣本集合作為初始未標(biāo)注訓(xùn)練集 S d .
(2) 標(biāo)注和更新樣本.在獲得初始未標(biāo)注訓(xùn)練集 S d 后還需要利用專業(yè)人員的經(jīng)驗對 S d 中的樣本進(jìn)行標(biāo)注,得到初始訓(xùn)練數(shù)據(jù)集 L ,此后對RGCN模型進(jìn)行初始訓(xùn)練.而后在RGCN每次訓(xùn)練的迭代過程中,使用不確定性采樣策略從 U 篩選出最高不確定性的樣本實例對其標(biāo)注,用于更新標(biāo)記的訓(xùn)練數(shù)據(jù)集 L .
基于不確定性的采樣策略將模型中難以區(qū)分的樣本數(shù)據(jù)提取出來,提供給專業(yè)標(biāo)注人員進(jìn)行標(biāo) 注,從而達(dá)到以較快速度提升算法效果的能力.不確定性采樣方法的關(guān)鍵就是如何描述樣本或者數(shù)據(jù)的不確定性.由于社交機器人檢測是一個傳統(tǒng)的二分類問題,可以選擇信息熵較大的樣本數(shù)據(jù)作為待定標(biāo)注數(shù)據(jù).信息熵的計算方法如式(3)所示.
H(u)= arg max ?u-∑ i P ?θ(v ?i|u)· ln P ?θ(v ?i|u) ?(3)
通過排序,可以得到含有較高信息熵的樣本.由于本文使用的樣本具有真實的標(biāo)簽,通過查詢使用真實樣本標(biāo)簽對上述這些通過信息熵選出的樣本進(jìn)行標(biāo)注,以減少人為標(biāo)注對于實驗檢測結(jié)果的影響.通過上述的標(biāo)注步驟后,在每次迭代的過程中,將標(biāo)注好的數(shù)據(jù)添加到已標(biāo)注的訓(xùn)練集 L 中,構(gòu)成新的訓(xùn)練數(shù)據(jù)集 L .
3.1 特征編碼與組合
受到BotRGCN ?[14] 的啟發(fā),本文從內(nèi)容特征、賬戶特征和相鄰特征等三個方面形成樣本的綜合描述.接下來,對這三個方面進(jìn)行如下說明.
(1) 內(nèi)容特征: Dickerson ?[15] 提出可以通過研究賬戶發(fā)送的推文中含有的情感內(nèi)容來提高社交機器人檢測模型的預(yù)測精度.本文使用預(yù)訓(xùn)練模型RoBERTa對用戶的所有推文進(jìn)行編碼,將通過訓(xùn)練得到的向量,作為用戶推文文本的整體特征.
RoBERTa是一種預(yù)訓(xùn)練語言模型,具有對未標(biāo)記文本數(shù)據(jù)進(jìn)行預(yù)處理的能力,提供了每條推文文本的豐富特征表示 ?[16] 對于每個Tweet文本的詞,本文使用了基于大型文本語料庫的預(yù)訓(xùn)練語言模型進(jìn)行編碼表示.如式(4)所示.
P ?content =φ( 1 L ?n ∑ ?L ?n ??i=1 ?∑ ?L ?t ??j=1 ??RoBERTa (w ?j)) ?(4)
其中, L n 為每個檢測樣本所發(fā)布的推文總數(shù); L t 為每條推文所含有的單詞個數(shù); w j 為每條推文中的每個單詞; φ 是優(yōu)化函數(shù).
(2) 賬號特征: 從用戶的個人信息中直接進(jìn)行提取, 包括用戶的關(guān)注者數(shù)量和被關(guān)注者數(shù)量等數(shù)值特征,也包括發(fā)布的個人簡介、說明等含有文本信息的內(nèi)容.本文同樣使用RoBERTa模型對于其中的文本信息進(jìn)行處理得到向量,而后拼接其中的數(shù)值特征,整體部分作為用戶賬號特征的向量表示.
對于個人信息中的簡介等文本特征,同樣使用RoBERTa進(jìn)行編碼得到向量.如式(5)所示.
P ?profile =φ( 1 L ?n ∑ ?L ?n ??i=1 ?∑ ?L ?t ??j=1 ??RoBERTa (a ?j)) ?(5)
其中, L n 為每個檢測樣本中含有的文本內(nèi)容的總數(shù); L t 為每條文本內(nèi)容中所含有的單詞個數(shù); a j 為每條文本內(nèi)容中的每個單詞.考慮到社交機器人賬戶在引導(dǎo)輿論時,常常會發(fā)表和自己個人資料并不符合的內(nèi)容,為了檢測這種現(xiàn)象,需要計算出個人資料和發(fā)送推文的相關(guān)程度.本文使用哈達(dá)瑪積來計算用戶推文和用戶個人資料的關(guān)聯(lián)程度,并將其作為用戶的另一個新的特征.計算過程如式(6)、式(7)所示.
P ??content ′ =P ??content ?⊙P ??profile ???(6)
P ??profile ′ = Concat ((P ??content ?P ??profile ?), num ) ?(7)
此處的⊙表示哈達(dá)瑪積乘法;表示矩陣加法.之后對于賬號中的數(shù)值特征num,將其與得到的賬號信息的向量拼接.
(3)相鄰特征: RGCN需要使用一個節(jié)點與相鄰節(jié)點之間的關(guān)注關(guān)系和被關(guān)注關(guān)系構(gòu)建圖結(jié)構(gòu).使用相鄰節(jié)點的內(nèi)容特征和賬號特征構(gòu)建向量,并將所有相鄰節(jié)點的向量拼接,形成一個完整的向量.從而對自身節(jié)點的判斷提供支持.
3.2 關(guān)系圖卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法
模型的主體框架如圖3所示.和傳統(tǒng)的圖卷積神經(jīng)網(wǎng)絡(luò)相比,RGCN最大的區(qū)別在于處理邊的種類,依賴邊的類型和方向來構(gòu)建圖,解決了利用GCN處理圖結(jié)構(gòu)中不同邊關(guān)系對節(jié)點分類結(jié)果產(chǎn)生影響的問題.
在RGCN中,節(jié)點的更新方式如式(8)所示.
h ??(l+1) ?i=σ(∑ ?r∈R ?∑ ?j∈N ?r i ??1 c ??i,r ?W ??(l) ?rh ??(l) ?j+W ??(l) ?0 ?h ??(l) ?i)
(8)
其中, N i ??r 表示節(jié)點 u i 的關(guān)系為 r 的相鄰節(jié)點集合; c ?i,r ?是一個正則化常量,其中 c ?i,r ?的取值為 ?|N i ??r| ?, W r ???(l) ?是線性轉(zhuǎn)化函數(shù),將同類型邊的鄰居節(jié)點,使用一個參數(shù)矩陣 W r ???(l) ?進(jìn)行轉(zhuǎn)化, W r ???(l) ?的個數(shù)也就是邊類型的個數(shù); h ?(l) ?i 標(biāo)識的是節(jié)點 u i 的第 l 層節(jié)點表示; ?h ?(l) ?j 則是節(jié)點 u i 的所有鄰居節(jié)點的第 l 層節(jié)點表示.
在本文的網(wǎng)絡(luò)結(jié)構(gòu)中,使用關(guān)注和被關(guān)注的關(guān)系作為節(jié)點之間邊的屬性,來構(gòu)建異構(gòu)圖,而后使用第3.4節(jié)中得到的特征作為網(wǎng)絡(luò)訓(xùn)練的初始向量,訓(xùn)練的結(jié)果通過softmax層進(jìn)行分類.
P={P ??content′ ?,P ??profile′ } (9)
R i= softmax (φ(P)) ?(10)
整體的網(wǎng)絡(luò)結(jié)構(gòu)使用損失函數(shù)進(jìn)行優(yōu)化.損失函數(shù)如式(11)所示.
Loss=-∑ m ?i=1 ?(R ?ilog(R ?i)+(1-R ?i)log(1-R ?i)) ??(11)
4 實驗及評價
本文評估了所提出的ALRGCN檢測框架的性能.首先,對于工作中的實驗設(shè)置進(jìn)行描述.其次,進(jìn)行了實驗以驗證本文提出的模型在檢測社交機器人方面的有效性與優(yōu)越性.最后,對于本文工作中使用的主動學(xué)習(xí)的有效性進(jìn)行評估.
4.1 實驗設(shè)置
4.1.1 數(shù)據(jù)集 ?由于訓(xùn)練數(shù)據(jù)集獲取較難、標(biāo)注成本較大,社交機器人檢測領(lǐng)域中一直缺乏具有多樣性的、數(shù)據(jù)豐富的數(shù)據(jù)集.本文使用了在2021年提出的 TwiBot-20 ?[17] 數(shù)據(jù)集,這是目前已知的,唯一的已公開的、含有用戶關(guān)注關(guān)系以及大量文本內(nèi)容的數(shù)據(jù)集.該數(shù)據(jù)集中含有總計229 573個推特賬戶,包括他們發(fā)布的33 488 192條推文、 8 723 736 個用戶屬性項以及455 958個關(guān)注關(guān)系.每條數(shù)據(jù)中包含有推文、資料、關(guān)注關(guān)系三個方面的總共42個初始字段.
4.1.2 評價指標(biāo) ?本文采用模型精度、召回率和 ?F 1值 作為評價指標(biāo),這些評價指標(biāo)可以通過式(12)~式(14)計算.通過使用這些指標(biāo)來判斷一個模型能否有效的檢測出社交機器人.
Precision = TP TP+FP ??(12)
Recall = TP TP+FN ??(13)
F1 -measure=2× Precision×Recall Precision+Recall ?(14)
其中, TP ?表示被正確預(yù)測為社交機器人的用戶數(shù); FP 表示被錯誤預(yù)測為社交機器人的正常用戶數(shù); FN 表示被錯誤地預(yù)測為普通用戶的社交機器人的數(shù)量.
4.2 實驗結(jié)果與分析
本文共進(jìn)行了三個部分的實驗.實驗1評估了本文提出的ALRGCN檢測方法的性能,將ALRGCN與設(shè)置的基線實驗的結(jié)果進(jìn)行對比,驗證了ALRGCN整體模型在社交機器人檢測中的優(yōu)越性.實驗2通過修改初始訓(xùn)練集大小,分析ALRGCN在不同大小訓(xùn)練集的情況下的分類性能,驗證主動學(xué)習(xí)可以通過選擇盡可能少的高質(zhì)量標(biāo)注樣本使模型達(dá)到盡可能好的性能.實驗3則是在基線實驗的基礎(chǔ)上引入了主動學(xué)習(xí),目的是為了探討引入主動學(xué)習(xí)方法的有效性.
4.2.1 對比實驗 ?在本實驗中,ALRGCN算法的訓(xùn)練集是通過3.1.1節(jié)中的種子選擇算法得出.實驗優(yōu)化器使用AdamW,dropout設(shè)置為0.3,學(xué)習(xí)率為10 ?-3 ,節(jié)點向量維度為128,權(quán)重衰減項為5·10 ?-3 ,迭代次數(shù)設(shè)置為120.初始的訓(xùn)練集大小設(shè)定為整個數(shù)據(jù)集大小的20%,在每次訓(xùn)練迭代中,根據(jù)信息熵采樣,每次選擇10個測試集中的樣本使用其真實的樣本標(biāo)簽進(jìn)行標(biāo)記,并將標(biāo)注好的樣本添加至訓(xùn)練集中.本文使用了一系列的檢測社交機器人的方法作為基線實驗對提出的ALRGCN算法的效果進(jìn)行評估.
在對比實驗中使用所有數(shù)據(jù)的80%作為訓(xùn)練集,剩余部分作為測試集.每個方法進(jìn)行40次重復(fù)試驗取其平均值得到其結(jié)果.實驗得到的結(jié)果表1所示.
結(jié)果證明,本文提出的ALRGCN方法在TwiBot-20數(shù)據(jù)集上取得了明顯的進(jìn)步.ALRGCN算法的精度可以達(dá)到89.86%,優(yōu)于進(jìn)行對比所使用的基線.同樣的,對比原使用的BOTRGCN模型,實驗結(jié)果在精度和 F 1上均獲得了一定的提升,精度提升接近5%, F 1提升接近3%.由于ALRGCN充分利用了主動學(xué)習(xí)選擇的高信息熵實例,再經(jīng)過人工的標(biāo)注,減少了異常值的出現(xiàn)頻率并減緩了模型訓(xùn)練迭代過程中的噪聲積累問題,使得分類器的性能在迭代過程中不斷提高,并提升了最終的模型性能.而在實驗樣本的行動邏輯更為復(fù)雜、行動模式表現(xiàn)得更像人類正常用戶的行為模式時,其他算法的檢測性能可能會下降,而主動學(xué)習(xí)算法可以借助相關(guān)人員的專業(yè)經(jīng)驗,對相關(guān)數(shù)據(jù)進(jìn)行標(biāo)注,對于模型性能反而可能會有更為明顯的提升.在有限標(biāo)記實例的情況下,ALRGCN能夠使用更小的標(biāo)記樣本更加有效地檢測出社交機器人.
4.2.2 參數(shù)評估實驗 ?本文分析ALRGCN中初始訓(xùn)練集 L 的大小對模型的分類性能產(chǎn)生的影響,以驗證主動學(xué)習(xí)能夠通過選擇盡可能少的、高質(zhì)量的樣本標(biāo)注使模型達(dá)到盡可能好的性能.
折線圖4描述了初始標(biāo)記數(shù)據(jù)集對ALRGCN分類性能的影響.在將初始 L 從200到3000的過程中, F 1值以較快的速度得到提升,并且能夠快速接近模型分類能達(dá)到的最佳值.這是由于本文在使用種子選擇算法中使用基于密度權(quán)重的代表性采樣策略,使得模型在訓(xùn)練的過程中可以快速提取到正常用戶和社交機器人之間的代表性的特征并學(xué)習(xí)兩者之間的差異,使得模型的分類性能隨著初始標(biāo)記數(shù)據(jù)集 L 大小的提升獲得了較快的提升.召回率和精度的波動則是因為每個實驗中通過主動學(xué)習(xí)選擇的普通用戶和社交機器人的數(shù)量分布不同造成的.
圖3也能說明ALRGCN具有較強的學(xué)習(xí)能力,在只需要較少初始標(biāo)記實例的情況下就可以獲得與使用大量初始標(biāo)記實例進(jìn)行 訓(xùn)練后相同的性能.由于 L 相對于數(shù)據(jù)集的大小來說規(guī)模非常小,因而可以得出結(jié)論:ALRGCN使用主動學(xué)習(xí)在一定程度上緩解了人工標(biāo)注數(shù)據(jù)較為困難、成本大的問題.
4.2.3 評估主動學(xué)習(xí)的有效性 ?為了進(jìn)一步驗證所提出的主動學(xué)習(xí)結(jié)合關(guān)系圖卷積神經(jīng)網(wǎng)絡(luò)模型的有效性,本文在基線檢測方法的基礎(chǔ)上加入主動學(xué)習(xí),來比較處理前后的分類器性能.本文在主動學(xué)習(xí)的過程中,使用種子選擇算法得到初始的標(biāo)記訓(xùn)練集 L .此外,在每次訓(xùn)練的迭代過程中,使用樣本的真實標(biāo)簽對由不確定性采 樣篩選出的高信息熵樣本進(jìn)行標(biāo)記.同樣,設(shè)置的初始標(biāo)記訓(xùn)練集大小為整個數(shù)據(jù)集的20%,每組實驗都獨立重復(fù)了40次,最后的結(jié)果進(jìn)行平均.實驗結(jié)果如圖5~圖7所示.
結(jié)果顯示,樸素貝葉斯(Naive Bayes,NB)的實驗精度略有下降,這可能是因為NB要求樣本屬性之間相互獨立,這個假設(shè)在社交機器人檢測中往往是不成立的,因而會使得檢測的精度降低.而在大多數(shù)的分類模型下,使用主動學(xué)習(xí)后都提升了模型的準(zhǔn)確率.另外,使用主動學(xué)習(xí)后各個模型的召回率和 F 1均得到了一定程度的提升,這是因為在進(jìn)行基線實驗不使用主動學(xué)習(xí)的情況下,往往是通過比例按照數(shù)據(jù)的下標(biāo)來劃分訓(xùn)練集與測試集,這樣的方法接近于隨機選擇,造成了數(shù)據(jù)的不平衡分布,使得不能很好地捕捉到一些具有代表性的社交機器人賬戶的特征.這就導(dǎo)致社交機器人的檢測性能不佳,召回率較低.主動學(xué)習(xí)算法則是通過種子選擇算法和選擇具有較高信息熵的代表性實例進(jìn)行人工標(biāo)注后再訓(xùn)練,使得模型能更好地學(xué)習(xí)到正常用戶和社交機器人之間的代表性的特征,并且一定程度上減緩了數(shù)據(jù)分布不平衡的問題,大大提高了召回率,進(jìn)而增加了 F 1值,使得最終模型的分類效果獲得了一定提升.通過對實驗結(jié)果的分析,可以得到:結(jié)合主動學(xué)習(xí)算法用以提升模型檢測性能的方法是有效的.
5 結(jié) 論
本文提出了一種結(jié)合主動學(xué)習(xí)和RGCN的社交機器人檢測方法.這是目前為止,首次在社交機器人檢測領(lǐng)域提出將主動學(xué)習(xí)和RGCN相結(jié)合的方法.本文使用種子選擇算法構(gòu)建初始訓(xùn)練集、在每一次的迭代過程中篩選信息熵較大的樣本實例進(jìn)行人工標(biāo)注、并通過RGCN進(jìn)行訓(xùn)練.實驗結(jié)果表明,ALRGCN可以顯著提高標(biāo)注用戶數(shù)據(jù)的效率,可以有效地檢測社交機器人,與其他常用的檢測方法相比,具有更好的性能.
然而,本文研究還有待進(jìn)一步的改進(jìn).本文使用預(yù)訓(xùn)練模型對文本內(nèi)容進(jìn)行編碼.但是由于相關(guān)數(shù)據(jù)集的缺失,難以利用樣本的時態(tài)活動模式等其他特性來結(jié)合文本內(nèi)容進(jìn)行一個整體的分析.未來考慮在含有時態(tài)活動模式等的數(shù)據(jù)集上嘗試使用其他模型,用以揭示社交機器人的一些行動規(guī)律.
參考文獻(xiàn):
[1] ??Kudugunta ?S, Ferrara E. Deep neural networks for bot detection [J]. Inform Sciences, 2018, 467: 312.
[2] ?Cresci S, Di Pietro R, Petrocchi M, ?et al . The paradigm-shift of social spambots: Evidence, theories, and tools for the arms race [C]//Proceedings of the 26th International Conference on world Wide Web Companion. Perth, Australia:WWW, 2017: 963.
[3] ?Li Z, Zhang X, Shen H, ?et al . A semi-supervised framework for social spammer detection [C]//Pacific-Asia Conference on Knowledge Discovery and Data Mining. Cham: Springer, 2015: 177.
[4] ?Gong Q, Chen Y, He X, ?et al . DeepScan: exploiting deep learning for malicious account detection in location-based social networks[J]. IEEE Commun Mag, 2018, 56: 21.
[5] ?Fazil M, Sah A K, Abulaish M. DeepSBD: a deep neural network model with attention mechanism for socialbot detection[J]. IEEE T Inf Foren Sec, 2021, 16: 4211.
[6] ?Cao Q, Sirivianos M, Yang X, ?et al . Aiding the detection of fake accounts in large scale social online services [C]// Proceedings of the 9th USENIX Symposium on Networked Systems Design and Implementation.San Jose, CA:USENIX Association,2012: 197.
[7] ?Kipf T N, Welling M. Semi-supervised classification ?with graph convolutional networks[EB/OL].[2022-05-20]. https://arxiv.org/pdf/1609.02907.pdf.
[8] ?Hamilton W L, Ying R, Leskovec J. Representation learning on graphs: methods and applications[EB/OL].[2022-05-20].https://arxiv.org/abs/1709.05584v2.
[9] ?Ali Alhosseini S, Bin Tareaf R, Najafi P, ?et al. ?Detect me if you can: spam bot detection using inductive representation learning [C]//Companion Proceedings of ?the 2019 World Wide Web Conference. San Francisco, USA:Association for Computing Machinery, 2019: 148.
[10] ?Schlichtkrull M, Kipf T N, Bloem P, ?et al . Modeling relational data with graph convolutional networks[C]//European Semantic Web Conference. Cham: Springer, 2018: 593.
[11] Settles ?B. Active learning literature survey [J]. Madison, USA:University of Wisconsinmadison, ??2010.
[12] Wu Y, Fang Y, Shang S, ?et al . A novel framework for detecting social bots with deep neural networks and active learning [J]. Knowl-Based Syst, 2021, 211: 106525.
[13] Zhang X, Bai H, Liang W. A social spam detection framework via semi-supervised learning [C]//Pacific-Asia Conference on Knowledge Discovery and Data Mining. Cham: Springer, 2016: 214.
[14] Feng S, Wan H, Wang N, ?et al . BotRGCN: twitter bot detection with relational graph convolutional networks [C]//Proceedings of the 2021 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining. Netherlands:Association for Computing Machinery, 2021: 236.
[15] Dickerson J P, Kagan V, Subrahmanian V S. Using sentiment to detect bots on twitter: Are humans more opinionated than bots?[C]// Proceedings of the 2014 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining (ASONAM 2014). Beijing, China:IEEE, 2014: 620.
[16] Feng S, Wan H, Wang N, ?et al . Twibot-20: a comprehensive twitter bot detection benchmark[C]//Proceedings of the 30th ACM International Conference on Information & Knowledge Management. Queensland, Australia:Association for Computing Machinery, 2021: 4485.
[17] Yuan X, Schuchard R J, Crooks A T. Examining emergent communities and social bots within the polarized online vaccination debate in Twitter [J]. Social Media+ Society, 2019, 5: 2056305119865465.
[18] Stukal D, Sanovich S, Bonneau R, ?et al . Detecting bots on Russian political Twitter[J]. Big Data, 2017, 5: 310.
[19] Fu H, Xie X, Rui Y. Leveraging careful microblog users for spammer detection [C]//Proceedings of the 24th International Conference on World Wide Web. New York,USA:Association for Computing Machinery, 2015: 419.
[20] Yang K C, Varol O, Hui P M, ?et al . Scalable and generalizable social bot detection through data selection [C]//Proceedings of the AAAI Conference on Artificial Intelligence. [S.l.]:AAAI,2020, 34: 1096.
[21] Ellaky Z, Benabbou F, Ouahabi S, ?et al . Word embedding for social bot detection systems [C]// Proceedings of the 2021 5th International Conference on Intelligent Computing in Data Sciences (ICDS).Fez, Morocco: IEEE, 2021: 1.
[22] Battur R, Yaligar N. Twitter bot detection using machine learning algorithms [J]. Int Sci Res (IJSR), 2018, 8: 304.
[23] Liu L, Jia K. Detecting spam in chinese microblogs-a study on sina weibo [C]//Proceedings of 8th International Conference on Computational Intelligence and Security. Guangzhou, China: IEEE, 2012: ??578.
[24] Park S, Lee K. The gravy value: a set of features for pinpointing bot detection method [C]// Proceedings of theInternational Conference on Information Security Applications. Cham:Springer, 2020: 142.