王 崢 葉 維 邱秀連
(1.南京烽火星空通信發(fā)展有限公司 南京 210019)(2.武漢郵電科學研究院 武漢 430074)(3.南京烽火天地通信科技有限公司 南京 210019)
隨著web2.0技術的不斷發(fā)展和完善,在線社交網(wǎng)絡平臺已經成為了現(xiàn)代人們生活中一種必不可少的娛樂和交流的方式[1]。國外的社交平臺主要是Twitter、Facebook,國內的主要是新浪微博平臺,這些社交平臺的用戶增長率連續(xù)翻倍。
目前國內最大、最流行的中文社交平臺是新浪微博,該平臺掀起了國內的微博潮流,帶動了整個中國微博產業(yè)的蓬勃發(fā)展。微博具有高度實時性與互動性的特點,以多元化、平民化的傳播方式逐漸成為網(wǎng)民上網(wǎng)交流、信息傳播的重要途徑。但是由于微博有著裂變式的傳播方式,在傳播正常信息的同時也很容易吸引大量的垃圾信息,比如廣告、詐騙信息等,這些信息不僅影響用戶對于正常的信息閱讀,而且還嚴重傷害了用戶體驗度。一些垃圾信息發(fā)送者利用微博大量發(fā)布釣魚網(wǎng)站和虛假鏈接,攔截用戶的正常信息,推送大量的廣告和惡意信息,有時甚至會發(fā)布危害國家安全和穩(wěn)定的謠言[2]。但傳統(tǒng)的垃圾信息過濾的方法在微博數(shù)量較少的情況下可以取得不錯的效果,但是隨著微博數(shù)量呈現(xiàn)爆炸式的增長,傳統(tǒng)的垃圾信息過濾方法的識別正確率越來越低,并且計算開銷也越來越大。因此,高識別率和低開銷的垃圾信息識別方法已經逐漸受到了學術界的關注和重視。
相比于傳統(tǒng)的垃圾郵件過濾技術,針對社交平臺上垃圾信息發(fā)送者(Sammer)檢測的研究現(xiàn)在仍處于初級階段,而這其中的絕大多數(shù)研究者們又都以Twitter平臺為研究對象,以中文社交平臺為研究對象還是占少數(shù)。
從前很多從事于垃圾郵件過濾技術的研究者們,隨著網(wǎng)絡社交平臺的快速發(fā)展,這些研究者們也將目光集中在了以Facebook為代表的社交平臺,開始致力于社交平臺上的垃圾信息過濾。其中較著名的反垃圾信息的會議有國外的TREC[3](Text Retrieval Conference)、CEAS[4](Conference on Email and Anti-Spam)以及國內的SEWM(Search Engine and Web Mining)會議。這些反垃圾信息會議不僅給研究者們提供了相互交流、論證的機會,也促進了反垃圾信息研究的發(fā)展。同時在微博異常賬號檢測領域,積累了大量的理論基礎和完整的評價指標。
針對新浪微博獨有的數(shù)據(jù)特點,于然等提出一種基于多視角特征融合的中文微博垃圾信息檢測方法[5],計算每條微博中出現(xiàn)的形容詞、動詞和名詞的比例和長度,“我”出現(xiàn)的次數(shù)等基于潛在語意計算的詞性特征。針對獲取到的微博數(shù)據(jù)信息稀疏性大和特征偏移嚴重,且微博數(shù)據(jù)的噪聲干擾項多等特性,孫建旺等提出了一種基于微博轉發(fā)集的微博垃圾信息過濾方法[6],該方法通過微博數(shù)據(jù)構建三元組(轉發(fā)時間差、子串、頻次),然后將知網(wǎng)作為補充語料庫,進而構建知識元,之后形成候選文本集合,對其進行進一步篩選,最后得到用戶需求的微博。針對在網(wǎng)絡虛擬社區(qū)中出現(xiàn)的文本信息復雜且不規(guī)則的特點,張磊等使用正則表達式對待過濾文本進行過濾匹配[2],從而獲得非常規(guī)詞或符號的基本特征。將文本進行分詞處理,并且建立停用詞表,之后使用IF-IDF進行特征選取,最后選取出235個詞作為文本過濾的特征項。針對傳統(tǒng)垃圾信息過濾方法在過濾過程中會出現(xiàn)隨時間變化而發(fā)生概念漂移的問題,夏虎等提出了一種基于反饋的不良網(wǎng)站過濾的方法[7]。
在傳統(tǒng)的賬號檢測方法當中,大多都是單一地針對微博賬號的行為特征或者針對微博賬號的發(fā)布內容進行研究,從而導致賬號檢測的正確率不高。本文將微博的行為特征和發(fā)布內容相結合,并且通過特征加權貝葉斯神經網(wǎng)絡,解決了賬號檢測的正確率不高的問題。
貝葉斯分類算法是一類分類算法的總稱,是統(tǒng)計學的一種分類方法,這類算法均以貝葉斯原理為基礎。由于類條件概率需要計算出所有屬性上的聯(lián)合概率分布,在實際過程中,每個屬性之間都有著或多或少的聯(lián)系,因此從有限的訓練集中難以直接估計得到類條件概率。為了解決這一困難,我們假設待分類項的各個屬性相互獨立的情況下,構造出來的分類算法就稱為樸素的,即樸素貝葉斯算法。樸素貝葉斯為在基于屬性條件獨立的前提下的同時還包含了一個條件,即每個條件屬性的權重值均為1,也就是說每個特征對于決策分類的重要性是相同的,但是在實際應用中,各條件屬性對分類的貢獻程度不是完全相同的[8],因此這個條件會降低模型的分類正確率。從樸素貝葉斯屬性加權基本思想出發(fā),在微博賬號的所有行為特征當中,其中必定有一些行為特征會對決策特征起著決定性的作用,同樣也會有一些行為特征對于決策的影響相對來說比較小,也就是噪音干擾項,那么對于前者就可以給予一個相對較大的權值,而對于后者則給予一個較小的權值。為了更加準確地確定每個行為特征的的權值,本文通過計算行為特征與決策特征之間的相關概率來確定其行為特征的權值[7]。
設 A={A1,A2,…,An}為行為特征變量集,n為行為特征的數(shù)目。對于某個行為特征Aj,用akj表示該行為特征的一個具體的取值,其中k∈[1,m],表示行為特征Aj有m個可能的取值,那么對于一個具體的微博賬號X來說,當X的行為特征Aj取值為時,對于每一個類Ci來說,行為特征Aj都有一個關于Ci的相關概率 p(Aj|rel)和不相關概率p(Aj|norel):
其中,COUNT表示行為特征的數(shù)量。
由于某個行為特征的權值可能會出現(xiàn)等于零的情況,因此將p(Ci)的概率調整為
式(3)中 ||Ci表示訓練集中屬于類Ci的微博賬號數(shù), ||C訓練集中包含的微博賬號總數(shù)。對于每一個行為特征的具體取值,其權值按照如下公式計算:
因此最終的特征加權貝葉斯算法的計算公式如下:
特征加權貝葉斯是通過計算行為特征的相關概率和不相關概率的比值來確定行為特征權值的大小。對于一個給定的微博賬號來說,在計算其屬于某個類標簽下的后驗概率時,對每一個行為特征的條件概率來說,將為該行為特征的當前取值確定一個權值,其權值大小為當前類標簽的相關概率。由此可以看出,在同一個行為特征中,該特征取值的不同,其權值是不同的;并且同一個行為特征的同一取值,當它們在不同類標簽下的權值也是不同的。
傳統(tǒng)的神經網(wǎng)絡模型是通過控制輸入與輸出數(shù)據(jù)之間的誤差來進行網(wǎng)絡權值的更新[10],其輸入輸出關系可以表示為
式中f(x|ω) 為近似函數(shù),E為誤差項。
貝葉斯神經網(wǎng)絡對于網(wǎng)絡權值的更新是通過計算網(wǎng)絡權值的后驗概率,最后給出的是網(wǎng)絡權值概率分布的范圍,因此由Bayes定理可以得到[11]:
其中 X=(x1,x2,…,xn),Y=(y1,y2,…,yn)。
式中X為輸入矢量,Y為目標矢量。
P(Y|X)= ∫P(Y|ω,X)P(ω)dω是目標輸出矢量 yi的邊際分布。P(ω)是權值ω的一個先驗分布,而P(Y|ω,X)是似然函數(shù)。其中,邊際分布是一個正則化的常數(shù)。權值ω的先驗分布是一個已知的值。因此yn+1預測性分布為
式中xn+1,yn+1表示下一次輸入和輸出數(shù)據(jù)的集合。由式(8)可以看出,yn+1預測性分布的積分十分的復雜,無法用傳統(tǒng)的解析或數(shù)值積分的方法求得[12]。
為了計算出貝葉斯神經網(wǎng)絡預測性分布,需要計算出貝葉斯神經網(wǎng)絡的權值的先驗分布[13],但是在實際過程中網(wǎng)絡權值的先驗分布通常是十分復雜的,為了方便計算,通常權值的先驗分布是由一個建議分布來產生權值矢量,因此該分布通常是一個局部的高斯函數(shù)。MCMC方法可以從連續(xù)的先驗分布中隨機產生多個權值,由于建議分布取決于前一次迭代的權值,因此最開始需要從權值的先驗分布中任意選取一個權值,之后的權值就可以通過MCMC來隨機產生,并且這些權值應該滿足:
式中,ωprev為前一次迭代的權值,α為建議分布。
如果通過馬爾可夫鏈確定的新權值ω*被接受,那么ωprev就被ω*替代,開始下一次的迭代。而權值被接受率在30%~70%之間被認為是最優(yōu)的。
對于賬號檢測(Ci(i=1,2))的分類問題,對第k個微博賬號有n維的輸入行為特征向量xk,1維的輸出yk表示屬于C1的概率,而屬于C2的概率為(1-yk)。假定有網(wǎng)絡模型H,此網(wǎng)絡相應的權值ω=(ω1,ω2,…,ωw),W為權值的總個數(shù),則對于數(shù)據(jù)集 D={(xk,yk),k=1,2,…,K}(K為樣本總數(shù))和網(wǎng)絡模型H來說,傳統(tǒng)神經網(wǎng)絡方法通過最小化誤差函數(shù)ED=-ln(p(D/w)),調整權值ω,找到合適的網(wǎng)絡模型。這種方法的缺點是當訓練的微博賬號有限時,難以找到適合微博賬號檢測的模型。在貝葉斯神經網(wǎng)絡中[14~15],同時考慮權值的先驗分布和微博賬號的似然分布,通過引入超參數(shù)控制權值的分布,最小化誤差,實現(xiàn)權值的優(yōu)化[16]。
根據(jù)特征加權貝葉斯神經網(wǎng)絡的原理[17],整個過程要經過以下步驟:
1)在給定神經網(wǎng)絡模型H,微博賬號檢測數(shù)據(jù)D,及超參數(shù)α和 β的初始值的條件下,計算網(wǎng)絡權值ω的后驗概率,求得滿足后驗概率最大的權值。
2)結合微博賬號數(shù)據(jù)D,計算超參數(shù)的后驗概率,更新超參數(shù)α和β。
3)計算各個模型的顯著度,選擇后驗概率最大的模型,從而確定最優(yōu)網(wǎng)絡。
在假定網(wǎng)絡權值的先驗分布和微博賬號的似然均服從指數(shù)分布的情況下,可以得到網(wǎng)絡權值的后驗分布為
在貝葉斯神經網(wǎng)絡中,微博賬號的所有行為特征的初始權值都是一樣的,但是在實際生活中,微博賬號的行為特征與決策特征的密切關系是不一樣。因此本文在貝葉斯神經網(wǎng)絡(BNN)的基礎上加入了特征加權貝葉斯算法,構成了特征加權貝葉斯神經網(wǎng)絡(WBNN)。特征加權貝葉斯神經網(wǎng)絡的整體流程如圖1所示。
通過Python爬蟲獲取微博賬號的行為特征和發(fā)布內容,最終得到2194個微博賬號的行為特征和發(fā)布內容。在微博賬號的行為特征和發(fā)布內容中一共選取了12個特征,其中包括微博的粉絲數(shù)、關注數(shù)、是否認證、微博內容相似度、點贊數(shù)、評論數(shù)、轉發(fā)數(shù)等等。然后將這些特征進行歸一化處理。為了驗證本文組合模型的有效性,通過建立BNN和BP神經網(wǎng)絡(BP-NN)模型來進行對比分析。
圖1 特征加權貝葉斯神經網(wǎng)絡的流程圖
WBNN,BNN和BP-NN的結構均為“12-200-2”形式,訓練集與測試集的比例為4∶1,學習率設置為0.1,目標誤差為0.01,訓練最大次數(shù)為500。本文的所有實驗都是在Python3.6環(huán)境下進行的。最后將預測的類別與正確的類別作對比,計算出各個模型的預測正確率。為避免隨機性對預測結果的影響,各模型每次實驗均獨立運行5次,表1給出了WBNN,BNN和BP-NN的預測準確率。
表1 WBNN,BNN和BP-NN的預測準確率
由表1可知:
1)WBNN的平均預測準確率為88.5%,BNN的平均預測準確率為72.8%,BP-NN的平均預測準確率為67.9%。
2)對比BP-NN和BNN可知,后者的預測準確率提高了4.9%,說明BNN與BP-NN相比,有著更高的預測精度,具有更強的泛化能力。
3)對比BNN和WBNN可知,后者的預測準確率提高了15.7%,說明使用特征加權貝葉斯優(yōu)化BNN的網(wǎng)絡權值可以有效地提高模型的預測精度。
為了更好地評測WBNN的分類性能,計算出WBNN和BNN的召回率,并且畫出兩種模型的ROC曲線。
圖2 WBNN和BNN的ROC曲線
由圖2可知:對比WBNN和BNN的ROC曲線可知,WBNN的AUC值提高了7%,說明WBNN有著較高的預測精度,具有更強的泛化能力。
針對微博異常賬號的檢測,提出了一種基于特征加權貝葉斯神經網(wǎng)絡的組合檢測模型,實例研究表明:
1)貝葉斯神經網(wǎng)絡比傳統(tǒng)BP神經網(wǎng)絡具有更高的預測精度,顯示出其在微博異常賬號檢測中的應用潛力;
2)與貝葉斯神經網(wǎng)絡相比,采用特征加權貝葉斯神經網(wǎng)絡對神經網(wǎng)絡進行權值和閾值尋優(yōu)時預測精度更高,表明WBNN具有更優(yōu)良、更穩(wěn)定的全局尋優(yōu)能力;
3)與其他模型相比,WBBN具有更優(yōu)良的預測性能,有效地提高了預測精度。本文所提出的組合模型能取得較高精度的微博異常賬號檢測結果。