?

基于改進的TextRank算法的計算機輔助定密研究

2022-03-18 05:01李晨庚謝四江
計算機應用與軟件 2022年3期
關鍵詞:細則文檔向量

李晨庚 謝四江

1(西安電子科技大學 陜西 西安 710071)2(北京電子科技學院 北京 100070)

0 引 言

保密工作是各國長久以來非常重要的國家安全基礎工作。自《保密法》頒布以來,全國各單位與部門都依照保密法規定,制定相關保密細則,完善保密管理制度。不過由于各單位與部門的情況、領域各不相同,涉密事項種類繁多,定密方式單一,保密管理流程有所差異。定密大都依賴人工定密,指定專人負責文檔的接收、制定定密細則、進行文檔定密,以及分類管理。這樣傳統的定密方式造成定密工作效率低下,質量無法保證。

目前對定密工作的研究集中于定密制度、流程及管理上。高波等[1]研究對比不同國家定密制度,介紹和分析了美軍的定密制度。陳翠玲等[2]總結了國內定密發展現狀,結合借鑒國外先進理論,提出了改進國內定密工作的措施與方案。

在定密方式上,國內對定密工作的智能化與數字化研究并不多。張帆等[3]從基于可信度的不確定推理模型入手,提出基于可信度的不確定推理輔助定密方法,該方法通過專家打分的方式對從定密法規中抽取定密規則設定可信度,計算規則匹配后相關密級的可信度來確定涉密文檔所屬密級,這開啟了計算機輔助定密方面的研究。吳國華等[4]提出了根據文檔相似度快速查找定密依據的方法,基于VSM模型和匈牙利算法的文本相似度計算,確定最終文檔密級。潘婭[5]提出一種基于中文文本分類技術的計算機輔助密級界定方法,將中文文本分類技術應用到文檔定密任務上,通過對文檔進行預處理,并用TF-IDF進行文檔關鍵詞權重計算,完成向量化過程,針對定密任務的特點,提出基于二叉樹的多分類SVM,完成計算機輔助定密,提高了定密的準確性。在定密方式的研究上,發展趨勢是從人工定密轉向計算機輔助定密,在定密方法上是從基于統計的方式到基于機器學習的方式。

在實際定密工作中,目前大多數采用的是基于關鍵詞的方式。根據定密細則中的涉密關鍵詞與文檔進行比對,文檔中出現涉密關鍵詞和詞對越多,則說明文檔越有可能被定為相應密級。這種方式忽略了文檔中會出現與關鍵詞相似表達的問題,雖然文檔中不含有涉密關鍵詞,但語句表示的含義仍是涉密的。

綜上,為解決以上輔助定密所產生的定密不嚴謹、效率低下等問題,本文提出了基于改進的TextRank算法的計算機輔助定密方法,主要做了以下幾個工作:

1) 利用大規模預訓練網絡生成的glove詞向量,基于詞性構造具有語義信息的加權句向量。

2) 對待定密文檔解析生成句子節點,并構造圖模型,將定密細則融入圖節點中,利用改進的TextRank算法進行排序計算,獲取關鍵語句權重,進行輔助密級界定。

1 相關工作

1.1 詞向量發展概況

在自然語言處理領域,文本作為非結構化的數據結構,要進行相關的計算就必須經過預處理轉換為數值型數據,預處理的過程主要包括分詞、去停用詞、文本向量化等操作。其中如何進行文本向量化是自然語言處理領域非常熱門的研究熱點。詞向量質量的好與壞對于下游文本分類等任務也起到非常大的作用。最初的文本向量化方式比較直接,有獨熱編碼(One-hot)、詞袋模型(Bag-of-words model)、TF-IDF(term frequency-inverse document frequency)等向量化方式。One-hot將詞語看作獨立的存在,互相沒有聯系,也不包含任何語義語法信息,并且在詞匯表非常大的時候造成維度災難。Bow和TF-IDF則是考慮了詞語的分布情況,利用詞語的統計特征構造向量。TF-IDF不僅可以用來進行文本向量化,也可以用于關鍵詞計算。但是,這些詞向量表示方式都比較稀疏,并且忽略了語義信息。

1986年Hinton[6]提出詞向量的分布式表示方式,這開啟了新一次的研究熱潮,其中最為經典的就是Mikolov等[7]提出的Word2vec算法。Word2vec算法假設兩個具有相似上下文的詞語表達的意思也相近。根據這個假設,設計出cbow模型和skip-gram模型,cbow模型通過上下文來預測中心詞,skip-gram模型通過中心詞預測上下文,并在其之后的研究中優化了詞向量生成方式,加入負采樣及子采樣等方式。詞向量作為副產物在模型中生成。相比于Word2vec只考慮窗口大小的信息,Pennington等[8]提出的glove詞向量,除了考慮窗口大小的信息,還加入了全局信息,這使得glove詞向量在質量上有所提高。

Bengio等[9]提出了一種N-gram神經概率語言模型,通過多層前饋神經網絡進行學習,利用極大似然法預測在該上下文條件下的當前中心詞的條件概率。Peters等[10]是神經語言模型中比較經典的模型,采用雙向LSTM來進行監督學習,獲取關于上下文的動態向量。

近幾年詞向量研究基本集中在大規模預訓練網絡上,以監督學習方式進行模型訓練,然后通過fine-turn嫁接到任務網絡之上。這個采用預訓練方式進行文本向量化,不僅可以通過大規模的語料庫獲得詞語統計信息,而且可以通過深度模型挖掘出語法語義等高級信息。Bert[11]是谷歌在2018年發布的大型預訓練網絡,在11項NLP任務中獲得了state-of-the-arts的表現,Bert是基于多層的Transformer[12]的Encoder-Decoder模型。解決了傳統神經語言模型無法長期依賴問題。并且通過Masked機制解決了“自己看到自己”的問題。本文的文本向量化考慮不同詞向量質量以及不同任務下的表現,決定采用glove的預訓練詞向量進行句向量構造。

1.2 圖排序模型

基于圖模型的排序算法本質上是一種從整個圖遞歸得出的全局信息來確定圖內節點重要性的方法。比較有名的就是谷歌創始人Brin等[13]提出的PageRank算法以及Jon Kleinberg提出的HITS算法。

PageRank的基本思想是“投票”“推薦”,當一個頂點鏈接到另一個節點時,算作對另一個節點的投票,票數越高,該節點的重要性就越大。節點進行投票的重要性決定了投票本身的重要性。一個節點的重要性來源于為其投票的節點,以及為其投票節點的重要性。

如圖1所示,A節點有三個出鏈分別鏈接到B、C、D上,那么當用戶訪問A節點的時候,就有可能跳轉到B、C或者D節點,跳轉概率均為1/3。B節點有兩個出鏈,鏈接到A和D節點上,跳轉概率為1/2。

圖1 PageRank節點示意圖

抽象來說就是一個不帶權的有向圖G=(V,E),V代表節點,E代表節點之間的邊,大小為|V×V|。對于給定節點Vi,ln(Vi)表示所有鏈接至節點Vi的節點集合。Out(Vi)表示節點Vi所鏈接的節點集合。節點Vi的PageRank得分計算如下所示:

(1)

式中:d是范圍在0~1的阻尼系數,表示一個節點鏈接到另一個隨機節點的概率,一般被啟發式的設置為0.85。然后通過迭代的方式進行計算,直至誤差收斂到某一閾值以下。而對于無向圖的排序來說只是令有向圖中節點的入度等于出度即可。

HITS是與PageRank同一時期提出的算法,全稱是Hyperlink-Induced Topic Search。在HITS算法中,每個節點被賦予兩個屬性:Hub屬性和Authority屬性。同時節點被分為Hub節點和Authority節點。Hub是中心的意思,所以Hub節點包含了許多指向Authority節點的鏈接。Authority節點則是指包含實質內容的節點。公式如下所示:

(2)

(3)

在Web搜索引擎的環境下,HITS算法的目的是當用戶給定某個查詢,返回給用戶高質量的Authority頁面。Mihalcea等[14]提出將HITS算法應用在文本關鍵句子抽取以及自動摘要任務上,達到了不錯的應用效果。

2 模型設計

2.1 基于詞性的加權句向量

句子作為一個完整的語義表示單元,如何進行向量化表示也是自然語言處理領域研究熱點。不同于詞語,語句含有的信息更豐富,擁有更精確的語義以及語法表示。Riedel等[15]提出一種簡單但是有效的SIF模型,SIF模型將每個句子先表達為所含詞語詞嵌入的加權平均,然后把句子放在一起找最大主軸,最后從每個句子移除這個最大主軸。Conneau等[16]提出InferSent模型,類比圖像領域的ImageNet,尋找出自然語言處理的“ImageNet”,在很多NLP任務中都取得了state-of-the-arts的成果。Ruckel等[17]提出一個新的句子編碼方式,基本思想就是給句子向量“求平均”,獲得不同維度上的特征的句向量。除此之外,近年也有很多句子向量化的方法,例如quick thought[18]等。

考慮到輔助定密任務的特殊性,文檔定密的依據信息來源于定密細則,分析定密任務以及定密細則特點,本文提出了基于詞性的加權句向量。通過改變名詞性詞向量以及非名詞性詞向量在句子中的表示權重,在保留語義語法信息的情況下,結合輔助定密任務特性,改變名詞性的語義表達信息。在詞向量的選擇上,使用在百度百科語料庫上訓練的glove詞向量,詞向量維度為300維,可以在詞的粒度上保留詞語所含有的語義信息。在預訓練詞向量的基礎上,本文基于詞性,構建加權句向量S。

S=[α∑Wi+(1-α)∑Wj]/|Sw|

(4)

式中:α是權值;Wi是句子中的名詞的向量化表示;Wj表示句子中非名詞的向量化表示;|Sw|表示句子中含有詞語的個數。通過設置權值α,改變名詞在句子中的表達權重。

2.2 改進的TextRank算法

根據PageRank算法改進而來的TextRank算法[19]是一種用于文本的基于圖的排序算法,通過把文本分割成若干組成節點(單詞、句子)并建立圖模型,根據節點的TextRank得分對文本中的節點進行排序,僅利用單篇文檔本身的信息即可實現關鍵詞/句提取。與LDA、HMM等模型不同,TextRank不需要事先對多篇文檔進行學習訓練,使用較為簡潔、高效。

TextRank算法是將文本解析成單詞/句子節點。這時,圖上的節點之間的關系不僅是簡單的指向和被指向關系,是通過一個權重ωji來表示節點之間的鏈接強度,因此是一個帶權的無向圖。此時In(Vi)=Out(Vi)=全體詞語/句子集合。公式如下所示:

(5)

式中:WS(Vi)表示圖節點Vi的TextRank得分;d是一個常數。TextRank算法用作文本摘要時,文本中的每一個句子Si被作為圖節點Vi。ωji計算公式如下:

(6)

式中:Si表示文檔中第i個句子,wk表示既屬于Si也屬于Sj的單詞,|Si|表示句子Si的單詞個數。

Pandit等[20]在研究面向查詢的文檔摘要時,將查詢語句融入圖節點中,并且在迭代計算過程中,保持查詢語句所在節點的得分始終為1,以此獲得在查詢語句影響下的文檔語句重要性排名。

本文根據定密任務特點,改進傳統的TextRank算法中語句相似權值計算方式,在進行TextRank迭代時,將定密細則納入圖節點中,獲取在定密細則影響下的文檔句子排名。采用式(7)代替式(6)的相似度計算公式,相比于式(6),式(7)相似度計算方法更能體現語義層次的異同。具體計算公式如下:

ωji=q(Si,Sj)+cos(Si,Sj)

(7)

(8)

Dscore=max(WS(Si)×cos(Si,Z))

(9)

式中:Z表示定密細則;Si代表待定密文檔的第i個句子。將Dscore值與密級關聯度k進行比較。大于k的文檔句子定密為相應定密細則對應密級。這里k值是通過實驗啟發式的選擇。

2.3 模型計算過程

模型的具體計算過程如下:

1) 首先解析定密事項為細則句,對于一個待定密文檔D,將定密細則納入文檔D中,然后進行分詞、去停用詞等預處理。以句子為單位進行分隔,得到句子列表Si。

2) 構建加權句向量Si,并根據式(7)構建ωji矩陣。

3) 迭代計算TextRank得分,并在迭代過程中,保持定密細則的得分始終為1。

4) 計算文檔密級分數Dscore,并根據與密級關聯度k的關系判斷文檔密級。

3 實 驗

3.1 實驗環境與數據

由于涉密數據難以獲取,本文利用已有的公開政務數據,根據公開的地質材料定密細則內容,類比設計定密細則,實驗數據來源于中華人民共和國中央人民政府信息公開網站。涉及民族宗教、國防、對外事務、財政金融審計等類別的政務文件。

定密細則的設定,則是根據網上已公開的地質資料定密細則進行類比設計,最終擬定實驗用“機密級”以及“絕密級”細則。實驗數據集選取了共73條來自不同類別的政務文件。首先,人工對實驗數據集進行“密級”標注。分為普通級文件、機密級文件和絕密級文件。其中,普通級文件45條,機密級文件18條,絕密級文件10條。

3.2 實驗運行環境

實驗環境如表1所示。

表1 實驗運行環境

實驗首先用Jieba分詞工具對待定密文檔D進行分詞,刪除停用詞等無意義詞匯。構造句向量的詞向量來源于在百度百科語料集上訓練的glove詞向量,詞向量大小為300維。算法迭代采用Networkx庫函數,并修改代碼,使得定密細則的得分在迭代過程中始終為1,具體計算過程如圖2所示。

圖2 改進的TextRank算法流程

3.3 實驗結果與分析

在改進的TextRank算法迭代計算中,將式(5)中的d設置為0.85,實驗在不同加權句向量權重α以及不同密級關聯度k條件下的效果。通過計算文檔定密的準確率來進行評價。具體實驗結果如圖3所示。

圖3 不同k的準確率變化曲線

圖4是在相同的數據集下,將傳統基于關鍵詞的定密方法與改進的TextRank算法在準確率、精確率以及召回率上進行對比。

圖4 算法效果對比

由圖3可以看出,總體上在相同的權值α下,準確率隨著k值的增加而不斷增加,在k=0.45左右達到最大值。而在相同的k下,整體上準確率隨著α增大而增大。因為隨著α的增大,句向量的構造中名詞詞性的詞匯權重越來越大。但是在α=0.95時,準確率并沒有隨著α增大而繼續增大。本文認為當名詞詞匯權重過于大時,忽視了句子本身的語法信息,導致準確率下降。由圖4可以看出改進的TextRank算法相比于傳統基于關鍵詞的輔助定密,在準確率和召回率有一定的提升。

4 結 語

本文提出了一種基于改進的TextRank算法的計算機輔助定密方法,該方法結合構造的加權句向量和改進TextRank算法,在對文檔中的句子權重計算時,將定密細則納入算法迭代過程中,并在迭代過程中保持定密細則權重始終為1,從而生成在定密細則影響下的文檔句子權重。通過文檔句子權重與定密細則相似度判斷文檔密級,解決了傳統基于關鍵詞輔助定密準確率不足,質量差的問題。實驗結果表明所提出的改進的TextRank方法相對比傳統基于關鍵詞的定密方式在準確率上有一定的提升。

近年來,信息安全成為國家安全的重點,涉密電子政務文件的保密定密工作重要性尤為凸顯。如何結合定密細則,設計更高效、速度更快的輔助定密模型,是往后工作的研究方向與重點。

猜你喜歡
細則文檔向量
淺談Matlab與Word文檔的應用接口
向量的分解
有人一聲不吭向你扔了個文檔
輕松編輯PDF文檔
《宇航計測技術》征稿細則
Word文檔 高效分合有高招
新規視野下我國網約車規制探究
欺詐上市的先行賠付制度探究
城郊縣生態農業旅游開發研究
向量垂直在解析幾何中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合