田菁菁 許慧云 葉紫光
關(guān)鍵詞:機器學(xué)習(xí);金庫模式;語義分析
中圖法分類號:TP181 文獻標(biāo)識碼:A
1引言
近年來,國家對公民隱私信息和公司業(yè)務(wù)信息安全高度重視,已推出各項保護政策,彰顯了信息保護的重要性。為此,中國移動河南公司為了彌補對于內(nèi)部人事行為的監(jiān)管不足、解決高權(quán)限賬號被濫用的問題,建立了高風(fēng)險操作納入金庫管理的模式,以提高信息安全管控水平。
2金庫管理模式介紹
中國移動河南公司在之前的經(jīng)營生產(chǎn)中,關(guān)于敏感數(shù)據(jù)是否可以成功訪問,取決于本次訪問的原理是否合理。然而在操作者輸入訪問理由的過程中,可能出現(xiàn)詞不達意、表述不明確或者填寫不規(guī)范等問題。但監(jiān)管系統(tǒng)未建立有效機制來審核原因,因此可能導(dǎo)致敏感數(shù)據(jù)泄露,影響公司運營和客戶滿意度。針對此問題,可以采用金庫管理模式進行有效監(jiān)管。
“金庫模式”又被稱之為“雙人操作”或者“多人操作”模式。當(dāng)涉及高價值信息的高風(fēng)險操作時,強制要求必須由兩個或者兩個以上有相應(yīng)權(quán)限的員工共同協(xié)作完成。通過操作人員之間互相監(jiān)督來確保關(guān)鍵操作的安全性。
3主要技術(shù)方案
3.1總體方案概述
此項目是基于scikit?learn框架開發(fā)的一個自然語言處理模型,scikit?learn框架則基于Python語言而搭建。其中,關(guān)聯(lián)度最高的是numpy模塊組,該模塊組用于線性代數(shù)和矩陣的運算。Scikit?learn框架是目前使用較為廣泛、應(yīng)用場景基礎(chǔ)良好的數(shù)據(jù)分析的機器學(xué)習(xí)框架。Scikit?learn框架主要負(fù)責(zé)以下幾個方面的工作:數(shù)據(jù)分類預(yù)測、數(shù)據(jù)回歸預(yù)測、數(shù)據(jù)信息聚類、數(shù)據(jù)降維處理以及模型選擇和數(shù)據(jù)預(yù)處理。
該模型適用于操作者在人為輸入申請原因時進行語義分割判斷,使用訓(xùn)練好的模型可以過濾垃圾信息,可以讓訪問者的申請行為更為系統(tǒng)化與規(guī)范化,使得重要信息系統(tǒng)能夠?qū)崿F(xiàn)內(nèi)容搜索、內(nèi)容推薦、語義識別及分析等功能。
3.2主要功能和技術(shù)實現(xiàn)方案
3.2.1中文分詞介紹
中文分詞即Chinese Word Segmentation。人類可以準(zhǔn)確清晰地將所接收到的語句分割為單獨詞語,因此期望設(shè)計出的系統(tǒng)也可以達到這一目。由于中文與英文的起源不同,詞與詞之間的連接方式不同,所以中文分詞和英文分詞存在巨大差異。對英文而言,一個單詞就是一個詞,詞與詞之間用空格進行天然分割。而中文以“字”作為基本單位進行語句陳述,詞語之間并不用空格進行分隔,中文語句在分割方面相比英文語句更難。中文分詞的算法可分為“基于詞典的分詞算法”“基于統(tǒng)計分詞算法”“基于語義的分詞算法”“基于字標(biāo)注的中文分詞算法”。
3.2.2結(jié)巴中文分詞算法介紹
Jieba( 結(jié)巴分詞) 是一個簡單高效又靈活的Python 工具庫, Jieba 工具庫中的語句簡潔凝練, 可以提供多種模式對中文文本進行分詞, 并且可以自由修改詞典文件。利用結(jié)巴分詞算法,可以達到以下目的:實現(xiàn)基于Trie 樹結(jié)構(gòu)的高效詞圖掃描,對語句的所有輸入數(shù)據(jù)都加以分析,以語句中分割的詞語為落腳點,去分析該句子中詞語可能的構(gòu)詞情況,然后再由它形成算法所要求的有向無環(huán)圖(DAG);得到有向無環(huán)圖之后,就要去測算每條路徑的可能性,這里采用動態(tài)規(guī)劃算法來找到最概率最大的路徑,將圖上點進行串聯(lián)得到最大切分組合;對于未收錄的詞匯(這里指的是并未收錄在詞典中的詞),將采用基于漢字構(gòu)詞能力的HMM 模型進行維特比算法。
3.2.3結(jié)巴中文分詞支持的三種分詞模式
(1) 精確模式:將語句精確分解至詞,從而更好地進行語義分析。
(2) 全模式:從語句的頭部開始讀取,一直到尾部,這種讀取方法的速度較快,但是對于語句的歧義問題沒有得到很好地解決。
(3) 搜索引擎模式:這是在精確模式的基礎(chǔ)上,對可能存在的較長的組合詞匯在進行切分,從而提高召回率,適合用于搜索引擎分詞。
分詞效果如下例所示。
import jieba↙
string:'這個把手該換了,我不喜歡日本和服,別把手放在我的肩膀上,工信處女干事每月經(jīng)過下屬科室都要親口交代24 口交換機等技術(shù)性器件的安裝工作'↙
result= jieba. lcut(string) print(len(result),'/ '.join(result))↙
結(jié)果。
38 這個/ 把手/ 該換/ 了/ ,/ 我/ 不/ 喜歡/ 日本/ 和服/ ,/ 別/ 把手/ 放在/ 我/ 的/ 肩膀/ 上/ ,/ 工信處/ 女干事/ 每月/ 經(jīng)過/ 下屬/ 科室/ 都/ 要/ 親口/ 交代/24/ 口/交換機/ 等/ 技術(shù)性/ 器件/ 的/ 安裝/ 工作?
效果如圖1、2 所示。
3.2.4分類和聚類是文本挖掘中常用的方法
當(dāng)用到這類方法的時候,是為了對檢測的數(shù)據(jù)進行區(qū)分,兩者的區(qū)別在于:分類基于有監(jiān)督的學(xué)習(xí),分類算法的核心在于對文本類型的判斷;而聚類是對讀入的語句數(shù)據(jù)進行每句之間的相關(guān)度分析,并將高關(guān)聯(lián)度的語句加以聚合,歸為一類。在分類計算中,由于將有監(jiān)督的學(xué)習(xí)作為前提,所以數(shù)據(jù)集都具有標(biāo)注,能讓網(wǎng)絡(luò)在學(xué)習(xí)中不斷修正,增加最后的準(zhǔn)確度。但由于文本數(shù)據(jù)集較少,不能讓模型得到足夠大規(guī)模的學(xué)習(xí)以修正權(quán)值,最終效果并未達到預(yù)期,所以我們選用聚類算法對大規(guī)模隨機微博文本加以解決。
(1)預(yù)處理常用方法
文字信息內(nèi)容預(yù)處理包括:對分割出來的詞進行詞性分析(謂語、形容詞和副詞)、語義人物標(biāo)識、數(shù)據(jù)詞典建設(shè)、文字項目分割、文字信息內(nèi)容的分詞流程。語義人物標(biāo)識是指:在名詞指代事物中扮演的各種人物(施事、受事、客體、經(jīng)歷者、受益者、工具、處所、目標(biāo)和來源等)。數(shù)據(jù)詞典建設(shè)是指:所用到的詞的類別分類的索引字典。
(2)文本信息的特征表示
為了能夠提取出文本信息中的對應(yīng)語句特征,可以使用多種方法。其中方法包括:有邏輯判斷的布爾型、概率型,布爾型與概率型的混合型和多維度記錄的向量空間型。向量空間模型(VSM)最大優(yōu)勢就是能夠獲得更為全面的文本信息特征,是分析完文本信息之后組成特征向量(T1,T2,…,Tn)。當(dāng)特征足夠多,可以組成文本信息特征向量矩陣;(W1,W2,…,Wn)為文檔項對應(yīng)的權(quán)重,對應(yīng)每個特征向量相乘的值。文本特征構(gòu)建的主要目的是能夠?qū)⒃镜奈谋巨D(zhuǎn)化為詞表和特征向量的組合,以更加高效的方式去存儲語句信息。
(3)文本信息特征縮減
向量空間模型(VSM)構(gòu)建完成之后并不是完美的,也存在向量數(shù)目過多、長度過長等問題。因此,在對文本進行聚類之前,必須對向量空間模型(VSM)進行精簡,對特征相關(guān)度較低的向量進行相應(yīng)的壓縮操作,并且從高到低的對權(quán)值相關(guān)度進行排序,保留能夠表示文本信息特點的特征詞與其權(quán)重。
(4)構(gòu)造特征空間
經(jīng)過上述步驟,可以得到最具表征的特征向量和特征詞,以此作為構(gòu)建特征空間的基本素材,設(shè)置訓(xùn)練模型的基本參數(shù)。
3.2.5樸素貝葉斯算法
在分類方法計算中, 樸素貝葉斯算法(Naive Bayesian algorithm) 是應(yīng)用得最多一個計算類型。樸素貝葉斯算法由貝葉斯算法改進而來的,貝葉斯算法本身考慮了合并先驗概率和后驗概率,既沒有掉入到前者的主觀偏見中,也可以彌補語句信息過于擬合的劣勢。樸素貝葉斯算法在此基礎(chǔ)上更加注重在設(shè)置目標(biāo)值時,屬性之間應(yīng)該具有獨立性。這樣就可以降低被設(shè)置的屬性之間的冗余度,使每個屬性都具有較高的獨立性,利于整個目標(biāo)屬性之間的均衡。雖然樸素貝葉斯算法總體的準(zhǔn)確度沒有貝葉斯算法高,但是在實際的應(yīng)用中,樸素貝葉斯算法的可用性更強,減輕了系統(tǒng)的運算壓力。
3.2.6 Flask 框架介紹
Flask 是基于Python 語言編寫的輕量級網(wǎng)絡(luò)框架模型。其中,Jinja2 模板引擎和Werkzeug WSGI 以框架模型作支撐 。Jinja2 模板引擎主要負(fù)責(zé)用戶對金庫訪問系統(tǒng)的使用反饋,即用戶提出訪問申請后,將對應(yīng)的數(shù)據(jù)輸入文件,該模板引擎對其渲染加工之后再放回系統(tǒng)的響應(yīng)頁面呈現(xiàn)給客戶。設(shè)計Werkzeug WSGI 的目的是架起Web 服務(wù)器與系統(tǒng)調(diào)用接口之間通信的橋梁,能夠讓服務(wù)器傳遞所要求請的數(shù)據(jù)信息給Web 程序。
3.2.7 構(gòu)建垃圾信息分類的機器學(xué)習(xí)模型
數(shù)據(jù)集是標(biāo)注為正常和非正常語句數(shù)據(jù)的集合。首先,可以使用數(shù)據(jù)集構(gòu)建預(yù)測模型,以準(zhǔn)確分類哪些文本是不正常的;其次,可以使用Naive Bayes定理構(gòu)建一個簡單的消息分類器。
4結(jié)束語
通過應(yīng)用基于機器學(xué)習(xí)的人工智能語義分析方法,增強了金庫模式的管控力度,加強了各業(yè)務(wù)系統(tǒng)對語義分析的應(yīng)用效果,具備一定的推廣價值。
作者簡介:
田菁菁(1976—),本科,工程師,研究方向為:網(wǎng)絡(luò)安全、信息系統(tǒng)安全、數(shù)據(jù)安全。