本發(fā)明涉及一種基于RNNs的短信自動(dòng)安全審核的方法,屬于自然語(yǔ)言處理、深度學(xué)習(xí)以及命名實(shí)體識(shí)別等
技術(shù)領(lǐng)域:
。
背景技術(shù):
:隨著互聯(lián)網(wǎng)和信息技術(shù)的發(fā)展,為了提升對(duì)服刑人員的關(guān)愛(ài)服務(wù),很多監(jiān)獄已經(jīng)開(kāi)通了短信服務(wù)內(nèi)容,服刑人員可以通過(guò)特定設(shè)備發(fā)送短信(文本內(nèi)容)給家屬,提升了犯人與家屬的親情聯(lián)系,提升了改造質(zhì)量水平。目前短信業(yè)務(wù)很受犯人歡迎,因此發(fā)送數(shù)量很大,特別是節(jié)假日期間短信數(shù)量更是巨大,這些短信都需要干警進(jìn)行人工審核,耗時(shí)耗力,給干警工作帶來(lái)很大的負(fù)擔(dān)。有些地方采用了一些技術(shù)手段進(jìn)行輔助審核,例如:關(guān)鍵字和規(guī)則審核,但是由于短信文本內(nèi)容的復(fù)雜性,使用效果都不理想。因此需要通過(guò)大數(shù)據(jù)機(jī)器學(xué)習(xí)的手段找到合適的解決措施。文本分類用電腦對(duì)文本集(或其他實(shí)體或物件)按照一定的分類體系或標(biāo)準(zhǔn)進(jìn)行自動(dòng)分類標(biāo)記,它是一種有監(jiān)督的機(jī)器學(xué)習(xí)。文本分類的傳統(tǒng)方法是一個(gè)句子表示為“詞袋”(bagofwords)模型,映射為特征向量,然后通過(guò)機(jī)器學(xué)習(xí)的技術(shù)進(jìn)行分類,比如:樸素貝葉斯(NaiveBayes)、支持向量機(jī)(supportvectormachines)、最大熵(maximumentropy)等。但是這些分類方法沒(méi)有考慮文本的序列順序,而文本的序列性對(duì)分析文本具有很重要的作用。由于監(jiān)獄短信文本內(nèi)容的復(fù)雜性和特殊性,基于關(guān)鍵詞和規(guī)則的方法效果都不理想。比如“最近家里怎么樣?想死你們了”和“到現(xiàn)在都不回我短信,你們想死啊”,同樣的詞在不同的語(yǔ)境下意義是不同的,而關(guān)鍵詞僅局限于字面匹配、缺乏語(yǔ)義理解。雖然制定規(guī)則有時(shí)候是有效的,但是手工編寫(xiě)需要消耗大量的時(shí)間,而且很難擴(kuò)展,并且每個(gè)監(jiān)獄的規(guī)則也不統(tǒng)一,有些不合理的句型無(wú)法用規(guī)則進(jìn)行判別。技術(shù)實(shí)現(xiàn)要素:針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于RNNs的短信自動(dòng)安全審核的方法;RNNs是指循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrentneutralnetworks,RNNs),本發(fā)明基于RNNs的一個(gè)模型來(lái)自動(dòng)對(duì)短信進(jìn)行分類。從現(xiàn)有的安全/非安全的短信中提取有代表性的特征,通過(guò)深度學(xué)習(xí)方式,訓(xùn)練一個(gè)機(jī)器模型,在這個(gè)模型中,通過(guò)GloVe模型對(duì)短信文本進(jìn)行特征提取,然后用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)對(duì)短信分類,實(shí)現(xiàn)短消息的自動(dòng)安全審核,準(zhǔn)確率達(dá)到92.7%,為干警的審核提供輔助支持,減輕干警的工作量,提升監(jiān)獄安全性。術(shù)語(yǔ)解釋1、word2vec,是Google在2013年年中開(kāi)源的一款將詞表征為實(shí)數(shù)值向量的高效工具,其利用深度學(xué)習(xí)的思想,可以通過(guò)訓(xùn)練,把對(duì)文本內(nèi)容的處理簡(jiǎn)化為K維向量空間中的向量運(yùn)算,而向量空間上的相似度可以用來(lái)表示文本語(yǔ)義上的相似度。2、GloVe,即GloveVector,GloVe模型是一種“詞-詞”矩陣進(jìn)行分解從而得到詞表示的方法。本發(fā)明的技術(shù)方案為:一種基于RNNs的短信自動(dòng)安全審核的方法,具體步驟包括:(1)對(duì)歷史短信數(shù)據(jù)進(jìn)行預(yù)處理,預(yù)處理包括去除噪音、中文分詞;詞是最小的能夠獨(dú)立活動(dòng)的有意義的語(yǔ)言成分,英文單詞之間是以空格作為自然分界符的,而漢語(yǔ)是以字為基本的書(shū)寫(xiě)單位,詞語(yǔ)之間沒(méi)有明顯的區(qū)分標(biāo)記,因此,中文詞語(yǔ)分析是中文信息處理的基礎(chǔ)與關(guān)鍵。我們根據(jù)句子中每個(gè)詞詞性的不同對(duì)詞進(jìn)行標(biāo)注。例如:“我們組合成一個(gè)團(tuán)隊(duì)”,詞性標(biāo)注為:我們ad/組合v/成v/一個(gè)m/團(tuán)隊(duì)n/,中文分詞的結(jié)果為“我們組合成一個(gè)團(tuán)隊(duì)”。(2)對(duì)步驟(1)預(yù)處理后的歷史短信數(shù)據(jù)提取特征,生成詞向量;(3)用RNNs與樸素貝葉斯相集成的分類模型實(shí)時(shí)對(duì)短信文本進(jìn)行分類。根據(jù)本發(fā)明優(yōu)選的,所述步驟(2),基于HierarchicalSoftmax的CBOW模型提取特征,具體包括:最大化基于HierarchicalSoftmax的CBOW模型的優(yōu)化函數(shù),訓(xùn)練得到每個(gè)中文分詞的詞向量;基于HierarchicalSoftmax的CBOW模型的優(yōu)化函數(shù)如式(Ⅰ)所示:C為語(yǔ)料庫(kù),w是指步驟(1)中文分詞后得到的任意詞;Context(w)是w的上下文。每個(gè)詞的詞向量都是通過(guò)最大化這個(gè)似然函數(shù)訓(xùn)練得到的,當(dāng)訓(xùn)練收斂以后,意思相似的詞會(huì)被映射到向量空間的相似的位置。在我們的模型里,通過(guò)搜狗語(yǔ)料、微博語(yǔ)料和監(jiān)獄的短信來(lái)訓(xùn)練詞向量。根據(jù)本發(fā)明優(yōu)選的,所述步驟(2),通過(guò)GloVe模型生成詞向量,具體包括:最小化式(Ⅱ),在矩陣分解步驟,GloVe模型借鑒了推薦系統(tǒng)中基于隱因子分解(LatentFactorModel)的方法,在計(jì)算重構(gòu)誤差時(shí),只考慮共現(xiàn)次數(shù)非零的矩陣元素,同時(shí)對(duì)矩陣中的行和列加入偏移項(xiàng)。所述式(Ⅱ)如下所示:式(Ⅱ)中,矩陣第i行第j列的值為詞vi與詞vj在與語(yǔ)料庫(kù)中的出現(xiàn)次數(shù)xij的對(duì)數(shù);pi為詞vi作為目標(biāo)詞時(shí)的詞向量,一句話中中間的詞作為目標(biāo)詞;qi為詞vj作為上下文時(shí)的詞向量,目標(biāo)詞左右的詞為其上下文,b(1)、b(2)為針對(duì)詞表中各詞的偏移向量,語(yǔ)料庫(kù)中不重復(fù)的詞組成了詞表,f(x)是一個(gè)加權(quán)函數(shù),f(x)的定義為:當(dāng)x<xmax時(shí),f(x)=(x/xmax)α;否則,f(x)=1;xmax是指兩個(gè)詞共同出現(xiàn)的最大次數(shù),GloVe模型中xmax的取值為100。f(x)對(duì)低頻的共現(xiàn)詞對(duì)進(jìn)行衰減,減少低頻噪聲帶來(lái)的誤差;GloVe模型是Jeffrey和Richard在2014年提出的,相比其他矩陣分解的模型(比如潛在語(yǔ)義分析Latentsemanticanalysis,LAS)和word2vec,GloVe在充分利用了語(yǔ)料庫(kù)的全局統(tǒng)計(jì)信息的同時(shí),也提高了詞向量在大語(yǔ)料上的訓(xùn)練速度(一個(gè)共現(xiàn)矩陣的遍歷要比整個(gè)語(yǔ)料庫(kù)的遍歷容易的多)。同時(shí),GloVe得到的詞向量更能把握住詞與詞之間的線性關(guān)系。根據(jù)本發(fā)明優(yōu)選的,所述步驟(3),將含有的敏感詞的短信通過(guò)樸素貝葉斯訓(xùn)練分類,不含敏感詞的短信通過(guò)RNNs訓(xùn)練分類;敏感詞包括{w1,w2,…,wn},所述敏感詞根據(jù)監(jiān)獄規(guī)定人工提取的敏感詞。根據(jù)本發(fā)明優(yōu)選的,將含有的敏感詞的短信通過(guò)樸素貝葉斯訓(xùn)練分類,具體步驟包括:a、訓(xùn)練過(guò)程:敏感詞{w1,w2,…,wn}作為樸素貝葉斯x的特征屬性,即a1:{w1,w2,…,wn},a1為敏感詞{w1,w2,…,wn}組成的集合,類別集合C={y0=0(安全),y1=1(非安全)};假設(shè)各敏感詞之間相互獨(dú)立,根據(jù)貝葉斯概率公式,某條短信里有m個(gè)敏感詞,wi∈{w1,w2,…,wm},通過(guò)式(Ⅲ)求取其包含的敏感詞在非安全短信和安全的短信里出現(xiàn)的概率的比值,式(Ⅲ)如下所示:式(Ⅲ)中,P(C=y(tǒng)1|wi)為短信中包含敏感詞wi時(shí)此條短信不安全的概率;P(C=y(tǒng)0|wi)為短信中包含敏感詞wi時(shí)此條短信不安全的概率;P(y1),P(y0)為先驗(yàn)概率;例如,訓(xùn)練集短信數(shù)據(jù)為3500條安全短信,500條非安全短信,則:P(wi|C=y(tǒng)1)是在非安全的短信里包含敏感詞wi的概率;P(wi|C=y(tǒng)0)是在安全的短信里包含敏感詞wi的概率;例如,有N條非安全短信包含敏感詞wi,M條安全短信包含敏感詞wi,則α為訓(xùn)練參數(shù),α為1.138;b、測(cè)試過(guò)程:測(cè)試集包括安全短信和非安全短信,根據(jù)安全短信和非安全短信中包含的敏感詞計(jì)算出式(Ⅴ)的概率比值,當(dāng)這個(gè)比值大于或者等于α?xí)r,此短信被判為非安全,否則就是安全的。根據(jù)本發(fā)明優(yōu)選的,不含敏感詞的短信通過(guò)RNNs訓(xùn)練分類,所述RNNs模型包括輸入單元(Inputunits)、輸出單元(Outputunits)、隱藏單元(Hiddenunits),輸入單元的輸入集標(biāo)記為{x0,x1,…xt,xt+1…},輸出單元的輸出集標(biāo)記為{o0,o1,…ot,ot+1…},隱藏單元標(biāo)記為{s0,s1,…st,st+1…},st為隱藏單元的第t步的狀態(tài),是網(wǎng)絡(luò)的記憶單元。具體步驟包括:①通過(guò)誤差向后傳播算法(ErrorBackPropagation,BP算法)訓(xùn)練,將輸入矩陣N×d×M輸入至RNNs模型,N是指批量處理歷史短信的個(gè)數(shù),d是指步驟(2)得到的詞向量的維數(shù),M是指批量處理歷史短信中最長(zhǎng)的短信的詞的個(gè)數(shù);②st根據(jù)當(dāng)前步輸入單元的輸出xt與上一步隱藏單元的狀態(tài)st-1進(jìn)行計(jì)算,如式(Ⅳ)所示:st=f(Uxt+Wst-1)(Ⅳ)式(Ⅳ)中,f為非線性的激活函數(shù),如tanh或ReLU,s0為0向量,W是指隱藏單元的權(quán)重,U是指輸入單元的權(quán)重,需要通過(guò)訓(xùn)練網(wǎng)絡(luò)得到;在計(jì)算s0時(shí),即第一個(gè)單詞的隱藏層狀態(tài),需要用到st-1,但是其并不存在,在實(shí)現(xiàn)中一般置為0向量。③ot是輸出單元第t步的輸出,計(jì)算公式如式(Ⅴ)所示:ot=softmax(Vst)(Ⅴ)式(Ⅳ)中,softmax()是指歸一化的激活函數(shù),V是輸出單元的權(quán)重,隱藏單元第t步的狀態(tài)st是網(wǎng)絡(luò)的記憶單元,包含前面所有步的隱藏單元狀態(tài),輸出單位的輸出ot只與當(dāng)前步的st有關(guān)。在實(shí)踐中,為了降低網(wǎng)絡(luò)的復(fù)雜度,往往st只包含前面若干步而不是所有步的隱藏層狀態(tài)。在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中,每一個(gè)網(wǎng)絡(luò)層的參數(shù)是不共享的。而在RNNs中,每輸入一步,每一層各自都共享參數(shù)U,V,W。其反應(yīng)者RNNs中的每一步都在做相同的事,只是輸入不同,因此大大地降低了網(wǎng)絡(luò)中需要學(xué)習(xí)的參數(shù);也就是說(shuō),傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的參數(shù)是不共享的,并不是表示對(duì)于每個(gè)輸入有不同的參數(shù),而是將RNN是進(jìn)行展開(kāi),這樣變成了多層的網(wǎng)絡(luò),如果這是一個(gè)多層的傳統(tǒng)神經(jīng)網(wǎng)絡(luò),那么xt到st之間的U矩陣與xt+1到st+1之間的U是不同的,而RNNs中的卻是一樣的,同理對(duì)于s與s層之間的W、s層與o層之間的V也是一樣的。④將步驟(3)的實(shí)際輸出ot與預(yù)期輸出進(jìn)行比較,產(chǎn)生誤差;⑤將步驟(4)得到的誤差通過(guò)隱藏單元向輸入單元逐層反傳,修改網(wǎng)絡(luò)的權(quán)重U,V,W和網(wǎng)絡(luò)參數(shù),直到訓(xùn)練達(dá)到預(yù)先設(shè)定的訓(xùn)練次數(shù)30-50次停止訓(xùn)練。根據(jù)本發(fā)明優(yōu)選的,所述步驟(1),所述去除噪音包括去除短信中的標(biāo)點(diǎn)符號(hào)、剔除字?jǐn)?shù)小于3的短信;所述中文分詞為使用ANSJ研發(fā)工具進(jìn)行中文分詞。ANSJ研發(fā)工具由中科院研發(fā)。根據(jù)本發(fā)明優(yōu)選的,所述步驟⑤,將步驟(4)得到的誤差通過(guò)隱藏單元向輸入單元逐層反傳,修改網(wǎng)絡(luò)的權(quán)重U,V,W和網(wǎng)絡(luò)參數(shù),直到訓(xùn)練達(dá)到預(yù)先設(shè)定的訓(xùn)練次數(shù)30次停止訓(xùn)練。本發(fā)明的有益效果為:1、本發(fā)明實(shí)現(xiàn)了短信安全性的自動(dòng)審核,提供了一個(gè)相對(duì)嚴(yán)格的審核模型,尤其是對(duì)非安全短信,輔助了干警的審核工作,使得短信審核工作更加嚴(yán)謹(jǐn)高效。2、本發(fā)明根據(jù)監(jiān)獄短信的特殊性及其特點(diǎn),利用兩種方式相結(jié)合來(lái)對(duì)短信的安全性經(jīng)分類,單純的以敏感詞并不能完全確定其安全與否,需根據(jù)此敏感詞在安全/非安全的概率的比值來(lái)確定此條短信是否安全,這種方法相對(duì)于只通過(guò)是否包含敏感詞來(lái)判定短信的安全性更加合理化。3、本發(fā)明不包含敏感詞的短信,需要通過(guò)整句話的語(yǔ)義的短信需要通過(guò)RNNs來(lái)判定,因?yàn)镽NNs的結(jié)構(gòu)模型擅長(zhǎng)處理序列數(shù)據(jù),而一句話恰好就是一個(gè)有順序的序列。附圖說(shuō)明圖1為本發(fā)明所述一種基于RNNs的短信自動(dòng)安全審核的方法的流程框圖;圖2為CBOW模型的結(jié)構(gòu)框圖;圖3為RNNs模型的結(jié)構(gòu)框圖;圖4為本發(fā)明反向傳播算法流程示意圖;圖5為RNNs模型訓(xùn)練流程圖;圖6為學(xué)習(xí)速率η對(duì)損失函數(shù)的影響示意圖。具體實(shí)施方式下面結(jié)合說(shuō)明書(shū)附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步限定,但不限于此。實(shí)施例1一種基于RNNs的短信自動(dòng)安全審核的方法,如圖1所示,具體步驟包括:(1)對(duì)歷史短信數(shù)據(jù)進(jìn)行預(yù)處理,預(yù)處理包括去除噪音、中文分詞;所述去除噪音包括去除短信中的標(biāo)點(diǎn)符號(hào)、剔除字?jǐn)?shù)小于3的短信;所述中文分詞為使用ANSJ研發(fā)工具進(jìn)行中文分詞。詞是最小的能夠獨(dú)立活動(dòng)的有意義的語(yǔ)言成分,英文單詞之間是以空格作為自然分界符的,而漢語(yǔ)是以字為基本的書(shū)寫(xiě)單位,詞語(yǔ)之間沒(méi)有明顯的區(qū)分標(biāo)記,因此,中文詞語(yǔ)分析是中文信息處理的基礎(chǔ)與關(guān)鍵。我們根據(jù)句子中每個(gè)詞詞性的不同對(duì)詞進(jìn)行標(biāo)注。例如:“我們組合成一個(gè)團(tuán)隊(duì)”,詞性標(biāo)注為:我們ad/組合v/成v/一個(gè)m/團(tuán)隊(duì)n/,中文分詞的結(jié)果為“我們組合成一個(gè)團(tuán)隊(duì)”。(2)通過(guò)GloVe模型生成詞向量,具體包括:最小化式(Ⅱ),在矩陣分解步驟,GloVe模型借鑒了推薦系統(tǒng)中基于隱因子分解(LatentFactorModel)的方法,在計(jì)算重構(gòu)誤差時(shí),只考慮共現(xiàn)次數(shù)非零的矩陣元素,同時(shí)對(duì)矩陣中的行和列加入偏移項(xiàng)。所述式(Ⅱ)如下所示:式(Ⅱ)中,矩陣第i行第j列的值為詞vi與詞vj在與語(yǔ)料庫(kù)中的出現(xiàn)次數(shù)xij的對(duì)數(shù);pi為詞vi作為目標(biāo)詞時(shí)的詞向量,一句話中中間的詞作為目標(biāo)詞;qi為詞vj作為上下文時(shí)的詞向量,目標(biāo)詞左右的詞為其上下文,b(1)、b(2)為針對(duì)詞表中各詞的偏移向量,語(yǔ)料庫(kù)中不重復(fù)的詞組成了詞表,f(x)是一個(gè)加權(quán)函數(shù),f(x)的定義為:當(dāng)x<xmax時(shí),f(x)=(x/xmax)α;否則,f(x)=1;xmax是指兩個(gè)詞共同出現(xiàn)的最大次數(shù),GloVe模型中xmax的取值為100。f(x)對(duì)低頻的共現(xiàn)詞對(duì)進(jìn)行衰減,減少低頻噪聲帶來(lái)的誤差;GloVe模型是Jeffrey和Richard在2014年提出的,相比其他矩陣分解的模型(比如潛在語(yǔ)義分析Latentsemanticanalysis,LAS)和word2vec,GloVe在充分利用了語(yǔ)料庫(kù)的全局統(tǒng)計(jì)信息的同時(shí),也提高了詞向量在大語(yǔ)料上的訓(xùn)練速度(一個(gè)共現(xiàn)矩陣的遍歷要比整個(gè)語(yǔ)料庫(kù)的遍歷容易的多)。同時(shí),GloVe得到的詞向量更能把握住詞與詞之間的線性關(guān)系。(3)用RNNs與樸素貝葉斯相集成的分類模型實(shí)時(shí)對(duì)短信文本進(jìn)行分類。將含有的敏感詞的短信通過(guò)樸素貝葉斯訓(xùn)練分類,不含敏感詞的短信通過(guò)RNNs訓(xùn)練分類;敏感詞包括{w1,w2,…,wn},所述敏感詞根據(jù)監(jiān)獄規(guī)定人工提取的敏感詞。將含有的敏感詞的短信通過(guò)樸素貝葉斯訓(xùn)練分類,具體步驟包括:a、訓(xùn)練過(guò)程:敏感詞{w1,w2,…,wn}作為樸素貝葉斯x的特征屬性,即a1:{w1,w2,…,wn},a1為敏感詞{w1,w2,…,wn}組成的集合,類別集合C={y0=0(安全),y1=1(非安全)};如圖6所示,在訓(xùn)練模型時(shí),應(yīng)選擇合適的學(xué)習(xí)速率η,η太小會(huì)導(dǎo)致收斂太慢,太大會(huì)造成損失函數(shù)的振蕩。本模型中η設(shè)為0.001。學(xué)習(xí)速率實(shí)際和信號(hào)分析里的時(shí)間常數(shù)是一樣的,學(xué)習(xí)速率越小學(xué)習(xí)會(huì)越精細(xì),但同時(shí)學(xué)習(xí)時(shí)間也會(huì)增加,因?yàn)楝F(xiàn)實(shí)中很多模型都是非線性的,猶如一條曲線,梯度下降采用很多小直線迭代去逼近非線性的曲線,如果每一步跨度太大(學(xué)習(xí)速率)就會(huì)失去很多曲線的扭曲信息,局部直線化過(guò)嚴(yán)重,跨度太小你要到達(dá)曲線的盡頭就需要很多很多步,增加學(xué)習(xí)的時(shí)間,導(dǎo)致收斂太慢。假設(shè)各敏感詞之間相互獨(dú)立,根據(jù)貝葉斯概率公式,某條短信里有m個(gè)敏感詞,wi∈{w1,w2,…,wm},通過(guò)式(Ⅲ)求取其包含的敏感詞在非安全短信和安全的短信里出現(xiàn)的概率的比值,式(Ⅲ)如下所示:式(Ⅲ)中,P(C=y(tǒng)1|wi)為短信中包含敏感詞wi時(shí)此條短信不安全的概率;P(C=y(tǒng)0|wi)為短信中包含敏感詞wi時(shí)此條短信不安全的概率;P(y1),P(y0)為先驗(yàn)概率;例如,訓(xùn)練集短信數(shù)據(jù)為3500條安全短信,500條非安全短信,則:P(wi|C=y(tǒng)1)是在非安全的短信里包含敏感詞wi的概率;P(wi|C=y(tǒng)0)是在安全的短信里包含敏感詞wi的概率;例如,有N條非安全短信包含敏感詞wi,M條安全短信包含敏感詞wi,則α為訓(xùn)練參數(shù),α為1.138;b、測(cè)試過(guò)程:測(cè)試集包括安全短信和非安全短信,根據(jù)安全短信和非安全短信中包含的敏感詞計(jì)算出式(Ⅴ)的概率比值,當(dāng)這個(gè)比值大于或者等于α?xí)r,此短信被判為非安全,否則就是安全的。不含敏感詞的短信通過(guò)RNNs訓(xùn)練分類,所述RNNs模型包括輸入單元(Inputunits)、輸出單元(Outputunits)、隱藏單元(Hiddenunits),輸入單元的輸入集標(biāo)記為{x0,x1,…xt,xt+1…},輸出單元的輸出集標(biāo)記為{o0,o1,…ot,ot+1…},隱藏單元標(biāo)記為{s0,s1,…st,st+1…},st為隱藏單元的第t步的狀態(tài),是網(wǎng)絡(luò)的記憶單元。如圖3所示,RNNs訓(xùn)練流程圖如圖5所示,具體步驟包括:①通過(guò)誤差向后傳播算法(ErrorBackPropagation,BP算法)訓(xùn)練,反向傳播算法流程示意圖如圖4所示,將輸入矩陣N×d×M輸入至RNNs模型,N是指批量處理歷史短信的個(gè)數(shù),d是指步驟(2)得到的詞向量的維數(shù),M是指批量處理歷史短信中最長(zhǎng)的短信的詞的個(gè)數(shù);②st根據(jù)當(dāng)前步輸入單元的輸出xt與上一步隱藏單元的狀態(tài)st-1進(jìn)行計(jì)算,如式(Ⅳ)所示:st=f(Uxt+Wst-1)(Ⅳ)式(Ⅳ)中,f為非線性的激活函數(shù),如tanh或ReLU,s0為0向量,W是指隱藏單元的權(quán)重,U是指輸入單元的權(quán)重,需要通過(guò)訓(xùn)練網(wǎng)絡(luò)得到;在計(jì)算s0時(shí),即第一個(gè)單詞的隱藏層狀態(tài),需要用到st-1,但是其并不存在,在實(shí)現(xiàn)中一般置為0向量。③ot是輸出單元第t步的輸出,計(jì)算公式如式(Ⅴ)所示:ot=softmax(Vst)(Ⅴ)式(Ⅴ)中,softmax()是指歸一化的激活函數(shù),V是輸出單元的權(quán)重,隱藏單元第t步的狀態(tài)st是網(wǎng)絡(luò)的記憶單元,包含前面所有步的隱藏單元狀態(tài),輸出單位的輸出ot只與當(dāng)前步的st有關(guān)。在實(shí)踐中,為了降低網(wǎng)絡(luò)的復(fù)雜度,往往st只包含前面若干步而不是所有步的隱藏層狀態(tài)。在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中,每一個(gè)網(wǎng)絡(luò)層的參數(shù)是不共享的。而在RNNs中,每輸入一步,每一層各自都共享參數(shù)U,V,W。其反應(yīng)者RNNs中的每一步都在做相同的事,只是輸入不同,因此大大地降低了網(wǎng)絡(luò)中需要學(xué)習(xí)的參數(shù);也就是說(shuō),傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的參數(shù)是不共享的,并不是表示對(duì)于每個(gè)輸入有不同的參數(shù),而是將RNN是進(jìn)行展開(kāi),這樣變成了多層的網(wǎng)絡(luò),如果這是一個(gè)多層的傳統(tǒng)神經(jīng)網(wǎng)絡(luò),那么xt到st之間的U矩陣與xt+1到st+1之間的U是不同的,而RNNs中的卻是一樣的,同理對(duì)于s與s層之間的W、s層與o層之間的V也是一樣的。④將步驟(3)的實(shí)際輸出ot與預(yù)期輸出進(jìn)行比較,產(chǎn)生誤差;⑤將步驟(4)得到的誤差通過(guò)隱藏單元向輸入單元逐層反傳,修改網(wǎng)絡(luò)的權(quán)重U,V,W和網(wǎng)絡(luò)參數(shù),直到訓(xùn)練達(dá)到預(yù)先設(shè)定的訓(xùn)練次數(shù)30次停止訓(xùn)練。本實(shí)施例得到的分類結(jié)果與現(xiàn)有的支持向量機(jī)(SVM)的分類結(jié)果相比,如表1所示:準(zhǔn)確率F1分?jǐn)?shù)本實(shí)施例方法92.7%92.5%支持向量機(jī)(SVM)81.3%80.5%實(shí)施例2根據(jù)實(shí)施例1所述的一種基于RNNs的短信自動(dòng)安全審核的方法,其區(qū)別在于:所述步驟(2),基于HierarchicalSoftmax的CBOW模型提取特征,CBOW模型的結(jié)構(gòu)框圖如圖2所示,具體包括:最大化基于HierarchicalSoftmax的CBOW模型的優(yōu)化函數(shù),訓(xùn)練得到每個(gè)中文分詞的詞向量;基于HierarchicalSoftmax的CBOW模型的優(yōu)化函數(shù)如式(Ⅰ)所示:C為語(yǔ)料庫(kù),w是指步驟(1)中文分詞后得到的任意詞;Context(w)是w的上下文。每個(gè)詞的詞向量都是通過(guò)最大化這個(gè)似然函數(shù)訓(xùn)練得到的,當(dāng)訓(xùn)練收斂以后,意思相似的詞會(huì)被映射到向量空間的相似的位置。在我們的模型里,通過(guò)搜狗語(yǔ)料、微博語(yǔ)料和監(jiān)獄的短信來(lái)訓(xùn)練詞向量。當(dāng)前第1頁(yè)1 2 3