?

基于改進LDA模型的信息安全事件提取算法

2021-01-10 08:22吳君戈張笑笑鄒春明宋好好
網絡空間安全 2020年12期
關鍵詞:語句文檔信息安全

吳君戈,張笑笑,鄒春明,宋好好

(公安部第三研究所/上海網絡與信息安全測評工程技術研究中心,上海 200031)

1 引言

隨著互聯網技術的不斷發展,信息化已經深入到人們生活的方方面面,信息化高速發展也導致了各式各樣信息安全事件的出現,給人民的財產安全造成了嚴重的威脅[1]。與此同時,信息安全事件往往被淹沒在海量的新聞事件中,研究人員較難快速地定位到信息安全事件之上,難以有針對性地提出解決方案[2]。因此,如何有效地從海量的新聞事件中抽取出信息安全事件,對于維護社會穩定和公共利益具有積極而重要的意義[3]。

近年來,國內外學者針對信息安全事件的分類提取工作進行了大量的研究。文獻[4]中,作者利用TextRank和隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)模型對信息安全熱點事件進行分類和提取,然而LD模型需提前預設參數,參數選擇對于其分類性能有著直接的影響。文獻[5]中,G Jelena等人提出了基于K最近鄰(k-Nearest Neighbor,KNN)分類算法和支持向量機(Support Vector Machine, SVM)的多層文本分類算法,并證明了所提算法的有效性。然而,實驗中所用數據需提前進行主標簽分類,當數據量增加時分類效率必然會有所降低。文獻[6]中,A Ritter等人提出利用弱監督學習算法從Twitter上提取信息安全事件,但是由于Twitter屬于文本表現自由的短文本,較之新聞文本有較大差別,因此該算法用于新聞文本中進行信息安全事件的分類抽取時并無優勢。

對于信息安全管理而言,如何快速、準確地從大量新聞事件中提取信息安全事件是一個挑戰。為了解決這個問題,本文提出一種基于改進LDA模型的信息安全事件提取方法,首先通過對傳統LDA模型中文本主題數確定指標進行優化,提高LDA模型對于事件主題挖掘的準確性,進而從海量新聞事件中形成信息安全事件候選事件集,最后采用投票機制從候選事件集中分類出真正的信息安全事件。

2 基于改進LDA模型的候選事件集構建

2.1 傳統LDA模型

隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)模型由D M Blei等人提出,通過無監督學習方法分析文檔集中每篇文檔的主題分布,然后根據主題分布進行主題聚類或文本分類[7]。LDA模型認為一篇文檔可以包含多個主題,這與一個信息安全事件往往涉及多個主題相吻合。

LDA模型的基本思想:首先是生成“主題-詞匯”多項分布,此多項分布是服從參數為 β 的狄利克雷先驗分布,再生成“文檔-主題”多項分布,此多項分布是服從參數為 的狄利克雷先驗分布,具體過程如圖1所示[8]。

圖1 LDA模型實現圖

LDA模型具體實現就是確定出參數(α,β),常用的估計方法有期望傳播、貝葉斯推斷和Gibbs抽樣等,由于Gibbs抽樣的算法比較簡單,而且對參數的抽樣效果較為理想,因此在LDA主題模型中,常使用Gibbs抽樣方法對語料庫中的所有文檔和詞匯的主題進行提取,具體流程如下[9]:

1)選擇合適的主題數K,初始化參數向量α和β;

2)對應語料庫中每一篇文檔的每一個詞,隨機的賦予一個主題編號Zm,n;

3)重新掃描語料庫,對于每一個詞,利用Gibbs采樣公式更新它的主題編號,并更新語料中該詞的編號;

4)重復第3)步的基于坐標軸輪換的Gibbs采樣,直到Gibbs采樣收斂;

5)統計語料庫中的各個文檔各個詞的主題,得到文檔主題分布,統計語料庫中各個主題詞的分布,得到LDA的主題與詞的分布

由上述流程可以看出,確定參數(α,β)需提前預設好最優主題個數,因此影響最終LDA模型主題分類效果的一個重要因素是最優主題個數的確定。

2.2 改進的LDA模型

目前,LDA模型中常用于衡量最優主題數的指標有困惑度(Perplexity)、JS散度(Jensen-Shannon Divergence)等[10]。然而,Perplexity指標注重模型對新文檔的預測能力,往往導致求得的最優主題數偏大,而JS散度側重于主題之間的差異性和穩定性,雖彌補了Perplexity的缺點,但求得的主題數偏小。因此,本文結合兩者的優點提出一種改進的最優主題數確定指標Perplexity-Aver,來得到更貼合實際要求的主題數目。

為衡量主題空間的整體差異性,首先在JS散度的基礎上引入JS散度平均值Aver(T)的概念,表達式如下所示:

其中,P1和P2分別為主題k1和k2的概率分布。

最后,綜合Perplexity和Aver(T)兩個指標,提出一種確定最優主題數指標Perplexity-Aver,其計算方法如下:

其中,Dtest表示實驗的文本數據集,Perplexity(Dtest)表示實驗數據集的困惑度,Aver(Ttest)表示實驗數據集的JS散度平均集。

由公式(4)可以看出,當Perplexity(Dtest)越小時,主題模型的泛化能力越強,對新文檔主題的預測效果更好;當Aver(Ttest)越大時,主題模型各主題之間的差異就越大,主題的平均相似度就越小,主題抽取的效果就越好。因此,當Perplexity-Aver的指標最小時,對應的主題數是最優主題數。

綜上所述,利用改進的LDA模型進行主題建模時分為七步驟:

1)將各類別混合的N篇文檔進行預處理,包括去分詞和去停用詞;

2)將預處理好的文檔集輸入改進的LDA主題模型,輸入模型參數K、α、β;

3)利用Gibbs抽樣計算出模型的θ和φ分布;

4)改變K的值,重復步驟2)和3),得到不同主題數下的建模結果;

5)根據Perplexity-Aver確定最優主題數K;

6)修剪無關的詞匯,輸出各類信息安全事件下的關鍵詞;

7)輸出主題建模結果。

其中,步驟1)中分詞是指遵循一定的規則,將一個個連續的字序列劃分為詞匯的過程;去停用詞是指刪除文檔中出現的虛詞和對文本分類沒有實際意義的高頻詞匯。

2.3 候選事件集構建

通過改進的LDA模型進行主題建模,可以得到信息安全事件的幾大類別,并得到每一類主題下的主題詞,主題詞可以作為該類信息安全事件的觸發詞,由觸發詞引發的事件集合稱為候選事件集。

然而,并非所有含觸發詞的事件都是與信息安全相關的事件。例如表1所示,只有句子1是信息安全相關事件,即句子中的“病毒”是網絡病毒的含義;句子2和句子3都不屬于信息安全事件的范疇,不是我們真正關注的事件。

因此,本文對事件觸發詞進行改進,將觸發詞分為“限制詞”和“業務詞”,業務詞是指事件涉及到的敏感詞匯,限制詞則根據每一類事件實際描述的事件內容,限定了業務詞引起的事件的范圍。將“限制詞”和“業務詞”同時作為觸發條件,以使候選事件更接近于信息安全相關事件。

表1 觸發詞觸發的事件示例

表2 業務詞和限制詞共同觸發的事件示例

雖然將事件觸發詞改進為“限制詞”和“業務詞”,可以提高候選事件集中信息安全事件的比例,但是得到的候選事件集中仍然存在不合要求的事件。例如表2所示,其中句子1和3是與信息安全相關的事件,句子2和4明顯是與信息安全無關的事件。

因此,本文選擇觸發語句所在位置、觸發語句在全文的比例、標題是否為觸發語句作為候選事件集中的特征項對候選事件集進行特征提取,具體定義為:

① 觸發語句所在位置F1的計算方式如公式(5)所示:

其中,Nrank表示觸發語句在文中的位置,即觸發語句在文中第幾句;Ntotal表示文中句子總數。

② 觸發語句在全文中的比例F2的計算方式如公式(6)所示:

其中,ntotal表示觸發語句在文中的數量。

③ 標題是否為觸發語句F3的計算方式如公式(7)所示:

3 基于改進LDA模型的信息安全事件提取算法

由于候選事件集中的文章僅有兩類,與信息安全相關的事件和與信息安全無關的事件,因此識別真正的信息安全事件問題可以看作是一個二分類問題?;诖?,本文對候選事件集進行特征提取之后,利用投票機制,完成對信息安全事件和與信息安全無關的事件的分類。

基于投票機制的文本分類屬于集成學習,其基本思路是先使用多個分類器單獨對樣本進行預測,然后通過一定的方式將各個分類器的分類結果融合起來,以此決定文本的最終歸屬類別。集成學習是否有效的關鍵有兩點:

一是各個基分類器必須有一定的差異性;

二是各個基分類器的預測正確率必須不小于50%。

圖2 信息安全事件提取算法流程圖

因此,本文選取樸素貝葉斯、SVM、決策樹構建投票機制,利用候選事件集特征F1、F2和F3,供二元分類算法學習,進而采用訓練完成后的投票機制進行預測,預測數據的最終結果為服從多數分類器預測的結果,具體算法流程圖如圖2所示。

4. 實驗結果及分析

4.1 實驗數據及預處理

本文通過網絡爬蟲工具GooSeeker,收集國內主流的信息安全網站(中國信息安全等級保護網、中國信息安全網等)2015年1月1日至2019年12月30日期間報道的信息安全事件作為原始數據集。原始數據集內容為上述網站的新聞內容、標題和發布時間,其中新聞內容只保留文字,去除視頻、圖片等格式的數據。

由于采集到的原始數據中含有垃圾數據,因此經對采集到的數據進行去除重復數據和刪掉無文本的空白數據后,共獲得有效數據13,684條。

4.2 實驗結果分析

本文在對對原始數據進行分詞和去停用詞的預處理后,利用改進的LDA模型對原始數據集進行主題建模,設置迭代次數為100,經驗值參數α和β參照文獻[11]分別設置為50/k和0.01。對于主題數量K,根據以往信息安全事件的分類經驗,將主題數量約定在3~10之間,利用Perplexity-Aver確定最優的主題數K。圖3為主題建模過程中Perplexity-Aver值與Perplexity、JS散度的對比關系,從圖3中可以看出,Perplexity因更看重對新文檔的預測能力導致主題數偏大,而JS散度因更看重整體的差異性和穩定性而導致主題數偏小。

為了進一步驗證本文所提信息安全事件提取方法的性能,選取準確率(Precision)、召回率(Recall)和F值作為評價標準,表達式如下所示:

其中,TP表示正確匹配的樣本數量,即將信息安全事件樣本預測為信息安全事件的數量,FN表示漏報的樣本數量,即將信息安全事件的樣本錯誤預測為非信息安全事件的數量,FP表示誤報的樣本數量,即將非信息安全事件的樣本錯誤預測為信息安全事件的數量,TN表示正確的非匹配樣本數量,即將非信息安全事件的樣本預測為非信息安全事件的數量。

實驗中,使用交叉驗證的方法進行5折交叉驗證,即每次選擇實驗數據的1/5作為測試數據,剩下的4/5作為訓練數據,進行5次試驗,并將5次試驗結果的準確率、召回率、F值的平均值作為最終的準確率、召回率和F值。為了驗證本文所提信息安全事件提取方法的有效性,選取文獻[4]和文獻[12]中所提分類算法進行比較,其中文獻[4]為采用傳統LDA模型進行文本分類提取的方法,文獻[12]提出一種基于改進BP神經網絡的文本分類方法,結果如表3所示

圖3 Perplexity-Aver與Perplexity、JS散度的對比關系

從表3中可以看出,在準確性、召回率和F值指標上,本文所提事件提取方法均要優于文獻[4]和文獻[12]所提的文本分類方法,這是證明了本文所提算法在信息安全事件提取方面的有效性。

表3 本文方法與其他文獻方法性能比較

5 結束語

本文提出一種基于LDA模型和投票機制的信息安全事件提取方法,通過利用LDA主題模型和改進的主題數確定指標Perplexity-Aver對新聞事件進行主題建模,得到信息安全候選事件集,最后利用投票機制從候選事件集中識別出真正的信息安全事件。仿真結果表明,本文所提信息安全事件提取方法,無論在準確率、召回率,還是F值方面,均優于傳統的文本方法,可以獲得較好的文本分類性能。

猜你喜歡
語句文檔信息安全
基于區塊鏈技術的船舶信息安全預測
淺談Matlab與Word文檔的應用接口
有人一聲不吭向你扔了個文檔
輕松編輯PDF文檔
信息安全不止單純的技術問題
Word文檔 高效分合有高招
基本算法語句
我喜歡
2014第十五屆中國信息安全大會獎項
作文語句實錄
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合