?

一種基于內容和ERNIE3.0-CapsNet的中文垃圾郵件識別方法

2024-03-12 09:18單晨棱張新有邢煥來
信息安全研究 2024年3期
關鍵詞:垃圾郵件郵件卷積

單晨棱 張新有, 邢煥來, 馮 力

1(西南交通大學唐山研究院 河北唐山 063000)

2(西南交通大學計算機與人工智能學院 成都 611756)

隨著互聯網的高速發展,人們的通信越來越方便,特別是手機短信、微信、電子郵件等得到廣泛普及.其中,電子郵件因其可以在云端服務器持久性存儲的特性,人們更愿意通過電子郵件來傳遞重要文件或重要信息.但隨之而來的就是郵件中混雜的垃圾電子郵件帶來的網絡安全問題及其造成的經濟損失問題.2016年6月至2021年12月期間美國聯邦調查局IC3向金融機構提交的文件統計數據顯示,因BEC/EAC(商業電子郵件泄露/電子郵件賬戶泄露)騙局而在全球所產生的個人和企業損失高達433億美元[1].此前,信息安全廠商卡巴斯基實驗室發布的一份統計報告也提到,2021年源于中國的垃圾郵件在全球占比達到8.73%,比2020年提升2.52個百分點,居全球第四[2].因此,如何更準確檢測中文垃圾郵件對當前維護網絡安全和避免相關經濟損失具有重要意義.

目前,對垃圾郵件進行檢測的主要方式之一就是基于內容識別.基于內容的垃圾郵件識別方式實質也是對郵件內容文本進行二分類的研究問題.但目前文本分類的優異算法模型正快速迭代,而針對垃圾郵件識別應用領域的優異文本分類的算法應用研究相對欠缺.本文提出了將ERNIE3.0與改進CapsNet相結合的ERNIE3.0-CapsNet文本分類模型,對現有垃圾郵件識別算法詞向量表示不足和特征提取豐富度不夠有所彌補.ERNIE3.0相對其他主流預訓練模型有增強文本信息的知識記憶和推理能力的優勢,其最大化豐富了文本表示特征,而CapsNet對保留信息的混合特征和形變特征更有優勢[3].最后通過對比實驗證實本文方法在垃圾郵件識別中具有更加顯著的效果.

1 相關研究

垃圾郵件一直是全球性的網絡安全痛點,國內外對此都非常關注,對垃圾郵件的識別方法也在不斷更新與改進.

早期,傳統機器學習算法常被青睞用于垃圾郵件檢測.但深度學習因其可以避免繁雜的人工特征工程和可以從文本中學習到更好的語義特征等顯著優點,漸漸有取代傳統機器學習算法在垃圾郵件識別地位的趨勢.Sheneamer[4]比較了深度學習模型和傳統機器模型在垃圾郵件中的檢測性能,在與5種機器學習方法進行對比實驗后得出,LSTM,GloVe-CNN等深度學習模型性能表現更佳.Siddique等人[5]利用樸素貝葉斯、CNN、SVM和LSTM來檢測和分類烏爾都語電子郵件內容,研究結果表明LSTM更優于其他模型.

在文本分類的任務研究中[6-8],使用神經網絡進行分類任務之前,常會借助文本表示模型將文本轉換為語義詞向量,以消除人工特征工程的復雜性,達到直接對原始文本數據進行端到端分析的目的.于是,Word2Vec-LSTM[9],ALBERT-RNN[10]等詞向量表示模型結合神經網絡分類模型的方式也相繼被提出,并在垃圾郵件識別領域的效果表現出優于傳統機器學習甚至一些神經網絡模型的檢測方法.

上述很多研究是針對英文等語言的垃圾郵件檢測的探索,在中文垃圾郵件檢測領域,目前研究還相對較少,其中文獻[10]是針對中文垃圾郵件的研究,提出融合ALBERT動態詞向量的RNN網絡模型,提升了文本表示中對詞語多義理解的程度,在TREC06C中文垃圾郵件數據集子集的準確率達到99.13%.Tong等人[11]提出多通道結合長短注意力機制的膠囊網絡模型,提取更多復雜特征,增強關鍵特征的影響力,表現出優于TextCNN,LSTM及BERT方法的效果,且進一步提升了在TREC06C平衡子集的準確率(99.30%).但這些方法對于文本表示的豐富度和特征提取的力度還有進一步提升的空間.

針對上述問題,本文提出了ERNIE3.0-CapsNet文本分類模型.主要貢獻點如下:

1) 預訓練語言模型ERNIE3.0將自回歸網絡和自動編碼網絡進行結合,并預先訓練了具有百億參數的大規模知識增強模型[12].本文利用其對郵件進行文本表示,使郵件文本與世界知識關聯,能達到更優異的底層語義語法表示的效果.

2) 本文對膠囊網絡的結構作了優化,增強了底層特征提取,同時對膠囊網絡動態路由算法中的激活函數進行了研究,發現一種更適合垃圾郵件識別的激活函數,提升了模型的整體性能.

3) 本文提出的ERNIE3.0-CapsNet文本分類模型在TREC06C中文郵件數據集表現出色,其表現效果總體優于ERNIE3.0-TextCNN,ERNIE3.0-RNN等模型.

2 ERNIE3.0-CapsNet模型

2.1 文本表示:ERNIE3.0

近年來,大規模的預訓練語言模型研究成為趨勢,其中ERNIE(enhanced representation through knowledge integration)系列的預訓練模型表現尤為突出.2019年,ERNIE 1.0改進于BERT[13],其直接對先驗語義知識單元進行建模,使模型語義表示能力進一步提升,其在中文任務上全面超過了BERT中文模型.同年,基于持續學習的語義理解預訓練框架ERNIE2.0很快被提出,它使用多任務學習增量式構建預訓練任務,在中英文任務上都超越了BERT.到2021年,ERNIE3.0出現,相比其他預訓練模型,其主要優點是可以從大規模知識圖譜中汲取世界知識,其英文版本在SuperGLUE[14]基準(2021年7月3日)測試取得冠軍,進一步提高了預訓練語言模型的性能.其模型框架如圖1所示.

圖1 ERNIE3.0模型框架

因此,由于ERNIE3.0的出色優勢,本文利用開源的輕量級ERNIE3.0預訓練語言模型來生成中文郵件文本的詞向量.利用其將郵件文本向量化的具體過程如圖2所示.

ERNIE3.0與Transformer類預訓練模型數據處理步驟類似,先是將原始輸入的批量郵件文本進行詞級編碼,也就是切分Token,同時拼接上預訓練模型對應的特殊Token,如CLS,SEP,再將Token映射為ERNIE3.0對應的分詞編碼(Token ids),每個Token id還有分句編碼(Segment ids),來表示對應的Token是屬于文本第幾個句子.

分詞編碼及分句編碼的同時,還將進行補齊與截斷(Padding),形成文本長度一致的編碼序列,然后將編碼序列輸入ERNIE3.0預訓練語言模型,經過ERNIE3.0對詞向量的學習后,最終生成具有先驗知識和世界知識的特征向量sequence_output和pooled_output.其中,sequence_output是對應每個輸入Token的語義特征表示,pooled_output是對應整個句子或整個文本的語義特征表示.

由于sequence_out相比pooled_output更關注序列特征,對原始文本信息表示更完整且豐富,本文最終選擇sequence_out作為郵件文本表示的特征向量.

2.2 CapsNet優化模型

膠囊網絡模型(CapsNet)最早由Sabour等人[15]提出,其目的是為了解決CNN在圖像處理中由于池化無法保留原始信息的空間關系等問題,其在MNIST上表現出當時最好的分類效果.在自然語言處理領域,CapsNet同樣大放異彩.Zhao等人[16]首次提出膠囊網絡的文本分類模型CapsNet-A和CapsNet-B,后者模型在多標簽文本分類任務中表現出比CNN和LSTM更好的效果.本文得益于CapsNet-B和文獻[11]的靈感,在原始膠囊網絡的基礎上作了微調和優化.優化后的膠囊網絡模型如圖3所示:

圖3 膠囊網絡優化模型

本文對CapsNet的優化主要體現在2個方面:

1) 結構上的優化.

為了獲取豐富的底層特征,本文在膠囊網絡的卷積層對文本的矩陣向量進行3種不同卷積核大小的n-gram特征提取處理,然后在主膠囊層將所有特征堆疊輸入到數字膠囊層,這使得動態路由更新后的高級特征更加飽滿.

同時為了更好的郵件文本分類效果,各個層級的相關超參數通過實驗進行了微調.

2) 動態路由激活函數的替換.

在原始膠囊網絡動態路由[15]過程中,每次迭代都會利用Squash激活函數將更新過程的過渡向量sj壓縮到0~1之間,壓縮過程保留了向量方向,以此得到高級向量vj.其原理如式(1)所示:

(1)

本文用GELU激活函數[17]替換了Squash激活函數,相比Squash激活函數,變換激活函數后的動態路由有效地提升了膠囊網絡模型的性能.替換為GELU激活函數后vj更新過程如式(2)所示:

vj=GELU(sj)=sjP(X≤sj)=sjΦ(sj),

(2)

其中X~N(0,1),Φ(sj)是標準正態分布的累積分布函數.

2.3 ERNIE3.0-CapsNet模型結構

本文提出的ERNIE3.0-CapsNet文本分類模型整體結構如圖4所示:

圖4 ERNEI3.0-CapsNet文本分類模型整體結構

模型主要由ERNIE3.0預訓練語言模型層、卷積層、主膠囊層和數字膠囊層組成.

首先,通過ERNIE3.0 Tokenizer工具對郵件文本語料進行分詞、詞表ID映射和Padding填充,再通過ERNIE3.0預訓練模型層生成具有先驗知識和世界知識的詞向量矩陣T∈n×d(其中n是文本的長度,d是詞向量維度).T可用式(3)表示:

T=[t1,t2,…,tn],

(3)

其中ti為輸入文本中第i個Token的d維詞向量.

然后,卷積層采用3個并行網絡對詞向量矩陣T∈n×d進行2維卷積操作以生成特征Ci,且每個網絡的卷積核不同,分別為3-gram濾波器、4-gram濾波器、5-gram濾波器.其卷積操作原理如式(4)所示:

Ci=ReLU(Wi*T+b),i={1,2,3},

(4)

其中,ReLU為非線性激活函數,Wi表示卷積層第i個網絡的濾波器,*表示卷積操作,b表示偏置項.

主膠囊層同樣采用3個并行網絡,分別對接卷積層的3個并行網絡,并分別接收其對應的底層特征Ci.同時,每個并行網絡以同樣的方式再次卷積,即對特征Ci進行n次卷積核值w為4-gram、步幅為2的1維卷積操作以生成膠囊向量Si,如式(5)、式(6)所示:

sj=Squash(w*Ci+b),

(5)

Si=[s1,s2,…,sn].

(6)

然后拼接3個網絡的膠囊向量Si為最終的低級膠囊向量S,輸入到數字膠囊層.如式(7)所示:

S=cat(S1,S2,S3).

(7)

數字膠囊層主要對輸入的低級膠囊向量S進行動態路由傳播與更新,因為垃圾郵件識別也可歸結為二分類,所以將得到2個16維的高級膠囊向量vj.同時為了緩解梯度消失,繼續對高級膠囊vj進行批歸一化處理以得到標量p,批歸一化處理原理如式(8)所示:

(8)

最終使用模長(范數)描述類別概率,并得到最后的輸出o,以用于后續計算分類損失.

o=norm(p).

(9)

3 實 驗

3.1 實驗環境

本文所有實驗在同一實驗環境下進行,具體實驗環境信息如表1所示:

表1 實驗環境信息

3.2 實驗數據與評價指標

實驗數據集使用TREC 2006中文公共語料庫(https://plg.uwaterloo.ca/~gvcormac/treccorpus06/).

該數據集一共存在64620條中文郵件數據,但其正負樣本并不平衡.因此,為了更好說明本文模型在垃圾郵件識別的有效性,在總樣本中隨機各抽取5000條非空內容的垃圾郵件和5000條正常郵件,構成平衡子集進行實驗.實驗涉及模型皆通過文本分類問題常用的4個實驗評價指標:準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1值對分類結果進行評估.具體數據集分布如表2所示:

表2 數據集分布

3.3 實驗結果與分析

使用ERNIE3.0得到預訓練好的詞向量序列之后,可以選擇static方法和no-static方法,前者在訓練過程中不對詞向量的參數進行更新與微調,即以靜態詞向量的方式結合下游模型完成分類任務.后者在訓練過程中調節詞向量的參數,即以動態詞向量的方式配合下游模型完成分類任務.后者會顯著提升模型效果,所以,本文實驗以ERNIE3.0動態詞向量方式結合CapsNet在TREC06C中文郵件子數據集上與4種常見模型進行對比,4組模型文本表示都采用ERNIE3.0動態詞向量,以更好評估本文模型的垃圾郵件識別性能.最終實驗結果如表3所示:

表3 模型對比實驗結果 %

由表3可知,ERNIE3.0-CapsNet在郵件分類任務中,評估結果總體優異.其在準確率、精確率、F1值3項指標上,分別達到99.45%,99.50%,99.40%,相較于ERNIE3.0-RNN,ERNIE3.0-TextCNN,ERNIE3.0-RCNN,ERNIE3.0-DPCNN這4類模型有明顯優勢.而在召回率指標上,ERNIE3.0-TextCNN效果最好,ERNIE3.0-RNN次之,但ERNIE3.0-CapsNet效果表現欠佳,這表明本文模型對垃圾郵件的判對率還有提升空間,這也將是本文下一步要考慮改進的工作之一.

同時,為了驗證CapsNet動態路由改進的有效性,本文還設計了4組激活函數對比實驗,4組實驗僅替換動態路由中的激活函數.實驗結果如表4所示.

表4 激活函數對比實驗結果 %

從表4可知,在垃圾郵件識別任務上,相較于膠囊網絡原版動態路由激活函數Squash,ReLU激活函數在各項指標上的效果與之相差無幾,而ELU激活函數和GELU激活函數在準確率、F1值這2項指標上均有提升,值得注意的是,GELU激活函數效果更為明顯,同時GELU在精確率上的效果也最好,雖然結合表3可以看出,ELU激活函數的替換在召回率指標上與ERNIE3.0-TextCNN持平,且其余3項指標皆優于表3前4組對比實驗,但從總體上評估,用GELU激活函數替換Squash激活函數,能使ERNIE3.0-CapsNet模型性能更為突出.

4 結 語

本文提出了一種新的文本分類模型,即ERNIE3.0與優化的CapsNet相結合的ERNIE3.0-CapsNet文本分類模型.并采用該模型進行垃圾郵件識別.其在TREC06C中文郵件數據集的平衡子集上,準確率達到99.45%.相比采用ERNIE3.0-TextCNN,ERNIE3.0-RNN等模型的垃圾郵件檢測方法,ERNIE3.0-CapsNet具有顯著優勢.同時,激活函數GELU替換原動態路由Squash激活函數的改進,進一步提升了模型的整體性能.最后實驗結果證明了ERNIE3.0-CapsNet模型在垃圾郵件識別任務上的有效性和優越性.

但ERNIE3.0-CapsNet參數較多,致使計算代價較大,后續將考慮壓縮模型參數.同時,由于本文的任務特性,致使數據集較為單一,未來將引入新的數據集或應用于其他領域,進一步對ERNIE3.0-CapsNet模型進行性能探索和研究.

猜你喜歡
垃圾郵件郵件卷積
基于James的院內郵件管理系統的實現
從“scientist(科學家)”到“spam(垃圾郵件)”,英語單詞的起源出人意料地有趣 精讀
基于3D-Winograd的快速卷積算法設計及FPGA實現
一種基于SMOTE和隨機森林的垃圾郵件檢測算法
來自朋友的郵件
從濾波器理解卷積
CMailServer
一封郵件引發的梅賽德斯反彈
基于傅里葉域卷積表示的目標跟蹤算法
基于支持向量機與人工免疫系統的垃圾郵件過濾模型
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合