本發(fā)明涉及一種基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,屬于短文本分析的技術(shù)領(lǐng)域。
背景技術(shù):
隨著科技的發(fā)展與信息時(shí)代的到來,人們每天接觸的消息量越來越大,從消息中選取有用的信息就變得重要起來。這些消息中有不少的部分是以短文本的形式存在的,這就促進(jìn)了短文本分析的產(chǎn)生與發(fā)展。短文本具有無語境、信息濃縮度高的特點(diǎn),使得短文本分析的難度大大增加。
雖然短文本分析的發(fā)展迅速,但是對于監(jiān)獄服刑人員短信的審核仍然緩慢,其中一個(gè)重要的原因就是用戶數(shù)量少。如今的機(jī)器學(xué)習(xí)在各方面的應(yīng)用都很多,也有對于監(jiān)獄服刑人員短信審核的應(yīng)用,如svm、rnn等。但由于監(jiān)獄短信不通過率低,正負(fù)樣本差距過大,使得機(jī)器學(xué)習(xí)的效果不盡人意。
現(xiàn)有技術(shù)中的垃圾短信攔截技術(shù)已經(jīng)較為成熟,智能手機(jī)多都會(huì)自帶垃圾短信攔截功能,一些手機(jī)軟件如360手機(jī)衛(wèi)士、來電通、安卓優(yōu)化大師、手機(jī)管家等都有攔截垃圾短信的功能。垃圾短信攔截的方法一般基于詞典與黑白名單實(shí)現(xiàn),也可加入用戶反饋機(jī)制,以更新詞典及黑白名單。但是,垃圾短信攔截技術(shù)主要是針對廣告的攔截,目的性單一,其詞典一般都與廣告相關(guān),如果用于監(jiān)獄短信審核,不能滿足監(jiān)獄要求的多樣性,詞典也需重構(gòu)。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法。
發(fā)明概述:
本發(fā)明解決的問題主要是短文本的多分類問題,將依據(jù)監(jiān)獄短信規(guī)定對短信審核的過程轉(zhuǎn)換為對短信進(jìn)行層層分類的過程,一旦分為規(guī)定中的一類,則短信被攔截;本發(fā)明解決的另一問題是,避免了由于獄警審核短信的工作量大,短信審核結(jié)果難以符合監(jiān)獄規(guī)定的現(xiàn)象。本發(fā)明的技術(shù)方案為:
一種基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,包括步驟如下:
1)對短信內(nèi)容進(jìn)行預(yù)處理;
對短信內(nèi)容進(jìn)行中文分詞;現(xiàn)有技術(shù)中中文分詞的方法有多種,可分為三大類:基于字符串匹配的分詞方法、基于理解的分詞方法和基于統(tǒng)計(jì)的分詞方法。
2)利用短信審核規(guī)則對短信內(nèi)容進(jìn)行初步審核;所述短信審核規(guī)則包括:
2.1)重復(fù)短信:對同一監(jiān)獄犯人在兩天內(nèi)發(fā)送或接收的內(nèi)容重復(fù)的短信進(jìn)行攔截;
2.2)無內(nèi)容短信:對無短信內(nèi)容的短信進(jìn)行攔截;
2.3)外文限制:對包含外文的短信進(jìn)行攔截;
2.4)數(shù)字限制:對于短信內(nèi)數(shù)字?jǐn)?shù)量過大的短信進(jìn)行攔截;
2.5)錢財(cái)限制:對于涉及錢財(cái)數(shù)目過大的短信進(jìn)行攔截;涉及錢財(cái)數(shù)目過大的判斷方法為:a、利用正則表達(dá)式判斷短信內(nèi)涉及的錢財(cái)數(shù)目是否超過規(guī)定;b、判斷中文分詞后得到的詞組是否包含有關(guān)錢財(cái)?shù)淖盅?;如果?guī)定錢財(cái)數(shù)量不得超過一千元,正則表達(dá)式包括@"\d{4}千元"、@"\d萬元"等。所述短信審核規(guī)則根據(jù)監(jiān)獄犯人收發(fā)短信的相關(guān)規(guī)定編寫。
3)利用ngram判斷短信是否通順;
3.1)設(shè)短信s由詞w1,w2,…,wn順序排列組成,則短信s出現(xiàn)的概率
p(s)=p(w1w2…wn)=p(w1)p(w2|w1)...p(wn|w1w2...wn-1)(2.1);
式(2.1)中越往后的詞的可能性越多,概率無法計(jì)算,假設(shè)每個(gè)詞出現(xiàn)的概率只與前一個(gè)詞有關(guān),將問題進(jìn)行簡化;
3.2)簡化式(2.1)得:p(s)=p(w1)p(w2|w1)...p(wn|wn-1)(2.2);
3.3)計(jì)算p(wi|wi-1),
其中,#(wi-1,wi)為語料庫中wi-1和wi前后相鄰出現(xiàn)的次數(shù),#(wi-1)為語料庫中wi單獨(dú)出現(xiàn)的次數(shù);所述的語料庫是指由監(jiān)獄提供的被監(jiān)獄審核通過的短信組成的語料庫;
3.4)將p(wi|wi-1)與閾值p對比,當(dāng)p(wi|wi-1)≥p時(shí),進(jìn)入步驟4),否則,攔截短信;
判斷一個(gè)句子是否合理,是否通順,可以通過計(jì)算其出現(xiàn)的概率來判斷;ngram模型就是依據(jù)上述方法來判斷語句的生成概率的,我們用訓(xùn)練好的ngram來計(jì)算短信的生成概率,當(dāng)概率小于閾值時(shí),判定短信是不合理的,或者是不通順的,對相應(yīng)的短信進(jìn)行攔截。
4)利用樸素貝葉斯模型對短信內(nèi)容進(jìn)行分類;
采用樸素貝葉斯分類的方式對短信內(nèi)容進(jìn)行審核;樸素貝葉斯并不直接判斷短信是否通過,而是先對短信進(jìn)行多分類,判斷該短信內(nèi)容所涉及的主題,如關(guān)心家人、索要物品、聊家常、抱怨或吵架等。一條短信可能有多個(gè)主題,若其中的某個(gè)主題違反監(jiān)獄規(guī)定,則判為不通過,如此可大大減少正負(fù)樣本數(shù)量差距過大造成的影響;
首先,對監(jiān)獄提供的所有短信進(jìn)行主題標(biāo)簽的人工標(biāo)定,短信和與短信對應(yīng)的主題標(biāo)簽共同構(gòu)成樸素貝葉斯模型的先驗(yàn)樣本m0;根據(jù)先驗(yàn)樣本m0建立關(guān)鍵詞典,對先驗(yàn)樣本m0的所有短信進(jìn)行中文分詞后,將分得的詞組按不同的主題存儲(chǔ)在關(guān)鍵詞典中;關(guān)鍵詞典涵蓋監(jiān)獄犯人短信內(nèi)容涉及的各個(gè)方面和監(jiān)獄規(guī)定的所有方面(規(guī)則中已含的除外)。
計(jì)算關(guān)鍵詞典中的詞w為主題i的概率為pi(w),
pi(s)=1-(1-pi(w1))(1-pi(w2))...(1-pi(wn))+pi(w1)pi(w2)...pi(wn)(3.1)
則新的短信s不通過的概率為:
p(s)=σpi(s),i為禁止通過主題;(3.2)
當(dāng)p(s)大于閾值w時(shí),攔截該短信。
根據(jù)本發(fā)明優(yōu)選的,閾值w以最大化f1值的方法確定。
進(jìn)一步優(yōu)選的,閾值w∈(0.25,0.4)。
根據(jù)本發(fā)明優(yōu)選的,所述基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,還包括增量學(xué)習(xí)的步驟;
當(dāng)新的樣本加入時(shí),原來的后驗(yàn)概率就成為先驗(yàn)概率,貝葉斯學(xué)習(xí)是利用新樣本信息來修正老信息的連續(xù)動(dòng)態(tài)過程。當(dāng)后驗(yàn)信息與先驗(yàn)信息同分布時(shí),可以利用后驗(yàn)信息作為進(jìn)一步審核的先驗(yàn)信息。
設(shè)pi(w|i0)為關(guān)鍵詞w所在短信為主題i的先驗(yàn)概率密度,其中i0為先驗(yàn)信息,即先驗(yàn)樣本m0所含的信息,當(dāng)新的短信s加入時(shí),新的短信s所含信息為新增信息q,對應(yīng)的后驗(yàn)概率密度為:
式(3.2)全面權(quán)衡了先驗(yàn)信息i0和新增信息q,即:
后驗(yàn)信息i1=先驗(yàn)信息i0+新增信息q;
將新的短信s及與其對應(yīng)的主題標(biāo)簽加入先驗(yàn)樣本m0中構(gòu)成樣本m1,m1即為樸素貝葉斯模型新的先驗(yàn)樣本。
根據(jù)本發(fā)明優(yōu)選的,所述步驟2.4)中判斷數(shù)字?jǐn)?shù)量過大的標(biāo)準(zhǔn)是,短信中數(shù)字的數(shù)量超過7個(gè)或數(shù)字個(gè)數(shù)占短信總字符個(gè)數(shù)的比例大于30%。
根據(jù)本發(fā)明優(yōu)選的,對短信內(nèi)容進(jìn)行中文分詞的步驟之前還包括去噪的步驟;對訓(xùn)練樣本進(jìn)行人工篩選;根據(jù)監(jiān)獄相關(guān)規(guī)定,將訓(xùn)練樣本中明顯審核錯(cuò)誤的短信的主題標(biāo)簽進(jìn)行更改,人工重新判定短信是否攔截。由于監(jiān)獄短信樣本存在正負(fù)樣本比例差距大、噪聲大,樣本中錯(cuò)誤的數(shù)據(jù)多的問題,去噪成為必不可少的步驟。
根據(jù)本發(fā)明優(yōu)選的,對短信內(nèi)容進(jìn)行中文分詞之后,還包括更新停用詞表并添加用戶詞典的步驟。根據(jù)中文分詞結(jié)果及監(jiān)獄規(guī)定,更新停用詞表并添加用戶詞典(其中,“停用詞表”和“用戶詞典”是中文分詞方法中的常規(guī)概念),以此來減少無用的詞匯和增加有意義的詞匯,使用優(yōu)化后的分詞軟件對短信進(jìn)行分詞,分詞結(jié)果更優(yōu)。
根據(jù)本發(fā)明優(yōu)選的,所述步驟2.5)中關(guān)錢財(cái)?shù)淖盅郯?,“元”、“美元”、“英鎊”、“人民幣”、“匯款”。
根據(jù)本發(fā)明優(yōu)選的,p∈(10^-6.2l,10^-6.6l),其中,l為短信長度。
本發(fā)明的有益效果為:
1.本發(fā)明所述基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,根據(jù)監(jiān)獄相關(guān)規(guī)定制定規(guī)則方法,根據(jù)犯人短信建立專用詞典,對監(jiān)獄短信有很強(qiáng)的針對性;對于不同的監(jiān)獄規(guī)定使用不通過的審核方法,多方式的使用及增量學(xué)習(xí)的加入,提高了了審核的適應(yīng)性;利用多分類的方式進(jìn)行審核,降低了正負(fù)樣本比例差距過大造成的負(fù)面影響;
2.本發(fā)明所述基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,通過樸素貝葉斯多分類間接審核短信,避免了使用機(jī)器學(xué)習(xí)直接將短信分為通過與不通過兩類,而是先進(jìn)行多分類,對于違反監(jiān)獄規(guī)定的類型進(jìn)行攔截,有效解決了正負(fù)樣本比例差距大的問題,降低了噪聲的影響。
附圖說明
圖1為本發(fā)明所述基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法的流程圖;
圖2為本發(fā)明所述增量學(xué)習(xí)的方法流程圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例和說明書附圖對本發(fā)明做進(jìn)一步說明,但不限于此。
實(shí)施例1
如圖1所示。
一種基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,包括步驟如下:
1)對短信內(nèi)容進(jìn)行預(yù)處理;
對短信內(nèi)容進(jìn)行中文分詞;中文分詞使用的方法為基于字符串匹配的分詞方法。
2)利用短信審核規(guī)則對短信內(nèi)容進(jìn)行初步審核;所述短信審核規(guī)則包括:
2.1)重復(fù)短信:對同一監(jiān)獄犯人在兩天內(nèi)發(fā)送或接收的內(nèi)容重復(fù)的短信進(jìn)行攔截;
2.2)無內(nèi)容短信:對無短信內(nèi)容的短信進(jìn)行攔截;
2.3)外文限制:對包含外文的短信進(jìn)行攔截;
2.4)數(shù)字限制:對于短信內(nèi)數(shù)字?jǐn)?shù)量過大的短信進(jìn)行攔截;
2.5)錢財(cái)限制:對于涉及錢財(cái)數(shù)目過大的短信進(jìn)行攔截;涉及錢財(cái)數(shù)目過大的判斷方法為:a、利用正則表達(dá)式判斷短信內(nèi)涉及的錢財(cái)數(shù)目是否超過規(guī)定;規(guī)定錢財(cái)數(shù)量不得超過一千元,正則表達(dá)式包括@"\d{4}千元"、@"\d萬元"。b、判斷中文分詞后得到的詞組是否包含有關(guān)錢財(cái)?shù)淖盅?;所述短信審核?guī)則根據(jù)監(jiān)獄犯人收發(fā)短信的相關(guān)規(guī)定編寫。
3)利用ngram判斷短信是否通順;
3.1)設(shè)短信s由詞w1,w2,...,wn順序排列組成,則短信s出現(xiàn)的概率
p(s)=p(w1w2…wn)=p(w1)p(w2|w1)...p(wn|w1w2…wn-1)(2.1);
式(2.1)中越往后的詞的可能性越多,概率無法計(jì)算,假設(shè)每個(gè)詞出現(xiàn)的概率只與前一個(gè)詞有關(guān),將問題進(jìn)行簡化;
3.2)簡化式(2.1)得:p(s)=p(w1)p(w2|w1)...p(wn|wn-1)(2.2);
3.3)計(jì)算p(wi|wi-1),
其中,#(wi-1,wi)為語料庫中wi-1和wi前后相鄰出現(xiàn)的次數(shù),#(wi-1)為語料庫中wi單獨(dú)出現(xiàn)的次數(shù);所述的語料庫是指由監(jiān)獄提供的被監(jiān)獄審核通過的短信組成的語料庫;
3.4)將p(wi|wi-1)與閾值p對比,當(dāng)p(wi|wi-1)≥p時(shí),進(jìn)入步驟4),否則,攔截短信;p=10^(-6.5l),其中,l為短信長度;
判斷一個(gè)句子是否合理,是否通順,可以通過計(jì)算其出現(xiàn)的概率來判斷;ngram模型就是依據(jù)上述方法來判斷語句的生成概率的,我們用訓(xùn)練好的ngram來計(jì)算短信的生成概率,當(dāng)概率小于閾值時(shí),判定短信是不合理的,或者是不通順的,對相應(yīng)的短信進(jìn)行攔截。
4)利用樸素貝葉斯模型對短信內(nèi)容進(jìn)行分類;
采用樸素貝葉斯分類的方式對短信內(nèi)容進(jìn)行審核;樸素貝葉斯并不直接判斷短信是否通過,而是先對短信進(jìn)行多分類,判斷該短信內(nèi)容所涉及的主題,如關(guān)心家人、索要物品、聊家常、抱怨或吵架等。一條短信可能有多個(gè)主題,若其中的某個(gè)主題違反監(jiān)獄規(guī)定,則判為不通過,如此可大大減少正負(fù)樣本數(shù)量差距過大造成的影響;
首先,對監(jiān)獄提供的所有短信進(jìn)行主題標(biāo)簽的人工標(biāo)定,短信和與短信對應(yīng)的主題標(biāo)簽共同構(gòu)成樸素貝葉斯模型的先驗(yàn)樣本m0;根據(jù)先驗(yàn)樣本m0建立關(guān)鍵詞典,對先驗(yàn)樣本m0的所有短信進(jìn)行中文分詞后,將分得的詞組按不同的主題存儲(chǔ)在關(guān)鍵詞典中;關(guān)鍵詞典涵蓋監(jiān)獄犯人短信內(nèi)容涉及的各個(gè)方面和監(jiān)獄規(guī)定的所有方面(規(guī)則中已含的除外)。
計(jì)算關(guān)鍵詞典中的詞w為主題i的概率為pi(w),
pi(s)=1-(1-pi(w1))(1-pi(w2))...(1-pi(wn))+pi(w1)pi(w2)...pi(wn)(3.1)
則新的短信s不通過的概率為:
p(s)=σpi(s),i為禁止通過主題;(3.2)
當(dāng)p(s)大于閾值w時(shí),攔截該短信。
實(shí)施例2
如實(shí)施例1所述的基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,所不同的是,閾值w以最大化f1值的方法確定,w=0.32。
實(shí)施例3
如實(shí)施例1所述的基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,所不同的是,所述基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,還包括增量學(xué)習(xí)的步驟;
當(dāng)新的樣本加入時(shí),原來的后驗(yàn)概率就成為先驗(yàn)概率,貝葉斯學(xué)習(xí)是利用新樣本信息來修正老信息的連續(xù)動(dòng)態(tài)過程,如圖2所示。當(dāng)后驗(yàn)信息與先驗(yàn)信息同分布時(shí),可以利用后驗(yàn)信息作為進(jìn)一步審核的先驗(yàn)信息。
設(shè)pi(w|i0)為關(guān)鍵詞w所在短信為主題i的先驗(yàn)概率密度,其中i0為先驗(yàn)信息,即先驗(yàn)樣本m0所含的信息,當(dāng)新的短信s加入時(shí),新的短信s所含信息為新增信息q,對應(yīng)的后驗(yàn)概率密度為:
式(3.2)全面權(quán)衡了先驗(yàn)信息i0和新增信息q,即:
后驗(yàn)信息i1=先驗(yàn)信息i0+新增信息q;
將新的短信s及與其對應(yīng)的主題標(biāo)簽加入先驗(yàn)樣本m0中構(gòu)成樣本m1,m1即為樸素貝葉斯模型新的先驗(yàn)樣本。
實(shí)施例4
如實(shí)施例1所述的基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,所不同的是,所述步驟2.4)中判斷數(shù)字?jǐn)?shù)量過大的標(biāo)準(zhǔn)是,短信中數(shù)字的數(shù)量超過7個(gè)。
實(shí)施例5
如實(shí)施例1所述的基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,所不同的是,對短信內(nèi)容進(jìn)行中文分詞的步驟之前還包括去噪的步驟;對訓(xùn)練樣本進(jìn)行人工篩選;根據(jù)監(jiān)獄相關(guān)規(guī)定,將訓(xùn)練樣本中明顯審核錯(cuò)誤的短信的主題標(biāo)簽進(jìn)行更改,人工重新判定短信是否攔截。由于監(jiān)獄短信樣本存在正負(fù)樣本比例差距大、噪聲大,樣本中錯(cuò)誤的數(shù)據(jù)多的問題,去噪成為必不可少的步驟。
實(shí)施例6
如實(shí)施例1所述的基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,所不同的是,對短信內(nèi)容進(jìn)行中文分詞之后,還包括更新停用詞表并添加用戶詞典的步驟。根據(jù)中文分詞結(jié)果及監(jiān)獄規(guī)定,更新停用詞表并添加用戶詞典(其中,“停用詞表”和“用戶詞典”是中文分詞方法中的常規(guī)概念),以此來減少無用的詞匯和增加有意義的詞匯,使用優(yōu)化后的分詞軟件對短信進(jìn)行分詞,分詞結(jié)果更優(yōu)。
實(shí)施例7
如實(shí)施例1所述的基于規(guī)則與詞典的監(jiān)獄犯人短信自動(dòng)審核方法,所不同的是,所述步驟2.5)中關(guān)錢財(cái)?shù)淖盅郯?,“元”、“美元”、“英鎊”、“人民幣”、“匯款”。