寇曉淮,程華
(華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海200237)
基于主題模型的垃圾郵件過濾系統(tǒng)的設(shè)計與實現(xiàn)
寇曉淮,程華
(華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海200237)
垃圾郵件過濾技術(shù)在保證信息安全、提高資源利用、分揀信息數(shù)據(jù)等方面都發(fā)揮著重要作用。然而,垃圾郵件的出現(xiàn)影響了用戶的體驗,并且會造成不必要的經(jīng)濟(jì)與時間損失。針對現(xiàn)有的垃圾郵件過濾技術(shù)的不足,基于多個主題詞理論,構(gòu)建了基于樸素貝葉斯的垃圾郵件分類方法。在郵件主題獲取中,采用主題模型LDA得到郵件的相關(guān)主題及主題詞;并進(jìn)一步采用Word2Vec尋找主題詞的同義詞和關(guān)聯(lián)詞,擴(kuò)展主題詞集合。在郵件分類中,對訓(xùn)練數(shù)據(jù)集進(jìn)行統(tǒng)計學(xué)習(xí)得到詞語的先驗概率;基于擴(kuò)展的主題詞集合及其概率,通過貝葉斯公式推導(dǎo)得到某個主題和某封郵件的聯(lián)合概率,以此作為垃圾郵件判定的依據(jù)。同時,基于主題模型的垃圾郵件過濾系統(tǒng)具有簡潔易應(yīng)用的特點。通過與其他典型垃圾郵件過濾方法的對比實驗,證明基于主題模型的垃圾郵件分類方法及基于Word2Vec的改進(jìn)方法均能有效提高垃圾郵件過濾的準(zhǔn)確度。
文本分類;垃圾郵件;主題模型;貝葉斯原理
伴隨著互聯(lián)網(wǎng)的發(fā)展和普及,電子郵件已經(jīng)成為人們?nèi)粘9ぷ鳌⑸钪型ㄐ?、交流的重要手段。但由于早期的SMTP缺乏發(fā)件人認(rèn)證、大量開放式郵件中轉(zhuǎn)服務(wù)器以及互聯(lián)網(wǎng)分布式管理性質(zhì)等原因,垃圾郵件已經(jīng)成為亟待解決的問題。從電子郵件出現(xiàn)以來,研究者就在垃圾郵件攔截方面做出了大量的研究工作。然而,垃圾郵件制造者總會找到更加隱蔽且混淆的手段來躲避相關(guān)算法的檢測。對于此類研究工作,目前仍然存在兩個重要的問題:郵件是一種快速且便捷的通信方式,而大面積的廣告推廣動機(jī)促成了大量為非正當(dāng)利益而開發(fā)的反過濾技術(shù);中文詞語的豐富性和特殊性導(dǎo)致垃圾郵件與正常郵件區(qū)分難度較大,很多國外的優(yōu)秀算法在移植過程中將遭遇新的挑戰(zhàn)。
針對以上問題,本文深入分析和比較傳統(tǒng)垃圾郵件處理方法,指出了現(xiàn)有垃圾郵件過濾方法的不足,對主題模型算法及其在自然語言處理中的應(yīng)用進(jìn)行了研究,指出了主題模型算法應(yīng)用于垃圾郵件過濾的可行性與能夠解決的問題;提出了基于主題模型的垃圾郵件過濾算法;設(shè)計并實現(xiàn)了一種基于主題模型的垃圾郵件過濾模型,通過與其他方法的對比實驗,證明本文基于主題模型的垃圾郵件過濾方法及基于Word2Vec[1]的改進(jìn)方法均明顯提升了過濾準(zhǔn)確度,具有較高的應(yīng)用價值。
常見的郵箱對于垃圾郵件的過濾策略中,基于內(nèi)容對郵件過濾的方法有黑白名單、手工建立過濾規(guī)則等。手工建立規(guī)則的方法通過用戶建立一系列規(guī)則來判定垃圾郵件。顯然,這些方法的主觀性會造成大量合法郵件的誤判和垃圾郵件的漏判,并且很難做到實時的手工維護(hù),對郵件服務(wù)商的人力及經(jīng)濟(jì)造成很大壓力。因此,垃圾郵件工具逐漸傾向于引入基于內(nèi)容的機(jī)器學(xué)習(xí)判別方法[2,3]。
基于內(nèi)容垃圾郵件判別的機(jī)器學(xué)習(xí)方法,一般步驟如下。
步驟1獲取訓(xùn)練數(shù)據(jù)集合,通過多種手段渠道獲取各類電子郵件,并備注該電子郵件是否是垃圾郵件。
步驟2建立模型,使用訓(xùn)練集合訓(xùn)練模型,更新模型中的參數(shù)。
步驟3使用訓(xùn)練好的模型,對新的電子郵件進(jìn)行過濾。
總結(jié)起來就是通過已有的訓(xùn)練集合(正例、反例)訓(xùn)練出相應(yīng)的垃圾郵件規(guī)則(包括顯式規(guī)則或隱式規(guī)則),然后將規(guī)則應(yīng)用到新的郵件判別中。
最近幾年,國內(nèi)外研究者在此領(lǐng)域已經(jīng)取得了大量的研究成果。Sheu等人[4]利用決策樹模型構(gòu)建了三步法垃圾郵件過濾模式。Feng等人[5]提出了基于樸素貝葉斯分類器的訓(xùn)練集分類方法,提升了數(shù)據(jù)處理的頑健性,提出的SVM-NB方法能夠達(dá)到較高的垃圾郵件檢測精度。而Bansal等人[6]構(gòu)建了基于穿梭判定算法的垃圾詞語檢測方法,并且在谷歌郵件系統(tǒng)中做了初步的應(yīng)用。另外,廣告產(chǎn)業(yè)的發(fā)展為垃圾郵件攔截與過濾提出了新的要求,Chan等人[7]在此方向上做了針對性研究,推出了廣告環(huán)境下的垃圾郵件過濾方法。除此之外,一些其他的研究成果也引起了學(xué)術(shù)界和 IT產(chǎn)業(yè)界的廣泛關(guān)注[8-10]。曹玉東等人[11]基于改進(jìn)的局部敏感散列算法實現(xiàn)了圖像型垃圾郵件過濾,將垃圾郵件過濾方法的應(yīng)用范圍擴(kuò)大。
(1)Decision Tree方法
決策樹利用熵的概念對每次決策產(chǎn)生的結(jié)果進(jìn)行分類[4]。決策樹使用樹狀結(jié)構(gòu)對目標(biāo)分類,樹中每個節(jié)點表示某個對象,每個分叉路徑代表某個可能的屬性值,而每個葉節(jié)點則對應(yīng)從根節(jié)點到該葉節(jié)點所經(jīng)歷的路徑所表示的對象的值。
決策樹也可以被稱為分類樹,它是非常常用的分類方法。從另一個角度來說,決策樹是一種監(jiān)督學(xué)習(xí)方法。在給定樣本機(jī)器類別屬性后,決策樹通過學(xué)習(xí)能夠得到一個固定的分類器,從而給出新進(jìn)數(shù)據(jù)的具體類別。
(2)AdaBoost方法
自適應(yīng)增強(qiáng)(adaptive boosting,AdaBoost)是加權(quán)組合多個弱分類器分類結(jié)果,進(jìn)而得到更好的分類器的方法。Carreras和 Nicholas[12,13]將AdaBoost引入垃圾郵件過濾,獲得了很高的性能。AdaBoost方法的自適應(yīng)在于:后面的分類器會在那些被之前分類器分錯的樣本上訓(xùn)練。AdaBoost方法對于噪聲數(shù)據(jù)和異常數(shù)據(jù)很敏感。但在一些問題中,相比于大多數(shù)學(xué)習(xí)算法,AdaBoost方法對于過擬合問題不夠敏感。AdaBoost方法中使用的分類器可能很弱(比如出現(xiàn)很大錯誤率),但其分類效果只要比隨機(jī)好一點(比如它的二分類錯誤率略小于 0.5),就能夠改善最終模型。
(3)Rough Sets方法
Rough Sets算法是一種比較新穎的算法,粗糙集理論對于數(shù)據(jù)的挖掘提供了一個新的概念和
研究方法。將Rough Sets引入垃圾郵件過濾,采用11種非文本屬性(包括收信人數(shù)、中繼個數(shù)等)來進(jìn)行郵件分類(正常、廣告和反動)。
具體來說,所有屬性分為2種屬性:1類為條件屬性,1類為決策屬性。本文姑且把決策屬性設(shè)置在數(shù)據(jù)列的最后一列,算法的步驟依次判斷條件屬性是否能被約簡,如果能被約簡,此輸出約簡屬性后的規(guī)則,規(guī)則的形式大體類似于IF-THEN的規(guī)則。
(4)kNN方法
k-近鄰方法(k-nearest neighbour,kNN)在線性模型中是最常見的方法,通過選擇特征與數(shù)據(jù)集合中所有特征對比最近的幾個樣本的標(biāo)簽平均值表示。
對于郵件的垃圾分類,一方面郵件就是文本,屬于文本分類領(lǐng)域。另一方面,由郵件中的某些關(guān)鍵詞來推斷是否是垃圾郵件,就是一種貝葉斯條件概率方法的應(yīng)用。數(shù)據(jù)挖掘領(lǐng)域主要使用兩種貝葉斯方法,即樸素貝葉斯方法和貝葉斯網(wǎng)絡(luò)方法。貝葉斯方法的一個顯著特點,就是在知道結(jié)果的情況下了解假設(shè)的情況,也就是說,當(dāng)對某些知識知之甚少,或者毫不知情的時候,貝葉斯方法具有獨特優(yōu)勢。
在垃圾郵件檢測過程中,其主要依據(jù)正常郵件與垃圾郵件的先驗概率。而貝葉斯分類模型能夠通過適當(dāng)?shù)莫毩⑿约僭O(shè)來簡化分布,也就是樸素貝葉斯假設(shè)。在這樣的假設(shè)條件下,能夠形成樸素貝葉斯網(wǎng)絡(luò)。
貝葉斯分類算法是基于概率統(tǒng)計原理的一種分類方法,它具有運(yùn)算速度快、方法簡單、分類精度高等優(yōu)點,因而被廣泛應(yīng)用在文本分類領(lǐng)域,并表現(xiàn)出非常好的效果。
目前,貝葉斯過濾算法被廣泛使用于智能和概率系統(tǒng)中,它具有單詞學(xué)習(xí)的模式和頻率,而不需要提前預(yù)設(shè)任何規(guī)則。具體來說,貝葉斯過濾技術(shù)能夠根據(jù)垃圾郵件與正常郵件的聯(lián)系與特點進(jìn)行判斷。與傳統(tǒng)的關(guān)鍵詞檢測過濾技術(shù)相比,貝葉斯過濾算法更加復(fù)雜且智能,而反過濾方法不能破解過濾器內(nèi)部的配置,從而提升了安全性與頑健性。
樸素貝葉斯分類器是垃圾郵件內(nèi)容過濾中智能應(yīng)用的分類方法。利用這種方法,可以根據(jù)訓(xùn)練集自動訓(xùn)練,訓(xùn)練的結(jié)果反映了訓(xùn)練集的性質(zhì)。因此訓(xùn)練者可以利用一定數(shù)量的垃圾郵件和非垃圾郵件,訓(xùn)練郵件過濾器,從而達(dá)到高效、準(zhǔn)確過濾垃圾郵件的目的。
樸素貝葉斯分類的流程如圖1表示。
圖1 樸素貝葉斯分類流程
然而,樸素貝葉斯分類也有缺陷,它的假設(shè)是基于“各特征項相互條件獨立”。在很多的實際問題中,如果此下設(shè)表現(xiàn)不夠明顯,甚至出現(xiàn)不成立時,錯誤的分類將會出現(xiàn),從而影響算法的最終表現(xiàn)。在本文中,貝葉斯模型的使用將會被改善,而具體的內(nèi)容將會在第3節(jié)中被介紹。
3.1.1 算法思想
主要算法思想是基于關(guān)鍵詞技術(shù),采用樸素貝葉斯分類方法得到關(guān)鍵詞,分析郵件內(nèi)容分類到垃圾郵件的置信概率,進(jìn)而產(chǎn)生分類結(jié)果。這種方法的優(yōu)勢在于復(fù)雜度低,且應(yīng)用范圍較廣。3.1.2 基于關(guān)鍵詞的郵件過濾算法流程
從內(nèi)容上看,郵件過濾可以看成一個二值分類問題,即把郵件分為垃圾郵件類和合法郵件類?;陉P(guān)鍵詞的郵件過濾算法流程簡單來講是樸素貝葉斯方法,貝葉斯過濾算法大致由以下基本步驟組成。
步驟 1收集大量的垃圾郵件和合法郵件,建立垃圾郵件集和合法郵件集。
步驟 2提取郵件主題和郵件體中的獨立字符串,例如sale、cash等作為token串并統(tǒng)計提取出的token串出現(xiàn)的次數(shù)即字頻。按照上述的方法分別處理垃圾郵件集和合法郵件集中的所有郵件。采用貝葉斯文本分類法對訓(xùn)練樣本學(xué)習(xí),得到P(S|W)。
步驟 3每一個郵件集對應(yīng)一個散列表,合法郵件集對應(yīng)表 hashtable_good,垃圾郵件集對應(yīng)表hashtable_bad,表中存儲token串到字頻的映射關(guān)系。
步驟 4計算每個散列表中 token串出現(xiàn)的概率,可以得到 P1(ti)和 P2(ti), P1(ti)表示 ti在hashtable_good中的值(也就是token串ti在合法郵件中的概率);P2(ti)表示ti在hashtable_bad中的值(也就是token串ti在垃圾郵件中的概率):
步驟 5由步驟 2中貝葉斯文本分類法得到的 P(S|W),綜合考慮散列表 hashtable_good和hashtable_bad,推斷出當(dāng)新來的郵件中出現(xiàn)某個token串時,該新郵件為垃圾郵件的概率。計算式為:
其中,A事件表示郵件為垃圾郵件;t1,t2,…,tn代表token串;P(A|ti)表示當(dāng)token串ti出現(xiàn)在所收到的郵件中時,該郵件為垃圾郵件的概率。
假設(shè)該郵件共得到N個 token串t1,t2,…,tn,hashtable_probability中對應(yīng)的值為 P1,P2,…,Pn,P(A|t1,t2,…,tn)表示在郵件中同時出現(xiàn)多個token串t1,t2,…,tn時,該郵件為垃圾郵件的概率。
由聯(lián)合概率公式可得:
當(dāng) P(A|t1,t2,…,tn)超過預(yù)定閾值(例如 0.95)時,就可以判斷郵件為垃圾郵件。
LDA(latent Dirichlet allocation)的產(chǎn)生和發(fā)展歷經(jīng)TF-IDF、LSA、pLSA等多種主題模型方法,由于LDA模型的良好的數(shù)學(xué)基礎(chǔ)和靈活的擴(kuò)展性,一經(jīng)提出即得到了來自各個領(lǐng)域研究者的關(guān)注,被廣泛應(yīng)用在文本挖掘及信息處理的研究中[14]。
LDA模型最初是作為一種文本分類和主題聚類方法被提出,它將文檔集中每篇文檔的主題以概率分布形式給出,從而通過分析便能夠得到聚類結(jié)果。與此同時,它是一種典型的詞袋模型。也就是說,每篇文檔將會被分解為一組詞,而不用考慮先后順序。
LDA是一個三層的貝葉斯概率生成模型,由“主題—詞語”和“文檔—主題”構(gòu)成。在LDA模型中需要求解“詞語—主題”和“主題—文檔”兩個模型參數(shù)。LDA假設(shè)文本集D中各文本w有如下生成過程,如圖2所示,T表示主題的個數(shù),D表示文檔的個數(shù),Nd表示第d篇文檔中詞語的個數(shù)。
圖2 LDA模型
步驟1 確定文檔中的詞語數(shù)N,使之服從參數(shù)為ξ的泊松分布。
步驟3對于文本中N個詞中的每一個wn:確定一個主題 zn,使之服從參數(shù)為θ的多項式分布;依照概率 p( wn|zn,β)選擇每一個詞語wn。
基于主題模型抽取垃圾郵件的主題,對已知的垃圾郵件樣本進(jìn)行訓(xùn)練,提取垃圾郵件的特征,采用貝葉斯估計分類算法,構(gòu)造垃圾郵件的過濾器。利用得到的垃圾郵件過濾器,對新的郵件進(jìn)行分析、判斷,區(qū)分垃圾郵件和合法郵件,實現(xiàn)垃圾郵件的過濾。
具體實現(xiàn)步驟如下。
步驟 1采集一定數(shù)量的垃圾郵件與合法郵件,建立相應(yīng)的垃圾郵件集和合法郵件集,計算詞頻得到每個詞語出現(xiàn)的情況下該郵件是垃圾郵件的概率P(S|W)。
步驟 2利用 LDA主題模型對郵件進(jìn)行主題抽取,分類算法對已知的垃圾郵件樣本進(jìn)行訓(xùn)練,對垃圾郵件集和合法郵件集中的郵件進(jìn)行解析,并提取郵件的特征,統(tǒng)計相應(yīng)數(shù)據(jù)。LDA是一種文檔主體生成模型,也成為一個三層貝葉斯概率模型,包含詞、主體、文檔這三層結(jié)構(gòu)。生成模型,即一篇文章的每個詞都是通過以一定的概率選擇了一個主題,并從這個主題中以一定的概率選擇這個詞語的過程得到的。
步驟 3由聯(lián)合概率公式計算每個主題中所有詞語的聯(lián)合概率;得到每個主題出現(xiàn)的情況下該郵件是垃圾郵件的概率;構(gòu)造郵件分類器。
步驟 4采用貝葉斯分類器。選取一個判斷垃圾郵件適當(dāng)?shù)拈撝?,利用所建立的郵件分類器實現(xiàn)對郵件的分類。
預(yù)應(yīng)力鋼絲繩的一端直接穿入端部錨具的開口,另一端通過張拉器進(jìn)行張拉。采用對稱張拉的原則,以防結(jié)構(gòu)產(chǎn)生扭轉(zhuǎn)、側(cè)彎。張拉時從兩側(cè)向中間對稱前進(jìn),鋼絲繩布置如圖5所示。
傳統(tǒng)判斷兩個文檔相似性的辦法是查看兩個文檔共同出現(xiàn)的單詞的多少,如TF-IDF等,但這種辦法沒有考慮到文字背后的語義關(guān)聯(lián),有可能兩個文檔說的是相似的內(nèi)容但并沒有詞語上的交集。LDA提取出來的郵件主題關(guān)鍵詞能夠表達(dá)郵件較高級別的主題內(nèi)容,能夠消除主題關(guān)鍵詞之間的歧義。但是此時每個主題關(guān)鍵詞并不是使用向量表達(dá),此時本文使用Word2Vec方法,將詞語轉(zhuǎn)化為向量空間,有利于計算詞語之間的相似程度。同時使用主題詞向量距離計算方式計算距離主題最近的詞語,即用Word2Vec生成每個主題中詞語的關(guān)聯(lián)詞,作為主題詞語的擴(kuò)容,在此基礎(chǔ)上再進(jìn)行垃圾郵件判斷。
4.1.1 垃圾郵件過濾的語料庫
本文采用的垃圾郵件語料庫從網(wǎng)上采集,包含正常郵件和垃圾郵件各8 000封。圖3為比較典型的用于廣告的垃圾郵件案例。
用這兩類郵件建立垃圾郵件過濾器中詞的先驗概率。過程如下。
首先,解析所有郵件,提取每一個詞。然后,計算每個詞語在正常郵件和垃圾郵件中的出現(xiàn)頻率。例如,假定“發(fā)票”這個詞,在8 000封垃圾郵件中,有200封包含這個詞,那么它的出現(xiàn)頻率就是2.5%;而在8 000封正常郵件中,只有2封包含這個詞,那么出現(xiàn)頻率就是0.025%。有可能某個詞在已有的某一類郵件語料中未出現(xiàn),為了避免該詞的先驗概率出現(xiàn)為0的情況,設(shè)定該詞的出現(xiàn)頻次為 1。假設(shè)某個詞只出現(xiàn)在垃圾郵件中,正常郵件中沒有,就設(shè)定它在正常郵件的出現(xiàn)頻率是0.012 5%(1/8 000),反之亦然。隨著郵件數(shù)量的增加,詞的先驗概率計算結(jié)果會更接近于真實情況。
4.1.2 垃圾郵件評價指標(biāo)
為了對垃圾郵件過濾系統(tǒng)的效果做分析,需要一個評價體系來進(jìn)行評估,即一個系統(tǒng)可以判定未知文檔是否屬于某類。假定有N個郵件文檔通過分類器分別分類,可以用表1來表示人工與系統(tǒng)對郵件的評判情況。A為人工與系統(tǒng)都評判為垃圾的郵件數(shù);B為人工評判為正常,而系統(tǒng)評判為垃圾的郵件數(shù);C為系統(tǒng)評判為正常,而人工評判為垃圾的郵件數(shù);D為人工與系統(tǒng)都評判為正常的郵件數(shù)。
表1 垃圾郵件測評
定義如下幾個指標(biāo)來檢測算法對垃圾郵件的過濾效果。
(1)召回率(recall)
描述收到一封垃圾郵件時,分類器判定為垃圾郵件的概率,召回率越高,表示分類器對郵件分類效果越顯著,計算式為:
(2)正確率(precision)
描述分類器對正常郵件和垃圾郵件都能正確分辨的概率,將垃圾郵件判為垃圾郵件和將非垃圾郵件判為合法郵件的概率,正確率越高表示分類器的效果越理想,計算式為:
(3)誤判率(misjudge)
圖3 垃圾郵件案例
描述正常郵件的誤判率,將非垃圾郵件判為垃圾郵件的概率,這是描述一個分類器是否有效的關(guān)鍵指標(biāo),如果誤判率很高,則說明分類器沒有起到很好的分類效果,誤判率越低表示正常郵件被判為垃圾郵件的概率越小,計算式為:
(4)精確率(accuracy)
分類器對正常郵件分類的正確性,精確率越高表示郵件對正常郵件的判別越正確,計算式為:
在對實驗結(jié)果的評估中將會比較以上數(shù)值。準(zhǔn)確率 P 是郵件被正確分類的概率,召回率是指實驗方法將郵件正確分類的概率,F(xiàn)1值則是指β=1時的F值,是最常用的F值之一,可以看作模型準(zhǔn)確率和召回率的一種加權(quán)平均。這3個值都是數(shù)值越高所代表的分類效果越優(yōu)秀。
4.2.1 LDA主題抽取
步驟 1首先用 jieba分詞算法分詞后得到300個分詞文件,名稱如1-seg.txt、2-seg.txt等。例如,“合金”“批發(fā)”“朋友”“爸媽”等詞語。
步驟2再用LDA主題模型算法解析300封郵件,得到20個主題詞組,如:“0.090*‘交涉’+0.090*‘小白臉’+0.090*‘力阻’+ 0.090*‘撕破臉’+ 0.090*‘私事’”。
步驟3最后得到300×20維的權(quán)值矩陣,300表示300封郵件,20表示20個主題,即每封郵件和20個主題之間的相關(guān)度。
采用 LDA主題模型算法,從測試集中選取300封郵件進(jìn)行主題抽取20個主題,主題詞確定為10個,選取兩個具有代表性的主題,結(jié)果見表2。4.2.2 LDA反垃圾郵件過濾實驗結(jié)果與分析
為了有效地驗證該方法的可行性,選用正常郵件和垃圾郵件各8 000封,共16 000封作為訓(xùn)練集;另取正常郵件和垃圾郵件各150封,共300封作為測試集。用本文基于LDA的垃圾郵件過濾方法進(jìn)行實驗,其中主題數(shù)確定為20個,主題詞為10個,共完成5組實驗,結(jié)果見表3。
表2 主題模型結(jié)果
表3 基于LDA的垃圾郵件過濾方法測試結(jié)果
在實驗中,把垃圾郵件的概率跟合法郵件的概率做比較,需要選擇判定垃圾郵件概率的閾值。閾值的控制比較重要,如果太大則會漏掉大量垃圾郵件,通過實驗確定最佳閾值為0.43左右。
(1)與其他方法比較
為了更好地說明本文設(shè)計算法的有效性,本文選取了積累典型的垃圾郵件過濾方法進(jìn)行比較,包括基于Na?ve Bayes的郵件過濾方法[15,16]、基于SVM的郵件過濾方法[17]、基于kNN的郵件過濾方法[18]、基于MTM(message topic model)的郵件過濾方法[3]、基于決策樹的三步郵件過濾方法[4]、基于SVM-NB的郵件過濾方法[5]。其中,前3種方法是以簡單機(jī)器學(xué)習(xí)為基礎(chǔ)的郵件過濾方法,MTM方法建立了一種有效的方式,用來檢測郵件主題詞,三步郵件過濾法是以決策樹為基礎(chǔ)的,而SVM-NB方法是基于樸素貝葉斯分類分類的方式,對比見表4。
表4 各種不同方法郵件測試結(jié)果
由表4可知,本文基于LDA的垃圾郵件過濾方法使垃圾郵件的召回率相比Na?ve Bayes方法、SVM方法、kNN方法、MTM方法、決策樹方法有很大提升,分別上升了17%、2%、10%、3%、4%;識別正確率和Na?ve Bayes相同,而相比SVM方法、kNN方法則分別提高了2%、10%;F1值相比Na?ve Bayes方法、SVM方法、kNN方法、MTM方法、決策樹方法以及SVM-NB方法分別提高了10%、2%、10%、3%、4%、2%。
在基于決策樹三步郵件過濾方法中,它利用決策樹模型構(gòu)建了三步法垃圾郵件過濾模式。對于SVM-NB算法,它提出了基于樸素貝葉斯分類器的訓(xùn)練集分類方法,提升了數(shù)據(jù)處理的頑健性,此方法能夠達(dá)到較高的垃圾郵件檢測精度。相比于這兩種方法,本文推出的LDA算法能夠更好地提取文本特征,從而達(dá)到更高的分類精度?;贚DA的垃圾郵件過濾方法在垃圾郵件正確率方面和 Na?ve Bayes方法相同,在垃圾郵件的召回率方面高于這3種方法,并且具有較高的F1測試值。這說明該方法在性能上要優(yōu)于Na?ve Bayes、SVM、kNN方法。
(2)采用不同主題數(shù)的結(jié)果比較
在實驗(1)中,選擇主題數(shù)為20個,主題詞為10個,共完成了5組實驗,并且與另外3種郵件過濾方法進(jìn)行了比較。在本實驗中選擇主題詞仍為10個,分別選擇主題數(shù)為10、15、20、25個進(jìn)行實驗,結(jié)果見表5。
表5 不同主題數(shù)下的測試結(jié)果
分析實驗結(jié)果如圖4、圖5所示,在選取合適閾值的條件下,系統(tǒng)的召回率和正確率隨著主題數(shù)的增加而提高。其原因是,隨著主題數(shù)的增加,對測試集郵件的語義劃分更明確,進(jìn)而使得系統(tǒng)的召回率和正確率明顯提升?;谶@樣的原理,本方法可以取得較好的垃圾郵件過濾結(jié)果。4.2.3 基于改進(jìn)的主題垃圾郵件過濾方法實驗結(jié)果與分析
圖4 不同主題數(shù)下的召回率和正確率
圖5 不同主題數(shù)下的閾值
改進(jìn)的方法主要將獲得的主題進(jìn)行擴(kuò)展,用Word2Vec方法得到每個主題中詞的幾個相關(guān)的詞,將獲得的詞重新構(gòu)建主題組。
下面列舉幾個主題詞經(jīng)過 Word2Vec計算后得到的結(jié)果,如圖6所示。
圖6 主題詞經(jīng)過Word2Vec計算后得到的結(jié)果
以其中一個主題為例,通過Word2Vec擴(kuò)展原主題詞為12個詞,見表6。
表6 原主題與擴(kuò)展主題
這里實驗過程分兩個步驟。
步驟1 將重建的主題組再次經(jīng)LDA算法獲得權(quán)值矩陣。
步驟2 再用測試集進(jìn)行測試,得到最終的實驗結(jié)果。
在本實驗中選擇主題數(shù)為 20個,主題詞由10個擴(kuò)展為12個,共完成了5組實驗。
測試結(jié)果見表7。
表7 基于Word2Vec改進(jìn)的垃圾郵件過濾方法測試結(jié)果
分析表7,改進(jìn)方法在增加2個關(guān)聯(lián)主題詞的情況下,在F1值上比原方法改進(jìn)明顯,在5次實驗中有3次獲得了較大的提高,證明了改進(jìn)方法的有效性。
本文對基于主題模型的垃圾郵件過濾系統(tǒng)的設(shè)計與實現(xiàn)進(jìn)行了分析和驗證,與傳統(tǒng)的關(guān)鍵詞檢測過濾技術(shù)相比,貝葉斯過濾算法更加有效且智能,從而提升了系統(tǒng)的安全性與頑健性。通過與其他典型垃圾郵件過濾方法的對比及驗證,證明基于主題模型的垃圾郵件分類方法及基于Word2Vec的改進(jìn)方法均能有效提高垃圾郵件過濾的準(zhǔn)確度。
在未來的研究中,基于語義的文本分類具有非常大的潛力。針對自然語言的具體層次結(jié)構(gòu),機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的方式已經(jīng)在其他領(lǐng)域表現(xiàn)出非常強(qiáng)大的處理能力。在這種背景下,郵件攔截方法的設(shè)計可以參考相關(guān)研究成果進(jìn)行深入探索??傊?,未來的郵件攔截系統(tǒng)將會具有非常大的改進(jìn)空間,因此相關(guān)的研究需要被重點關(guān)注。
[1] MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[J]. arXiv preprint arXiv:1301.3781, 2013.
[2] 祝毅鳴, 張波. 實時黑名單在垃圾郵件過濾系統(tǒng)中的應(yīng)用[J].科技資訊,2012(12):33.ZHU Y M, ZHANG B. Application of real time blacklist in spam filtering system[J]. Science & Technology Information,2012(12):33.
[3] MA J, ZHANG Y, WANG Z, et al. A message topic model for multi-grain SMS spam filtering[J]. International Journal of Technology & Human Interaction, 2016, 12(2):83-95.
[4] SHEN J J, CHEN Y K, CHU K T, et al. An intelligent three-phase spam filtering method based on decision tree data mining[J]. Security & Communication Networks, 2016, 9(17):4013-4026.
[5] FENG W, SUN J, ZHANG L, et al. A support vector machine based naive Bayes algorithm for spam filtering[C]// 2016 Performance Computing and Communications Conference, Dec 9-11, 2016, Las Vegas, NV, USA. New Jersey: IEEE Press,2017:1-8.
[6] BANSAL R P, HAMILTON I R A. O'CONNELL B M, et al.System and method to control email whitelists: US, US 8676903 B2[P]. 2014.
[7] CHAN P P K, YANG C, YEUNG D S, et al. Spam filtering for short messages in adversarial environment[J]. Neurocomputing,2015, 155(C):167-176.
[8] DEVI K S, RAVI R. A new feature selection algorithm for Efficient Spam Filtering using Adaboost and Hashing techniques[J].Indian Journal of Science & Technology, 2015, 8(13).
[9] AFZAL H, MEHMOOD K. Spam filtering of bi-lingual tweets using machine learning[C]// International Conference on Advanced Communication Technology, Jan 31-Feb 3, 2016,Pyeongchang, South Korea. New Jersey: IEEE Press, 2016.
[10] DAS M, BHOMICK A, SINGH Y J, et al. A modular approach towards image spam filtering using multiple classifiers[C]//2014 IEEE International Conference on Computational Intelligence and Computing Research. Dec 20, 2014, Coimbatore, India. New Jersey: IEEE Press, 2015:1-8.
[11] 曹玉東, 劉艷洋, 賈旭, 等. 基于改進(jìn)的局部敏感散列算法實現(xiàn)圖像型垃圾郵件過濾[J]. 計算機(jī)應(yīng)用研究, 2016,33(6):1693-1696.CAO Y D, LIU Y Y, JIA X, et al. Image spam filtering with improved LSH algorithm[J]. Application Research of Computers,2016, 33(6):1693-1696.
[12] 徐凱, 陳平華, 劉雙印. 基于 Adaboost-Bayes算法的中文文本分類系統(tǒng)[J]. 微電子學(xué)與計算機(jī), 2016, 33(6):63-67.XU K, CHEN P H, LIU S Y. A Chinese text classification system based on Adaboost-Bayes algorithm[J]. Microelectronics & Computer, 2016, 33(6):63-67.
[13] 周慶良. 一種基于 Adaboost和分類回歸樹的垃圾郵件過濾算法[D]. 武漢: 華中科技大學(xué), 2016.ZHOU Q L. A spam filtering algorithm based on Adaboost and classification regression tree[D]. Wuhan: Huazhong University of Science and Technology, 2016.
[14] SMITH D A, MCMANIS C. Classification of text to subject using LDA[C]//2015 IEEE International Conference on Semantic Computing (ICSC), Feb 7- Feb 9, 2015, Anaheim, CA, USA.New Jersey: IEEE Press, 2015: 131-135.
[15] 趙治國, 譚敏生, 李志敏. 基于改進(jìn)貝葉斯的垃圾郵件過濾算法綜述[J]. 南華大學(xué)學(xué)報: 自然科學(xué)版, 2006, 20(1): 33-38.ZHAO Z G, TAN M S, LI Z M. Review of spam filter algorithms based on improved Bayes[J]. Journal of Nanhua University(Science and Technology), 2006, 20(1): 33-38.
[16] 林巧民, 許建真, 許棣華, 等. 基于貝葉斯算法的垃圾郵件過濾技術(shù)[J]. 南京師范大學(xué)學(xué)報: 工程技術(shù)版, 2005, 5(4):61-64.LIN Q M, XU J Z, XU D H, et al. Research on Bayes-based spam filtering[J]. Journal of Nanjing Normal University(Engineering and Technology), 2005, 5(4): 61-64.
[17] LI L, MAO T, HUANG D. Extracting location names from Chinese texts based on SVM and KNN[C]// 2005 IEEE International Conference on Natural Language Processing and Knowledge Engineering(IEEE NLP-KE'05), Oct 30-Nov 1, Wuhan,China. New Jersey: IEEE Press, 2005: 371-375.
[18] 林文香. 改進(jìn)的KNN算法在過濾垃圾郵件中的應(yīng)用研究[D].長沙: 湖南大學(xué), 2010.LIN W X. Application of improved KNN algorithm in spam e-mail filtering[D]. Changsha: Hunan University, 2010.
Design and implementation of spam filtering system based on topic model
KOU Xiaohuai, CHENG Hua
College of Information Science and Engineering, East China University of Science and Technology, Shanghai 200237, China
Spam filtering technology plays a key role in many areas including information security, transmission efficiency, and automatic information classification. However, the emergence of spam affects the user's sense of experience, and can cause unnecessary economic and time loss. The deficiency of spam filtering technology was researched, and a method of spam classification based on naive Bayesian was put forward based on multiple keywords.In the subject of mail, the theme model was used by LDA to get the related subject and keyword of the message, and Word2Vec was further used to search keyword synonyms and related words, extending the keyword collection. In the classification of mails, the transcendental probability of the words in the training dataset was obtained by statistical learning. Based on the extended keyword collection and its probability, the joint probability of a subject and a message was deduced by the Bayesian formula as a basis for the spam judgment. At the same time, the spam filtering system based on topic model was simple and easy to apply. By comparing experiments with other typical spam filtering method, it is proved that the method of spam classification based on theme model and the improved method based on Word2Vec can effectively improve the accuracy of spam filtering.
text classification, spam, topic model, Bayesian theory
TP393
A
10.11959/j.issn.1000?0801.2017313
2017?05?12;
2017?09?16
寇曉淮(1989?),男,華東理工大學(xué)信息科學(xué)與工程學(xué)院碩士生,主要研究方向為信息分析與處理、智能信號處理和網(wǎng)絡(luò)與信息安全。
程華(1975?),男,博士,華東理工大學(xué)信息科學(xué)與工程學(xué)院副教授,主要研究方向為信息安全、信號處理、網(wǎng)絡(luò)行為學(xué)和流量工程。