楊 飛,宋吉星,王宜春,楊偉迪,趙 璟
(國能包神鐵路集團(tuán) 神朔鐵路公司,陜西 榆林 719316)
自媒體時(shí)代的到來,豐富了人們生活的同時(shí)也割裂了每個(gè)人的時(shí)間,使得各種信息都向著碎片化發(fā)展[1]。為更好地應(yīng)用這些碎片化信息,學(xué)者提出了碎片化時(shí)空信息庫,用來收錄各行各業(yè)的零散數(shù)據(jù),在移動(dòng)互聯(lián)網(wǎng)環(huán)境下,實(shí)現(xiàn)多類型數(shù)據(jù)的交互。近年來,碎片化時(shí)空信息庫的運(yùn)行面臨越來越多的安全隱患,在碎片化時(shí)空信息庫中存在具有異常特征或與正常規(guī)律偏離的文件,包括格式異常、內(nèi)容異常、結(jié)構(gòu)異常、大小異常和訪問異常等。為了保證信息庫的安全,需要針對(duì)信息庫異常文件進(jìn)行精準(zhǔn)檢測(cè)。如何有效檢測(cè)異常文件,成為學(xué)者關(guān)注的熱門課題。
LI[2]以圖形和圖像的方式顯示海量的網(wǎng)絡(luò)數(shù)據(jù)和日志信息,并利用多智能體模型建立了網(wǎng)絡(luò)數(shù)據(jù)可視化分析模型,但該方法數(shù)據(jù)處理不當(dāng),導(dǎo)致數(shù)據(jù)質(zhì)量差,可視化方法和算法受到限制,影響檢測(cè)結(jié)果。房笑宇等[3]運(yùn)用滑動(dòng)窗口法,將日志文件描述為日志序列,依托注意力機(jī)制,構(gòu)建以生成對(duì)抗網(wǎng)絡(luò)為核心的異常檢測(cè)模型,將日志序列輸入該模型判斷是否存在異常,從而得出異常文件檢測(cè)結(jié)果,但檢測(cè)結(jié)果準(zhǔn)確率較低。李國等[4]提出對(duì)比異常文件和良性文件的信息熵,依據(jù)信息熵差異檢測(cè)異常文件,提取異常文件的特征并將其輸入基于決策樹算法的檢測(cè)模型中,以驗(yàn)證異常文件檢測(cè)結(jié)果,但該方法檢測(cè)耗時(shí)較長。李坤明等[5]以集成決策樹為基礎(chǔ),構(gòu)建異常文件檢測(cè)模型,針對(duì)訓(xùn)練樣本進(jìn)行數(shù)次迭代學(xué)習(xí)后,得到優(yōu)化后的檢測(cè)模型,從而得出較準(zhǔn)確的異常文件檢測(cè)結(jié)果,但該方法的魯棒性較差。
為降低檢測(cè)誤差,筆者利用OCR識(shí)別技術(shù)對(duì)掃描圖像進(jìn)行預(yù)處理,包括圖像二值化和旋轉(zhuǎn)矯正等,以提高文字信息的準(zhǔn)確性和可讀性。結(jié)合連接預(yù)選框網(wǎng)絡(luò)和端到端文本識(shí)別網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)預(yù)處理圖像中文字信息的自適應(yīng)提取,避免了手動(dòng)標(biāo)注文本區(qū)域的繁瑣過程。將識(shí)別出的文字信息描述為定長字節(jié)序列,通過計(jì)算熵得出文件的統(tǒng)計(jì)特征,從而量化文件的不確定性。對(duì)比信息庫異常文件的標(biāo)志特征,通過計(jì)算余弦相似度來判斷文件是否屬于異常文件,從而實(shí)現(xiàn)智能檢測(cè)結(jié)果的輸出。
考慮到相機(jī)現(xiàn)場(chǎng)拍攝的圖像可能包含一些干擾信息,在碎片化時(shí)空信息庫異常文件智能檢測(cè)時(shí),需要進(jìn)行圖像二值化和旋轉(zhuǎn)矯正處理[6]。碎片化時(shí)空信息庫文件掃描圖像的二值化處理,需要依托于最佳閾值法實(shí)現(xiàn)。將原始掃描的文件圖像轉(zhuǎn)換為灰度圖像后,計(jì)算出圖像灰度中值,充當(dāng)二值化處理初始閾值,基于該值將圖像所有像素劃分為兩部分。而后,針對(duì)灰度圖像構(gòu)建灰度直方圖、累計(jì)直方圖,對(duì)應(yīng)的數(shù)學(xué)表達(dá)式為:
(1)
(2)
針對(duì)初始閾值分割后的兩部分像素進(jìn)行計(jì)算,分別確定灰度均值,并以此為基礎(chǔ)更新二值化分割閾值[7]。對(duì)比更新前后的閾值,計(jì)算出二者之間的差值,當(dāng)差值過高時(shí),重復(fù)上述步驟,再次更新閾值,直到得到最佳閾值。利用最佳閾值進(jìn)行二值化操作,去除掃描圖像中的底紋。運(yùn)用雙線性插值策略,旋轉(zhuǎn)矯正文件掃描圖像,具體操作模式如圖1所示。其中,α1、α2、α3、α4表示X軸上線性插值輔助點(diǎn),β1、β2表示Y軸上線性插值輔助點(diǎn)。雙線性插值處理時(shí),目標(biāo)點(diǎn)處在6個(gè)輔助點(diǎn)之間,按照這一操作方式不斷處理,得到雙線性插值結(jié)果,實(shí)現(xiàn)文件掃描圖像的旋轉(zhuǎn)矯正。
圖1 雙線性插值示意圖
在掃描儀等電子設(shè)備的輔助下,實(shí)施智能OCR識(shí)別技術(shù),對(duì)預(yù)處理后的碎片化時(shí)空信息庫文件圖像進(jìn)行文字提取,將圖像內(nèi)包含的字符描述為計(jì)算機(jī)可以識(shí)別的文字,作為后續(xù)異常文件檢測(cè)的基礎(chǔ)。基于OCR識(shí)別技術(shù)進(jìn)行文字提取時(shí),需要經(jīng)歷文本檢測(cè)、文本識(shí)別兩個(gè)環(huán)節(jié)。為提升文字提取效率,提出前一環(huán)節(jié)采用基于連接預(yù)選框網(wǎng)絡(luò)的文本檢測(cè)網(wǎng)絡(luò),后一環(huán)節(jié)則需要端到端文本識(shí)別網(wǎng)絡(luò)的輔助。
由卷積層、雙向短期記憶網(wǎng)絡(luò)和全連接層組成基于連接預(yù)選框網(wǎng)絡(luò)的文本檢測(cè)網(wǎng)絡(luò)(CTPN)[8]。在執(zhí)行智能OCR識(shí)別原理時(shí),需要通過卷積層提取碎片化時(shí)空信息庫文件掃描圖像的特征[9]。應(yīng)用尺寸為3×3的滑動(dòng)窗口進(jìn)行特征向量提取,操作過程如圖2所示。
圖2 特征向量提取示意圖
一個(gè)滑動(dòng)窗口內(nèi)存在多個(gè)垂直錨點(diǎn),用來描述圖像中字符的垂直坐標(biāo)。因此,基于錨點(diǎn)可以將圖像文本框的垂直坐標(biāo)表示為:
(3)
將提取出的特征向量輸入雙向短期記憶網(wǎng)絡(luò)進(jìn)行小窗口預(yù)測(cè),初步確定文字所在區(qū)域,再通過全連接層進(jìn)一步處理優(yōu)化后的輸出結(jié)果,定位出圖像內(nèi)文字所在區(qū)域。
針對(duì)檢測(cè)出的文字區(qū)域,應(yīng)用端到端文本識(shí)別網(wǎng)絡(luò)(CRNN)進(jìn)行具體識(shí)別,該識(shí)別網(wǎng)絡(luò)主要包括3層結(jié)構(gòu),如圖3所示。將檢測(cè)標(biāo)注后的圖像輸入深度卷積層,經(jīng)由卷積計(jì)算、激活計(jì)算和池化計(jì)算提取文字特征。整合為特征序列后輸入循環(huán)層,通過雙向長短時(shí)記憶網(wǎng)絡(luò)得出文本識(shí)別預(yù)測(cè)結(jié)果,再經(jīng)由轉(zhuǎn)錄層的CTC模型,對(duì)預(yù)測(cè)結(jié)果進(jìn)行驗(yàn)證,并將其轉(zhuǎn)化為最終識(shí)別結(jié)果。
圖3 CRNN網(wǎng)絡(luò)結(jié)構(gòu)示意圖
將文件掃描圖像的字符識(shí)別結(jié)果描述為定長字節(jié)序列,再劃分為大小相同的字節(jié)序列片段,每個(gè)片段可以看作一個(gè)元組[10]。實(shí)際操作過程中,通過觀察某一個(gè)字節(jié)后續(xù)位置字節(jié)的不確定性,找到字節(jié)序列端點(diǎn),形成文件對(duì)應(yīng)的字節(jié)流。筆者采用熵計(jì)算方法描述字節(jié)的不確定性。
(4)
將基于OCR識(shí)別的文字提取結(jié)果匯總起來,形成包含數(shù)個(gè)字符的訓(xùn)練集,并應(yīng)用式(4)計(jì)算出字節(jié)的后繼熵。對(duì)比預(yù)先設(shè)置的判斷閾值,當(dāng)熵高于閾值時(shí),可以作出一個(gè)窗口標(biāo)記。對(duì)文件全部識(shí)別內(nèi)容完成標(biāo)記后,整個(gè)文件可以表示為包含若干標(biāo)記元組的集合。針對(duì)集合內(nèi)每個(gè)元組出現(xiàn)的次數(shù)進(jìn)行統(tǒng)計(jì),確定元組頻率分布情況,如式(5)所示。選擇幾個(gè)出現(xiàn)頻率最高的元組,總結(jié)窗口標(biāo)記作為當(dāng)前文件的統(tǒng)計(jì)特征。
γ(Gk)={TGk(g)|(g)∈Gk}
(5)
式中:G為標(biāo)記元組集合;γ為元組頻率分布;T為目標(biāo)元組出現(xiàn)次數(shù);g為目標(biāo)元組。
依托于文件統(tǒng)計(jì)特征進(jìn)行異常文件智能檢測(cè),需先確定異常文件的標(biāo)志特征。以碎片化時(shí)空信息庫內(nèi)典型的異常文件為例,對(duì)文件中每個(gè)元組進(jìn)行評(píng)估。
(6)
(7)
(8)
式中:E為元組評(píng)估值;ψ為訓(xùn)練樣本中滿足篩選條件的文檔數(shù)量;ρ為篩選參數(shù),其取值會(huì)受到指紋中元組數(shù)量的影響,指紋是指文件類型;?為總文檔數(shù)量;Φ為平滑因子;ΔR為文檔與指紋中目標(biāo)元組出現(xiàn)的頻率差;R為元組出現(xiàn)頻率;d為文檔;e為指紋;ξ為元組出現(xiàn)頻率求取過程中產(chǎn)生的眾數(shù)數(shù)量;Mj為第j個(gè)眾數(shù)。
按照上述計(jì)算方法,確定典型異常文件的元組評(píng)估值,按從大到小的順序進(jìn)行排序,選擇排序靠前的幾個(gè)元組作為碎片化時(shí)空信息庫異常文件的標(biāo)志特征。針對(duì)提取的文件類型統(tǒng)計(jì)特征與異常文件標(biāo)志特征,計(jì)算二者之間的余弦相似度,當(dāng)相似度大于預(yù)先設(shè)計(jì)的判斷閾值時(shí),即可輸出檢測(cè)結(jié)果,判定該文件屬于異常文件。
由于所提智能檢測(cè)方法應(yīng)用了OCR識(shí)別技術(shù),為確保該方法具有良好的實(shí)際應(yīng)用效果,需要進(jìn)行實(shí)驗(yàn)分析。本次實(shí)驗(yàn)所應(yīng)用的數(shù)據(jù)主要來自安卓平臺(tái)、Windows平臺(tái)。在兩個(gè)平臺(tái)中,分別收集2 000個(gè)異常文件和6 000個(gè)正常文件,將這8 000個(gè)文件看作碎片化時(shí)空信息庫內(nèi)的文件。實(shí)驗(yàn)過程中,選取5 000個(gè)文件構(gòu)成訓(xùn)練集,用來訓(xùn)練基于智能OCR識(shí)別的文字提取網(wǎng)絡(luò),調(diào)整網(wǎng)絡(luò)參數(shù)。再將剩余的3 000個(gè)文件均分為3份,得到3個(gè)測(cè)試集。每個(gè)測(cè)試集中,異常文件的占比均為50%。應(yīng)用所提方法,針對(duì)這些數(shù)據(jù)集進(jìn)行智能檢測(cè),得到異常文件檢測(cè)結(jié)果。
使用一組訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù),其中包括100個(gè)異常文件和300個(gè)正常文件。使用訓(xùn)練數(shù)據(jù)來訓(xùn)練模型,計(jì)算文件類型統(tǒng)計(jì)特征和異常文件標(biāo)志特征。在驗(yàn)證數(shù)據(jù)上進(jìn)行實(shí)驗(yàn)和驗(yàn)證,通過調(diào)整不同的判斷閾值,觀察模型的準(zhǔn)確率和召回率。
在實(shí)驗(yàn)和驗(yàn)證過程中,得到了以下結(jié)果:當(dāng)判斷閾值為0.8時(shí),模型的準(zhǔn)確率為90%,召回率為85%;當(dāng)判斷閾值為0.7時(shí),模型的準(zhǔn)確率下降至85%,但召回率提高至90%;當(dāng)判斷閾值為0.9時(shí),模型的準(zhǔn)確率提高至95%,但召回率下降至80%。根據(jù)以上結(jié)果,權(quán)衡準(zhǔn)確率與召回率的關(guān)系來確定最終的判斷閾值。由于研究重點(diǎn)為異常文件的準(zhǔn)確識(shí)別,所以選擇較高的判斷閾值,即設(shè)置為0.9。
為保證文字識(shí)別結(jié)果更加準(zhǔn)確,在網(wǎng)絡(luò)訓(xùn)練過程中,定義所有文件掃描圖像尺寸為3×225×225,并保證所有圖像的像素值取值范圍為[0,1]。網(wǎng)絡(luò)訓(xùn)練過程中,設(shè)置網(wǎng)絡(luò)訓(xùn)練次數(shù)和批次大小分別為150和50,該條件下網(wǎng)絡(luò)訓(xùn)練的損失值、準(zhǔn)確率變化曲線如圖4所示。由圖4可知,在訓(xùn)練次數(shù)增加后,文字識(shí)別的準(zhǔn)確率不斷提升,而訓(xùn)練損失值則在不斷降低。從訓(xùn)練次數(shù)為70次開始,準(zhǔn)確率無限貼近為1,確定此時(shí)網(wǎng)絡(luò)處于最優(yōu)狀態(tài)。
圖4 訓(xùn)練集損失值、準(zhǔn)確率變化曲線
應(yīng)用訓(xùn)練后的網(wǎng)絡(luò)處理測(cè)試集,并得到損失值、準(zhǔn)確率變化曲線,如圖5所示。由圖5可知,當(dāng)完成150次訓(xùn)練后,文字提取網(wǎng)絡(luò)的識(shí)別準(zhǔn)確率達(dá)到了98.8%,表明基于連接預(yù)選框網(wǎng)絡(luò)的文本檢測(cè)網(wǎng)絡(luò)、端到端文本識(shí)別網(wǎng)絡(luò),實(shí)施智能OCR識(shí)別技術(shù)后,可以得到準(zhǔn)確的文字識(shí)別結(jié)果。
圖5 測(cè)試集損失值、準(zhǔn)確率變化曲線
以測(cè)試集的任意文件為例,對(duì)其掃描圖像進(jìn)行文字識(shí)別,結(jié)果如圖6所示。由圖6可知,所提方法可以將文件內(nèi)包含的文字字符完整識(shí)別出來,并基于此進(jìn)行后續(xù)異常文件智能檢測(cè)。
圖6 文件字符識(shí)別結(jié)果
在完成文字識(shí)別后,對(duì)3個(gè)測(cè)試集分別進(jìn)行異常文件檢測(cè),檢測(cè)結(jié)果如表1所示。由表1可知,所提方法在完成異常文件檢測(cè)的同時(shí),還可以確定異常文件類型。且最終得出的異常文件數(shù)量,與預(yù)期相同,表明所設(shè)計(jì)智能檢測(cè)方法的可行性。
表1 異常文件檢測(cè)結(jié)果
定義評(píng)價(jià)指標(biāo)為精確率和召回率的加權(quán)調(diào)和平均值(F-Score),以此來描述異常文件智能檢測(cè)方法的性能,具體計(jì)算公式為:
(9)
式中:P為異常文件智能檢測(cè)精確率;R為異常文件智能檢測(cè)召回率。
將所提方法和基于復(fù)合特征的檢測(cè)方法、基于注意力機(jī)制的檢測(cè)方法進(jìn)行對(duì)比,分別進(jìn)行異常文件智能檢測(cè),3種方法檢測(cè)結(jié)果的F-Score對(duì)比結(jié)果如圖7所示。由圖7可知,兩種傳統(tǒng)的智能檢測(cè)方法的平均F-Score分別為0.60和0.46,基于OCR識(shí)別技術(shù)的檢測(cè)方法的F-Score始終保持在0.9以上,平均F-Score達(dá)到了0.97,比其他兩種方法提升了38.14%、52.58%。
圖7 不同智能檢測(cè)方法的F-Score對(duì)比
(1)針對(duì)信息庫異常文件智能檢測(cè)進(jìn)行研究,提出應(yīng)用OCR識(shí)別技術(shù)的新型檢測(cè)技術(shù),并在深度學(xué)習(xí)網(wǎng)絡(luò)的輔助下進(jìn)行異常文件檢測(cè)。研究發(fā)現(xiàn):①結(jié)合圖像預(yù)處理技術(shù)和深度學(xué)習(xí)網(wǎng)絡(luò),能夠準(zhǔn)確提取掃描圖像中的文字信息,并進(jìn)行針對(duì)性的檢測(cè)。②通過連接預(yù)選框網(wǎng)絡(luò)和文本識(shí)別網(wǎng)絡(luò)的結(jié)合,實(shí)現(xiàn)了對(duì)異常文件類型的智能檢測(cè),有效減少了人工判斷的主觀性和不穩(wěn)定性,提高檢測(cè)的準(zhǔn)確性和效率。
(2)檢測(cè)方法在異常文件檢測(cè)方面表現(xiàn)良好,平均F-Score達(dá)到了0.97,說明該方法在智能檢測(cè)異常文件時(shí)具有較高的準(zhǔn)確性和效率,可以有效降低人工判斷的工作量。該方法的可靠性和實(shí)用性得到了充分驗(yàn)證,可以作為一個(gè)實(shí)用價(jià)值較高的智能檢測(cè)方案應(yīng)用于碎片化時(shí)空信息庫的異常文件檢測(cè)。