周超然,趙建平,馬 太,周 欣
(長春理工大學(xué)計算機科學(xué)技術(shù)學(xué)院,長春 130022)
在互聯(lián)網(wǎng)的實際應(yīng)用中,當(dāng)用戶使用搜索引擎進行信息檢索時,出于商業(yè)、用戶點擊量、規(guī)范性差及網(wǎng)絡(luò)安全系統(tǒng)不完善等原因會導(dǎo)致返回數(shù)據(jù)列表中包含部分不符合用戶搜索目標(biāo)的結(jié)果網(wǎng)頁。比如,房地產(chǎn)及招聘廣告網(wǎng)頁、新聞資訊網(wǎng)頁、失效網(wǎng)頁、非法網(wǎng)頁等不包含用戶需求信息的網(wǎng)頁。現(xiàn)有網(wǎng)頁黑名單識別技術(shù)應(yīng)對新威脅的速度太慢,使得超過90%的訪問者可以在頁面被列入黑名單之前對其進行查看[1]。過分或不適當(dāng)?shù)木W(wǎng)絡(luò)資源訪問不僅給網(wǎng)絡(luò)運維廠商帶來生產(chǎn)力的負(fù)擔(dān)和傳輸資源的浪費,網(wǎng)絡(luò)上的違法內(nèi)容甚至?xí)o用戶帶來經(jīng)濟、精神等方面的損失,嚴(yán)重影響網(wǎng)絡(luò)環(huán)境[2]。本研究的目的是在使用搜索引擎檢索信息時,對搜索引擎返回的網(wǎng)頁內(nèi)容進行分析,保留有效信息,提升搜索引擎對用戶的適用性。
本文在網(wǎng)頁黑名單判別任務(wù)中,需解決如下問題:1)網(wǎng)頁具有復(fù)雜的結(jié)構(gòu)信息和語義信息,實現(xiàn)合理的網(wǎng)頁特征構(gòu)建來表達網(wǎng)頁信息是一個關(guān)鍵問題;2)由于網(wǎng)頁數(shù)據(jù)復(fù)雜性很高,選擇哪種技術(shù)來構(gòu)建判別模型,并保證判別模型的魯棒性和準(zhǔn)確性也是十分關(guān)鍵的。針對上述問題,本文通過網(wǎng)頁動態(tài)內(nèi)容分析提出了一種基于注意力機制和集成學(xué)習(xí)的網(wǎng)頁黑名單判別方法,并訓(xùn)練了基于集成學(xué)習(xí)和注意力機制的卷積神經(jīng)網(wǎng)絡(luò)(Ensemble learning and Attention mechanism-based Convolutional Neural Network,EACNN)模型。EACNN 將網(wǎng)頁HTML 標(biāo)簽中的文本數(shù)據(jù)轉(zhuǎn)化為詞向量,采用基于注意力機制的卷積神經(jīng)網(wǎng)絡(luò)(Attention-based Convolutional Neural Network,ACNN)提取文本特征。通過不同標(biāo)簽的樣本集來訓(xùn)練基學(xué)習(xí)器的構(gòu)建。再采用Bagging 集成學(xué)習(xí)方法將各標(biāo)簽的基學(xué)習(xí)器的結(jié)果選擇優(yōu)化輸出權(quán)重,完成集成學(xué)習(xí)器的構(gòu)建。將集成學(xué)習(xí)器的輸出作為該網(wǎng)頁是否為黑名單的判別結(jié)果。EACNN相較于其他相關(guān)工作優(yōu)勢如下:
1)基于神經(jīng)網(wǎng)絡(luò)的判別模型。相較于統(tǒng)計學(xué)習(xí)方法(K近鄰(K-Nearest Neighbor,KNN)[3]、支持向量機(Support Vector Machine,SVM)[4]等,神經(jīng)網(wǎng)絡(luò)模型[5-9]的準(zhǔn)確度更高,學(xué)習(xí)能力更強,能實現(xiàn)良好的非線性映射關(guān)系并具有很強的魯棒性。
2)引入注意力機制。對文本轉(zhuǎn)化后的嵌入向量執(zhí)行注意力計算,提升對判別結(jié)果影響力大的詞匯的關(guān)注度,降低對判別結(jié)果影響力小的詞匯關(guān)注度,使文本數(shù)據(jù)的特征表達更加合理、充分。
3)基于網(wǎng)頁結(jié)構(gòu)特征的集成學(xué)習(xí)??紤]網(wǎng)頁中不同標(biāo)簽數(shù)據(jù)對網(wǎng)頁的信息涵蓋程度不同,為引入網(wǎng)頁結(jié)構(gòu)特征,采用集成學(xué)習(xí)將不同網(wǎng)頁標(biāo)簽基學(xué)習(xí)器的判別結(jié)果進行整合,構(gòu)建基于集成學(xué)習(xí)和注意力機制的卷積神經(jīng)網(wǎng)絡(luò)(EACNN)模型。實驗結(jié)果表明EACNN 模型性能優(yōu)于其他基線模型,證明了采用集成學(xué)習(xí)方法引入網(wǎng)頁結(jié)構(gòu)特征的有效性。
網(wǎng)頁分析從20世紀(jì)90年代初的專業(yè)管理人員甄別,逐步向后期的關(guān)鍵詞檢索分析,發(fā)展到現(xiàn)在已經(jīng)開始采取啟發(fā)式內(nèi)容分析方法。網(wǎng)頁分析的主要目標(biāo)是獲取包含有效信息的網(wǎng)頁并剔除無關(guān)的網(wǎng)頁,即實現(xiàn)黑名單網(wǎng)頁的判別。早期的網(wǎng)頁分析方法以關(guān)鍵詞檢索、特征設(shè)計和引入知識庫、統(tǒng)計學(xué)習(xí)等技術(shù)為主要手段。文獻[10]基于關(guān)鍵詞匹配構(gòu)建混合模型來過濾網(wǎng)頁中的色情文本。Sheu 等[11]通過設(shè)計網(wǎng)頁特征結(jié)合決策樹算法從網(wǎng)頁集合中區(qū)分醫(yī)療類網(wǎng)頁和情色類網(wǎng)頁。徐雅斌等[12]基于K近鄰算法來過濾互聯(lián)網(wǎng)資源中的不良網(wǎng)頁。顧敏等[13]基于Naive Bayesian Model 結(jié)合網(wǎng)頁結(jié)構(gòu)特征,采用多特征融合的方法進行網(wǎng)頁分類。Kan 等[14]將URL作為特征實現(xiàn)快速的網(wǎng)頁分類。由于網(wǎng)頁包含很多非結(jié)構(gòu)化信息,完全依賴于人工設(shè)計特定的方式來分析網(wǎng)頁是不合理的;而單純采用關(guān)鍵詞檢索和統(tǒng)計學(xué)習(xí)方法在非線性特征方法的表達能力較弱,難以生成準(zhǔn)確性高、魯棒性好的模型。
隨著深度學(xué)習(xí)的不斷發(fā)展,基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)頁分析模型開始成為了主流。鄧璽[5]基于深度卷積神經(jīng)網(wǎng)絡(luò)搭建了網(wǎng)頁特征提取模型并實現(xiàn)了網(wǎng)頁類別劃分工作。Buber 等[6]基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的深度學(xué)習(xí)架構(gòu)并將標(biāo)題、描述和關(guān)鍵字的元標(biāo)簽信息作為特征來構(gòu)建網(wǎng)頁分類模型。另外有許多基于深度神經(jīng)網(wǎng)絡(luò)的方法[7-9]被用來解決文本分類判別問題,盡管它們沒有考慮網(wǎng)頁特征,但為基于深度學(xué)習(xí)的網(wǎng)頁黑名單判別模型的研究開展起到了鋪墊和推進作用。
本文在深度神經(jīng)網(wǎng)絡(luò)分類模型的基礎(chǔ)上引入注意力機制,在提升網(wǎng)頁語義信息表達能力的同時完成基礎(chǔ)學(xué)習(xí)器的構(gòu)建。注意力機制在本文的應(yīng)用方式為,以人的關(guān)注要點行為依據(jù)設(shè)計網(wǎng)頁文本嵌入向量的注意力計算。注意力機制在深度神經(jīng)網(wǎng)絡(luò)上的應(yīng)用,最早應(yīng)用在圖像處理領(lǐng)域[15],如今已廣泛應(yīng)用于自然語言處理[16]、語音識別[17]、模型設(shè)計[18]等領(lǐng)域。ACNN[19]將深度神經(jīng)網(wǎng)絡(luò)中的CNN 引入注意力機制,是注意力機制與神經(jīng)網(wǎng)絡(luò)結(jié)合來解決文本分類任務(wù)的探索性工作。
Zhou 等[20]發(fā)現(xiàn),對多個網(wǎng)絡(luò)進行隨機賦權(quán),并利用遺傳算法對權(quán)值進行進化,在一定程度上能夠提升神經(jīng)網(wǎng)絡(luò)的表現(xiàn)力?;谏鲜鲐暙I,采用類似Zhou 等[20]工作的集成學(xué)習(xí)方式來引入網(wǎng)頁結(jié)構(gòu)特征,將不同標(biāo)簽數(shù)據(jù)訓(xùn)練的基學(xué)習(xí)器進行集成,實現(xiàn)網(wǎng)頁黑名單的判別模型構(gòu)建。集成學(xué)習(xí)通過構(gòu)建并結(jié)合多個學(xué)習(xí)器來完成學(xué)習(xí)任務(wù)。Bagging[21]是并行式集成學(xué)習(xí)方法最著名的代表,基于自助采樣法,利用不同的采樣集訓(xùn)練出多個學(xué)習(xí)器,再將這些基學(xué)習(xí)器進行結(jié)合。Bagging 通常對分類任務(wù)使用簡單投票法,對回歸任務(wù)使用簡單平均法。蔣蕓等[22]提出了基于Bagging 的概率神經(jīng)網(wǎng)絡(luò)集成分類算法,該算法在分類誤差、準(zhǔn)確率、泛化性以及執(zhí)行速度方面優(yōu)于傳統(tǒng)BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)。鑒于引入注意力機制并結(jié)合網(wǎng)頁特征的集成深度學(xué)習(xí)模型在特征提取方面的優(yōu)勢,本文設(shè)計基于注意力機制和集成學(xué)習(xí)的網(wǎng)頁黑名單判別方法。
對網(wǎng)頁信息表達而言,不同標(biāo)簽中的文本數(shù)據(jù)對用戶理解信息的影響程度是不同的,相較于子標(biāo)簽,標(biāo)題和摘要標(biāo)簽中的數(shù)據(jù)對網(wǎng)頁信息的概述效果更好,顯然更便于用戶理解網(wǎng)頁信息?;谏鲜鏊枷?,本文提出一種基于注意力機制和集成學(xué)習(xí)的網(wǎng)頁黑名單判別方法,此方法被用于構(gòu)建基于集成學(xué)習(xí)和注意力機制的卷積神經(jīng)網(wǎng)絡(luò)(EACNN)模型。EACNN結(jié)構(gòu)如圖1。
圖1 EACNN結(jié)構(gòu)Fig.1 EACNN structure
主要內(nèi)容如下:首先,將網(wǎng)頁HTML 數(shù)據(jù)根據(jù)標(biāo)簽類型抽樣為若干個子訓(xùn)練集;然后,對不同標(biāo)簽(Tags)的訓(xùn)練子集采用基于注意力機制的CNN(ACNN)來構(gòu)建基學(xué)習(xí)器;最后,通過集成學(xué)習(xí)的方法對不同的基學(xué)習(xí)器賦予一個不同的權(quán)重Wk,實現(xiàn)網(wǎng)頁黑名單的判別輸出。
基于注意力機制的CNN(ACNN)網(wǎng)頁判別模型結(jié)構(gòu)如圖2所示。
圖2 ACNN網(wǎng)頁判別模型Fig.2 Web page discrimination model of ACNN
嵌入層 將文本映射到多維實數(shù)空間,實現(xiàn)語義表達?;赪ord2vec 的Skip-gram 策略預(yù)訓(xùn)練詞嵌入模型[23],用于將原始輸入文本序列轉(zhuǎn)化成嵌入矩陣,并將嵌入矩陣作為注意力計算層的輸入。
注意力計算層 對嵌入矩陣進行局部注意力的計算,獲取文本序列的注意力信息來生成注意力矩陣。卷積層的輸入矩陣為嵌入矩陣和注意力矩陣的拼接結(jié)果。
卷積層 對輸入的嵌入矩陣執(zhí)行卷積操作,提取特征信息。
最大池化層 對卷積結(jié)果矩陣進行特征的再提取,減少模型參數(shù)量的同時提高模型的魯棒性。
輸出層 數(shù)據(jù)歸一化處理。對最大池化層輸出的特征矩陣采用Sigmoid函數(shù)計算輸出結(jié)果,完成網(wǎng)頁是否為黑名單的判別。
2.1.1 詞嵌入
嵌入層采用Jieba(https://github.com/fxsjy/jieba)開源工具進行刪除停用詞和中文分詞的預(yù)處理工作,并基于Word2vec 方法的Skip-gram 模型實現(xiàn)詞向量的構(gòu)建。嵌入層通過Word2vec 嵌入模型將輸入文本映射到多維實數(shù)空間上,構(gòu)建嵌入向量來表達文本特征和語義內(nèi)容。表達方式為:將一個詞匯長度為n的句子通過預(yù)訓(xùn)練的詞嵌入模型,生成輸入矩陣X={c1,c2,…,cn}。其中輸入矩陣X為一個n*d的矩陣,n代表輸入文本的詞長度,d代表詞向量長度,ci表示句子中第i個詞匯的嵌入向量。嵌入表達采用基于Wikipedia_zh 中文維基百科語料貢獻的詞向量模型[24]。詞向量模型的基本設(shè)置:動態(tài)窗口大小為5;消極采樣為5;迭代次數(shù)為5;低頻詞匯為10;二次采樣概率為1E-5。
2.1.2 注意力計算
注意力計算層通過引入注意力機制來提升嵌入矩陣的特征表達能力。注意力計算層為更好地關(guān)注與判別操作緊密相關(guān)的關(guān)鍵詞,設(shè)計了自注意矩陣。采用滑動窗口來計算局部嵌入矩陣的權(quán)值,滑動窗口大小為j,每個窗口的權(quán)值是不共享的。為保證窗口的中心詞都是原始向量中矩陣的詞,實現(xiàn)覆蓋全部嵌入向量,在輸入矩陣首尾各加入(j-1)/2 個隨機初始向量。隨后執(zhí)行局部嵌入重要程度的計算。
評價局部嵌入重要程度的計算公式如下:
其中:si為窗口中心詞的重要程度,Xi:i+j-1為輸入的第i個到第i+j-1 個窗口內(nèi)的嵌入矩陣,Watt為輸入詞的注意力權(quán)值矩陣,batt為注意力偏置值,f()表示Sigmoid激活函數(shù)。
關(guān)鍵詞 閾值設(shè)定公式:
通過將詞的重要程度si的大小與閾值λ的對比,得到詞的關(guān)鍵向量ai,定義如下:
ai保留了重要程度更高的詞匯,并將低于平均影響力的詞匯的權(quán)重設(shè)置為零向量(0)。其中ci為詞的原始輸入向量,將{a1,a2,…,an}拼接得到經(jīng)過自注意矩陣的Xatt。矩陣X和矩陣Xatt拼接構(gòu)成卷積層的輸入矩陣Xcon。
2.1.3 卷積與預(yù)測
卷積層通過對輸入矩陣的卷積操作來提取文本的局部特征,基學(xué)習(xí)器的卷積運算如下:
其中:coi即卷積層的特征提取計算結(jié)果,coi(i=1,2,…,n-h+1)表示卷積運算后的結(jié)果矩陣,h為窗口大小,Xcon,i:i+h-1表示卷積層輸入的第i個到第i+h-1 個窗口內(nèi)的矩陣,Wcon為權(quán)值矩陣,b為偏置值,f()表示Sigmoid激活函數(shù)。
然后采用最大池化操作,對卷積操作提取的特征進行壓縮并提取主要特征,將池化得到的最大值進行拼接,得到一條一維特征向量的池化操作如下。
Sigmoid 函數(shù)適用于二分類問題中將內(nèi)部函數(shù)轉(zhuǎn)化為概率函數(shù)。其中Wf∈R1×M為用于網(wǎng)頁黑名單判別的1維矩陣,bf為偏置值。
2.1.4 模型訓(xùn)練
ACNN是一個二分類模型,因此激活函數(shù)選擇為Sigmoid,通過將空間矩陣映射到[0,1]區(qū)間,實現(xiàn)網(wǎng)頁是否屬于黑名單的預(yù)測。
Sigmoid計算公式為:
代價函數(shù)選擇交叉熵?fù)p失函數(shù),定義如下:
其中:y為實際類別標(biāo)簽值是Sigmoid 激活函數(shù)計算得到的判別結(jié)果,區(qū)間為[0,1]。在模型訓(xùn)練階段采用梯度下降法來加快收斂并減少計算量,引入dropout 策略[25]和k折交叉驗證來防止過擬合。本文dropout 和k折交叉驗證的參數(shù)分別為0.5和3。
考慮到不同的網(wǎng)頁標(biāo)簽對網(wǎng)頁信息的表現(xiàn)力不同,需要分析不同網(wǎng)頁結(jié)構(gòu)文本對網(wǎng)頁判別的權(quán)重系數(shù)。將不同標(biāo)簽數(shù)據(jù)集設(shè)置為不同基學(xué)習(xí)器的訓(xùn)練集,每個訓(xùn)練集對應(yīng)訓(xùn)練一個基學(xué)習(xí)器。與傳統(tǒng)Bagging采用投票方式不同的是,本文為每個基學(xué)習(xí)器的輸出賦予一個優(yōu)化權(quán)重,即經(jīng)過每個基學(xué)習(xí)器輸出結(jié)果為原始輸出與優(yōu)化權(quán)重的乘積,總體結(jié)果為基學(xué)習(xí)器輸出結(jié)果累加和的平均數(shù)。具體計算過程如下。
將網(wǎng)頁HTML 數(shù)據(jù)集根據(jù)標(biāo)簽類別抽樣成N個子數(shù)據(jù)集,表示為T={T1,T2,…,TN}。標(biāo)簽類別數(shù)目與基學(xué)習(xí)器個數(shù)相同,均為N。第k類子數(shù)據(jù)集表示為Tk={tk1,tk2,…,tkm},tkm表示第k類標(biāo)簽子數(shù)據(jù)集的第m條文本數(shù)據(jù)。
第k類基學(xué)習(xí)器對tkm的預(yù)測輸出結(jié)果表示為Ok(tkm),經(jīng)過集成學(xué)習(xí)概念對第m個網(wǎng)頁是否為黑名單的判別結(jié)果計算公式為:
其中O(tm)表示對第m條網(wǎng)頁進行集成計算的輸出結(jié)果,即引入權(quán)重系數(shù)Wk表示第k個基學(xué)習(xí)器的輸出權(quán)重。為保證集成學(xué)習(xí)器效果的優(yōu)秀,需要對不同學(xué)習(xí)器的文本權(quán)重進行最優(yōu)解計算。粒子群優(yōu)化算法[26]具有對連續(xù)參數(shù)進行目標(biāo)函數(shù)優(yōu)化的能力,且具有搜索速度快、效率高,適合于實值型處理等方面的優(yōu)點。因此本文采用粒子群優(yōu)化算法(算法1)來實現(xiàn)集成學(xué)習(xí)器權(quán)重W的參數(shù)求解。
其中:score(W)表示當(dāng)前輸入文本設(shè)置權(quán)重對模型判別的影響效果,W={W1,W2,…,WN}表示各個基學(xué)習(xí)器的輸出權(quán)重集合。rank(tki)表示基學(xué)習(xí)器k對第i個網(wǎng)頁的判別效果表示基學(xué)習(xí)器k對第i個網(wǎng)頁是否為黑名單的預(yù)測標(biāo)記,y(tki)表示第i個網(wǎng)頁是否為黑名單的實際標(biāo)記。
算法1 基于粒子群優(yōu)化算法的EACNN權(quán)重設(shè)置方法。
輸入 粒子數(shù)Partn,迭代次數(shù)Itern,速度Speed,EACNN 模型,網(wǎng)頁的標(biāo)記集合Y={y1,y2,…,ym}。
過程:
算法1 中每個粒子的訓(xùn)練參數(shù)表示基學(xué)習(xí)器的輸出權(quán)重系數(shù)集合。算法1相關(guān)參數(shù)設(shè)置如下:粒子數(shù)Partn=100,迭代次數(shù)Itern=10,更新權(quán)重Speed=0.2。
基于爬蟲技術(shù)從百度搜索引擎(https://www.baidu.com)中收集了4 390條地理信息類的網(wǎng)頁數(shù)據(jù)作為實驗數(shù)據(jù)集,并采用人工標(biāo)注的方法對實驗數(shù)據(jù)進行標(biāo)記,其中正例2 790條、反例1 600 條。將黃頁、商業(yè)購物、投放廣告、社區(qū)問答類網(wǎng)頁標(biāo)記為黑名單,蘊含地理信息數(shù)據(jù)的網(wǎng)頁標(biāo)記為白名單。被標(biāo)記為正例的數(shù)據(jù)屬于白名單數(shù)據(jù),標(biāo)記為反例的數(shù)據(jù)為黑名單數(shù)據(jù)。實驗數(shù)據(jù)的訓(xùn)練集和測試集的數(shù)據(jù)數(shù)量比例為7∶3。每條數(shù)據(jù)包含如下屬性:1)網(wǎng)頁標(biāo)題數(shù)據(jù);2)網(wǎng)頁元標(biāo)簽數(shù)據(jù);3)網(wǎng)頁URL 數(shù)據(jù);4)網(wǎng)頁各級小標(biāo)題數(shù)據(jù);5)網(wǎng)頁特殊字體數(shù)據(jù);6)網(wǎng)頁正文數(shù)據(jù);7)網(wǎng)頁正反類型的布爾數(shù)據(jù),數(shù)據(jù)樣本示例如圖3。
圖3 數(shù)據(jù)樣本示例Fig.3 Data samples
實驗是在macOS系統(tǒng)下進行的,CPU為Intel Core i5,內(nèi)存為8 GB 1 600 MHz DDR3。詞向量維度d=300。其他實驗條件如表1。
表1 實驗環(huán)境及配置Tab.1 Experimental environment and configuration
為引入網(wǎng)頁結(jié)構(gòu)特征并驗證集成學(xué)習(xí)方法的效果,在實驗環(huán)節(jié)將網(wǎng)頁HTML 文本數(shù)據(jù)根據(jù)其元標(biāo)簽類型分為如下子數(shù)據(jù)集:1)標(biāo)題;2)元數(shù)據(jù)標(biāo)簽頁;3)各級小標(biāo)題;4)特殊字體類標(biāo)簽;5)網(wǎng)頁正文和table 標(biāo)簽。根據(jù)觀察得出不同標(biāo)簽類別對判別網(wǎng)頁結(jié)果的影響不同,本研究中將網(wǎng)頁文本數(shù)據(jù)分為如下類別,如表2。采用上述5 類數(shù)據(jù)進行ACNN 基學(xué)習(xí)器的構(gòu)建。
表2 網(wǎng)頁標(biāo)簽的類別劃分Tab.2 Categories of Web page tags
采用粒子群算法(算法1)實現(xiàn)各基學(xué)習(xí)器的最優(yōu)權(quán)重計算結(jié)果如表3。結(jié)果發(fā)現(xiàn),基于標(biāo)題文本數(shù)據(jù)和元標(biāo)簽數(shù)據(jù)構(gòu)建的基學(xué)習(xí)器的權(quán)重系數(shù)高于其他基學(xué)習(xí)器的權(quán)重系數(shù)??紤]原因,標(biāo)題和元標(biāo)簽更好地對網(wǎng)頁的元信息進行了概述,而網(wǎng)頁正文數(shù)據(jù)蘊含的信息相較其他標(biāo)簽內(nèi)容更多樣且噪音信息更多,所以基于網(wǎng)頁正文構(gòu)建的基學(xué)習(xí)器的集成權(quán)重系數(shù)為最低的0.169 0。在后續(xù)實驗環(huán)節(jié)沿用表3中的參數(shù)完成EACNN構(gòu)建。
表3 基學(xué)習(xí)器的輸出權(quán)重Tab.3 Output weights of base learners
網(wǎng)頁數(shù)據(jù)的樣本長度為樣本所包含的詞匯數(shù)目。各Tags數(shù)據(jù)集樣本長度統(tǒng)計曲線均為近對數(shù)正態(tài)分布。由于不同Tags集合的樣本長度分布不同,單純?nèi)¢L度最長的樣本,并把其他樣本填充成同樣的長度,會浪費計算資源。為避免樣本間信息量偏差過大,所以設(shè)計長度閾值L來優(yōu)化輸入內(nèi)容。通過計算樣本長度的平均值與二倍此類樣本長度標(biāo)準(zhǔn)差的和作為數(shù)據(jù)的樣本長度閾值L的設(shè)置公式。公式為:
當(dāng)樣本長度超過閾值L時截取末尾多余長度的樣本,對樣本長度低于閾值L的樣本執(zhí)行前補零操作。將采用L和原始樣本長度(Original Length,OL)的不同數(shù)據(jù)集基學(xué)習(xí)器進行了F1分值的對比實驗,來觀察設(shè)置樣本閾值長度對模型的影響。如圖4所示。
圖4 樣本長度閾值L對不同學(xué)習(xí)器的F1分值影響Fig.4 Influence of sample length threshold L to F1 score of different learners
實驗結(jié)果表明對各學(xué)習(xí)器設(shè)置優(yōu)化的樣本長度閾值L能夠不同程度地提升模型的整體性能。同時發(fā)現(xiàn)由于Tags1 和Tags2的樣本長度范圍較小,樣本長度閾值的設(shè)置對模型的提升效果較低。在樣本長度普遍更長的Tags3、Tags4、Tags5 和All Text數(shù)據(jù)集,樣本長度閾值的設(shè)置使基學(xué)習(xí)器的F1分值提升更顯著。證明了樣本長度閾值設(shè)置的合理性。
為了驗證EACNN 模型的先進性,選擇了SVM、KNN、LSTM、GRU和ACNN作為基線模型,實驗結(jié)果如表4。
表4 不同模型的性能對比 單位:%Tab.4 Performance comparison of different models unit:%
從表4 可以看出,使用深度學(xué)習(xí)的模型判別效果優(yōu)于基于SVM 和KNN 的傳統(tǒng)機器學(xué)習(xí)模型,證明了深度學(xué)習(xí)模型在特征提取和學(xué)習(xí)方面性能優(yōu)于傳統(tǒng)機器學(xué)習(xí)模型。此外,基于深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)頁黑名單判別模型在使用本數(shù)據(jù)集時能力相近,CNN、LSTM和GRU的F1分值分別為81.29%、80.30%和82.78%。值得關(guān)注的是,引入注意力機制后的CNN 模型的判別效果得到了一定的提升,達到了91.80%的Accuracy和93.77%的F1分值,這說明注意力機制的引入增強了網(wǎng)頁語義特征的表達能力。EACNN 模型的Accuracy 和F1達到了最高的96.90%和95.58%。這證明了本文提出的方法的有效性,將注意力機制和基于網(wǎng)頁結(jié)構(gòu)特征的集成學(xué)習(xí)方法結(jié)合能為網(wǎng)頁黑名單判別模型的構(gòu)建起到積極作用。
為進一步分析基于網(wǎng)頁結(jié)構(gòu)特征的集成學(xué)習(xí)方法的合理性,將EACNN 與基學(xué)習(xí)器的網(wǎng)頁判別能力進行了對比。實驗結(jié)果如表5。
表5 EACNN與基學(xué)習(xí)器的性能對比 單位:%Tab.5 Performance comparison between EACNN and base learners unit:%
由表5 可以看出,基于網(wǎng)頁結(jié)構(gòu)特征的集成學(xué)習(xí)器相較基學(xué)習(xí)器而言,具有更高的Accuracy 和Precision 和F1值,Recall 小幅下降,這說明采用本研究提出的方式,網(wǎng)頁黑名單判別的效果更好。可以證明,隨著網(wǎng)頁結(jié)構(gòu)特征概念的引入,模型的各方面效果都得到了提升。All Text 學(xué)習(xí)器是網(wǎng)頁HTML全文本訓(xùn)練的ACNN學(xué)習(xí)器。
實驗分析 與Tags3、Tags4、Tags5基學(xué)習(xí)器相比,EACNN的Recall略有下降。這是因為Accuracy和Recall互相影響,集成學(xué)習(xí)的策略為理想狀態(tài)下追求兩個值均高為優(yōu),但實際情況是兩者相互“制約”:追求準(zhǔn)確率高,則召回率就低;追求召回率高,則會影響準(zhǔn)確率。在集成學(xué)習(xí)方式選擇上采用粒子群智能算法逼近真實答案,這是一種追求準(zhǔn)確率的方式,因此會損失一部分召回率作為代價,由于F1值的提升,證明了集成學(xué)習(xí)能夠提升模型整體性能。此外,本文發(fā)現(xiàn)基于Tags1 和Tags2數(shù)據(jù)的基學(xué)習(xí)器的整體性能優(yōu)于其他基學(xué)習(xí)器,這說明網(wǎng)頁的標(biāo)題和元描述數(shù)據(jù)更好地包含了關(guān)于Web 頁面特征的信息,且此類數(shù)據(jù)的樣本長度較短,易于提取特征且噪聲信息少。實驗結(jié)果發(fā)現(xiàn)引入不同網(wǎng)頁標(biāo)簽特征的EACNN 模型的判別效果優(yōu)于單一基學(xué)習(xí)器,說明采用集成學(xué)習(xí)方法在引入網(wǎng)頁結(jié)構(gòu)特征的同時對網(wǎng)頁黑名單判別有積極作用。
本文提出一種基于注意機制和集成學(xué)習(xí)的網(wǎng)頁黑名單判別方法。本方法依據(jù)網(wǎng)頁HTML 標(biāo)簽類型構(gòu)建多個網(wǎng)頁黑名單判別的基學(xué)習(xí)器?;鶎W(xué)習(xí)器采用詞向量表達和注意力的卷積神經(jīng)網(wǎng)絡(luò)進行特征提取,經(jīng)過Sigmoid 函數(shù)進行二分類輸出。然后采用基于網(wǎng)頁結(jié)構(gòu)特征的集成學(xué)習(xí)方法對基學(xué)習(xí)器的輸出進行權(quán)重賦值,形成引入網(wǎng)頁結(jié)構(gòu)特征的最終輸出結(jié)果,實現(xiàn)網(wǎng)頁黑名單的判別。通過設(shè)計樣本長度實驗、基線模型對比實驗和集成效果性能實驗多角度的觀察本方法的性能。實驗結(jié)果表明,本方法構(gòu)建的EACNN 模型性能在整體性能上優(yōu)于其他基線模型,證明了引入基于網(wǎng)頁結(jié)構(gòu)特征的集成學(xué)習(xí)和注意力機制能夠更好地提取網(wǎng)頁結(jié)構(gòu)和文本特征,使網(wǎng)頁黑名單的構(gòu)建效果更好,說明本方法能夠為凈化互聯(lián)網(wǎng)環(huán)境做出貢獻。未來我們計劃開展網(wǎng)頁多分類工作的研究,結(jié)合知識圖譜技術(shù),實現(xiàn)面向互聯(lián)網(wǎng)資源的知識抽取,達到提升互聯(lián)網(wǎng)信息檢索的效率和質(zhì)量的期許。