張明星,鄧時滔,李海怒
(中國核動力研究設計院,四川 成都 610005)
基于VSM的文件密級檢測系統設計與實現
張明星,鄧時滔,李海怒
(中國核動力研究設計院,四川 成都 610005)
基于科研單位內部系統向外導出文件的實際情況,針對人工在對文件密級判定過程中存在效率低、易失誤等方面的局限,分析了向量空間模型、相似度算法和分詞技術,設計了一套基于VSM的文件密級檢測系統,將涉密文件資源庫中的文件轉化為向量從而構建涉密文件向量集。系統運行時,將待檢測文件轉化為文件向量,并與向量集中的文件向量進行余弦相似度計算,判斷待檢測文件密級,從而在一定程度上實現了基于內容的密級檢測功能。實驗結果表明,系統能夠在較短時間內完成對文件密級的檢測,正確率較高,系統的應用能夠有效提高密級文件管理的安全性和智能性。
向量空間模型;密級檢測;信息安全
目前,政府機構、科研單位、大型企業的內部信息系統大多采用與國際互聯網等外部系統隔離的方式來確保內部敏感信息的安全。在實際業務工作中,內部與外部系統文件交換頻度高,在內部文件信息向外部導出的過程中,如果依靠人工來判斷文件的密級,往往效率低下,而且由于文件多,存在人為判斷失誤導致涉密數據泄露的風險,造成文件涉密內容知悉范圍的擴大。此外,如果密級文件的密級標識被刪除,就需要人工對文件內容進行審查,無疑增大了文件密級判定的難度。因此,通過計算機信息化手段建立基于內容的文件密級自動檢測系統,已成為防止內部數據外泄的研究重點,也是保障內部系統數據安全的關鍵。
基于科研單位由內向外導出文件的實際需求,內部系統中的文件導出前,通過與當前領域的涉密文件進行相似度比對,對文件密級進行檢測,相似度越大,說明文件相似程度越高,密級就類似,反之就越低。本文設計了一套涉密文件自動檢測系統,通過分詞算法對文件進行分詞,采用空間向量模型對文件進行重構,建立涉密文件向量集,根據計算文件向量之間的夾角余弦相似度完成對文件密級的檢測。
向量空間模型(Vector Space Model,簡稱VSM)是一個關于文獻表示的統計模型,廣泛用于文本檢索、自動文摘、文本分類和搜索引擎等信息檢索領域中[1]。根據向量空間模型的基本思想,將當前涉密文件資源庫中全部m個涉密文件中所有詞條構成一個n維向量空間V(t1、t2、t3...tn),其中n為詞條的總個數。對于文件資源庫中的每一個文件i(i=1,2,3,...,m),定義向量Vi=(wi1,wi2,wi3,...,win),其中win表示詞條tk(1≤k≤n)在文件i中的重要程度,即權重。權重的計算方法采用tf-idf公式[2-3]:
(1)
式(1)中,tfik表示詞條tk在涉密文件i中出現的次數,即特征詞頻率,tfik越高意味著tk對于文件i越重要;dfk表示整個文件集合中包含詞條tk的文件個數,即特征詞的文件頻率;N表示全部文件數量,分母為歸一化因子。idfk=log(N/dfk)為逆向文件頻率,idfk越高意味著詞條tk對于涉密文件的區別作用越大,權重也就越高。
對于待檢測的文件同樣需要被處理轉換為向量,并用與涉密文件向量集相同的方式表示,即n維向量,q=(wq1,wq2,wq3,...wqn)。待檢測的文件向量采用布爾框架進行向量化,如果待檢測文件中包含詞條tk則權重為1,否則為0。
在涉密文件和待檢測文件向量化表示的基礎上,待檢測文件與各涉密文件之間的相似度通過對應的向量在n維向量空間中的相對位置來確定,即通過計算兩個文件向量夾角的余弦函數確定文件的相似度[4],如式(2)所示:

(2)
本文提出的基于VSM的文件密級檢測系統原理如圖1所示。

圖1 基于VSM的涉密文件檢測系統原理
系統主要流程為:
(1)文件預處理及涉密文件向量集建立。將當前領域內的所有涉密文件進行匯總,形成文件庫。由于文件中包含有圖片、圖表等非文本信息,因此需對文件進行預處理,即對文件進行純文本提取。純文本提取主要將涉密文件庫中不同格式的文件轉化為統一的文件格式,去除文件中的圖像、標點等非文本信息,以便能夠正確識別文件內容并進行下一步的分詞處理。本檢測系統主要涉及的文件格式為word格式,通過純文本提取技術將文件轉化為txt格式的文件。
由于中文語義的多樣性和領域中存在專業詞匯,分詞算法難以對一些詞匯進行正確區分,從而影響分詞效果。因此需要建立用戶詞典,收集特定語義的詞匯和專業詞匯,在文件分詞過程中將涉及的相關詞匯加以正確區分。
通過向量空間模型算法建立涉密文件向量集是密級檢測系統的關鍵部分,式(1)在計算詞匯的權重時沒有考慮詞條在文檔中的位置對權重的影響[5]。一般而言,出現在封面和前言中詞條的重要程度高于出現在正文中的詞條,出現在封面中詞條的重要程度高于出現在前言中的詞條。因此,為有效提高文件相似度計算算法的精度,本文對傳統的向量空間模型權重計算方式進行了改進,引入了詞條在文件中出現的位置因素。根據實際應用情況,本系統將詞條出現的位置分為3種:封面、前言和正文。根據詞匯在文件中出現的不同位置,采用式(3)對詞條的權重進行加權:

(3)

(2)待檢測文件向量建立。對于待檢測文件,系統通過上述方法完成純文本提取、分詞,通過布爾框架建立待檢測文件向量。
(3)相似度計算。根據式(2)中的算法,密級檢測系統將待檢測文件向量與涉密文件向量集的文件向量逐一進行相似度計算,按照相似度大小排序,設置一定的閾值將相似度較小的文件過濾,給出與待檢測文件相似的涉密文件名稱及密級,作為判斷待檢測文件涉密程度的參考。
3.1 技術路線
本文設計的密級檢測系統基于WindowsXP操作系統,以Sun公司的Java作為開發語言,并在MyEclipse平臺上實現,系統采用經典的B/S架構和JSP+Servlet技術。
(1)文件讀取技術。本系統針對的文件為word格式文件,通過導入Java包完成對文件的讀取,代碼如下:
importorg.textmining.text.extraction.WordExtractor;
FileInputStreamfileN=newFileInputStream(newFile(wordT)); // 創建輸入流讀取word文件
WordExtractorextractor=null;
StringtxtFile=null;
extractor=newWordExtractor();// 創建WordExtractor
txtFile=extractor.extractText(fileN); // 對word文件進行提取
(2)分詞技術。中文分詞主要采用中國科學院計算技術研究所漢語詞法分析系統ICTCLAS[6],它是目前最好的中文分詞工具并廣泛使用于中文分詞領域。它提供了用戶詞典的接口,可以動態地增加、刪除用戶詞典中的詞從而調節分詞效果,這樣就保證了本文涉及的特定領域中的專業詞匯能夠作為用戶詞典的詞參與分詞過程,從而提高系統對專業詞匯分詞的正確性。
(3)相似度計算實現。本系統根據式(2)實現待檢測文件與涉密文件向量集的文件向量進行余弦相似度計算,Java代碼如下所示。代碼中的“e:javaFileSource”為涉密文件庫中的文件,通過純文本提取、分詞等處理后,以txt文本格式存放在計算機硬盤中的路徑,vect0、vect為Java語言中的Vector變量,分別存放檢測文件、涉密文件中的詞條及權重等值。
FilefileDir=newFile("e:javaFileSource"); //FileSource為分詞后的密級文件資源庫
File[]files=fileDir.listFiles();
for(inti= 0;i {Vectorvect=getFileVect(files[i],"e:javaFileSource"); doublesum=0,b=0,c=0; //相似度計算代碼 for(intn= 1;n { doubled=Double.parseDouble(vect0.get(n).toString()) *Double.parseDouble(vect.get(n).toString()); sum=sum+d; b=b+Double.parseDouble(vect0.get(n).toString()) *Double.parseDouble(vect0.get(n).toString()); c=c+Double.parseDouble(vect.get(n).toString()) *Double.parseDouble(vect.get(n).toString()); } doubleres=sum/(Math.sqrt(b*c)); if(res>Keydor) //Keydor為閾值 {System.out.println(" 與檢測文件密級相似的文件為" +vect.get(0).toString()+ " 相似度" +res); } } 3.2 實驗效果 目前本系統已完成原型系統開發,在系統測試中選取了數百份涉密文件資料,完成分詞并建立了上萬維的向量空間,構建了涉密文件向量集。在實驗中通過檢測文件向量與涉密文件向量集進行相似度計算并設置了相似度閾值,系統運行結果返回了與檢測文件相似的涉密文件,并對檢測文件的密級進行確定。通過對上百份文件進行檢測,系統的正確率為83.4%,完成一份文件檢測的平均時間為15.7s。實驗結果表明,本系統能夠方便、快捷、準確地對文件的密級進行檢測和判斷。 為有效避免涉密文件向外部系統導出存在的風險,本文運用計算機信息化手段,將向量空間模型應用于文件密級檢測系統,通過待檢測文件與文件庫中的涉密文件進行相似度比對,判斷文件的密級。根據對向量空間模型的分析和原型系統實驗效果可知,本系統針對文件內容的密級檢測是有效可行的。 [1] 焦玉英,宋曉晴.基于VSM的文檔信息檢索改進[J].情報理論與實踐,2007,30(1):97-104. [2] 蔡瑋,黃陳蓉.一種基于向量空間模型的主觀題批改算法[J].計算機與現代化,2008(12):88-90. [3] 張成偉,鄭誠.基于改進VSM的文本信息檢索研究[J].計算機技術與發展,2009,19(1):71-73. [4] 郝祥根,楊思春,高遠飆,等.基于向量空間模型的中文問答系統研究與實現[J].蘇州科技學院學報:自然科學版,2009,26(1):76-80. [5] 謝翠香.基于改進向量空間模型的學術論文相似性辨別系統設計[J].電腦知識與技術,2009.5(19):5103-5105. [6] 鄭魁,疏學明,袁宏永.網絡輿情熱點信息自動發現方法[J].計算機工程,2010,36(3):4-6. (責任編輯:孫 娟) 張明星(1985-),男,四川廣安人,碩士,中國核動力研究設計院工程師,研究方向為數據庫軟件系統設計開發;鄧時滔(1988-),男,四川安岳人,碩士,中國核動力研究設計院工程師,研究方向為計算機網絡技術;李海怒(1986-),重慶人,碩士,中國核動力研究設計院工程師,研究方向為軟件工程。 10.11907/rjdk.162562 TP309 A 1672-7800(2017)003-0156-044 結語