徐娟 卞良

摘要:為有效攔截、過(guò)濾垃圾郵件,本文研究基于SVM的中文垃圾郵件過(guò)濾技術(shù)。經(jīng)測(cè)試實(shí)驗(yàn)表明,該方法能夠有效的預(yù)測(cè)中文垃圾郵件,在準(zhǔn)確率、精度、召回率方面表現(xiàn)較優(yōu)。
關(guān)鍵詞:支持向量機(jī)算法;中文垃圾郵件預(yù)測(cè);中文分詞
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2020)01-0038-02
0 引言
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,電子郵件為人們提供便捷地服務(wù),同時(shí)隨之產(chǎn)生的垃圾郵件也帶來(lái)了巨大的影響。大量垃圾郵件不僅占用網(wǎng)絡(luò)帶寬,同時(shí)也消耗存儲(chǔ)空間。不僅影響網(wǎng)絡(luò)傳輸和運(yùn)算速度,同時(shí)嚴(yán)重影響郵件服務(wù)器的正常工作。
1 相關(guān)技術(shù)
1.1 中文分詞技術(shù)
我們采用jieba分詞進(jìn)行中文語(yǔ)句切分,jieba分詞是一種結(jié)合基于規(guī)則和基于統(tǒng)計(jì)這兩類方法的分詞工具,它提供全模式、搜索引擎模式以及精確模式三種分詞方式。全模式主要目標(biāo)是掃出所有可以成詞的詞語(yǔ),分詞力度較細(xì)。搜索引擎模式,適合用于搜索引擎分詞。除了可以進(jìn)行分詞外,它還可以進(jìn)行詞性標(biāo)注。精確模式分詞適用于文本分析。
1.2 垃圾郵件過(guò)濾技術(shù)
目前垃圾郵件過(guò)濾主要是黑白名單過(guò)濾、基于規(guī)則過(guò)濾和基于內(nèi)容統(tǒng)計(jì)過(guò)濾三種方式。樸素貝葉斯、支持向量機(jī)、最近鄰等算法是基于內(nèi)容統(tǒng)計(jì)的過(guò)濾方式。
黑白名單是一種被廣泛應(yīng)用的垃圾郵件過(guò)濾技術(shù)。黑名單主要基于拒絕列表,首先將目標(biāo)郵件的Email地址、IP地址或域名加入拒絕列表,也稱“黑名單”,當(dāng)郵件服務(wù)器接收到新郵件時(shí),先到拒絕列表上查找。白名單主要基于信任列表,信任列表也稱白名單,其內(nèi)容和黑名單拒絕列表一致。但其檢驗(yàn)原則是:信任列表中存在的名單用戶均合法,均為可靠聯(lián)系人。當(dāng)郵件服務(wù)器檢測(cè)到與拒絕列表相反的用戶時(shí),將用戶的郵箱地址標(biāo)記為可信任并記入白名單。每當(dāng)接收到白名單內(nèi)聯(lián)系人的郵件時(shí),郵件系統(tǒng)自動(dòng)將其標(biāo)記為正常郵件。
樸素貝葉斯過(guò)濾法是中文、英文垃圾郵件檢測(cè)領(lǐng)域中的常用方法,被廣泛應(yīng)用于各類反垃圾郵件軟件中。樸素貝葉斯算法是一種基于規(guī)則的分類法,該算法將郵件分為兩種類型,即垃圾郵件和非垃圾郵件(正常郵件),算法通過(guò)分析兩類郵件中各特征詞分別出現(xiàn)的初始概率,并進(jìn)行記錄。
支持向量機(jī)(Support Vector Machine),簡(jiǎn)稱SVM,是美國(guó)統(tǒng)計(jì)學(xué)習(xí)理念的創(chuàng)始人Vapnik等提出的一種機(jī)器學(xué)習(xí)方法。該算法首先將訓(xùn)練數(shù)據(jù)集由低維空間映射至高維空間,在目標(biāo)高維空間內(nèi)求解最優(yōu)線性分類超平面,由此在輸入空間產(chǎn)生一個(gè)最優(yōu)非線性決策邊界。在實(shí)際應(yīng)用中,我們獲得的訓(xùn)練數(shù)據(jù)并不總是完美的線性可分,其中可能會(huì)有個(gè)別噪聲點(diǎn),這些噪聲點(diǎn)錯(cuò)誤的被分類到了其他類中,將會(huì)直接導(dǎo)致分類結(jié)果產(chǎn)生嚴(yán)重誤差。如果將這些特異的噪點(diǎn)去除后,可以很容易的線性可分。但是,我們無(wú)法確定對(duì)于龐大數(shù)據(jù)集中哪些是噪聲點(diǎn)。對(duì)于這類線性不可分問(wèn)題,本文選擇RBF核函數(shù)解決。
1.3 評(píng)價(jià)指標(biāo)
本文使用準(zhǔn)確率(Accuracy)、精度(Precision)、召回率(Recall)來(lái)評(píng)價(jià)預(yù)測(cè)算法。下文中變量均源于表1中2*2混肴矩陣。真正例(TP)是指模型將正類別樣本正確地預(yù)測(cè)為正類別。真負(fù)例(TN)是指模型將負(fù)類別樣本正確地預(yù)測(cè)為負(fù)類別。假正例(FP)是指模型將負(fù)類別樣本錯(cuò)誤地預(yù)測(cè)為正類別。假負(fù)例(FN)是指模型將負(fù)類別樣本正確地預(yù)測(cè)為負(fù)類別。
正確率是我們最常見(jiàn)的評(píng)價(jià)指標(biāo),也稱查準(zhǔn)率,通常來(lái)說(shuō),正確率越高,分類器越好。正確率的求解公式為:Accuracy = (TP+TN)/(TP+FP+FN+TN);
精度是精確性的度量指標(biāo),表示被分為正例的示例中實(shí)際為正例的比例。精度求解公式為:Precision=TP/(TP+FP);
召回率是覆蓋面的度量指標(biāo),也稱查全率,召回率度量有多個(gè)正例被分為正例。召回率計(jì)算公式為:Recall=TP/(TP+FN)。
2 垃圾郵件預(yù)測(cè)
本文實(shí)現(xiàn)了基于RBF核函數(shù)的SVM中文垃圾郵件檢測(cè)系統(tǒng),并對(duì)郵件檢測(cè)系統(tǒng)進(jìn)行量化評(píng)價(jià)。人工收集、匯總8000封郵件作為數(shù)據(jù)集,我們選取數(shù)據(jù)集中3100垃圾郵件、2900正常郵件為訓(xùn)練樣本數(shù)據(jù)集,并對(duì)訓(xùn)練樣本做類別標(biāo)注。對(duì)已標(biāo)注類別的訓(xùn)練樣本,首先,對(duì)所有的文本進(jìn)行數(shù)據(jù)預(yù)處理,去除特殊字符、停頓詞。然后,使用jieba分詞進(jìn)行中文分詞,得到總詞庫(kù),使用詞頻向量法,選取3000高頻分別構(gòu)建正常郵件和垃圾郵件的特征向量。最后,根據(jù)得到的特征詞,采用Java、Scikit-Learn庫(kù)進(jìn)行預(yù)測(cè)機(jī)模型訓(xùn)練。針對(duì)測(cè)試樣本數(shù)據(jù)集中的每一封郵件,采用模型預(yù)測(cè)其類別,對(duì)整體結(jié)果進(jìn)行統(tǒng)計(jì)分析。垃圾郵件預(yù)測(cè)流程如圖1所示。
3 測(cè)試與結(jié)果
本文測(cè)試樣本集,包含垃圾郵件數(shù)為1036封、正常郵件數(shù)為964封,測(cè)試結(jié)果:在964個(gè)正常郵件測(cè)試樣本中,使用本文的郵件檢測(cè)系統(tǒng)分類正確的郵件數(shù)為896,在1036個(gè)垃圾郵件測(cè)試樣本中,使用本文的郵件檢測(cè)系統(tǒng)分類正確的郵件數(shù)為932。由此可得到本系統(tǒng)的平均準(zhǔn)確率為91.4%左右,精度92.9%,召回率89.6%。
4 結(jié)語(yǔ)
本文研究基于支持向量機(jī)SVM的中文垃圾郵件過(guò)濾技術(shù)。經(jīng)測(cè)試實(shí)驗(yàn)表明,該方法能夠有效的預(yù)測(cè)中文垃圾郵件,在準(zhǔn)確率、精度、召回率方面表現(xiàn)較優(yōu)。人工收集匯總數(shù)據(jù)存在人為主觀性、收集數(shù)據(jù)量少的特點(diǎn),訓(xùn)練數(shù)據(jù)集中提取得特征詞無(wú)法較為全面表征垃圾郵件特征。在后續(xù)工作中,我們將采用自動(dòng)化郵件采集器,同時(shí)改進(jìn)特征提取方法并引入特征詞數(shù)據(jù)字典,從而進(jìn)一步提高分類準(zhǔn)確性。
參考文獻(xiàn)
[1] 施麗容.基于P2P網(wǎng)絡(luò)結(jié)構(gòu)的垃圾郵件識(shí)別技術(shù)研究[D].成都:西南交通大學(xué),2008.
[2] 周志華.機(jī)器學(xué)習(xí)[J].航空港,2018(2):94.