999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

機器學習在垃圾郵件過濾中的實現(xiàn)

2021-04-22 16:10:08馮軍軍李力
電腦知識與技術 2021年8期
關鍵詞:特征提取

馮軍軍 李力

摘要:隨著通信技術的發(fā)展,垃圾郵件越來越多,對個人和中小企業(yè)危害也越來越大。該文介紹垃圾郵件識別使用的數(shù)據(jù)集以及特征提取方法,包括詞袋模型和詞匯表模型,然后介紹樸素貝葉斯、支持向量機、多層感知機、卷積神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡在垃圾郵件過濾的實現(xiàn),經(jīng)過對比發(fā)現(xiàn)多層感知機和卷積神經(jīng)網(wǎng)絡效果最好。

關鍵詞:垃圾郵件;特征提取;NB;SVM;MLP;CNN;RNN

中圖分類號:TP393? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)08-0154-02

1 引言

垃圾郵件是指收件人拒絕接收或者不同意接收但是仍然收到的郵件[1],主要包含商業(yè)類、廣告類、培訓類、推廣類、報價類等郵件。如2020年護網(wǎng)爆出的案例,就是攻擊方通過信息收集獲取防守方用戶的郵箱,通過群發(fā)郵件,引誘用戶更新釣魚flash,從而實現(xiàn)權限獲取進而內(nèi)網(wǎng)滲透獲取關鍵信息。為避免垃圾郵件影響人們的正常工作和生活,垃圾郵件檢測技術隨之產(chǎn)生。傳統(tǒng)的垃圾郵件檢測方法有關鍵詞、黑白名單、校驗碼法等[2]。這些傳統(tǒng)的垃圾郵件檢測方法通常存在檢測效果差、易被逃避等缺陷,為此本文引入機器學習方法解決這一問題。

垃圾郵件檢測的關鍵在于識別哪些郵件是垃圾郵件,可以將該問題歸結于機器學習中的文本分類任務。關于此類任務的數(shù)據(jù)通常是高維數(shù)據(jù),本文選擇常見的機器學習算法來進行垃圾郵件過濾的實現(xiàn)。

2 數(shù)據(jù)集和工具介紹

數(shù)據(jù)集采用開源的Enron-Spam[3]數(shù)據(jù)集,實現(xiàn)過程中,采用python語言。主要采用的模塊為TFLearn,該模塊可以直接在GitHub上面進行下載。它可以快速搭建實驗環(huán)境,容易實現(xiàn)深度神經(jīng)網(wǎng)絡,內(nèi)置神經(jīng)網(wǎng)絡層、正則化器、優(yōu)化器等,支持多輸入、多輸出等模式。

3 特征提取

垃圾郵件的特征提取,樸素貝葉斯算法、支持向量機算法和多層感知機算法,采用的詞袋模型,該模型利用單詞構成的集合,如果一個單詞在文檔中出現(xiàn)不止一次,統(tǒng)計其出現(xiàn)的頻數(shù)。郵件的特征提取,采用的sklearn.feature_extraction.text模塊的CountVectorizer函數(shù)。利用該函數(shù),將文本進行詞袋處理,獲取對應的特征名稱,從而獲取詞袋數(shù)據(jù),完成詞袋化。該數(shù)據(jù)集在實現(xiàn)過程中,把郵件當成一個字符串處理。然后在字符串處理過程中,過濾掉空白符,例如回車符、換行符等。最后遍歷全部郵件文件,加載數(shù)據(jù)。在詞袋模型中,把郵件數(shù)據(jù)進行向量化,將正常郵件標記為0,垃圾郵件標記為1。

垃圾郵件的特征提取,卷積神經(jīng)網(wǎng)絡算法和循環(huán)神經(jīng)網(wǎng)絡算法采用的是詞匯表模型。詞匯表模型是在詞袋模型的基礎上,根據(jù)郵件內(nèi)容生產(chǎn)的詞匯表對原有句子按照單詞逐個進行編碼。通過VocabularyProcessor()函數(shù),定義文本的最大長度、詞頻的最小值、分詞函數(shù)等。在文本的最大長度初始化時,如果文本的長度大于最大長度,那么會截斷文本,反之則用0填充。在詞頻最小值初始化時,如果出現(xiàn)次數(shù)小于最小詞頻則不會被收錄到詞表中。本文中,通過VocabularyProcessor函數(shù)對獲取的ham和spam數(shù)據(jù),進行處理,獲取詞匯表。

4 深度學習實現(xiàn)

本課題采用樸素貝葉斯算法、支持向量機算法、多層感知機算法、卷積神經(jīng)網(wǎng)絡算法和循環(huán)神經(jīng)網(wǎng)絡算法五種機器學習的算法,對郵件數(shù)據(jù)集進行識別。實現(xiàn)處理流程,如圖1所示。如圖1所示,在實現(xiàn)過程中,首先將數(shù)據(jù)樣本根據(jù)算法要求進行特征提取(樸素貝葉斯算法、支持向量機算法、多層感知機算法實現(xiàn)用的詞袋模型,卷積神經(jīng)網(wǎng)絡算法和循環(huán)神經(jīng)網(wǎng)絡算法實現(xiàn)用的詞匯表模型);特征提取后把數(shù)據(jù)集隨機劃分為訓練集和測試集,測試集的比例為40%;接著根據(jù)機器學習算法在訓練集上進行訓練,獲取模型數(shù)據(jù);最后根據(jù)模型數(shù)據(jù),在訓練集上進行預測,從而驗證算法的預測效果。

4.1 樸素貝葉斯算法[4]

樸素貝葉斯算法(NB),該算法實現(xiàn)垃圾郵件分類的過程中,將數(shù)據(jù)集合隨機分配訓練集合和測試集合,實例化樸素貝葉斯算法后,針對訓練集進行訓練,并針對測試集進行預測,最后輸出評估結果的準確度和TP、FP、TN、FN(FN:False Negative,真實郵件判定為垃圾郵件,F(xiàn)P:False Positive,垃圾郵件判定為正常郵件,TN:True Negative,垃圾郵件判定為垃圾郵件,TP:True Positive,正常郵件判定為正常郵件)4個值。該方法中,由于最大特征數(shù)對結果有影響,把最大特征數(shù),從1000到20000對評估準確度進行測試。發(fā)現(xiàn)最大特征數(shù)在13000左右的時候,系統(tǒng)準確率最大。但是隨著特征數(shù)越大,耗時越大。根據(jù)結果,最終選擇最大特征數(shù)為5000的情況下,整個系統(tǒng)準確度為94.33%,結果如表1所示。

測試關鍵代碼如下:

gnb = GaussianNB()

gnb.fit(x_train,y_train)

y_pred=gnb.predict(x_test)

最后調(diào)用metrics.accuracy_score函數(shù)和metrics.confusion_matrix函數(shù),輸出TP、FP、TN、FN。

4.2 支持向量機算法[5]

支持向量機算法(SVM),該算法實現(xiàn)垃圾郵件分類過程中,數(shù)據(jù)特征提取、訓練集獲取數(shù)據(jù)模型、測試方法與樸素貝葉斯算法一致。最終在詞袋最大特征數(shù)為5000的情況下,整個系統(tǒng)準確度為90.61%,其驗證結果如表2所示。

測試代碼如下:

clf = svm.SVC()

clf.fit(x_train, y_train)

y_pred = clf.predict(x_test)

最后調(diào)用metrics.accuracy_score函數(shù)和metrics.confusion_matrix函數(shù),輸出TP、FP、TN、FN。

4.3 多層感知機算法[6]

多層感知機算法(MLP),該算法實現(xiàn)過程中,構造兩層隱藏層,每層節(jié)點數(shù)分別為5和2。根據(jù)詞袋模型,將數(shù)據(jù)集進行特征提取,按照分配的訓練集和測試集,對于訓練集進行多層感知機算法進行實例化,然后根據(jù)數(shù)據(jù)模型,對測試集進行預測,最后輸出評估結果的準確度和TP、FP、TN、FN4個值。在詞袋最大特征數(shù)為5000的情況下,整個系統(tǒng)準確度為98.01%,其驗證結果如表3所示。代碼實現(xiàn),調(diào)用clf.fit(),傳入訓練集數(shù)據(jù),然后調(diào)用clf.predict(),獲取測試集的結果。最后調(diào)用metrics.accuracy_score函數(shù)和metrics.confusion_matrix函數(shù),輸出TP、FP、TN、FN。

4.4 卷積神經(jīng)網(wǎng)絡算法[7]

卷積神經(jīng)網(wǎng)絡算法(CNN),該算法實現(xiàn)過程中,特征提取采用詞匯表模型,將數(shù)據(jù)集合隨機分配訓練集合和測試集合。實例化過程中,其中卷積神經(jīng)網(wǎng)絡模型,使用3個數(shù)量為128核,長度分別為3、4、5的一維卷積函數(shù)處理數(shù)據(jù)。使用卷積神經(jīng)網(wǎng)絡算法在訓練集上訓練,通過對訓練數(shù)據(jù)進行了5輪訓練,獲取數(shù)據(jù)模型,使用模型數(shù)據(jù)在測試集上進行預測,最終實現(xiàn)對測試數(shù)據(jù)集的準確度為98.30%。代碼實現(xiàn)中,調(diào)用tflearn.DNN(),根據(jù)網(wǎng)絡,生成model對象。然后調(diào)用fit(),設置n_epoch為5,表示5輪訓練,設置batch_size為100,表示一次用100個數(shù)據(jù)計算參數(shù)的更新。

4.5 循環(huán)神經(jīng)網(wǎng)絡算法[8]

循環(huán)神經(jīng)網(wǎng)絡算法(RNN),該算法實現(xiàn)過程中,特征提取及數(shù)據(jù)處理與循環(huán)神經(jīng)網(wǎng)絡算法一樣。在訓練集實例化循環(huán)神經(jīng)網(wǎng)絡算法過程中,定義循環(huán)神經(jīng)網(wǎng)絡模型,使用最簡單的單層LSTM結構。使用循環(huán)神經(jīng)網(wǎng)絡算法在訓練集上訓練,通過對訓練數(shù)據(jù)進行了5輪訓練,獲取數(shù)據(jù)模型,使用模型數(shù)據(jù)在測試集上進行預測,最終實現(xiàn)對測試數(shù)據(jù)集的準確度為94.88%。代碼實現(xiàn)中,調(diào)用lstm()函數(shù),實現(xiàn)單層LSTM結構。調(diào)用tflearn.DNN(),根據(jù)網(wǎng)絡,生成model對象。然后調(diào)用fit(),設置n_epoch為5,表示5輪訓練,設置batch_size為10,表示一次用10個數(shù)據(jù)計算參數(shù)的更新。

5 結束語

以Enron-Spam數(shù)據(jù)集為訓練和測試數(shù)據(jù)集,本文通過詞袋模型和詞匯表模型對數(shù)據(jù)集進行特征提取,通過NB、SVM、MLP、CNN和RNN,五種機器學習算法實現(xiàn)了垃圾郵件識別。通過比較發(fā)現(xiàn),MLP和CNN的識別率很好,達到了98%以上。同樣,在樸素貝葉斯算法實現(xiàn)的過程中,發(fā)現(xiàn)并非是詞袋抽取的單詞個數(shù)越多,垃圾郵件的識別率最高,而是有個中間點可以達到最大效果。總之,隨著機器學習算法的發(fā)展,在垃圾郵件識別過程中,機器學習算法的應用會越來越多。

參考文獻:

[1] 羅婧雯.垃圾郵件過濾技術綜述[J].電腦知識與技術,2016,12(14):13-14.

[2] 李敬瑤.反垃圾郵件過濾技術方法的研究[J].福建電腦,2016,32(10):61-62.

[3] Enron-Spam數(shù)據(jù)集http://www2.aueb.gr/ users/ion/data/enron-spam/(DB/OL).

[4] 彭革.基于樸素貝葉斯算法在垃圾郵件過濾中的研究綜述[J].電腦知識與技術,2020,16(14):244-245,247.

[5] 徐娟,卞良.基于SVM的中文垃圾郵件預測系統(tǒng)研究[J].數(shù)字技術與應用,2020,38(1):38-39.

[6] 趙俊生,候圣,王鑫宇,等.基于集成學習的圖像垃圾郵件過濾方法[J].計算機工程與科學,2020,42(6):1049-1059.

[7] 馬義超.基于卷積神經(jīng)網(wǎng)絡的手寫數(shù)字識別算法研究與應用[D].焦作:河南理工大學,2019.

[8] 伍逸凡,朱龍嬌,石俊萍.人工神經(jīng)網(wǎng)絡在信息過濾中的應用[J].吉首大學學報(自然科學版),2019,40(3):17-22.

【通聯(lián)編輯:代影】

猜你喜歡
特征提取
特征提取和最小二乘支持向量機的水下目標識別
基于Gazebo仿真環(huán)境的ORB特征提取與比對的研究
電子制作(2019年15期)2019-08-27 01:12:00
基于Daubechies(dbN)的飛行器音頻特征提取
電子制作(2018年19期)2018-11-14 02:37:08
基于DNN的低資源語音識別特征提取技術
自動化學報(2017年7期)2017-04-18 13:41:09
Bagging RCSP腦電特征提取算法
一種基于LBP 特征提取和稀疏表示的肝病識別算法
基于DSP的直線特征提取算法
基于改進WLD的紋理特征提取方法
計算機工程(2015年4期)2015-07-05 08:28:02
淺析零件圖像的特征提取和識別方法
機電信息(2015年3期)2015-02-27 15:54:46
基于CATIA的橡皮囊成形零件的特征提取
主站蜘蛛池模板: 国产va免费精品观看| 成人永久免费A∨一级在线播放| 国产亚洲视频在线观看| 狠狠色综合网| 99热这里只有精品在线观看| 色视频国产| 国产又色又爽又黄| 女人18毛片一级毛片在线| 无码一区二区波多野结衣播放搜索| 国产精品99在线观看| 午夜一区二区三区| 欧美精品色视频| 久操线在视频在线观看| 97一区二区在线播放| 国产黑丝一区| 欧美中出一区二区| 一级爆乳无码av| 国产办公室秘书无码精品| 国产区网址| 伊大人香蕉久久网欧美| 欧美色丁香| 国产精品片在线观看手机版 | 亚洲精品第一在线观看视频| 91久久国产综合精品| 国产精品性| 色偷偷一区二区三区| 久久精品国产免费观看频道| 国产福利小视频高清在线观看| 国产在线视频导航| 在线色综合| 人妻一本久道久久综合久久鬼色| 国产精品毛片在线直播完整版| 亚洲天堂日本| 天堂亚洲网| 亚洲第一成网站| h网站在线播放| 精品亚洲国产成人AV| 无码视频国产精品一区二区| 秋霞午夜国产精品成人片| 亚洲精品无码日韩国产不卡| 亚洲91在线精品| 亚洲狼网站狼狼鲁亚洲下载| 天堂av综合网| 重口调教一区二区视频| 国产又爽又黄无遮挡免费观看| 国产无码精品在线播放| 国产精品无码久久久久AV| 青青草原国产精品啪啪视频| 欧美日韩va| 日韩av手机在线| 国产极品美女在线观看| 国产成人精品一区二区三在线观看| 亚洲视频无码| 国产毛片高清一级国语 | 国产成年女人特黄特色毛片免| 天堂网亚洲系列亚洲系列| 亚洲伊人久久精品影院| 国产一线在线| 亚洲高清中文字幕在线看不卡| 日韩一区二区在线电影| 欧美成人区| 狠狠操夜夜爽| 日韩美毛片| 欧美精品亚洲精品日韩专区| 亚洲VA中文字幕| 青青青视频91在线 | 东京热一区二区三区无码视频| 国产精品99久久久久久董美香| 国产亚洲精久久久久久久91| 无码精品福利一区二区三区| 婷婷在线网站| 日韩精品一区二区深田咏美| 国产亚卅精品无码| 国产91线观看| 中文字幕人妻无码系列第三区| 亚洲第一区在线| 欧美国产菊爆免费观看| 人妻一区二区三区无码精品一区| 欧美国产日韩在线| 午夜一区二区三区| 成人av手机在线观看| 99re这里只有国产中文精品国产精品|