專利名稱:快速高準確率的垃圾郵件過濾方法
技術領域:
本發明涉及一種電子郵件的處理方法,特別是一種快速高準確率的垃圾郵件過濾方法。
背景技術:
隨著網絡電子郵件的日益普及,越來越多的人們利用電子郵件進行信息的傳輸。 然而,大量帶有廣告性質、政治目的和惡意鏈接的垃圾郵件數量也在急劇增長。據統計,目前在整個互聯網上傳遞的郵件信息,有超過一半是垃圾郵件。垃圾郵件的泛濫不僅給用戶的正常網絡應用帶來極大的干擾,而且,大量的垃圾郵件也占用了巨大的網絡帶寬,浪費了網絡運行商和網絡終端用戶大量帶寬。目前,針對網絡垃圾的過濾已經有不少相關研究,主要分為基于黑白名單的過濾方法、基于規則的過濾方法和基于內容的過濾方法。其中前兩種的垃圾郵件過濾方法效率較高,在準確度上欠缺,而第三種垃圾郵件過濾方法引入了決策樹方法、粗糙集方法、人工智能方法等等,通過這些方法的應用能夠提高垃圾郵件的過濾準確度,但是與此同時,計算復雜度也較高,導致垃圾郵件過濾服務器負荷較重,正常郵件的傳輸延時大幅增加。而目前垃圾郵件大量存在的現狀也說明了當前的垃圾郵件處理策略還需改進。
發明內容
本發明要解決的技術問題是提供一種快速高準確率的垃圾郵件過濾方法,以解決現有技術中存在的準確度欠缺、垃圾郵件過濾服務器負荷較重、正常郵件的傳輸延時增加的不足之處。解決上述技術問題的技術方案是一種快速高準確率的垃圾郵件過濾方法,該方法是首先對接收到的所有郵件進行預處理,提取郵件的主要特征信息;然后將該郵件的主要特征信息與垃圾郵件過濾數據庫進行對比,尋找垃圾郵件過濾數據庫中是否存在與該郵件相同或小于某一閾值的特征相似郵件,若存在則判斷該郵件為與現有數據庫中郵件雷同的郵件,標記為垃圾郵件,并紀錄該垃圾郵件的特征重復出現次數;否則,認為當前郵件為正常郵件,并將郵件的特征信息添加到垃圾郵件過濾信息數據庫中.
本發明的進一步技術方案是該方法包括以下主要步驟
51、郵件數據接入接收全部的郵件數據流,從郵件數據流中分離出每一封郵件,記為滅 full .
一 >J,
52、郵件預處理對郵件進行預處理;
53、郵件特征的提取
按設定好的郵件特征提取粒度,采用MD5算法計算該粒度下的文本信息特征生成,并將該文本信息特征存儲在該郵件的特征信息表 」中;所述MD5算法的計算公式為 F = MD5(Mail _ Text || Pad),其中 MD5 表示 MD5 的 HASH 運算,Mail_Text 表示郵件中的一
4個特征提取粒度,Pad表示當郵件長度不是512的整數倍時,添加的填充值,以使郵件長度為512的整數倍;
54、導入權值,修正各個特征值的最終數值
對特征信息表中的所有特征信息導入權值λ,進行加權處理,并修正各個特征值的最終數值,所述的權值λ取值范圍一般為0 1 ;
55、形成帶權值的郵件特征信息表
所述的特征信息表'形成帶權值的郵件特征信息表;
56、檢測當前郵件是否為垃圾郵件
將帶權值的郵件特征信息表—Λ J逐條紀錄與垃圾郵件過濾信息數據庫對比, 尋找當前郵件特征信息表中的特征與垃圾郵件過濾信息數據庫中最相似的郵件,并按照郵
(Μαι 1) η R (Mail2))
件相似性決策函數P二臺二二^ .;1 ;,,的要求,計算這兩封郵件的相似程度,
工從Fi (Mail 1) u Fi {Mau 2))
其中Maill和Mail2表示兩封進行相似性對比的郵件文本,η和分別表示兩封郵件相同的特征數量和所有特征數量,λ表示導入的權值,i表示特征序 如果計算結果小于預先用戶設定的某一閾值£,則判斷當前兩封郵件是相似的,確定為垃圾郵件,并紀錄該垃圾郵件的特征重復出現次數;否則,將當前的郵件作為正常郵件,并把該郵件的特征信息增加到垃圾郵件過濾信息數據庫中,所述的G 一般取0. 2 0. 8 ;
57、判斷郵件是否處理結束
判斷郵件是否處理結束,如果是,則處理結束;如果否,則轉回步驟S3繼續處理下一封電子郵件,直至所有的電子郵件都過濾完成。 本發明的再進一步技術方案是所述的步驟S2、郵件預處理包括以下主要內容 S2. 1、郵件數據格式識別 對每一個Μ—的郵件數據格式進行分析識別; S2. 2、去除郵件頭,形成郵件文本信息 去除郵件頭,將剩余的全部信息轉換為文本格式的郵件信息; S2. 3、判斷郵件文本信息是否大于30KB
如果郵件文本信息即郵件粒度大于30KB,則按“段”粒度對郵件特征進行提取及處理, 即轉入步驟S2. 4 ;如果郵件粒度小于或等于30KB,則按“句”粒度對郵件特征進行提取及處理,即轉入步驟S2. 5 ;
S2. 4、識別郵件中的所有的回車符,將郵件文本信息劃分為多個段,再以段為單位對郵件進行特征提取,轉入步驟S2. 7 ;
S2. 5、排除郵件中易導致誤分離的分隔符
排除英文字符串中的點號,避免文本中字符串自帶的點號導致誤分離; S2. 6、以剩余的分隔符對郵件文本進行分句
識別郵件中所有剩余的分隔符,并用該分隔符對郵件文本信息劃分為多個完整的句子,再以句為單位對郵件進行特征提取,轉入步驟S2. 7 ; S2. 7、輸出粒度劃分后的郵件文本信息。
本發明的更進一步技術方案是所述步驟S2. 5、排除郵件中易導致誤分離的分隔符中,其體的排除方法是采用白名單加特定規則,所述的白名單是將常用的一些帶有點號的字符串作為白名單加入在數據庫中,對郵件文本掃描發現白名單中存在的紀錄,則不予劃分粒度,該白名單數據庫可增加;所述的特定規則是凡是一個大寫字母后面跟隨的點號,不予劃分粒度,該特定規則可以避免對英文中的姓氏進行粒度劃分。由于采用上述技術方案,本發明之快速高準確率的垃圾郵件過濾方法與現有的垃圾郵件過濾方法相比,具有以下有益效果
1、過濾速度快,準確率高
由于本發明包括有郵件預處理、郵件特征的提取等主要步驟,其中,在步驟郵件預處理、郵件特征的提取中進行了特殊的技術處理,即是在郵件預處理中,先將郵件去除郵件頭,然后按照郵件文本的大小進行粒度劃分;在步驟郵件特征的提取中,采用MD5算法計算該粒度下的文本信息特征生成,因此,本發明與現有的垃圾郵件過濾方法相比,大大提高了垃圾郵件的識別速度和過濾精度,其過濾速度快,準確率比較高。2、計算復雜度小
本發明的計算復雜度較小,可避免垃圾郵件過濾服務器負荷較重、正常郵件的傳輸延時大幅增加的不足之處。3、應用場合廣泛
本發明是針對網絡上骨干節點海量信息傳輸過程中設計的垃圾郵件過濾方法,它的應用場合既可以是骨干路由器節點,也可以是郵件服務器的入口或者是郵件服務器的出口, 其應用場合比較廣泛。4、過濾方法簡單、便捷。5、過濾特征值可人工調整,具有較好的靈活性。下面,結合附圖和實施例對本發明之快速高準確率的垃圾郵件過濾方法的技術特征作進一步的說明。
圖1 本發明之快速高準確率的垃圾郵件過濾方法的部署方案圖; 圖2 本發明之快速高準確率的垃圾郵件過濾方法的流程框圖3 實施例一所述本發明的郵件預處理的流程框圖4 實施例一所述本發明的垃圾郵件過濾數據庫中郵件特征信息存儲結構圖。
具體實施例方式一種快速高準確率的垃圾郵件過濾方法,該方法是首先對接收到的所有郵件進行預處理,提取郵件的主要特征信息;然后將該郵件的主要特征信息與垃圾郵件過濾數據庫進行對比,尋找垃圾郵件過濾數據庫中是否存在與該郵件相同或小于某一閾值的特征相似郵件,若存在則判斷該郵件為與現有數據庫中郵件雷同的郵件,標記為垃圾郵件,并紀錄該垃圾郵件的特征重復出現次數;否則,認為當前郵件為正常郵件,并將郵件的特征信息添加到垃圾郵件過濾信息數據庫中。本發明是針對網絡上骨干節點海量信息傳輸過程中設計的垃圾郵件過濾方法,其部署方案圖如圖1所示,該方法應用場合既可以是骨干路由器節點,也可以是郵件服務器的入口或者出口 ;如果是應用在網絡上通用的數據轉發服務器上,首先需要郵件數據分離模塊對流經該服務器的所有網絡數據進行分類,按照郵件協議規范,將所有與郵件無關的數據進行濾除。由于目前垃圾郵件中的廣告、惡意鏈接等信息都是明文傳輸,因此,本發明設計中不考慮郵件加密問題,也不對加密郵件中的垃圾郵件進行過濾。本發明的垃圾郵件判斷標準兩封電子郵件,分別從中提取能夠完全代表該郵件特征的信息,假設用Fl和F2分別代表郵件1和郵件2的特征值。如果兩封郵件的特征信息完全相同或者M=I iH-i 2|<f,其中£代表用戶設定的一個閾值。所述的郵件預處理方法郵件預處理過程中主要實現郵件特征提取粒度的分類。 郵件粒度選取的大小直接關系到對垃圾郵件的識別精度。對于每一封郵件而言,一般由郵件頭、郵件正文、郵件附件三部分組成。郵件頭中包括了郵件的收發地址、郵件封裝協議等信息,因此大部分郵件的郵件頭具有很強的相似性。為了提高垃圾郵件過濾的精確性,郵件預處理過程首先將郵件頭去處,只對郵件正文和附件進行特征提取。對于正文和附件的特征提取時,首先將正文與附件轉換成二進制文本信息。然后按照文本的大小進行粒度劃分, 根據大量的統計實驗分析,粒度大小設定為30KB垃圾郵件過濾效果最佳。當去除郵件頭后的郵件文本尺寸小于或等于30KB時,郵件特征提取的粒度為完整的句子(以文本中的句號、問號、感嘆號、點號為分隔符)。如果郵件文本尺寸大于30KB時,以文本中的分段號(以回車符為判斷條件)進行粒度劃分。粒度劃分后,對每一個顆粒度的文本進行特征信息提取, 并將提取后的信息作為垃圾郵件過濾的判別素材。郵件預處理過程中,由于是以中英文標點符號作為分隔符,因此,需要排除一些英文字符串中的“.”號,避免文本中一些字符自帶的“.”導致誤分離。排除方法是白名單加特定規則。將“e.g. ”、“NO. ”等作為白名單加入在數據庫中,對郵件文本掃描發現白名單中存在的紀錄,則不予劃分粒度,白名單數據庫可增加。特定規則是凡是一個大寫字母后面跟隨的點號,不予劃分粒度。該規則可以避免對英文中的姓氏進行粒度劃分。郵件特征的提取郵件特征采用MD5算法從郵件文本中提取信息摘要作為郵件的特征。計算公式為=,其中Mail_Text表示郵件中的一個特征提取粒度,MD5表示MD5的HASH運算。郵件特征權值賦值對郵件中的每一種特征賦予初始權值,在實際的垃圾郵件過濾過程中,根據每一種特征代表的垃圾郵件可能性程度不同,調整其特征的權值。該特征權值在實際應用過程中可以動態調整,通過對該權值的調整,體現郵件不同特征在垃圾郵件過濾過程中的重要程度,郵件特征權值用2表示,該λ取值范圍一般為0 1。郵件相似性的決策函數
權利要求
1.一種快速高準確率的垃圾郵件過濾方法,其特征在于該方法是首先對接收到的所有郵件進行預處理,提取郵件的主要特征信息;然后將該郵件的主要特征信息與垃圾郵件過濾數據庫進行對比,尋找垃圾郵件過濾數據庫中是否存在與該郵件相同或小于某一閾值的特征相似郵件,若存在則判斷該郵件為與現有數據庫中郵件雷同的郵件,標記為垃圾郵件,并紀錄該垃圾郵件的特征重復出現次數;否則,認為當前郵件為正常郵件,并將郵件的特征信息添加到垃圾郵件過濾信息數據庫中。
2.根據權利要求1所述的快速高準確率的垃圾郵件過濾方法,其特征在于該方法包括以下主要步驟51、郵件數據接入接收全部的郵件數據流,從郵件數據流中分離出每一封郵件,記為Mi full . 一 ^ 52、郵件預處理對郵件進行預處理;53、郵件特征的提取按設定好的郵件特征提取粒度,采用MD5算法計算該粒度下的文本信息特征生成,并將該文本信息特征存儲在該郵件的特征信息表 ^ j中;所述MD5算法的計算公式為
3.根據權利要求2所述的快速高準確率的垃圾郵件過濾方法,其特征在于所述的步驟S2、郵件預處理包括以下主要內容 S2. 1、郵件數據格式識別 對每一個的郵件數據格式進行分析識別; S2. 2、去除郵件頭,形成郵件文本信息 去除郵件頭,將剩余的全部信息轉換為文本格式的郵件信息; S2. 3、判斷郵件文本信息是否大于30KB 如果郵件文本信息即郵件粒度大于30KB,則按“段”粒度對郵件特征進行提取及處理, 即轉入步驟S2. 4 ;如果郵件粒度小于或等于30KB,則按“句”粒度對郵件特征進行提取及處理,即轉入步驟S2. 5 ;S2. 4、識別郵件中的所有的回車符,將郵件文本信息劃分為多個段,再以段為單位對郵件進行特征提取,轉入步驟S2. 7 ;S2. 5、排除郵件中易導致誤分離的分隔符排除英文字符串中的點號,避免文本中字符串自帶的點號導致誤分離; S2. 6、以剩余的分隔符對郵件文本進行分句識別郵件中所有剩余的分隔符,并用該分隔符對郵件文本信息劃分為多個完整的句子,再以句為單位對郵件進行特征提取,轉入步驟S2. 7 ; S2. 7、輸出粒度劃分后的郵件文本信息。
4.根據權利要求3所述的快速高準確率的垃圾郵件過濾方法,其特征在于所述步驟 S2. 5、排除郵件中易導致誤分離的分隔符中,其體的排除方法是采用白名單加特定規則, 所述的白名單是將常用的一些帶有點號的字符串作為白名單加入在數據庫中,對郵件文本掃描發現白名單中存在的紀錄,則不予劃分粒度,該白名單數據庫可增加;所述的特定規則是凡是一個大寫字母后面跟隨的點號,不予劃分粒度,該特定規則可以避免對英文中的姓氏進行粒度劃分。
全文摘要
一種快速高準確率的垃圾郵件過濾方法,涉及一種電子郵件的處理方法,該方法是首先對接收到的所有郵件進行預處理,提取郵件的特征信息;然后將該郵件的特征信息與垃圾郵件過濾數據庫進行對比,尋找數據庫中是否存在與該郵件相同或小于某一閾值的特征相似郵件,若存在則判斷該郵件為與現有數據庫中郵件雷同的郵件,標記為垃圾郵件,并紀錄該垃圾郵件的特征重復出現次數;否則,認為當前郵件為正常郵件,并將郵件的特征信息添加到垃圾郵件過濾信息數據庫中;它包括郵件數據接入、郵件預處理、郵件特征的提取、導入權值、檢測當前郵件是否為垃圾郵件等步驟。本發明可提高垃圾郵件的識別速度和過濾精度,具有過濾速度快、準確率高、應用場合廣等特點。
文檔編號H04L12/58GK102158428SQ20111009677
公開日2011年8月17日 申請日期2011年4月18日 優先權日2011年4月18日
發明者孔軼艷, 張德平, 張愛科, 李可長, 李瑞娟, 王慧, 韋彬貴, 黃力 申請人:柳州職業技術學院