• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于神經(jīng)網(wǎng)絡(luò)的復(fù)雜垃圾信息過濾算法分析

    2022-04-12 09:24:26嚴珂馬祥
    計算機應(yīng)用 2022年3期
    關(guān)鍵詞:向量長度神經(jīng)網(wǎng)絡(luò)

    張 建,嚴珂,馬祥

    (中國計量大學信息工程學院,杭州 310018)

    0 引言

    隨著互聯(lián)網(wǎng)的發(fā)展,人們的交流方式發(fā)生了巨大的變化。短信和電子郵件因其費率低、速度快、發(fā)送和接收便利,成為了日常生活中常用的文本交流方式。現(xiàn)在人們常使用短信進行非正式交流[1-2]或接收網(wǎng)站驗證碼、銀行交易信息,用電子郵件發(fā)送各種正式的申請信,比如求職、求學等。然而短信和電子郵件的便利性也被廣告商所利用,他們使用多種手段獲取用戶的信息,然后利用短信和電子郵件這兩種便捷又廉價的方式給用戶投放大量的廣告和各種詐騙信息[3-4]。這些垃圾信息常使得用戶的有效信息被覆蓋,不能及時被查收,導(dǎo)致信息的時效性被破壞。據(jù)統(tǒng)計,在亞洲垃圾信息所占的流量遠遠超過正常信息,垃圾信息已經(jīng)在網(wǎng)絡(luò)中泛濫成災(zāi)[5]。

    垃圾信息過濾的問題本質(zhì)上屬于文本分類的問題[6]。對于用戶有用的信息則為正常信息,而其他廣告、中獎、詐騙等無用的信息則屬于垃圾信息。本文需要使用一些方法,將正常信息與垃圾信息區(qū)分開[6-8]。

    在過去,主要使用基于規(guī)則的方法[9-11],依據(jù)一定的過濾規(guī)則來過濾垃圾信息;但是垃圾信息的變化繁多、花樣百出,過濾規(guī)則往往跟不上垃圾信息的變化。隨著大數(shù)據(jù)、云計算、機器學習和神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展,學者們提出了云端同步更新垃圾信息過濾規(guī)則[12-13]和使用機器學習更新規(guī)則的方法[14-15]。但是這些方法需要保持實時聯(lián)網(wǎng)或者使用機器學習的方法不斷提取特征、更新規(guī)則,否則規(guī)則會跟不上垃圾信息的變化。也有人使用機器學習的方法,比如支持向量機(Support Vector Machine,SVM)、決策樹(Decision Tree,DT)、樸素貝葉斯(Naive Bayes,NB)、邏輯回歸(Logistic Regression,LR)等方法[16-19],利用TF-IDF(Term Frequency-Inverse Document Frequency)[20]計算詞頻,然后使用詞頻信息作為分類依據(jù)。這種特征提取的方法取得了不錯的效果,但需要大量數(shù)據(jù)進行訓(xùn)練,才能獲取足夠的詞頻信息。

    隨著神經(jīng)網(wǎng)絡(luò)方法的發(fā)展,人們開始嘗試使用神經(jīng)網(wǎng)絡(luò)的方法解決文本分類問題,比如使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[21]、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[22]進行分類,也有學者將二者結(jié)合進行分類[23]。這些方法都只用了幾層簡單的神經(jīng)網(wǎng)絡(luò)。也有學者結(jié)合多種神經(jīng)網(wǎng)絡(luò)方法,并改變了網(wǎng)絡(luò)的連接方式,引入注意力機制[24],可以對整段文字甚至整篇文章進行分類[25-26],這些方法都在一定程度上提高了文本分類的效果,且這些方法既可使用多種特征[27-29],也可從文本中學習特征并對輸入特征進行微調(diào),用于垃圾信息的分類。為了探究傳統(tǒng)方法與神經(jīng)網(wǎng)絡(luò)方法的優(yōu)劣,本文使用多種傳統(tǒng)方法進行實驗,結(jié)果表明傳統(tǒng)方法雖然準確率高,但仍有一些較復(fù)雜的垃圾信息難以識別,而有的復(fù)雜垃圾信息之所以能被識別,是因為數(shù)據(jù)集中存在許多重復(fù)數(shù)據(jù)。當前效果較好的方法,如DPCNN(Deep Pyramid Convolutional Neural Network)[26]、BERT(Bidirectional Encoder Representations from Transformers)[30]、TinyBERT(Tiny Bidirectional Encoder Representations from Transformers)[31]等,雖然能在大數(shù)據(jù)集上取得較好的結(jié)果,卻不一定適用于小數(shù)據(jù)集和不同文本長度的情況。而在現(xiàn)實生活中,收集到的同一類型的數(shù)據(jù)量并不多,文本的長度也不確定,因此需要找出一個能適應(yīng)現(xiàn)實生活中的垃圾信息的方法。

    針對這一問題,本文從網(wǎng)絡(luò)中搜集了垃圾短信數(shù)據(jù)集[32-33]、廣告分類數(shù)據(jù)集[34]和垃圾郵件數(shù)據(jù)集[35]。首先對這三個數(shù)據(jù)集進行去重處理。從傳統(tǒng)方法的實驗結(jié)果中抽取較難識別的垃圾文本,再隨機抽取正常文本,將它們組成新數(shù)據(jù)集,并進行多次實驗,取最優(yōu)結(jié)果。實驗結(jié)果表明,神經(jīng)網(wǎng)絡(luò)的方法在識別復(fù)雜垃圾信息的能力上更勝一籌,不同的神經(jīng)網(wǎng)絡(luò)模型對不同長度的文本分類效果不同。根據(jù)文本的長度選擇適當?shù)纳窠?jīng)網(wǎng)絡(luò)方法,可取得最佳的效果。

    本文的主要貢獻如下:

    1)本文選擇了三種不同長度的垃圾信息數(shù)據(jù)集,分別代表句子、段落和篇章的垃圾信息,并選取了其中傳統(tǒng)方法較難識別的信息。在這些信息的基礎(chǔ)上,比較了神經(jīng)網(wǎng)絡(luò)方法、當前主流方法和傳統(tǒng)分類方法的結(jié)果。實驗結(jié)果表明,神經(jīng)網(wǎng)絡(luò)方法比當前主流方法和傳統(tǒng)分類方法效果更好。循環(huán)神經(jīng)網(wǎng)絡(luò)適合句子分類,卷積神經(jīng)網(wǎng)絡(luò)適合段落分類,循環(huán)神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的結(jié)合更適合篇章分類。

    2)本文證明了當前主流方法雖然能在大數(shù)據(jù)集上取得較好的結(jié)果,卻不一定適合小數(shù)據(jù)集和不同文本長度的信息。在數(shù)據(jù)量較少的情況下,仍然需要選擇合適的神經(jīng)網(wǎng)絡(luò)方法進行分類。

    3)本文證明了在不同長度、數(shù)據(jù)量少的情況下,神經(jīng)網(wǎng)絡(luò)的方法仍然優(yōu)于當前主流方法和傳統(tǒng)方法。不論是復(fù)雜垃圾信息或者是正常信息,神經(jīng)網(wǎng)絡(luò)的識別率和效率比當前主流方法和傳統(tǒng)方法更高。

    1 相關(guān)工作

    垃圾信息的分類一直是學者們的研究熱點,每年在各大期刊和會議上都有幾十篇論文研究垃圾信息的分類問題[36]。垃圾信息的過濾方法有很多,近年來常用的有基于規(guī)則、基于機器學習和基于深度學習的方法[37],其中基于機器學習的方法使用最多,比如支持向量機、決策樹、樸素貝葉斯、邏輯回歸等方法[16-17]。這些方法都依賴于一個合適的特征,比如文檔頻率(Document Frequency,DF)、N 元語法(N-gram)、TF-IDF[20]等。而深度學習的方法不依賴輸入的特征,可以通過不斷的迭代訓(xùn)練自動尋找到一個合適的特征,再使用CNN 或RNN 進一步提取特征并進行分類。

    CNN 原本是用于圖像處理領(lǐng)域,但有人發(fā)現(xiàn)CNN 也可以用于提取文本特征,并進行文本分類[21,26]。文獻[21]就是使用CNN 搭建的文本分類模型,該模型較淺,適用于小數(shù)據(jù)集。也有學者使用RNN 搭建文本分類模型,比如TextRNN(Text classification with Recurrent Neural Network)模型[22]。文獻[26]中借鑒圖像領(lǐng)域的ResNet 模型,在CNN 中引入殘差結(jié)構(gòu),這樣可以提取更深層次的信息。

    最近的熱門方法,比如BERT[30,38]、XLNet(transformer-XL neural Network)[39]等方法,可以大幅度提高文本分類的準確率;但是它們都需要大量的數(shù)據(jù)進行訓(xùn)練,且訓(xùn)練的時間較長,訓(xùn)練的成本較高。而本文使用的數(shù)據(jù)集較小,分類數(shù)量少,使用上述方法容易造成過擬合且增加不必要的訓(xùn)練時長。

    2 神經(jīng)網(wǎng)絡(luò)方法

    本文使用了卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)[36],并用這兩種神經(jīng)網(wǎng)絡(luò)按照文獻[21-23]搭建了三種神經(jīng)網(wǎng)絡(luò)模型,分別是TextCNN(Text classification with Convolutional Neural Network)、TextRNN 和 TextRCNN(Text classification with Recurrent neural network and Convolutional Neural Network)模型。神經(jīng)網(wǎng)絡(luò)使用詞嵌入(Word Embedding)作為輸入特征。

    2.1 詞嵌入

    詞嵌入是一種神經(jīng)網(wǎng)絡(luò)方法中常用的特征表示方法,它是由單個詞或句子的向量組成的一個矩陣。詞嵌入矩陣的原理如下:假設(shè)句子長度為n(n為句子最大長度,若句子長度小于n,則擴充至n),即一個句子中含有n個詞,每個句子中的詞都用w1,w2,…,wn來表示,為了使算法能識別每一個詞,并了解詞語的含義,將每一個單詞都使用k維度的向量進行表示,則每個單詞的詞向量可以按式(1)表示:

    其中:xn為單詞n的詞向量形式。在一個句子中,每個詞的詞向量可表示為x1,x2,…,xn。將這些向量進行拼接,則一個句子的向量可以表示為:

    其中:⊕為拼接操作符,x1:n表示單詞x1,x2,…,xn的串聯(lián),其矩陣形式可以表示為:

    其中E為句向量的矩陣形式(E∈?k×|n|)。下文所用神經(jīng)網(wǎng)絡(luò)模型使用詞嵌入作為特征進行學習。

    2.2 TextCNN模型

    使用卷積神經(jīng)網(wǎng)絡(luò)識別垃圾信息,本文參考文獻[21]搭建了如圖1 所示TextCNN 模型。

    圖1 TextCNN模型結(jié)構(gòu)Fig.1 Structure of TextCNN model

    從圖1 中可以看出,TextCNN 模型中使用了兩層詞嵌入層,其中一層參數(shù)隨著模型訓(xùn)練而變化(Dynamic),另一層則保持初始值不變(Static)。將兩層詞嵌入層進行拼接,得到一個n×2d的特征矩陣。將該矩陣輸入至3 個不同大小的卷積層(Conv1D)中。假設(shè)卷積層的卷積核為wc(wc∈?h×k),卷積核在h個單詞上進行滑動計算,按式(4)計算可以得到一個新特征ci:

    式中:b為偏置,f表示激活函數(shù),將該卷積核應(yīng)用于句子[x1:h,x2:h+1,…,xn-h+1:n]后得到的特征c為:

    其中c∈?n-h+1。然后使用最大池化層(MaxPooling)從特征c中提取最大值?。將提取后的特征進行拼接(Concatenate),得到特征z=[?1,?2,…,?m]。為了防止過擬合,本文在最后一層使用丟棄法(Dropout)和全連接層(Full Connected,F(xiàn)C)進行輸出,計算公式如下:

    其中:°為逐元素乘法運算符,r是掩膜向量(r∈?m),用于屏蔽輸出,wk和b分別是全連接層的權(quán)重和偏置。

    在該模型中嵌入層維度k為100,三個卷積核的大小分別為3、4、5,卷積通道數(shù)為100,Dropout 層的參數(shù)設(shè)置為0.5,激活函數(shù)使用ReLU。

    2.3 TextRNN模型

    CNN 可以提取文本的特征,RNN 可以學習文本的序列信息。為了比較這兩種神經(jīng)網(wǎng)絡(luò)分類方法的優(yōu)劣。本文使用循環(huán)神經(jīng)網(wǎng)絡(luò)識別垃圾信息,本文參考文獻[22]搭建了TextRNN 模型,如圖2 所示。

    圖2 TextRNN模型結(jié)構(gòu)Fig.2 Structure of TextRNN model

    從圖2 中可以看出,在此模型中將詞嵌入層輸入至LSTM 中,即通過LSTM 學習上下文的內(nèi)容的關(guān)聯(lián)性。LSTM的傳遞公式為:

    其中:xt是當前時間步的輸入向量,it是輸入門,ft是遺忘門,ot是輸出門,ct是單元狀態(tài),是單元狀態(tài)更新值,ht是當前輸出,σ是激活函數(shù),⊙是元素乘法。通常遺忘門用于控制上一單元狀態(tài)中計算當前狀態(tài)值的數(shù)量,輸入門控制每個單元的更新量,輸出門控制最后的輸出結(jié)果。

    在使用LSTM 學習文本序列信息時,LSTM 的每一個時間步的輸入為文本單詞的詞向量。一個句子中每一個單詞的詞向量會按單詞在句子中的順序輸入至LSTM 中,LSTM 會學習每個單詞與上下文的關(guān)聯(lián)性,并輸出學習到的特征。

    為了有效利用LSTM 的輸出,該模型將LSTM 輸出的特征進行拼接,得到全局特征(Global Feature),然后使用全連接層進行預(yù)測輸出。最后的輸出即為輸入句子的標簽預(yù)測信息。

    2.4 TextRCNN模型

    為了有效利用CNN 與LSTM 的特點,本文參考文獻[19]搭建了TextRCNN 模型,如圖3 所示。

    圖3 TextRCNN模型結(jié)構(gòu)Fig.3 Structure of TextRCNN model

    該模型結(jié)合了CNN 和LSTM 的特點,將詞嵌入層輸入至Bi-LSTM 神經(jīng)網(wǎng)絡(luò)中,神經(jīng)網(wǎng)絡(luò)會分別從上文至下文、從下文至上文學習文本的特征。假設(shè)一個單詞的詞向量表示為x(wi),其中上文詞向量為xl(wi)和下文詞向量為xr(wi),那么:上文詞向量是由后一詞匯的詞向量x(wi-1)與后一詞匯的詞向量上文詞向量xl(wi-1)計算而來;下文詞向量是由前一詞匯的詞向量x(wi-1)與前一詞匯的詞向量上文詞向量xr(wi-1)計算而來。上文詞向量的計算公式如式(13),下文詞向量的計算公式如式(14)所示:

    其中:f是激活函數(shù),W(l)和W(r)是將輸入轉(zhuǎn)為隱藏層的矩陣,W(sl)和W(sr)是用于結(jié)合當前輸入詞向量和后一詞匯詞向量或前一詞匯詞向量的矩陣。

    通過Bi-LSTM 的計算,可以提取出上下文的內(nèi)容關(guān)聯(lián)性特征,將從上文至下文、從下文至上文學習文本的特征與詞向量進行結(jié)合,并使用CNN 進一步提取特征,得到向量ei,向量ei是從單詞語義和上、下文關(guān)聯(lián)的特征進一步提取的特征,ei可以按式(15)表示:

    模型最后使用全連接層進行預(yù)測輸出,其公式可以表示為:

    其中yi即為最后的預(yù)測結(jié)果。

    2.5 評價指標

    為了評價模型的分類效果,本文實驗使用4 個評價指標,分別為精確率(Precision)、召回率(Recall)、F1 分值(F1-Score)和接收者操作特征曲線下面積(Area under the Curve of Receiver Operating Characteristic,AUC ROC)。其中:精確率代表在所有被預(yù)測為正的樣本中實際為正的樣本的概率;召回率代表在實際為正的樣本中被預(yù)測為正樣本的概率;F1-socre 是精確率和召回率的調(diào)和平均數(shù);AUC ROC 是接收者操作特征曲線下的面積值。

    這里使用混淆矩陣輔助計算評價指標,用TP(True Positive)表示真正例,TN(True Negative)表示真負例,F(xiàn)P(False Positive)表示假正例,F(xiàn)N(False Negative)表示假負例?;煜仃嚳梢杂帽? 解釋。

    表1 混淆矩陣Tab.1 Confusion matrix

    Precision(P)、Recall(R)和F1-score(F1)計算公式如下:

    ROC 曲線的縱坐標是真正例率(True Positive Rate,TPR),橫坐標是假正例率(False Positive Rate,F(xiàn)PR),曲線下的面積用于測量分類的準確率,即AUC值。真正例率和假正例率的計算公式如下:

    3 數(shù)據(jù)處理

    本文使用垃圾短信數(shù)據(jù)集[32-33]、垃圾廣告數(shù)據(jù)集[34]和垃圾郵件數(shù)據(jù)集[35]進行實驗,并驗證實驗結(jié)果。

    垃圾短信數(shù)據(jù)集是從公開語料庫中挑選而來,本文挑選了兩個最具典型且使用最為廣泛的數(shù)據(jù)集:UCI(University of California Irvine)數(shù)據(jù)集[32]由Almeida and Gomez Hidalgo 創(chuàng)建,它包含747 條垃圾信息和4 827 條正常信息,正常信息與垃圾信息均來源于互聯(lián)網(wǎng)、文獻[37]和NUS SMS Corpus[33]等途徑;BEC 數(shù)據(jù)集[40]由Nuruzzaman 創(chuàng)建,其中450 條正常信息來源于文獻[37],425 條垃圾信息從網(wǎng)絡(luò)中搜集而來。這兩個數(shù)據(jù)集的組成相同,它們的數(shù)據(jù)即為信息內(nèi)容,標簽為垃圾信息(Spam)和正常信息(Ham)兩種。

    垃圾廣告數(shù)據(jù)集含有2 596 條非正常信息和95 005 條正常信息:正常信息主要是工作交流和求職信息;非正常的內(nèi)容主要為推銷、租房和貸款信息。

    垃圾郵件數(shù)據(jù)集含有500 條垃圾郵件和2 551 條正常郵件:垃圾郵件的內(nèi)容大部分為廣告、中獎等信息,含有大量電話號碼、網(wǎng)址等內(nèi)容;而正常郵件則為正常交流的信息。

    3.1 數(shù)據(jù)篩選

    對于這4 個數(shù)據(jù)集,現(xiàn)已有許多學者使用不同的方法進行分類,其中傳統(tǒng)方法的準確率已達到較高水平[7],但是傳統(tǒng)方法仍然有許多無法識別的垃圾信息。本文經(jīng)過實驗,并分析實驗結(jié)果可以發(fā)現(xiàn),有的復(fù)雜垃圾信息被識別是因為其在數(shù)據(jù)集中反復(fù)出現(xiàn)多次。為了探究傳統(tǒng)方法與神經(jīng)網(wǎng)絡(luò)方法對復(fù)雜垃圾信息的識別率,本文對原始數(shù)據(jù)進行以下處理:首先對數(shù)據(jù)集進行去重處理;再使用隨機森林方法在原始數(shù)據(jù)集上進行實驗,發(fā)現(xiàn)隨機森林方法的準確率降低。通過觀察實驗結(jié)果,發(fā)現(xiàn)有部分信息使用傳統(tǒng)方法無法識別,本文認為這些信息都屬于復(fù)雜垃圾信息。部分垃圾信息如表2 所示。

    表2 部分較難識別的垃圾信息Tab.2 Some spam difficult to identify

    從表2 中可以得知,垃圾短信數(shù)據(jù)集文本中含有電話號碼和各種符號。它的文本長度較短,相當于一個句子;廣告數(shù)據(jù)集的內(nèi)容較為規(guī)范,文本長度較長,相當于一個段落;垃圾郵件數(shù)據(jù)集含有多種符號、網(wǎng)址和縮寫,文本長度最長,每一封郵件都相當于一篇文章。

    為了探究神經(jīng)網(wǎng)絡(luò)方法和傳統(tǒng)方法對復(fù)雜垃圾信息識別的效果。本文將上述三種數(shù)據(jù)集使用隨機森林方法進行分類實驗,然后從實驗結(jié)果中挑選出難以識別的垃圾信息300 條,為了保證數(shù)據(jù)平衡性,消除不平衡數(shù)據(jù)集對模型訓(xùn)練結(jié)果的影響,本文再從原數(shù)據(jù)集中隨機挑選出300 條正常信息,將其組成一個無重復(fù)數(shù)據(jù)的新數(shù)據(jù)集,目的在于使用這些數(shù)據(jù)來比較多種分類方法的優(yōu)劣,以此找出一個能更好地識別復(fù)雜垃圾信息的分類方法。

    3.2 數(shù)據(jù)清洗與切分

    因為數(shù)據(jù)集中含有大量特殊符號、網(wǎng)址、電話號碼甚至Emoji 符號,部分詞匯也不規(guī)范。為了減少這些非文本帶來的噪聲影響本次實驗的效果,本文對數(shù)據(jù)進行了清洗。本文除了清洗上述特殊符號、網(wǎng)址、電話號碼、Emoji 符號外,還對文本進行了大小寫轉(zhuǎn)換、詞性標注和詞形還原。本文確保在清洗后的文本中,單詞能正確表示其在句中的含義。此外,因為Email 數(shù)據(jù)集過大,導(dǎo)致訓(xùn)練和分類測試時間較長,為了減少特征、減少訓(xùn)練和分類測試時間,提高分類準確率,本文還去除了停用詞。

    本文選取一條文本說明清洗效果,如清洗前文本為:

    清洗后的文本為:

    經(jīng)過上述文本預(yù)處理步驟后,本文對數(shù)據(jù)集長度進行了統(tǒng)計,其中垃圾短信數(shù)據(jù)集的文本最大長度為33,數(shù)據(jù)集長度相當于一個句子;廣告數(shù)據(jù)集的文本最大長度為693,長度相當于一個段落;垃圾郵件數(shù)據(jù)集的文本最大長度為18 840,長度相當于一篇文章。本文在處理后的數(shù)據(jù)集上進行實驗,將上述數(shù)據(jù)集按比例隨機切分為訓(xùn)練集和測試集,其中訓(xùn)練集為80%,測試集占20%。

    4 實驗與結(jié)果分析

    為了比較傳統(tǒng)方法與深度學習方法的優(yōu)劣,本文在上述3 個數(shù)據(jù)集上反復(fù)實驗,選取最優(yōu)結(jié)果及運行時間進行比較。實驗所用的傳統(tǒng)方法為樸素貝葉斯(NB)、隨機森林(RF)、SVM、邏輯回歸(LR)和決策樹(DT);神經(jīng)網(wǎng)絡(luò)方法為TextCNN、TextRNN 和TextRCNN 模型。另外選擇了當前效果較好的深度學習模型DPCNN[26]、BERT[30]和TinyBERT[31]進行比較,其中TextCNN、TextRNN 和TextRCNN 模型的實驗超參數(shù)設(shè)置相同:優(yōu)化器使用AdamW,損失函數(shù)使用交叉熵函數(shù),學習率設(shè)置為0.001,迭代次數(shù)為15。神經(jīng)網(wǎng)絡(luò)使用隨機初始化的詞向量。深度學習模型DPCNN、BERT 和TinyBERT 的學習率設(shè)置為10,迭代次數(shù)為20,優(yōu)化器與損失函數(shù)與TextCNN 相同。傳統(tǒng)方法的輸入特征為TF-IDF。

    4.1 垃圾短信數(shù)據(jù)集

    將上述方法在垃圾短信數(shù)據(jù)集上進行實驗,傳統(tǒng)方法、當前主流方法和神經(jīng)網(wǎng)絡(luò)方法的結(jié)果如表3 所示,混淆矩陣和AUC值如表4 所示,運行時間如表5 所示。

    表4 傳統(tǒng)方法、當前主流方法和神經(jīng)網(wǎng)絡(luò)方法在三種數(shù)據(jù)集上的混淆矩陣和AUC值Tab.4 Confusion matrixes and AUC values of traditional methods,current methods,and neural network methods on three datasets

    從表3 中可以看出,在傳統(tǒng)方法中,SVM 的F1 分值在垃圾信息和正常信息上的分值最高,在預(yù)測垃圾信息上,其精確率達到了0.942,高于其他傳統(tǒng)方法,在正常信息的召回率上分值達到了0.95 與邏輯回歸相同。

    表3 傳統(tǒng)方法、當前主流方法和神經(jīng)網(wǎng)絡(luò)方法在三種數(shù)據(jù)集上的分類結(jié)果Tab.3 Classification results of traditional methods,current methods,and neural network methods on three datasets

    從表4 中可以看到,SVM 和邏輯回歸的差異主要在于對垃圾信息的分類上,也可以看出除了樸素貝葉斯方法外的傳統(tǒng)方法的真正例都少于真負例。雖然樸素貝葉斯方法在識別垃圾信息的能力強于正常信息,但是樸素貝葉斯的F1 分值和AUC值并不高,因此效果不如SVM。

    在當前主流方法和神經(jīng)網(wǎng)絡(luò)方法中,可以很明顯地看出,TextRNN 模型的效果最佳。在短文本上的分類效果好于TextCNN 和TextRCNN 模型。三種神經(jīng)網(wǎng)絡(luò)方法的效果均超過了當前主流方法和傳統(tǒng)方法。從表5 中可以看出,神經(jīng)網(wǎng)絡(luò)方法的耗時更少,運算速度更快。這說明神經(jīng)網(wǎng)絡(luò)方法更善于識別垃圾信息和正常信息,神經(jīng)網(wǎng)絡(luò)方法在垃圾信息識別上可以取代傳統(tǒng)方法。

    表5 傳統(tǒng)方法、當前主流方法和神經(jīng)網(wǎng)絡(luò)方法在三種數(shù)據(jù)集上的運行時間 單位:sTab.5 Running times of traditional methods,current methods and neural network methods on three datasets unit:s

    4.2 廣告數(shù)據(jù)集

    從數(shù)據(jù)預(yù)處理過程中可以得知,廣告數(shù)據(jù)集的文本長度比短信長,相當于段落長度。從表3 中可以看出在傳統(tǒng)方法中,隨機森林方法的F1 分值最高,該方法在垃圾信息上的召回率為1;從表4~5 中可以看出,隨機森林方法成功識別了所有垃圾信息;在當前主流方法中,BERT 方法取得了不錯的效果,但消耗的時間遠高于神經(jīng)網(wǎng)絡(luò)方法。

    在當前主流方法和神經(jīng)網(wǎng)絡(luò)方法中,TextCNN 的AUC 最高,達到了0.992,它不僅識別了所有垃圾信息,且在識別正常信息的能力上也十分出色,使用的時間最少,在廣告數(shù)據(jù)識別上可以完全取代其他方法;另外TextRCNN 模型也識別了所有垃圾信息,但對正常信息的識別稍遜于TextCNN模型。

    從結(jié)果中可以看出,在稍長的文本上,神經(jīng)網(wǎng)絡(luò)方法分類能力比傳統(tǒng)方法更強,而且TextCNN 適合于段落長度的文本分類。BERT 方法雖然效果較好,卻需要花費大量時間進行訓(xùn)練,BERT 的效率不高。

    4.3 垃圾郵件數(shù)據(jù)集

    從上文得知,垃圾郵件的文本長度遠遠長于廣告數(shù)據(jù)集。從表3~5 中可以看出,在傳統(tǒng)方法中邏輯回歸和SVM 方法的F1 分值較高,但是邏輯回歸方法在真正例上的分值高于真負例,即對垃圾信息的識別能力強于正常信息,而SVM方法恰好相反,所以邏輯回歸方法更適合垃圾信息分類。

    在當前主流方法和神經(jīng)網(wǎng)絡(luò)方法中,當前主流方法的效果不如部分傳統(tǒng)方法,這是由于Email 數(shù)據(jù)集的文本長度過大,關(guān)鍵信息分布較為散亂,DPCNN 無法捕獲距離信息,而BERT 和TinyBERT 由于輸入長度限制,需要對輸入文本進行截斷,因此難以捕獲到關(guān)鍵信息。而TextRCNN 模型的能夠識別所有垃圾信息,其F1 分值也達到了0.984,遠超傳統(tǒng)方法,但是需耗費較長時間。TextCNN 模型的分值也超過了傳統(tǒng)方法,消耗的時間相對較短,但是在垃圾郵件數(shù)據(jù)集上無法進行分類,因為RNN 模型無法處理超長文本。最終結(jié)果顯示TextRCNN 模型雖然善于處理超長文本,但是需要的時間較長;TextCNN 模型效果較好,所需的時間更少,在精度不高的情況下可以使用。

    5 結(jié)語

    針對傳統(tǒng)方法難以識別的垃圾信息,本文嘗試使用神經(jīng)網(wǎng)絡(luò)的方法進行識別。本文從網(wǎng)絡(luò)中搜集了3 種不同長度的數(shù)據(jù)集,并從數(shù)據(jù)集中篩選出傳統(tǒng)方法難以識別的垃圾信息,然后將其與正常信息組成一個新數(shù)據(jù)集。本文在新數(shù)據(jù)集上使用多種傳統(tǒng)方法、當前主流方法和神經(jīng)網(wǎng)絡(luò)的方法進行對比實驗。實驗結(jié)果表明當前主流方法不一定適用于小樣本數(shù)據(jù),在超長文本上的識別準確率不高。而神經(jīng)網(wǎng)絡(luò)的方法更善于識別復(fù)雜垃圾信息,其中TextRNN 模型擅長識別較短垃圾信息,TextCNN 模型擅長識別段落長度的垃圾信息,TextRCNN 模型擅長識別篇章長度的垃圾信息,但是訓(xùn)練耗時較長,在精度要求不高時可以選擇TextCNN 模型。后續(xù)將考慮改進神經(jīng)網(wǎng)絡(luò)的特征和使用更好的神經(jīng)網(wǎng)絡(luò)算法,捕獲更多垃圾信息與正常信息的區(qū)別,提高神經(jīng)網(wǎng)絡(luò)方法的準確率,并提高模型對不同文本長度的信息的識別能力。

    猜你喜歡
    向量長度神經(jīng)網(wǎng)絡(luò)
    向量的分解
    聚焦“向量與三角”創(chuàng)新題
    1米的長度
    神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
    電子制作(2019年19期)2019-11-23 08:42:00
    愛的長度
    怎樣比較簡單的長度
    向量垂直在解析幾何中的應(yīng)用
    基于神經(jīng)網(wǎng)絡(luò)的拉矯機控制模型建立
    重型機械(2016年1期)2016-03-01 03:42:04
    向量五種“變身” 玩轉(zhuǎn)圓錐曲線
    復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
    中西区| 和林格尔县| 永城市| 虎林市| 宜兰县| 滁州市| 稻城县| 竹山县| 广德县| 衢州市| 雷波县| 稷山县| 确山县| 沐川县| 罗江县| 垣曲县| 灵石县| 泸溪县| 岫岩| 灵璧县| 长春市| 太白县| 南乐县| 怀化市| 上高县| 信阳市| 丹巴县| 当涂县| 屯门区| 浪卡子县| 内黄县| 汝阳县| 射洪县| 九台市| 江达县| 闵行区| 夏河县| 正阳县| 车致| 濉溪县| 科技|