孔 穎
(浙江科技學院信息與電子工程學院,杭州310023)
電子郵件作為一種高效、經濟的現(xiàn)代通信技術手段,已成為互聯(lián)網(wǎng)最大的應用項目之一。然而,隨之產生的垃圾郵件像瘟疫一樣蔓延,污染網(wǎng)絡環(huán)境,占用大量傳輸、存儲和運算資源,影響了網(wǎng)絡的正常運行,嚴重干擾了人們的正常生活,浪費用戶的時間、精力,甚至造成很多額外的經濟支出和信息安全隱患。垃圾郵件的判定和郵件的接收者有很大關系,不同用戶對同一郵件的判斷結果可能會存在差異。在《中國互聯(lián)網(wǎng)協(xié)會反垃圾郵件規(guī)范》中,將垃圾郵件定義為具備如下部分或全部特征的電子郵件:
1)收件人事先沒有提出要求或同意接收的廣告、電子刊物、各種形式的宣傳品等宣傳性的電子郵件;
2)收件人無法拒收的電子郵件;
3)隱藏發(fā)件人身份、地址、標題等信息的電子郵件;
4)含有虛假的信息源、發(fā)件人、路由等信息的電子郵件;
5)含有病毒、惡意代碼、色情、反動等不良信息或有害信息的電子郵件。
基于內容的機器學習判別方法是當前解決垃圾郵件問題的主流技術之一,包括Ripper、決策樹方法、Rough Set方法等基于規(guī)則的方法,和 Bayes、SVM、動態(tài)馬爾可夫建模(Dynamic Markov Modeling,DMM)、Winnow等基于概率統(tǒng)計的方法[1-2]。這些方法的基本思路是:將垃圾郵件過濾看成一個兩類問題,研究從樣本郵件出發(fā)尋找規(guī)律(或分類器),利用規(guī)律(或分類器)對未知郵件進行預測。隨著人工智能、計算機技術的創(chuàng)新和發(fā)展,這種將機器學習方法應用于郵件分類領域一直成為當前研究的熱點和重點。
本文在簡要介紹基于HTML的卡方特征提取算法的基礎上,將卡方特征提取和HTML標簽相結合,通過神經網(wǎng)絡建立模型,對郵件進行預測,得到了較好的實驗結果。
首先需要將收集到的郵件轉換為H TML形式,這樣可以將郵件特征使用標簽來表示。由圖1可以看到一封瀏覽器接收到的郵件示例。
將圖1所示的郵件轉換為HTML格式,由于文本文件的通用性,所有的郵件均可轉換為HTML代碼。而HTML為各類標簽所組成,對于不同的標簽而言,其所代表的含義各不相同,當然,處于標簽中的內容所代表的含義也不同,表1大致給出了基本標簽所代表的含義。
圖1 郵件示例圖Fig.1 An example of an e-mail
表1 基本標簽含義表Table 1 Meanings of basic tags
當然,標簽中許多都是用于格式控制的,對于文本內容沒有任何影響,不會使文本特征丟失。將郵件轉換格式后為了便于進一步進行特征提取,需要對某些細節(jié)進行一些處理,其中主要的方式為:去除含有圖片的標簽;去除超鏈接的標簽;不考慮標簽中與附件有關的內容;將特殊符號轉化為特殊的標簽。
完成了細節(jié)處理后,需要對各種標簽進行分類,以便于對不同標簽內的內容賦予不同的權值,達到最終的特征提取目的。根據(jù)HTML語言的特點,在標簽分類時使用如表2所示的方式。
特征提取將標簽中最為相關的特征集中在一個數(shù)據(jù)集中,考慮到整個數(shù)據(jù)集包含所有郵件的特征,如郵件中的單詞、圖片和它們在預處理時所產生的標簽等[3]。由于特征提取廣泛用于文本的分類,通常這些分類方法也可以用于處理垃圾郵件,在本實驗中采用了2種提取法:TF-IDF算法和卡方分布算法。
卡方分布處理的是某個特征的度與整個數(shù)據(jù)集之間的關系[4]。如w是數(shù)據(jù)集C(由兩部分構成)中的一個特征,則w的卡方值可用式(1)給出
式(1)中P(spam)和P(ham)分別表示垃圾郵件和正常郵件在數(shù)據(jù)集中出現(xiàn)的概率,這樣就可以給出特征w在整個數(shù)據(jù)集中的卡方分布,如式(2)所示:
式(2)中:k為正常郵件數(shù)據(jù)集中包含特征w的郵件數(shù)量;l為垃圾郵件中包含特征w的郵件數(shù)量;m為正常郵件數(shù)據(jù)集中不包含特征w的郵件數(shù)量;n為垃圾郵件數(shù)據(jù)集中不包含特征w的郵件數(shù)量;N為正常郵件數(shù)據(jù)集中所有郵件的數(shù)量。同樣的,所有的特征的卡方值均取其最高值,最終這些值均作為神經網(wǎng)絡中的一個節(jié)點。
目前加權使用最廣泛的算法 ——TF-IDF加權算法[5-6]:
式(3)中,W(t,d)為特征項t在郵件d中的權重;tf(t,d)為特征項t在郵件內容中的詞頻;N為訓練文本的總數(shù);nt為訓練郵件集中出現(xiàn)特征項t的郵件數(shù)。用TF-IDF算法來計算特征詞的權重值是表示當一個詞在這篇郵件中出現(xiàn)的頻率越高,同時在其他文檔中出現(xiàn)的次數(shù)越少,則表明該詞對于表示這篇文檔的區(qū)分能力越強,所以其權重值就應該越大[7]。將所有詞的權值排序,根據(jù)需要選擇特征項。
為消除文檔長度不一對文本表示方式的可能影響,往往需要對加權后的向量進行規(guī)范化處理,使得權值落在[0,1]中。即:
表2 標簽相關特征Table 2 Characteristics of tags
LVQ神經網(wǎng)絡是一類混合神經網(wǎng)絡,它分為有人值守和無人值守[7]。本實驗中將模型分為兩層,第一層是競爭層,該層中每個節(jié)點表示一個子集;而第二層為輸出層,每一個節(jié)點均為一個集。每個集可以劃分為若干個子集。由于LVQ神經網(wǎng)絡可以通過結合不同的子集創(chuàng)造復雜的界限,故適合于將垃圾郵件從若干不同的子集中分辨出來。以下為篩選算法:
1)初始化向量權重W={W1,W2,…,Wn},學習率α∈[0,1]。
2)從訓練郵件集中選取一個示例,計算它各個向量之間的距離,分別取歐幾里德距離和余弦距離,這些可以表示不同文本之間的相似性[8]。其中余弦距離可用式(5)表示:
3)比較不同權向量之間的距離,在結果中,神經元之間最為相似的取值1,其余隱藏層的輸出層取值0。
4)調整距離,如果一個輸入示例屬于數(shù)據(jù)集r,那么在數(shù)據(jù)集s中神經元c擁有最大的權值,然后根據(jù)式(7)調整各個權值:
5)修改學習率U(t),當重復增加時降低U(t)。
6)檢查停止狀況,并確認重復的次數(shù)足夠多。
使用上述方法提取特征之后代入LVQ神經網(wǎng)絡進行計算,使用MATLAB可以模擬出如圖2的LVQ神經網(wǎng)絡。
郵件預處理是建立在訓練模型的基礎上的,因為用LVQ神經網(wǎng)絡建立的模型是建立在許多學習樣本郵件基礎上的,需要巨大的計算資源。因此,用于建模的郵件如何進行預處理十分關鍵。
圖2 LVQ神經網(wǎng)絡Fig.2 LVQ neural network
在特征提取過程中,通過把普通的郵件轉化成HTML標簽形式,減少分類過程中產生的特征向量數(shù),把每個特征所出現(xiàn)的概率用到卡方算法中,最后再通過LVQ神經網(wǎng)絡建立模型,進行郵件分類。電子郵件過濾模型如圖3所示。
評價一個解決分類問題的模型是否適用的一個直接手段就是看它的錯分率,即錯誤分類數(shù)與總記錄數(shù)的比值。所示必須測量用來建立模型和在建立模型過程中沒有用到的記錄組成的測試樣本,選擇最具有普遍意義的而不是最適合訓練樣本的模型。
考慮N封待測試郵件(Ns封垃圾郵件和N b封垃圾郵件,N=Ns+Nb),在算法郵件分類模型中,垃圾郵件被分類器正確判定的有A封,誤判的有B封;正常郵件被分類器正確判定的有C封,誤判的有D封,顯然Ns=A+B,Nb=C+D。根據(jù)定義,有下列各式成立:
圖3 電子郵件過濾模型Fig.3 Filtering model of an e-mail
垃圾郵件過濾應用模型采用ham%、spam%和Accuracy等傳統(tǒng)分類指標,來分析特征提取和特征值計算方法、訓練模型的選擇對郵件分類模型的影響。
本次實驗使用的是SEWM2008比賽中的數(shù)據(jù)集作為評測數(shù)據(jù)集郵件樣本。抽取樣本中的4 000封,其中正常郵件有3 120封,垃圾郵件有880封。分別用基于HTML的卡方和TF-IDF兩種不同的特征提取方法,把得到的郵件特征向量通過LVQ神經網(wǎng)絡模型進行過濾,從而得到的實驗結果,如表3所示。
表3 各實驗結果比較Table 3 Comparison of experimental results
從表3實驗結果的比較可以看出,在數(shù)據(jù)集足夠大時,采用LVQ神經網(wǎng)絡的分類器對于不同方法提取的數(shù)據(jù)集均有較好的結果,其中采用卡方分布法提取的數(shù)據(jù)集在處理結果方面略微優(yōu)于傳統(tǒng)的TFIDF提取的數(shù)據(jù)集。實驗還表明,不管是正常郵件分類、垃圾郵件分類還是整體分類,都具有較高的準確率。
從基于HTML的卡方特征提取方法和LVQ神經網(wǎng)絡分類器結果可以看出,該模型是一種較好的垃圾郵件處理系統(tǒng)。通過轉換郵件文本為HTML代碼,便于處理其中內容,而使用LVQ神經網(wǎng)絡的分類器,在數(shù)據(jù)集足夠大時所得結果往往優(yōu)于同等情況下的其他分類器,這在實際應用時具有一定的參考價值。
[1] YIH W T,MCCANN R,KOLCZ A.Improving spam filtering by detecting gray mail[C]//Fourth Conference on Email and Anti-Sparn.Mountain View,CA:CEAS,2007.
[2] CLEARY J G,WRITTEN I H.Data compressing using adaptive coding and partial string matching[J].IEEE Transaction on Communications,1984,32(4):396-402.
[3] ZEITOUN I K,YEH L.Join indices as atool for spatial datamining[C]//International Workshop on Temporal,Spatial and Spatio-Temporal Data Mining,Lecture Notes in Artificial Intelligence.Paris:Springer Press,2007:102-114.
[4] 劉洋,杜孝平,羅平,等.垃圾郵件的智能分析、過濾及Rough集討論[R].武漢:第十二屆中國計算機學會網(wǎng)絡與數(shù)據(jù)通信學術會議,2002.
[5] 王斌,潘文鋒.基于內容的垃圾郵件過濾技術綜述[J].中文信息學報,2005,19(5):1-10.
[6] 程紅蓉,秦志光,萬明成,等.圖像垃圾郵件中文本區(qū)域的自動提取方法[J].解放軍理工大學學報:自然科學版,2009,10(3):258-261.
[7] 王龍,李曉光,鐘紹春.基于K-近鄰法及移動AGENT技術的垃圾郵件檢測系統(tǒng)研究[J].計算機應用研究,2009,26(7):2630-2632.
[8] 萬明成,耿技,程紅蓉,等.圖像型垃圾郵件過濾技術綜述[J].計算機應用研究,2008,25(9):2579-2582.