專利名稱:垃圾短信過濾方法
技術領域:
本發(fā)明涉及文本信息處理技術領域,特別涉及一種垃圾短信的過濾方法。
背景技術:
短信是人們經(jīng)常使用的信息交流方式之一,與此同時,垃圾短信也開始逐步泛濫。 統(tǒng)計顯示,在數(shù)量龐大的短信中,約30%屬于垃圾短信。對普通用戶而言,垃圾短信嚴重干 擾日常生活;對運營商而言,垃圾短信占據(jù)大量流量空間,降低信息傳送效率。垃圾短信的主要內(nèi)容包括廣告信息、色情信息、假中獎信息、欺詐信息和惡作劇 等,其中尤以色情信息和假中獎信息最為常見?,F(xiàn)有技術中,最常見的過濾方法包括1、基于敏感詞的垃圾短信過濾通過在服務器端布置敏感詞表并通過模式匹配的方法來過濾垃圾短信?;诿?感詞和串匹配的方法是最通用的垃圾短信過濾方法,該方法往往作為其它方法的預處理步 驟?;诿舾性~和串匹配的過濾方法的最大優(yōu)點在于執(zhí)行效率比較高,對輸入消息掃描一 遍即可。在線系統(tǒng)中常常使用。該方法的最大缺陷在于(1) “誤殺率”較高,無論是進行分詞或者不進行分詞,基于匹配的垃圾短信過濾都 會造成不小的“誤殺”。(2)不能靈活應對垃圾短信的變化。垃圾短信的發(fā)送者往往會不斷變化可能的敏 感詞形式,以期繞過敏感詞過濾機制。例如朱容基、朱溶劑、朱榕基、朱镕基等。通過敏感詞列舉的方式無法窮盡所有的敏感詞形式,這種方法永遠滯后于垃圾短 信的傳播。2、基于分類模型的垃圾短信過濾基于分類模型的垃圾短信過濾方法主要是基于內(nèi)容比較。通過把短信分割為獨立 的部分,并計算這些部分與分類之間的關系來判斷是否為垃圾短息。常見的分類一般包括 兩類正常短信和垃圾短信。一般,短信分割為字、詞或者短語。常見的分類模型包括樸素貝葉斯模型、向量空間模型、最大熵模型、支持向量機模 型等等。一般的分類模型都可以用來判斷是否為垃圾短息。通過引入分類模型,可以很大程度上避開敏感詞過濾的缺陷,可以從整體內(nèi)容上 判斷消息是否為垃圾短信。盡管基于分類模型可以從內(nèi)容上計算消息的可靠程度,但該方法存在自身的缺 陷(1)需要構建一定規(guī)模的訓練語料庫。主流的分類模型往往需要構建一定規(guī)模的訓練語料來得到分類用的參數(shù),一般情 況下,訓練語料庫規(guī)模越大,分類準確率越高。為了構建一定規(guī)模的訓練語料庫,需要花費 極大的代價,而且,訓練語料庫必須不斷更新,否則難以跟上垃圾短信息變化的步伐。(2)垃圾短信過濾效率較低,不適合實時性較高的場合。
基于分類模型的過濾效率較低的原因在于計算復雜度較高。在上述諸種分類模型 中,除了貝葉斯模型外,其它模型的參數(shù)規(guī)模均比較大,而且計算復雜度比較高。在對效率 要求很高的垃圾短信過濾上面,基于分類模型的方法并不適合。3、基于行為模式的垃圾短信過濾與基于內(nèi)容的垃圾過濾思路不同,基于社會網(wǎng)絡的垃圾短信過濾方法側(cè)重利用短 信發(fā)送模式和接收模式來進行短信過濾。垃圾短信的發(fā)送往往在陌生人之間進行,即發(fā)送方和接收方過去沒有在語音上建 立過聯(lián)系,相互之間幾乎沒有通信記錄。普通用戶在接收到垃圾短信后,往往不會回復消息,即垃圾短信的接收往往不會 有回復。通過垃圾短信的發(fā)送和接收方式的特點可以發(fā)現(xiàn)絕大多數(shù)垃圾短信。該方法的缺 陷表現(xiàn)在(1)社會網(wǎng)絡規(guī)模太大,建模比較困難,且存儲和計算復雜度均較大。(2)并非陌生人短信都是垃圾短信,也并非所有不回復的短信息都是垃圾短信。4、基于客戶端描述的垃圾短信過濾與服務器端的短信過濾不同,可以預先在客戶端部署過濾模塊。在客戶端部署的 垃圾短息過濾模塊往往利用用戶的通訊簿和其它特征來過濾垃圾消息。這種方法不僅加重 了客戶端的計算壓力,而且極容易過濾陌生人的消息。綜上所述,現(xiàn)有技術中的垃圾短信過濾方法,要么只基于垃圾短信的內(nèi)容進行過 濾,要么只基于垃圾短信的傳播方式進行過濾,不能有效地識別并過濾垃圾短信。
發(fā)明內(nèi)容
(一)要解決的技術問題本發(fā)明要解決的技術問題是如何提供一種垃圾短信過濾方法,在對垃圾短信進 行過濾時既考慮垃圾短信的內(nèi)容又考慮垃圾短信的傳播方式,從而能夠?qū)崟r高效地識別并 過濾垃圾短信。(二)技術方案為解決上述技術問題,本發(fā)明提供了一種垃圾短信過濾方法,該方法包括步驟10、刪除短信中與短信內(nèi)容無關的字詞;步驟20、計算刪除與短信內(nèi)容無關的字詞后的短信的文件指紋;步驟30、如果刪除與短信內(nèi)容無關的字詞后的短信的文件指紋的個數(shù)超過了第一 預設閾值,則判定該短信為垃圾短信。優(yōu)選地,所述步驟10和步驟20之間,該方法進一步包括步驟11、對短信進行漢語分詞;步驟12、刪除分詞后的短信中與短信內(nèi)容無關的字詞。優(yōu)選地,所述步驟11具體包括步驟101、對短信進行最大匹配粗切分,如果遇到歧義,則進行步驟102 ;步驟102、對短信進行歧義和未登錄詞識別。優(yōu)選地,所述步驟12具體包括刪除分詞后的短信中權重低于第二預設閾值的字
4詞。優(yōu)選地,所述字詞的權重為字詞的逆文檔頻次IDF ;所述IDF的計算公式為
NIDF(W)=——
dfiyv)其中,w為短信中的字詞;N為預先設定的短信庫的短信總數(shù);df (W)為預先設定的 短信庫中包含w的短信數(shù)目。優(yōu)選地,所述步驟12具體包括根據(jù)詞性刪除分詞后的短信中與短信內(nèi)容無關的字詞。優(yōu)選地,所述步驟30具體包括在內(nèi)存中維護一個固定大小的緩存空間作為比對 窗口,所有短信均出現(xiàn)在該比對窗口內(nèi);劃分一個固定大小的緩存空間作為短信緩沖區(qū),保 存同一時間段內(nèi)出現(xiàn)在比對窗口的所有短信的文件指紋;將同一時間段內(nèi)的任意短信的文 件指紋與緩沖區(qū)保存的文件指紋進行比對,如果該短信的文件指紋的個數(shù)超過第一預設閾 值時,則判定該短信為垃圾消息。優(yōu)選地,所述步驟10中短信中與短信內(nèi)容無關的字詞包括控制字符、表形符號 和不可見字符中的一個或多個。優(yōu)選地,所述步驟20中計算文件指紋的方法為MD5算法。(三)有益效果本發(fā)明提出了一種垃圾短信過濾方法。該方法基于文件指紋的過濾方法既考慮到 了垃圾短信內(nèi)容上的相似性,也考慮到了垃圾短信的傳播方式,基于這兩個主要特征來識 別垃圾短信。在垃圾短信過濾過程中,通過維護一個固定大小的緩存空間作為比對窗口,所 有短信內(nèi)容均出現(xiàn)在該比對窗口內(nèi)。通過給每條短消息計算一個唯一的文件指紋,可以快 速地找到是否存在垃圾短信。本發(fā)明所示垃圾短信過濾方法的優(yōu)點在于(1)垃圾短信識別和過濾的速度快,可以用在對實時性有較高要求的場合。(2)不會受到垃圾短信中非本質(zhì)內(nèi)容變化的影響,可以有效應對垃圾消息不斷變 化的情況。
圖1是本發(fā)明實施例的垃圾短信過濾方法的流程圖;圖2是本發(fā)明所述方法中對短信進行漢語分詞的方法流程圖。
具體實施例方式下面結合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細描述。以下實施 例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。本發(fā)明的核心思想是對輸入或存儲的短信進行漢語分詞,并刪除與一般短信內(nèi) 容表達無關的字詞,對保留的短信計算其文件指紋。如果該短信的文件指紋在緩存中出現(xiàn) 的次數(shù)超過預設閾值,則可以判斷該短信為垃圾短信,否則為正常短信。圖1是本發(fā)明實施例的基垃圾短信過濾方法的流程圖;如圖1所述,所述方法包 括步驟A、刪除短信中與短信內(nèi)容無關的字詞;
5
在本步驟中,直接刪除與輸入或存儲的短信內(nèi)容無關的字詞。所述與輸入或存儲 的短信內(nèi)容無關的字詞包括控制字符(如回車符、換行符、制表符、全角半角空格等)、表 形符號(如·、◎、 、 、-_-、()( η _ η )ο等等)、不可見字符(字符編碼中很多位置的字 符不可見,或者沒有編碼)。無論是控制字符,還是表形符號或者不可見字符,一般情況下均 與短信內(nèi)容沒有太大聯(lián)系,完全可以不必考慮這些字符的意義。步驟B、對短信進行漢語分詞。漢語分詞是指把短信中的詞語切分出來。漢語分詞的重要指標是分詞的準確率和 速度。在短信過濾的環(huán)境中,切分速度非常重要,本步驟中采用的漢語分詞工具是基于最大 匹配和字本位最大熵模型,分詞準確率達到95. 4%,切分速度達到每秒2MB,完全滿足實時 性的要求。圖2是本發(fā)明所述方法中對短信進行漢語分詞的方法流程圖;參見圖2,該過程 包括以下兩個步驟步驟101、對短信進行最大匹配粗切分,如果遇到歧義,則進行步驟102 ;在本步驟中,僅使用正向最大匹配策略分詞。為了緩解最大匹配過程中的錯誤切 分,在分詞中輔以海量分詞資源,例如歧義庫、人名詞典、地名詞典和組織機構名詞典。利用 海量分詞資源輔助最大匹配的分詞策略,既可以提高分詞準確率,又不會降低分詞速度。步驟102、對短信進行歧義和未登錄詞識別。在本步驟中使用了字本位的最大熵的歧義和未登錄詞識別策略,即采取回退一字 的策略,然后利用字本位的最大熵模型判斷歧義的切分方式。這在一定程度上可以彌補歧 義庫的不足。同時在切分過程中遇到姓氏的話,則根據(jù)姓氏及其上下文來判斷是否姓名或 其它未登錄詞。步驟C、刪除分詞后的短信中與短信內(nèi)容無關的字詞。在本步驟中,所述刪除分詞后的短信中與短信內(nèi)容無關的字詞具體包括刪除分 詞后的短信中權重低于預設閾值的字詞。所述字詞的權重可以根據(jù)IDF(inverse document frequency,逆文檔頻次)公式 計算得到。IDF是信息檢索和數(shù)據(jù)挖掘中常用的詞語權重計算方法,其計算字詞權重的根 據(jù)為包含字詞的短信越多,則其區(qū)分能力越有限,即字詞的權重越低。本步驟中用字詞的 IDF值表示字詞的權重,IDF的計算公式為
NIDF(W) = --(1)
df(w)其中w為短信中的字詞;N 指預先設定的短信庫的短信總數(shù);df (W)指預先設定 的短信庫中包含w的短信數(shù)目。IDF對于領域內(nèi)獨有的字詞賦予較高的權重,適合用來進行文本相關性計算,而對 于那些在所有或大部分文本中都出現(xiàn)的字詞,則賦予較低的權重,這些詞對相關性計算的 重要性較低。利用IDF公式,提取了大約300個常用詞,這些詞在所有文本中的權重最低,例如 的了在我是一和不有你人為要就上中好對也這到都多年天說與等大地來會著將自己以還 去新我們想從很能用兩得把又經(jīng)濟而下后們已并沒有但本報最進行于被啊次真時給向讓 種可以起由之電更使重要心等等。在本步驟中,所述刪除分詞后的短信中與短信內(nèi)容無關的字詞具體還可以包括
6根據(jù)詞性刪除分詞后的短信中與短信內(nèi)容無關的字詞。不同詞性的字詞能夠表達不同的內(nèi)容,具有不同的權重。名詞和動詞往往是文本 表達的重點,副詞和形容詞往往僅表示名詞和動詞的屬性和狀態(tài)。這些屬性和狀態(tài)并不影 響文本基本內(nèi)容的表達。例如1、紅色的蘋果在桌子上。綠色的蘋果在桌子上。2、我非常愛你。我很愛你。3、我愛你。我恨你。在第1個例子里,前后句子的內(nèi)容基本一樣,因為前后句子的名詞“蘋果”相同。在 第2個句子里,前后句子也基本一樣,因為前后句子的動詞“愛”相同。在第3個例子里,前 后句子的基本內(nèi)容很不一樣,因為前后句子的動詞“愛”和“恨”不相同。從自動句法分析來看,能夠成為句子中心成分的詞往往能夠影響基本內(nèi)容的表 達,反之,不能成為句子中心成分的詞并不會影響基本內(nèi)容。從這個判斷出發(fā),本方法對詞 性的權重進行了分組
下列詞性的詞會影響基本內(nèi)容 名形詞 簡稱略語 用語 人名 處所詞 動詞
名詞
其他專名 動語素
名語素 機構團體 時間詞 名動詞
地名 時語素 副動詞
下列詞性的詞不會影響基本內(nèi)容(主要是虛詞) 數(shù)詞 標點 語氣詞 嘆詞 形容詞 副詞 介詞 量詞 助詞 成語 習用語 連詞 區(qū)別詞 方位詞 代詞 狀態(tài)詞 步驟D、計算刪除與短信內(nèi)容無關的字詞后的短信的文件指紋。 由于短信的長度不一,這對給短信存儲和查找?guī)聿槐?。為了更方便的存儲和?找短信,本方法將每條短信賦予一個唯一的編碼,即文件指紋標識,文件指紋標識的長度大 大小于文本長度,且長度固定,易于存儲和計算。本步驟中采用MD5算法(Message Digest Alg0rithm5,消息摘要算法第五版)來給刪除與短信內(nèi)容無關的字詞后的每條短信計算唯 一的文件指紋標識。步驟E、如果刪除與短信內(nèi)容無關的字詞后的短信的文件指紋的個數(shù)超過了預設 閾值,則判定該短信為垃圾短信。在垃圾短信過濾過程中,通過給每條短消息計算一個唯一的文件指紋,可以快速 地找到是否存在相同或相似的短消息。一般情況下,垃圾短信往往在同一段時間內(nèi)群發(fā),且 在內(nèi)容上相同或者相似。只要在一段時間內(nèi)發(fā)現(xiàn)多條相同的指紋即可以判斷這些消息是垃 圾消息。由于短信的規(guī)模非常大,因此存儲所有短信來進行短信比對的方案并不可行。鑒 于垃圾短信發(fā)送的這種特點,本步驟在內(nèi)存中維護一個固定大小的緩存空間作為比對窗 口,所有短信內(nèi)容均會出現(xiàn)在該比對窗口內(nèi);劃分一個固定大小的緩存空間作為短信緩沖 區(qū),保存同一時間段內(nèi)出現(xiàn)在比對窗口的所有短信的文件指紋,所有輸入或存儲的短信在計算了文件指紋之后,都將文件指紋與緩沖區(qū)的已有文件指紋進行比對,如果發(fā)現(xiàn)了個數(shù) 超過預設閾值時,則該消息被判定為垃圾消息。在文件指紋緩沖區(qū)中,文件指紋比對的速度對系統(tǒng)的影響很大。有鑒于此,本步驟 采用樹形結構來表示短信的文件指紋緩沖區(qū)。給定一個新的文件指紋,最多只要對該文件 指紋掃描一遍即可確定是否在緩沖區(qū)中出現(xiàn)過。以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術領域的普通 技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有 等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
權利要求
一種垃圾短信過濾方法,其特征在于,該方法包括步驟10、刪除短信中與短信內(nèi)容無關的字詞;步驟20、計算刪除與短信內(nèi)容無關的字詞后的短信的文件指紋;步驟30、如果刪除與短信內(nèi)容無關的字詞后的短信的文件指紋的個數(shù)超過了第一預設閾值,則判定該短信為垃圾短信。
2.如權利要求1所述的方法,其特征在于,所述步驟10和步驟20之間,該方法進一步 包括步驟11、對短信進行漢語分詞;步驟12、刪除分詞后的短信中與短信內(nèi)容無關的字詞。
3.如權利要求2所述的方法,其特征在于,所述步驟11具體包括步驟101、對短信進行最大匹配粗切分,如果遇到歧義,則進行步驟102 ;步驟102、對短信進行歧義和未登錄詞識別。
4.如權利要求2所述的方法,其特征在于,所述步驟12具體包括刪除分詞后的短信 中權重低于第二預設閾值的字詞。
5.如權利要求4所述的方法,其特征在于,所述字詞的權重為字詞的逆文檔頻次IDF; 所述IDF的計算公式為
6.如權利要求2所述的方法,其特征在于,所述步驟12具體包括根據(jù)詞性刪除分詞 后的短信中與短信內(nèi)容無關的字詞。
7.如權利要求1所述的方法,其特征在于,所述步驟30具體包括在內(nèi)存中維護一個 固定大小的緩存空間作為比對窗口,所有短信均出現(xiàn)在該比對窗口內(nèi);劃分一個固定大小 的緩存空間作為短信緩沖區(qū),保存同一時間段內(nèi)出現(xiàn)在比對窗口的所有短信的文件指紋; 將同一時間段內(nèi)的任意短信的文件指紋與緩沖區(qū)保存的文件指紋進行比對,如果該短信的 文件指紋的個數(shù)超過第一預設閾值時,則判定該短信為垃圾消息。
8.如權利要求1-7中任一項所述的方法,其特征在于,所述步驟10中短信中與短信內(nèi) 容無關的字詞包括控制字符、表形符號和不可見字符中的一個或多個。
9.如權利要求1-7中任一項所述的方法,其特征在于,所述步驟20中計算文件指紋的 方法為MD5算法。
全文摘要
本發(fā)明公開了一種垃圾短信過濾方法,該方法包括步驟10、刪除短信中與短信內(nèi)容無關的字詞;步驟20、計算刪除與短信內(nèi)容無關的字詞后的短信的文件指紋;步驟30、如果刪除與短信內(nèi)容無關的字詞后的短信的文件指紋的個數(shù)超過了第一預設閾值,則判定該短信為垃圾短信。該方法基于文件指紋的過濾方法既考慮到了垃圾短信內(nèi)容上的相似性,也考慮到了垃圾短信的傳播方式,本發(fā)明所示垃圾短信過濾方法的優(yōu)點在于(1)垃圾短信識別和過濾的速度快,可以用在對實時性有較高要求的場合。(2)不會受到垃圾短信中非本質(zhì)內(nèi)容變化的影響,可以有效應對垃圾消息不斷變化的情況。
文檔編號H04W4/14GK101977360SQ20101050400
公開日2011年2月16日 申請日期2010年9月30日 優(yōu)先權日2010年9月30日
發(fā)明者牟小峰, 陳鵬 申請人:北京新媒傳信科技有限公司