張雪英
(忻州師范學(xué)院 五寨分院,山西 忻州 036200)
目前,我國(guó)施行信息系統(tǒng)等級(jí)保護(hù)制度已經(jīng)20余年,隨著云計(jì)算、區(qū)塊鏈、大數(shù)據(jù)等新興技術(shù)的發(fā)展,等級(jí)保護(hù)測(cè)評(píng)繼續(xù)外延擴(kuò)展,以跟上互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展[1]。1966年,美國(guó)杜克大學(xué)的Page等人提出了Project Essay Grader (PEG),即作文自動(dòng)評(píng)分技術(shù)。但是,PEG只能獲取到作文的表層特征,由于不涉及語(yǔ)義研究,PEG的有效性遭到質(zhì)疑[2-3]。20世紀(jì)90年代末期,Electronic Essay Rater(E-Rater)被提出,即托福自動(dòng)評(píng)分系統(tǒng)。E-Rater基于統(tǒng)計(jì)學(xué)理論提取語(yǔ)言特征,使用了微軟語(yǔ)言處理工具。但是,E-Rater主要用于托福英文整體寫作水平的判別,無(wú)法正確評(píng)價(jià)內(nèi)容對(duì)錯(cuò)[4-5]。直到Auto Mark系統(tǒng)誕生,該系統(tǒng)才實(shí)現(xiàn)語(yǔ)義和內(nèi)容的自動(dòng)評(píng)價(jià),符合人工閱卷的實(shí)際邏輯思維方式,為以后的自動(dòng)評(píng)分技術(shù)發(fā)展提供了新的啟發(fā)[6]。國(guó)內(nèi)關(guān)于中文自動(dòng)評(píng)分技術(shù)的研究較少,系統(tǒng)實(shí)踐應(yīng)用不多。羅海蛟等在中文語(yǔ)言環(huán)境下,提出了基于文檔主題生成模型(LDA)的自動(dòng)評(píng)分,通過(guò)隱含主題的概率向量作為文本特征,運(yùn)用專家知識(shí)確定主題范圍[7-8]。李舟軍等創(chuàng)建了基于語(yǔ)義離散度的自動(dòng)評(píng)分,通過(guò)方差提取等構(gòu)建離散度向量,再采用回歸方式完成作文分值預(yù)測(cè)[9]。
傳統(tǒng)的信息系統(tǒng)等級(jí)保護(hù)測(cè)評(píng)通常包括采用人工編寫方式,缺乏有效的自動(dòng)評(píng)分輔助工具,普遍存在誤差大、效率低、成本高等問(wèn)題[10]。因此,文章提出了將改進(jìn)的特征提取方法應(yīng)用于支持向量機(jī)模型(SVM)中,并經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證該算法模型的有效性。
基于支持向量機(jī)模型(SVM)在數(shù)據(jù)集中尋找同時(shí)滿足不同類型數(shù)據(jù)要求的最大化超平面。將數(shù)據(jù)設(shè)置成為一個(gè)D維向量,SVM模型能夠?qū)ふ业紻-1維度的超平面,以該平面將數(shù)據(jù)樣本進(jìn)行分類分隔。通常情況下,SVM模型可以在眾多符合要求的超平面中尋找最優(yōu)分離數(shù)據(jù)超平面,最優(yōu)超平面也稱作最大間隔超平面,能夠使兩類樣本數(shù)據(jù)之間保持最大間距,支持向量是邊緣的訓(xùn)練點(diǎn)。
選取設(shè)置類型不同的N維數(shù)據(jù)樣本,此時(shí)判斷數(shù)據(jù)樣本是否線性可分,如符合要求可以尋找到分離超平面,用公式(1)表示:
WTx+b=0
(1)
其中,w,x,b都是向量,通過(guò)超平面將數(shù)據(jù)樣本的特征空間分為正、負(fù)兩類,最大間隔超平面用g(x)表示,見公式(2):
g(x)=WTx+b
(2)
通過(guò)最大間隔超平面可以計(jì)算得到分類決策函數(shù),見公式(3):
f(x)=sign(WTx+b)
(3)
sign對(duì)應(yīng)的是分類標(biāo)簽,用來(lái)代表取符號(hào)函數(shù)。當(dāng)WTx+b大于0時(shí),對(duì)應(yīng)f(x)=+1;WTx+b小于0時(shí),對(duì)應(yīng)f(x)=-1;當(dāng)WTx+b等于0時(shí),對(duì)應(yīng)的是最大間隔超平面。
如果按照相應(yīng)比例對(duì)向量w,向量b進(jìn)行縮放,此時(shí)超平面之間的間隔會(huì)按照相應(yīng)比例改變,但此時(shí)它們之間的集合距離并沒有發(fā)生變化,不會(huì)對(duì)超平面之間的間隔造成影響。
s.t.yi(WTx+b)-1≥0
(4)
最優(yōu)化求解問(wèn)題屬于一個(gè)凸優(yōu)化問(wèn)題,這是由于指數(shù)、范數(shù)函數(shù)均屬于凸函數(shù),得到的局部最優(yōu)解即為全局最優(yōu)。由于對(duì)偶問(wèn)題在求解方面不復(fù)雜,且能夠引入核函數(shù),因此,可以通過(guò)拉格朗日變換得到問(wèn)題的對(duì)偶方程,對(duì)非線性問(wèn)題求解,公式(4)的對(duì)偶問(wèn)題公式見公式(5):
L(w,b,α)
(5)
再對(duì)向量w、向量b求偏導(dǎo),將偏導(dǎo)值設(shè)置為0,得到公式(6):
(6)
此時(shí)就得到了對(duì)偶問(wèn)題,再進(jìn)一步求得函數(shù)最大期望值,見公式(7):
(7)
最后得到分離超平面公式(8):
(8)
以上是SVM模型求解的整個(gè)過(guò)程,且在線性可分條件下完成。當(dāng)條件為線性不可分時(shí),通常SVM模型采用核技巧的方式求解。采用核技巧求解的過(guò)程主要是將數(shù)據(jù)映射到高緯度空間中,使其更易于分離和結(jié)構(gòu)化,核技巧為求解提供了線性與非線性的連通方法。當(dāng)數(shù)據(jù)樣本在基于二維的空間內(nèi)無(wú)法找到超平面時(shí),通過(guò)引入核函數(shù),將其映射到三維空間中,以尋找超平面進(jìn)行數(shù)據(jù)類別劃分。
實(shí)驗(yàn)將支持向量機(jī)模型(SVM)與近鄰KNN算法、隨機(jī)森林算法和決策樹算法等模型進(jìn)行實(shí)驗(yàn)對(duì)比,驗(yàn)證同一實(shí)驗(yàn)環(huán)境下,不同分類模型的實(shí)驗(yàn)結(jié)果。該實(shí)驗(yàn)在特征提取過(guò)程使用了TF-IDF算法加權(quán)技術(shù),并引入N-gram漢語(yǔ)語(yǔ)言模型,提出了改進(jìn)的TIF-NG特征提取方法,最后進(jìn)行實(shí)驗(yàn)結(jié)果對(duì)比?;谥С窒蛄繖C(jī)模型(SVM)的自動(dòng)評(píng)分包括5個(gè)步驟:預(yù)處理、特征提取、模型訓(xùn)練、文本分類和分值預(yù)測(cè)。
采用Windows 10操作系統(tǒng),以及python開發(fā)語(yǔ)言,在虛擬環(huán)境Anaconda中進(jìn)行,選擇Jupyter notebook應(yīng)用程序作為開發(fā)工具,在瀏覽器網(wǎng)頁(yè)中實(shí)現(xiàn)交互。實(shí)驗(yàn)環(huán)境設(shè)置如表1所示。
表1 實(shí)驗(yàn)環(huán)境設(shè)置
由于信息系統(tǒng)數(shù)據(jù)在等級(jí)保護(hù)制度下的保密性,實(shí)驗(yàn)采用的數(shù)據(jù)均是由等保測(cè)評(píng)報(bào)告中摘錄,數(shù)據(jù)能夠反映信息系統(tǒng)的實(shí)際運(yùn)行情況,對(duì)等保測(cè)評(píng)報(bào)告中敏感度高的數(shù)據(jù)進(jìn)行脫敏處理后,再用作訓(xùn)練數(shù)據(jù)。實(shí)驗(yàn)數(shù)據(jù)包括了11 172條記錄,其中符合數(shù)據(jù)8 313條,對(duì)應(yīng)分值1份;部分符合數(shù)據(jù)1 278條,對(duì)應(yīng)分值0.5分;不符合數(shù)據(jù)1 581條,對(duì)應(yīng)分值0分。
1)數(shù)據(jù)讀取。讀取測(cè)評(píng)記錄中的數(shù)據(jù),通過(guò)merge函數(shù)對(duì)測(cè)評(píng)指標(biāo)和測(cè)評(píng)結(jié)果進(jìn)行合并,合并后的數(shù)據(jù)作為文本內(nèi)容,對(duì)其所屬類別標(biāo)簽進(jìn)行預(yù)測(cè)。
2)去停用詞。為了有效降低模型訓(xùn)練產(chǎn)生的噪聲,減少索引數(shù)量,把停詞表內(nèi)的詞進(jìn)行停詞處理,將標(biāo)點(diǎn)符號(hào)、數(shù)字字母等無(wú)任何實(shí)際意義的詞過(guò)濾。
3)分詞。分詞采用的是集合了規(guī)則和統(tǒng)計(jì)方法的jieba分詞模式,jieba分詞模式能夠?qū)⑷繑?shù)據(jù)構(gòu)成有向無(wú)環(huán)圖,根據(jù)詞語(yǔ)的頻率實(shí)時(shí)動(dòng)態(tài)尋找最佳路徑,實(shí)現(xiàn)切分組合。
通過(guò)TF-IDF算法矩陣的構(gòu)建實(shí)現(xiàn)特征提取,詞語(yǔ)在某篇文檔中的頻率用TF表示,體現(xiàn)了該詞語(yǔ)在文章中的重要性,IDF則體現(xiàn)了詞語(yǔ)的區(qū)分能力。TF-IDF算法能夠同時(shí)保證詞語(yǔ)頻率和區(qū)分的有效性,在過(guò)濾常見詞語(yǔ)后,存儲(chǔ)更加重要的詞語(yǔ)。但是,TF-IDF算法下,詞語(yǔ)之間相互獨(dú)立,不能真實(shí)體現(xiàn)出序列的信息。為了獲得更優(yōu)質(zhì)的文本序列信息,實(shí)驗(yàn)引入了N-gram漢語(yǔ)語(yǔ)言模型,構(gòu)成了TIF-NG的特征提取方法。N-gram漢語(yǔ)語(yǔ)言模型能夠精準(zhǔn)得到某個(gè)字的前后信息,以獲取更為豐富的特征信息。N-gram漢語(yǔ)語(yǔ)言模型可以從某個(gè)句子中提取到N個(gè)連續(xù)字,并作為集合使用,同時(shí)綜合考慮了上下文語(yǔ)序的情況,彌補(bǔ)了TIF-NG算法只能對(duì)詞頻進(jìn)行統(tǒng)計(jì)的缺點(diǎn),構(gòu)詞情況如表2所示。特征提取過(guò)程:第一,對(duì)文檔進(jìn)行處理,完成分詞、標(biāo)注詞性和去除停用詞,構(gòu)成初始候選的關(guān)鍵詞集合。第二,利用N-gram漢語(yǔ)語(yǔ)言模型擴(kuò)充關(guān)鍵詞集合,實(shí)驗(yàn)采取了混合提取方法,得到了符合條件數(shù)據(jù)8 313條,部分符合數(shù)據(jù)1 278條,不符合數(shù)據(jù)1 581條。第三,通過(guò)TF-IDF算法加權(quán)技術(shù),選取排名前N的構(gòu)建關(guān)鍵詞集合A,根據(jù)增益大小排序選取排名較前的k個(gè)詞組,作為關(guān)鍵詞集合B。第四,集合A和集合B中的交集則為關(guān)鍵詞。
通過(guò)基于支持向量機(jī)模型(SVM)以實(shí)現(xiàn)在等保測(cè)評(píng)中的自動(dòng)評(píng)分功能,SVM模型訓(xùn)練如圖1所示:
圖1 SVM模型訓(xùn)練圖
實(shí)驗(yàn)在虛擬環(huán)境Anaconda中進(jìn)行,使用虛擬實(shí)驗(yàn)環(huán)境能夠保證環(huán)境相互獨(dú)立,互相之間不會(huì)產(chǎn)生影響,也不會(huì)出現(xiàn)由于系統(tǒng)安裝程序不兼容產(chǎn)生的各種問(wèn)題。同時(shí)采用Sklearn庫(kù),在同一份數(shù)據(jù)樣本中,訓(xùn)練樣本占比70%,驗(yàn)證樣本占比20%,測(cè)試樣本占比10%,采用網(wǎng)格搜索調(diào)參和交叉驗(yàn)證的方式。
在相同數(shù)據(jù)集樣本環(huán)境下,選取精確率系數(shù)、召回率系數(shù)、F1值和Kappa分類衡量系數(shù)作為實(shí)驗(yàn)評(píng)價(jià)指標(biāo)。使用支持向量機(jī)模型(SVM)與KNN模型、樸素貝葉斯模型、邏輯回歸模型、隨機(jī)森林模型、決策樹模型進(jìn)行實(shí)驗(yàn)指標(biāo)對(duì)比?;谝陨夏P?使用TF-IDF和改進(jìn)的TIF-NG特征提取算法進(jìn)行實(shí)驗(yàn)結(jié)果對(duì)比,如表3、表4所示。
表3 TF-IDF特征提取的分類實(shí)驗(yàn)結(jié)果
表4 TF-NG特征提取的分類實(shí)驗(yàn)結(jié)果
由表3、表4可知,6個(gè)模型的分類精確率均在80%左右,證明在樣本數(shù)據(jù)集中,采用文本分類的方法具有良好的可行性,適用于等保測(cè)評(píng)自動(dòng)評(píng)分系統(tǒng),在使用TF-IDF算法進(jìn)行特征提取時(shí),決策樹模型的精確率和召回率最高;在使用SVM模型時(shí),得到的值和Kappa分類衡量概率最高。當(dāng)引入N-gram漢語(yǔ)語(yǔ)言模型后,SVM模型的各項(xiàng)性能指標(biāo)有了明顯提升。為了進(jìn)一步驗(yàn)證和探索N-gram漢語(yǔ)語(yǔ)言模型中N的不同取值在各個(gè)模型中的性能情況,實(shí)驗(yàn)選取不同N值進(jìn)行對(duì)比得到表5。經(jīng)過(guò)深入統(tǒng)計(jì)分析,得到不同N值條件的精確率,如圖2所示。
圖2 不同N值下N-gram漢語(yǔ)語(yǔ)言模型精確率
表5 N-gram漢語(yǔ)語(yǔ)言模型中不同N值條件的精確率
當(dāng)N的取值大于4時(shí),SVM模型、KNN模型、邏輯回歸模型、隨機(jī)森林模型和決策樹模型都開始趨于收斂;當(dāng)N>6時(shí),樸素貝葉斯模型開始收斂。因此,當(dāng)N取值不同時(shí),不同分類模型對(duì)N-gram漢語(yǔ)語(yǔ)言模型的分類精度影響也存在比較大的不同。隨著N值的不斷增加,其影響度也逐漸降低。在SVM模型中,引入N-gram漢語(yǔ)語(yǔ)言模型有效提高了分類效果,當(dāng)N=3時(shí),達(dá)到最佳的分類效果。當(dāng)N>3時(shí),N-gram漢語(yǔ)語(yǔ)言模型的表達(dá)能力減弱,導(dǎo)致分類效果差,但隨著N值的增加,最終模型的分類效果接近收斂。
綜上,基于TF-IDF特征提取的文本分類方法,應(yīng)用于等級(jí)保護(hù)測(cè)評(píng)自動(dòng)評(píng)分中具有一定的可行性。在TF-IDF算法中引入N-gram漢語(yǔ)語(yǔ)言建模,從應(yīng)用于SVM模型的實(shí)驗(yàn)結(jié)果可以看出,其精準(zhǔn)率提高了4.3%,召回率提高了5.0%,F1提高了3.2%,性能指標(biāo)有了明顯提升,分類效果也進(jìn)一步加強(qiáng)。因此,隨著N值的不斷增加,SVM模型仍然保持了較高的精度,進(jìn)一步說(shuō)明引入N-gram用于特征提取是可行的。
文章給出了基于支持向量機(jī)模型(SVM)原理,以及獲得最大間隔超平面的過(guò)程,當(dāng)數(shù)據(jù)呈線性無(wú)法實(shí)現(xiàn)分類時(shí),可以通過(guò)核技巧解決。最后通過(guò)實(shí)驗(yàn)證明了TF-IDF算法在等級(jí)保護(hù)測(cè)評(píng)中自動(dòng)評(píng)分的可行性,通過(guò)引入N-gram得到改進(jìn)的TIF-NG特征提取方法,實(shí)驗(yàn)證明TIF-NG應(yīng)用于SVM模型中得到的分類效果最佳。