本發(fā)明涉及短信管理技術(shù)領(lǐng)域,特別涉及一種短信類型判別方法、系統(tǒng)及短信管理平臺(tái)。
背景技術(shù):
當(dāng)前,隨著垃圾短信騷擾愈演愈烈,各大電信業(yè)務(wù)供應(yīng)商和增值業(yè)務(wù)服務(wù)商都相繼推出了反垃圾短信的技術(shù)。然而,由于技術(shù)的原因,垃圾短信漏查和正常短信錯(cuò)查的問(wèn)題同樣突出,特別是后者,正常短信不能夠準(zhǔn)確及時(shí)到達(dá)終端用戶。其原因是:反垃圾短信技術(shù)不能實(shí)現(xiàn)100%準(zhǔn)確和100%查全率,造成部分垃圾短信未能檢測(cè)出來(lái),也造成部分正常短信被誤測(cè)為垃圾短信。而后者將對(duì)用戶造成直接傷害。
綜上所述可以看出,如何降低正常短信被誤判的事件發(fā)生率是目前還有待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種短信類型判別方法、系統(tǒng)及短信管理平臺(tái),能夠降低正常短信被誤判的事件發(fā)生率。其具體方案如下:
一種短信類型判別方法,包括:
獲取待檢測(cè)短信;
判斷所述待檢測(cè)短信是否與預(yù)先創(chuàng)建的白模版集中的任一白模版相匹配;其中,所述白模版集中的每一白模版均為對(duì)容易被誤判短信類型的歷史正常短信進(jìn)行固定語(yǔ)句提取后得到的模版;
若判定出所述待檢測(cè)短信與所述白模版集中的任一白模版相匹配,則確定所述待檢測(cè)短信的短信類型為正常短信;
若判定出所述待檢測(cè)短信與所述白模版集中的任一白模版均不匹配,則利用預(yù)先獲取的垃圾短信集判斷所述待檢測(cè)短信的短信類型是否為垃圾短信。
可選的,所述白模版集的創(chuàng)建過(guò)程,具體包括:
獲取用戶上傳的容易被誤判短信類型的歷史正常短信,得到相應(yīng)的正常短信集;
分別從所述正常短信集中的每一正常短信中提取能反映出該正常短信的短信特征的固定語(yǔ)句,得到所述白模版集;其中,所述白模版集中的每個(gè)白模版與所述正常短信集中的每一正常短信分別一一對(duì)應(yīng),并且每個(gè)白模版中均包括至少一句固定語(yǔ)句。
可選的,所述獲取用戶上傳的容易被誤判短信類型的歷史正常短信的過(guò)程,包括:
獲取管理員用戶和/或普通用戶上傳的容易被誤判短信類型的歷史正常短信。
可選的,所述判斷所述待檢測(cè)短信是否與預(yù)先創(chuàng)建的白模版集中的任一白模版相匹配的過(guò)程,包括:
利用所述待檢測(cè)短信,對(duì)預(yù)先創(chuàng)建的與所述白模版集對(duì)應(yīng)的哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)按照由高層至低層的順序進(jìn)行逐字檢索,得到與所述待檢測(cè)短信對(duì)應(yīng)的固定語(yǔ)句集;
利用所述固定語(yǔ)句集,對(duì)所述白模版集展開篩選操作,以試圖從所述白模版集中篩選出與所述固定語(yǔ)句集完全匹配的目標(biāo)白模版;其中,目標(biāo)白模版為所述白模版集中包含所述固定語(yǔ)句集的所有固定語(yǔ)句的一個(gè)白模版;
若從所述白模版集中篩選到目標(biāo)白模版,則判定所述待檢測(cè)短信與該目標(biāo)白模版相匹配;
若從所述白模版集中未能篩選到目標(biāo)白模版,則判定所述待檢測(cè)短信與所述白模版集中的任一白模版均不匹配。
可選的,所述哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)的創(chuàng)建過(guò)程,包括:
為所述白模版集的每個(gè)白模版中的每句固定語(yǔ)句均創(chuàng)建相應(yīng)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),得到與所述白模版集中的所有固定語(yǔ)句對(duì)應(yīng)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)集合;其中,任一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的任一存儲(chǔ)單元用來(lái)存儲(chǔ)相應(yīng)固定語(yǔ)句中的一個(gè)漢字;
對(duì)所述鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)集合中的所有鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)進(jìn)行結(jié)構(gòu)排序,得到所述哈希表森林結(jié)構(gòu);其中,每一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的第一個(gè)漢字均位于所述哈希表森林結(jié)構(gòu)的最高層,每一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的其余漢字均依序分布在所述哈希表森林結(jié)構(gòu)的其余層。
可選的,所述利用預(yù)先獲取的垃圾短信集判斷所述待檢測(cè)短信的短信類型是否為垃圾短信的過(guò)程,包括:
分別從所述垃圾短信集中的每一垃圾短信中提取能反映出該垃圾短信的短信特征的固定語(yǔ)句,得到相應(yīng)的黑模版集;其中,所述黑模版集中的每個(gè)黑模版與所述垃圾短信集中的每一垃圾短信分別一一對(duì)應(yīng),并且每個(gè)黑模版中均包括至少一句固定語(yǔ)句;
判斷所述待檢測(cè)短信是否與所述黑模版集中的任一黑模版相匹配,如果是,則確定所述待檢測(cè)短信的短信類型為垃圾短信,如果否,則確定所述待檢測(cè)短信的短信類型為正常短信。
本發(fā)明還公開了一種短信類型判別系統(tǒng),包括:
第一獲取模塊,用于獲取待檢測(cè)短信;
白模版集創(chuàng)建模塊,用于預(yù)先創(chuàng)建白模版集;其中,所述白模版集中的每一白模版均為對(duì)容易被誤判短信類型的歷史正常短信進(jìn)行固定語(yǔ)句提取后得到的模版;
第一判斷模塊,用于判斷所述待檢測(cè)短信是否與所述白模版集中的任一白模版相匹配;
第一確定模塊,用于當(dāng)所述第一判斷模塊判定出所述待檢測(cè)短信與所述白模版集中的任一白模版相匹配,則確定所述待檢測(cè)短信的短信類型為正常短信;
第二獲取模塊,用于預(yù)先獲取垃圾短信集;
第二判斷模塊,用于當(dāng)所述第一判斷模塊判定出所述待檢測(cè)短信與所述白模版集中的任一白模版均不匹配,則利用所述垃圾短信集判斷所述待檢測(cè)短信的短信類型是否為垃圾短信。
可選的,所述白模版集創(chuàng)建模塊,包括:
歷史正常短信獲取單元,用于獲取用戶上傳的容易被誤判短信類型的歷史正常短信,得到相應(yīng)的正常短信集;
固定語(yǔ)句提取單元,用于分別從所述正常短信集中的每一正常短信中提取能反映出該正常短信的短信特征的固定語(yǔ)句,得到所述白模版集;其中,所述白模版集中的每個(gè)白模版與所述正常短信集中的每一正常短信分別一一對(duì)應(yīng),并且每個(gè)白模版中均包括至少一句固定語(yǔ)句。
可選的,所述第一判斷模塊,包括:
結(jié)構(gòu)創(chuàng)建子模塊,用于預(yù)先創(chuàng)建與所述白模版集對(duì)應(yīng)的哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu);
檢索子模塊,用于利用所述待檢測(cè)短信,對(duì)所述哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)按照由高層至低層的順序進(jìn)行逐字檢索,得到與所述待檢測(cè)短信對(duì)應(yīng)的固定語(yǔ)句集;
篩選子模塊,用于利用所述固定語(yǔ)句集,對(duì)所述白模版集展開篩選操作,以試圖從所述白模版集中篩選出與所述固定語(yǔ)句集完全匹配的目標(biāo)白模版;其中,目標(biāo)白模版為所述白模版集中包含所述固定語(yǔ)句集的所有固定語(yǔ)句的一個(gè)白模版;
第一判定子模塊,用于當(dāng)所述篩選子模塊從所述白模版集中篩選到目標(biāo)白模版,則判定所述待檢測(cè)短信與該目標(biāo)白模版相匹配;
第二判定子模塊,用于當(dāng)所述篩選子模塊從所述白模版集中未能篩選到目標(biāo)白模版,則判定所述待檢測(cè)短信與所述白模版集中的任一白模版均不匹配。
可選的,所述結(jié)構(gòu)創(chuàng)建子模塊,包括:
結(jié)構(gòu)創(chuàng)建單元,用于為所述白模版集的每個(gè)白模版中的每句固定語(yǔ)句均創(chuàng)建相應(yīng)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),得到與所述白模版集中的所有固定語(yǔ)句對(duì)應(yīng)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)集合;其中,任一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的任一存儲(chǔ)單元用來(lái)存儲(chǔ)相應(yīng)固定語(yǔ)句中的一個(gè)漢字;
結(jié)構(gòu)排序單元,用于對(duì)所述鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)集合中的所有鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)進(jìn)行結(jié)構(gòu)排序,得到所述哈希表森林結(jié)構(gòu);其中,每一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的第一個(gè)漢字均位于所述哈希表森林結(jié)構(gòu)的最高層,每一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的其余漢字均依序分布在所述哈希表森林結(jié)構(gòu)的其余層。
本發(fā)明進(jìn)一步公開了一種短信管理平臺(tái),包括前述公開的短信類型判別系統(tǒng)。
本發(fā)明中,短信類型判別方法,包括:獲取待檢測(cè)短信;判斷待檢測(cè)短信是否與預(yù)先創(chuàng)建的白模版集中的任一白模版相匹配;其中,白模版集中的每一白模版均為對(duì)容易被誤判短信類型的歷史正常短信進(jìn)行固定語(yǔ)句提取后得到的模版;若判定出待檢測(cè)短信與白模版集中的任一白模版相匹配,則確定待檢測(cè)短信的短信類型為正常短信;若判定出待檢測(cè)短信與白模版集中的任一白模版均不匹配,則利用預(yù)先獲取的垃圾短信集判斷待檢測(cè)短信的短信類型是否為垃圾短信。
可見,本發(fā)明預(yù)先利用容易被誤判短信類型的歷史正常短信,創(chuàng)建出相應(yīng)的白模版集,在獲取到待檢測(cè)短信之后,將會(huì)判斷待檢測(cè)短信是否與上述白模版集中的任一白模版相匹配,如果是,則判定上述待檢測(cè)短信的短信類型為正常類型,如果否,則會(huì)利用預(yù)先獲取的垃圾短信集來(lái)判斷上述待檢測(cè)短信的短信類型是否為垃圾短信,從而降低了正常短信被誤判的事件發(fā)生率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開的一種短信類型判別方法流程圖;
圖2為本發(fā)明實(shí)施例公開的一種具體的短信類型判別方法流程圖;
圖3為本發(fā)明實(shí)施例公開的一種具體的哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)圖;
圖4為本發(fā)明實(shí)施例公開的一種具體的固定語(yǔ)句匹配結(jié)果示意圖;
圖5為本發(fā)明實(shí)施例公開的一種短信類型判別系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種短信類型判別方法,參見圖1所示,該方法包括:
步驟S11:獲取待檢測(cè)短信。
步驟S12:判斷待檢測(cè)短信是否與預(yù)先創(chuàng)建的白模版集中的任一白模版相匹配;其中,白模版集中的每一白模版均為對(duì)容易被誤判短信類型的歷史正常短信進(jìn)行固定語(yǔ)句提取后得到的模版。
可以理解的是,白模版集中的一個(gè)白模版對(duì)應(yīng)于唯一的一條歷史正常短信。另外,本實(shí)施例中所謂的正常短信是指不會(huì)被用戶當(dāng)作垃圾短信的短信,包括與其他通信用戶之間的正常來(lái)往短信、各種合法平臺(tái)的驗(yàn)證短信等。
步驟S13:若判定出待檢測(cè)短信與白模版集中的任一白模版相匹配,則確定待檢測(cè)短信的短信類型為正常短信。
步驟S14:若判定出待檢測(cè)短信與白模版集中的任一白模版均不匹配,則利用預(yù)先獲取的垃圾短信集判斷待檢測(cè)短信的短信類型是否為垃圾短信。
可見,本發(fā)明實(shí)施例預(yù)先利用容易被誤判短信類型的歷史正常短信,創(chuàng)建出相應(yīng)的白模版集,在獲取到待檢測(cè)短信之后,將會(huì)判斷待檢測(cè)短信是否與上述白模版集中的任一白模版相匹配,如果是,則判定上述待檢測(cè)短信的短信類型為正常類型,如果否,則會(huì)利用預(yù)先獲取的垃圾短信集來(lái)判斷上述待檢測(cè)短信的短信類型是否為垃圾短信,從而降低了正常短信被誤判的事件發(fā)生率。
參見圖2所示,本發(fā)明實(shí)施例公開了一種具體的短信類型判別方法,包括如下步驟:
步驟S21:獲取待檢測(cè)短信。
步驟S22:利用待檢測(cè)短信,對(duì)預(yù)先創(chuàng)建的與白模版集對(duì)應(yīng)的哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)按照由高層至低層的順序進(jìn)行逐字檢索,得到與待檢測(cè)短信對(duì)應(yīng)的固定語(yǔ)句集。
本實(shí)施例中,上述白模版集的創(chuàng)建過(guò)程,具體包括:
獲取用戶上傳的容易被誤判短信類型的歷史正常短信,得到相應(yīng)的正常短信集,然后分別從正常短信集中的每一正常短信中提取能反映出該正常短信的短信特征的固定語(yǔ)句,得到白模版集;其中,白模版集中的每個(gè)白模版與正常短信集中的每一正常短信分別一一對(duì)應(yīng),并且每個(gè)白模版中均包括至少一句固定語(yǔ)句。
例如,下面公開一個(gè)具體的白模版,“${4,10}您好!您的驗(yàn)證碼為${1,30},如有操作疑問(wèn),請(qǐng)聯(lián)系${1,30},電話${1,30}”。其中,${4,10}符號(hào)代表白模版中的可變部分,稱之為變量,其長(zhǎng)度允許的可變范圍為4和10之間,其他部分為固定語(yǔ)句,可見,本實(shí)施例中,短信需要按照固定語(yǔ)句的先后順序來(lái)進(jìn)行構(gòu)造,并且包含固定語(yǔ)句的文字。上述兩個(gè)條件同時(shí)滿足的短信,將被判定為正常短信。
另外,上述獲取用戶上傳的容易被誤判短信類型的歷史正常短信的過(guò)程,具體可以包括:獲取管理員用戶和/或普通用戶上傳的容易被誤判短信類型的歷史正常短信。
其次,上述哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)的創(chuàng)建過(guò)程,具體包括:
為白模版集的每個(gè)白模版中的每句固定語(yǔ)句均創(chuàng)建相應(yīng)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),得到與白模版集中的所有固定語(yǔ)句對(duì)應(yīng)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)集合;其中,任一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的任一存儲(chǔ)單元用來(lái)存儲(chǔ)相應(yīng)固定語(yǔ)句中的一個(gè)漢字;然后對(duì)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)集合中的所有鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)進(jìn)行結(jié)構(gòu)排序,得到哈希表森林結(jié)構(gòu);其中,每一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的第一個(gè)漢字均位于哈希表森林結(jié)構(gòu)的最高層,每一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的其余漢字均依序分布在哈希表森林結(jié)構(gòu)的其余層。另外,本發(fā)明實(shí)施例還可以把上述哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)的同一層上相同的字合并成一個(gè)節(jié)點(diǎn)。圖3示出了本實(shí)施例中公開的一種具體的哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)圖,同一層上相同的字被合并成了一個(gè)節(jié)點(diǎn),有利于提高檢索速度。
步驟S23:利用固定語(yǔ)句集,對(duì)白模版集展開篩選操作,以試圖從白模版集中篩選出與固定語(yǔ)句集完全匹配的目標(biāo)白模版;其中,目標(biāo)白模版為白模版集中包含固定語(yǔ)句集的所有固定語(yǔ)句的一個(gè)白模版。
步驟S24:若從白模版集中篩選到目標(biāo)白模版,則判定待檢測(cè)短信與該目標(biāo)白模版相匹配。
步驟S25:若從白模版集中未能篩選到目標(biāo)白模版,則判定待檢測(cè)短信與白模版集中的任一白模版均不匹配。
步驟S26:若判定出待檢測(cè)短信與白模版集中的任一白模版相匹配,則確定待檢測(cè)短信的短信類型為正常短信。
步驟S27:若判定出待檢測(cè)短信與白模版集中的任一白模版均不匹配,則分別從垃圾短信集中的每一垃圾短信中提取能反映出該垃圾短信的短信特征的固定語(yǔ)句,得到相應(yīng)的黑模版集;其中,黑模版集中的每個(gè)黑模版與垃圾短信集中的每一垃圾短信分別一一對(duì)應(yīng),并且每個(gè)黑模版中均包括至少一句固定語(yǔ)句。
步驟S28:判斷待檢測(cè)短信是否與黑模版集中的任一黑模版相匹配,如果是,則確定待檢測(cè)短信的短信類型為垃圾短信,如果否,則確定待檢測(cè)短信的短信類型為正常短信。
在上一實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例公開了一種具體的短信類型判別方法,主要對(duì)上一實(shí)施例中的某些步驟進(jìn)行了具體細(xì)化說(shuō)明。
上一實(shí)施例步驟S22中,利用待檢測(cè)短信,對(duì)預(yù)先創(chuàng)建的與白模版集對(duì)應(yīng)的哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)按照由高層至低層的順序進(jìn)行逐字檢索,得到與待檢測(cè)短信對(duì)應(yīng)的固定語(yǔ)句集的過(guò)程,具體可以包括如下步驟S221至S228:
S221:從待檢測(cè)短信第一個(gè)字開始,逐字分析。
S222:判斷該字是否在哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)的第一層出現(xiàn),如果否,則轉(zhuǎn)S228。
S223:進(jìn)入首層匹配到的字的下一層,判斷待檢測(cè)短信中從該字起第二字是否在第二層出現(xiàn),如果否,則轉(zhuǎn)S228。
S224:進(jìn)入第二層匹配到的字的下一層,判斷待檢測(cè)短信中從該字起第三字是否在第三層出現(xiàn),如果否,則轉(zhuǎn)S228。
S225:以此類推(假設(shè)共判斷了i次,底層也是第i層)。
S226:到達(dá)底層,判斷短信中從該字起第i字是否在底層出現(xiàn),如果否,則轉(zhuǎn)S228。
S227:若底層也匹配到,則得出結(jié)論:待檢測(cè)短信中出現(xiàn)了,從第1層到第i層,分別匹配到的字所組成的固定語(yǔ)句。
S228:判斷是否已經(jīng)處理到短信最后一個(gè)字,如果是則結(jié)束,如果否則開始處理下一個(gè)字,并轉(zhuǎn)到S222。
進(jìn)一步的,上一實(shí)施例步驟S23中,利用固定語(yǔ)句集對(duì)白模版集展開篩選操作的過(guò)程,具體包括固定語(yǔ)句匹配過(guò)程以及根據(jù)固定語(yǔ)句匹配結(jié)果來(lái)確定目標(biāo)白模版的過(guò)程。
例如,假設(shè)待檢測(cè)短信中包含三句固定語(yǔ)句,則本實(shí)施例中,上述固定語(yǔ)句匹配過(guò)程具體包括:每當(dāng)匹配到一句固定語(yǔ)句時(shí),就把該固定語(yǔ)句所對(duì)應(yīng)的代碼為置“0”,表示該固定語(yǔ)句被匹配到。另外,代碼的數(shù)位體現(xiàn)出有序,當(dāng)?shù)谝痪涔潭ㄕZ(yǔ)句被匹配時(shí),代碼為“011”;當(dāng)?shù)诙涔潭ㄕZ(yǔ)句被匹配時(shí),代碼為“001”;當(dāng)最后一句固定語(yǔ)句被匹配是,代碼為“000”。圖4示出了一種具體的固定語(yǔ)句匹配結(jié)果示意圖。固定語(yǔ)句“您好!您的驗(yàn)證碼為”、“如有操作疑問(wèn),請(qǐng)聯(lián)系”以及“電話”分別與白模版“${4,10}您好!您的驗(yàn)證碼為${1,30},如有操作疑問(wèn),請(qǐng)聯(lián)系${1,30},電話${1,30}”相匹配,所以將上述三句固定語(yǔ)句所對(duì)應(yīng)的代碼均設(shè)置為0。
由于不同的白模版之間可能會(huì)存在重復(fù)的固定語(yǔ)句,因此上述固定語(yǔ)句匹配結(jié)果中所匹配的固定語(yǔ)句可能對(duì)應(yīng)于多個(gè)白模版,本實(shí)施例中,對(duì)于每一條白模版,如第r個(gè)白模版,均執(zhí)行如下步驟:
S231:假設(shè)某個(gè)固定語(yǔ)句對(duì)應(yīng)的白模版中包括第r個(gè)白模版,且該固定語(yǔ)句為第r個(gè)白模版的第p個(gè)固定語(yǔ)句。
S232:判斷第p個(gè)固定語(yǔ)句之前的固定語(yǔ)句是否都被匹配,方法是:判斷規(guī)則第r個(gè)白模版對(duì)應(yīng)的代碼的左起至第p-1位是否全為0。如果否,則說(shuō)明雖然匹配到的固定語(yǔ)句,但由于前面的固定語(yǔ)句尚不匹配,不符合“按順序逐個(gè)匹配的原則”,只能放棄。此時(shí),轉(zhuǎn)S235。
S233:如果S232的判斷為是,則判斷第r個(gè)白模版的第p個(gè)固定語(yǔ)句是否為第r個(gè)白模版最后的固定語(yǔ)句,如果是,說(shuō)明所有固定語(yǔ)句已經(jīng)匹配。此時(shí),待測(cè)短信與第r個(gè)白模版完全匹配,算法返回第r個(gè)白模版的ID,并終止。
S234:如果S232的判斷為否,則設(shè)置第r個(gè)白模版對(duì)應(yīng)的代碼的第p位為“0”。記錄該固定語(yǔ)句已經(jīng)匹配。
S235:如果匹配到的固定語(yǔ)句對(duì)應(yīng)的白模版還沒(méi)有分析完,則開始分析該固定語(yǔ)句對(duì)應(yīng)的其他白模版。
可見,本發(fā)明實(shí)施例通過(guò)有效的數(shù)據(jù)結(jié)構(gòu),并巧妙地使用代碼來(lái)代表邏輯關(guān)系的“并且”和“有序”,使得在算法過(guò)程中避免了處理復(fù)雜邏輯關(guān)系,時(shí)間復(fù)雜度僅為常數(shù)。
相應(yīng)的,本發(fā)明實(shí)施例還公開了一種短信類型判別系統(tǒng),參見圖5所示,該系統(tǒng)包括:
第一獲取模塊11,用于獲取待檢測(cè)短信;
白模版集創(chuàng)建模塊12,用于預(yù)先創(chuàng)建白模版集;其中,白模版集中的每一白模版均為對(duì)容易被誤判短信類型的歷史正常短信進(jìn)行固定語(yǔ)句提取后得到的模版;
第一判斷模塊13,用于判斷待檢測(cè)短信是否與白模版集中的任一白模版相匹配;
第一確定模塊14,用于當(dāng)?shù)谝慌袛嗄K13判定出待檢測(cè)短信與白模版集中的任一白模版相匹配,則確定待檢測(cè)短信的短信類型為正常短信;
第二獲取模塊15,用于預(yù)先獲取垃圾短信集;
第二判斷模塊16,用于當(dāng)?shù)谝慌袛嗄K13判定出待檢測(cè)短信與白模版集中的任一白模版均不匹配,則利用垃圾短信集判斷待檢測(cè)短信的短信類型是否為垃圾短信。
可見,本發(fā)明實(shí)施例預(yù)先利用容易被誤判短信類型的歷史正常短信,創(chuàng)建出相應(yīng)的白模版集,在獲取到待檢測(cè)短信之后,將會(huì)判斷待檢測(cè)短信是否與上述白模版集中的任一白模版相匹配,如果是,則判定上述待檢測(cè)短信的短信類型為正常類型,如果否,則會(huì)利用預(yù)先獲取的垃圾短信集來(lái)判斷上述待檢測(cè)短信的短信類型是否為垃圾短信,從而降低了正常短信被誤判的事件發(fā)生率。
具體的,上述白模版集創(chuàng)建模塊,可以包括歷史正常短信獲取單元和固定語(yǔ)句提取單元;其中,
歷史正常短信獲取單元,用于獲取用戶上傳的容易被誤判短信類型的歷史正常短信,得到相應(yīng)的正常短信集;
固定語(yǔ)句提取單元,用于分別從正常短信集中的每一正常短信中提取能反映出該正常短信的短信特征的固定語(yǔ)句,得到白模版集;其中,白模版集中的每個(gè)白模版與正常短信集中的每一正常短信分別一一對(duì)應(yīng),并且每個(gè)白模版中均包括至少一句固定語(yǔ)句。
另外,上述第一判斷模塊,包括結(jié)構(gòu)創(chuàng)建子模塊、檢索子模塊、篩選子模塊、第一判定子模塊和第二判定子模塊;其中,
結(jié)構(gòu)創(chuàng)建子模塊,用于預(yù)先創(chuàng)建與白模版集對(duì)應(yīng)的哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu);
檢索子模塊,用于利用待檢測(cè)短信,對(duì)哈希表森林?jǐn)?shù)據(jù)結(jié)構(gòu)按照由高層至低層的順序進(jìn)行逐字檢索,得到與待檢測(cè)短信對(duì)應(yīng)的固定語(yǔ)句集;
篩選子模塊,用于利用固定語(yǔ)句集,對(duì)白模版集展開篩選操作,以試圖從白模版集中篩選出與固定語(yǔ)句集完全匹配的目標(biāo)白模版;其中,目標(biāo)白模版為白模版集中包含固定語(yǔ)句集的所有固定語(yǔ)句的一個(gè)白模版;
第一判定子模塊,用于當(dāng)篩選子模塊從白模版集中篩選到目標(biāo)白模版,則判定待檢測(cè)短信與該目標(biāo)白模版相匹配;
第二判定子模塊,用于當(dāng)篩選子模塊從白模版集中未能篩選到目標(biāo)白模版,則判定待檢測(cè)短信與白模版集中的任一白模版均不匹配。
其中,上述結(jié)構(gòu)創(chuàng)建子模塊,包括結(jié)構(gòu)創(chuàng)建單元和結(jié)構(gòu)排序單元;其中,
結(jié)構(gòu)創(chuàng)建單元,用于為白模版集的每個(gè)白模版中的每句固定語(yǔ)句均創(chuàng)建相應(yīng)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),得到與白模版集中的所有固定語(yǔ)句對(duì)應(yīng)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)集合;其中,任一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的任一存儲(chǔ)單元用來(lái)存儲(chǔ)相應(yīng)固定語(yǔ)句中的一個(gè)漢字;
結(jié)構(gòu)排序單元,用于對(duì)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)集合中的所有鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)進(jìn)行結(jié)構(gòu)排序,得到哈希表森林結(jié)構(gòu);其中,每一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的第一個(gè)漢字均位于哈希表森林結(jié)構(gòu)的最高層,每一鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的其余漢字均依序分布在哈希表森林結(jié)構(gòu)的其余層。
另外,本發(fā)明還公開了一種短信管理平臺(tái),包括如前述實(shí)施例公開的短信類型判別系統(tǒng)。關(guān)于該系統(tǒng)的具體構(gòu)造可以參考前述實(shí)施例中的相應(yīng)內(nèi)容,在此不再進(jìn)行贅述。
最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對(duì)本發(fā)明所提供的一種短信類型判別方法、系統(tǒng)及短信管理平臺(tái)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。