專利名稱:基于滑動窗口的郵件指紋提取方法及郵件相似判斷方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種郵件指紋提取方法及郵件相似判斷方法,尤其涉及一種基于滑動窗口的郵件指紋提取方法及郵件相似判斷方法。
背景技術(shù):
垃圾郵件(Spam) —直是郵件系統(tǒng)中的熱點問題,但一直沒有一個很明確的定義。 人們經(jīng)過研究發(fā)現(xiàn)垃圾郵件有一個明顯的特征重復(fù)大量地發(fā)送內(nèi)容相似或相同的郵件。 針對這個特征,人們使用一系列的手段來拒收垃圾郵件。通過監(jiān)控郵件重復(fù)發(fā)送次數(shù),并設(shè)計一個閥值,當(dāng)投遞次數(shù)大于這個閥值時,從而判斷該郵件很可能是垃圾郵件。通過比較郵件指紋(Mail FingerPrint,郵件指紋,簡稱“MFP”)來判斷郵件是否是垃圾郵件。對已確定的垃圾郵件生成指紋(FingerPrint,指紋,簡稱“FP”)并保存,將新郵件的指紋與其相比較,從而判斷郵件是否為垃圾郵件。目前反垃圾應(yīng)用的郵件指紋算法,對生成的指紋大小不可控,指紋與郵件正文成正比。這對系統(tǒng)的存儲要求比較高,并且郵件指紋匹配的性能也會隨著指紋及郵件正文增大而降低。另外現(xiàn)有算法對郵件正文的誤判率也較高,會將兩封不同的郵件正文匹配為一致。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題是提供一種基于滑動窗口的郵件指紋提取方法,克服現(xiàn)有技術(shù)對郵件正文誤判率較高的技術(shù)問題。本發(fā)明的技術(shù)方案是提供一種基于滑動窗口的郵件指紋提取方法,包括如下步驟
掃描郵件正文應(yīng)用滑動窗口掃描郵件正文;
獲取郵件正文摘要信息的指紋根據(jù)滑動窗口指數(shù)加權(quán)的指紋算法,采用多個字節(jié)來保存郵件正文的摘要信息,每一個字節(jié)保存根據(jù)加權(quán)指數(shù)及郵件正文長度確定的郵件正文序列塊條件的郵件正文摘要信息,獲取該多個字節(jié)的郵件正文摘要信息序列值,該郵件正文摘要信息序列值為郵件正文摘要信息的指紋;
獲取郵件正文的指紋根據(jù)滑動窗口三元組統(tǒng)計的語義相似度算法,設(shè)置滑動窗口構(gòu)造三元組的長度,根據(jù)滑動窗口構(gòu)造的三元組長度構(gòu)建郵件正文的三元組,采用Hash算法求出每個郵件正文三元組的值,以郵件正文三元組的值作為數(shù)組保存郵件正文所有三元組的統(tǒng)計,得到郵件指紋的保存數(shù)組信息;根據(jù)數(shù)組統(tǒng)計的平均值設(shè)立閥值,將統(tǒng)計大于閥值的數(shù)組下標所對應(yīng)的保存數(shù)組位設(shè)為1,采用多個字節(jié)來保存表示郵件正文所有三元組的統(tǒng)計保存數(shù)組值,該多個字節(jié)保存的表示郵件正文所有三元組的統(tǒng)計保存數(shù)組值為當(dāng)前郵件正文的指紋;提取郵件的指紋將郵件正文摘要信息的指紋和郵件正文的指紋作為該郵件的指紋。本發(fā)明的進一步技術(shù)方案是在獲取郵件正文摘要信息的指紋步驟中,所述滑動窗口的長度為1至30。本發(fā)明的進一步技術(shù)方案是在獲取郵件正文摘要信息的指紋步驟中,采用8個字節(jié)來保存郵件正文的摘要信息。本發(fā)明的進一步技術(shù)方案是在獲取郵件正文摘要信息的指紋步驟中,每一個字節(jié)保存的郵件正文摘要信息為該郵件正文摘要信息右移加權(quán)指數(shù)位數(shù)并取8位。本發(fā)明的進一步技術(shù)方案是在獲取郵件正文的指紋步驟中,所述滑動窗口構(gòu)造三元組的長度為5。本發(fā)明的進一步技術(shù)方案是在獲取郵件正文的指紋步驟中,由滑動窗口塊構(gòu)造出8個三元組,采用32個字節(jié)來保存郵件正文的指紋。本發(fā)明的進一步技術(shù)方案是在獲取郵件正文的指紋步驟中,采用32個字節(jié)來保存256位字節(jié)數(shù)組表示郵件正文的指紋。本發(fā)明的技術(shù)方案是提供一種郵件相似判斷方法,包括如下步驟
提取郵件指紋提取基于滑動窗口的郵件正文摘要信息的指紋,所述郵件指紋包括郵件正文摘要信息的指紋和郵件正文的指紋。郵件相似性的判斷分別將兩封郵件中郵件摘要的指紋以及郵件正文的指紋進行比較,根據(jù)比較結(jié)果的相似性判斷該兩封郵件是否相似。本發(fā)明的進一步技術(shù)方案是在郵件相似性的判斷步驟中,對于兩封郵件摘要的指紋相等的字節(jié)大于等于7以及兩封郵件正文的指紋相似度大于90%,則判斷兩封郵件正文相同。本發(fā)明的技術(shù)效果是采用基于滑動窗口的郵件指紋提取方法及郵件指紋來判斷郵件的相似性程度,在提取郵件指紋過程中,采用滑動窗口塊的方法提取郵件正文摘要信息指紋及郵件正文指紋的方法提取郵件指紋,本發(fā)明通過獲取兩種指紋來獲取郵件指紋, 既提高了郵件差別的準確性,又減少了保存的指紋值,大大方便了郵件相似性的判別,對垃圾郵件的處理效果更好。
圖1為本發(fā)明郵件指紋提取的流程圖。圖2為本發(fā)明郵件摘要指紋滑動窗口塊結(jié)構(gòu)示意圖。圖3為本發(fā)明郵件正文指紋滑動窗口塊結(jié)構(gòu)示意圖。圖4為本發(fā)明郵件相似性判別流程圖。
具體實施例方式下面結(jié)合具體實施例,對本發(fā)明技術(shù)方案進一步說明。如圖1所示,本發(fā)明的具體實施方式
是提供一種基于滑動窗口的郵件指紋提取方法,包括如下步驟步驟100 掃描郵件正文應(yīng)用滑動窗口掃描郵件正文;本發(fā)明具體實施方式
中,采用一個16位的滑動窗口從頭掃描郵件正文。步驟200 獲取郵件正文摘要信息的指紋,即根據(jù)滑動窗口指數(shù)加權(quán)的指紋算法,采用多個字節(jié)來保存郵件正文的摘要信息,每一個字節(jié)保存根據(jù)加權(quán)指數(shù)及郵件正文長度確定的郵件正文序列塊條件的郵件正文摘要信息,獲取該多個字節(jié)的郵件正文摘要信息序列值,該郵件正文摘要信息序列值為郵件正文摘要信息的指紋。所述滑動窗口的長度為1至30,本發(fā)明具體實施例中,所述滑動窗口的長度為16。如圖2所示,本發(fā)明的具體實施過程如下使用8個字節(jié)來保存郵件正文的摘要信息S,每一字節(jié)保存滿足條件的滑動窗口塊SW的郵件正文的摘要信息。首先給出郵件正文摘要信息S的計算方法,假設(shè)郵件正文的序列塊為A1A2…… An,滑動窗口塊SW的取值原則是1.小于30,2.盡可能大,算法本身的建議值就是30, 但本發(fā)明具體實施方式
中取16,這里滑動窗口塊SW的長度取16。計算參數(shù)P的取值原則是1.素數(shù),2.盡可能大,3. P的滑動窗口塊次方能被8字節(jié)整數(shù)存儲。為保證8字節(jié)可以保存郵件正文摘要信息S值,當(dāng)滑動窗口塊為16時,這里計算參數(shù)P=13。由此,根據(jù)根據(jù)滑動窗口指數(shù)加權(quán)的指紋算法,則有
51= Al
52= P * Sl + A2 = P * Al + A2
516= P * S15 + A16 = P"15 * Al + P"14 * A2 + …+ A16
517= P * S16 + A17 - P"16 * Al = P"15 * A2 + P"14 * A3 + …+ A17 當(dāng)η大于等于16時,有
S = P" 15 * A(n-15) + Ρ"14 * Α(η_14) + …+ An 得出一系列的郵件正文摘要信息S值。其次,給出滿足條件的滑動窗口塊SW的定義,假設(shè)郵件正文的長度為3087字節(jié), 其大于2~11并且小于2~12,則取加權(quán)指數(shù)WI為12。當(dāng)郵件正文摘要信息S后加權(quán)指數(shù)WI 位均為0時,此郵件正文摘要信息S是滿足條件的,并且將此S右移12位并取8位為MB的一個字節(jié)。由此,得到多個字節(jié)滿足條件的郵件正文摘要信息S,該滿足條件的郵件正文摘要信息S的序列即為郵件正文摘要信息的指紋。根據(jù)這個例子的條件得到8個滿足條件的郵件正文摘要信息S,對每個郵件正文摘要信息S提取出一個字節(jié)寫入到郵件正文摘要信息S值序列中,這樣一共得到8個字節(jié)的郵件正文摘要信息S值序列,該郵件正文摘要信息序列值為郵件正文摘要信息的指紋。步驟300 獲取郵件正文的指紋,即根據(jù)滑動窗口三元組統(tǒng)計的語義相似度算法,設(shè)置滑動窗口構(gòu)造三元組的長度,根據(jù)滑動窗口構(gòu)造的三元組長度構(gòu)建郵件正文的三元組,采用Hash算法求出每個郵件正文三元組的值,以郵件正文三元組的值作為數(shù)組保存郵件正文所有三元組的統(tǒng)計,得到郵件指紋的保存數(shù)組信息;根據(jù)數(shù)組統(tǒng)計的平均值設(shè)立閥值,將統(tǒng)計大于閥值的數(shù)組下標所對應(yīng)的保存數(shù)組位設(shè)為1,采用多個字節(jié)來保存表示郵件正文所有三元組的統(tǒng)計保存數(shù)組值,該多個字節(jié)保存的表示郵件正文所有三元組的統(tǒng)計保存數(shù)組值為當(dāng)前郵件正文的指紋。如圖3所示,本發(fā)明的具體實施過程如下根據(jù)滑動窗口三元組統(tǒng)計的語義相似度算法,采用多個字節(jié)來保存郵件正文指紋,傳統(tǒng)的統(tǒng)計方法只可以檢測出某字符出現(xiàn)的次數(shù),無法檢測字符的位置是否相近。這里使用三元組解決了位置相近的問題,具體計算方法舉例如下
首先,滑動窗口塊的長度為5,由滑動窗口塊構(gòu)造出8個三元組(元組由三個字符組成, 故稱之為三元組TG)。比如滑動窗口塊字符為“abcde”,構(gòu)造出的三元組TG為abc,abd, acd, abe, ace, ade, eba, eda。其次,采用Hash算法求出每個郵件正文三元組的值,這里,對每個三元組TG進行 255 Hash算法求出每個郵件正文三元組的值,對于三元組TG計算得到值和255進行與操作,保證最終值范圍為0 255,得到TG的值TGV。再次,這里,由于三元組的值TGV的范圍在0 255之間,故使用[256]數(shù)組保存郵件正文所有三元組的值TGV的統(tǒng)計。即可得出TGVW],TGV[1]……TGV[255]的個數(shù)。再次,根據(jù)數(shù)組統(tǒng)計的平均值設(shè)立閥值,將統(tǒng)計大于閥值的數(shù)組下標所對應(yīng)的數(shù)組BG位設(shè)為1。最后,得到多位長度郵件正文的指紋,這里,得到多位256位(S卩,32個字節(jié))長度郵件正文的指紋,這個郵件正文的指紋用來表示當(dāng)前郵件正文。步驟400 提取郵件的指紋,即將郵件正文摘要信息的指紋和郵件正文的指紋作為該郵件的指紋。如圖4所示,本發(fā)明的具體實施方式
是提供一種郵件相似判斷方法,包括如下步驟
步驟500 提取郵件指紋,即提取基于滑動窗口的郵件正文摘要信息的指紋,所述郵件指紋包括郵件正文摘要信息的指紋和郵件正文的指紋。具體獲取郵件指紋的方法如上所述。步驟600 郵件相似性的判斷,即分別將兩封郵件中郵件摘要的指紋以及郵件正文的指紋進行比較,根據(jù)比較結(jié)果的相似性判斷該兩封郵件是否相似。本發(fā)明的具體實施例中,對于兩封郵件摘要的指紋相等的字節(jié)大于等于7以及兩封郵件正文的指紋相似度大于90%,則判斷兩封郵件正文相同。采用基于滑動窗口的郵件指紋提取方法及郵件指紋來判斷郵件的相似性程度,在提取郵件指紋過程中,采用滑動窗口塊的方法提取郵件正文摘要信息指紋及郵件正文指紋的方法提取郵件指紋,本發(fā)明通過獲取兩種指紋來獲取郵件指紋,既提高了郵件差別的準確性,又減少了保存的指紋值,大大方便了郵件相似性的判別,對垃圾郵件的處理效果更好。以上內(nèi)容是結(jié)合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細說明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護范圍。
權(quán)利要求
1.一種基于滑動窗口的郵件指紋提取方法,包括如下步驟掃描郵件正文應(yīng)用滑動窗口掃描郵件正文;獲取郵件正文摘要信息的指紋根據(jù)滑動窗口指數(shù)加權(quán)的指紋算法,采用多個字節(jié)來保存郵件正文的摘要信息,每一個字節(jié)保存根據(jù)加權(quán)指數(shù)及郵件正文長度確定的郵件正文序列塊條件的郵件正文摘要信息,獲取該多個字節(jié)的郵件正文摘要信息序列值;獲取郵件正文的指紋根據(jù)滑動窗口三元組統(tǒng)計的語義相似度算法,設(shè)置滑動窗口構(gòu)造三元組的長度,根據(jù)滑動窗口構(gòu)造的三元組長度構(gòu)建郵件正文的三元組,采用Hash算法求出每個郵件正文三元組的值,以郵件正文三元組的值作為數(shù)組下標保存郵件正文所有三元組的統(tǒng)計,得到郵件指紋的保存數(shù)組信息;根據(jù)數(shù)組統(tǒng)計的平均值設(shè)立閥值,將統(tǒng)計大于閥值的數(shù)組下標所對應(yīng)的保存數(shù)組位設(shè)為1,采用多個字節(jié)來保存表示郵件正文所有三元組的統(tǒng)計保存數(shù)組值,該多個字節(jié)保存的表示郵件正文所有三元組的統(tǒng)計保存數(shù)組值為當(dāng)前郵件正文的指紋;提取郵件的指紋將郵件正文摘要信息的指紋和郵件正文的指紋作為該郵件的指紋。
2.根據(jù)權(quán)利要求1所述基于滑動窗口的郵件指紋提取方法,其特征在于,在獲取郵件正文摘要信息的指紋步驟中,所述滑動窗口的長度為1至30。
3.根據(jù)權(quán)利要求1所述基于滑動窗口的郵件指紋提取方法,其特征在于,在獲取郵件正文摘要信息的指紋步驟中,采用8個字節(jié)來保存郵件正文的摘要信息。
4.根據(jù)權(quán)利要求1所述基于滑動窗口的郵件指紋提取方法,其特征在于,在獲取郵件正文摘要信息的指紋步驟中,每一個字節(jié)保存的郵件正文摘要信息為該郵件正文摘要信息右移加權(quán)指數(shù)位數(shù)并取8位。
5.根據(jù)權(quán)利要求1所述基于滑動窗口的郵件指紋提取方法,其特征在于,在獲取郵件正文的指紋步驟中,所述滑動窗口構(gòu)造三元組的長度為5。
6.根據(jù)權(quán)利要求1所述基于滑動窗口的郵件指紋提取方法,其特征在于,在獲取郵件正文的指紋步驟中,由滑動窗口塊構(gòu)造出8個三元組,采用32個字節(jié)來保存郵件正文的指紋。
7.根據(jù)權(quán)利要求1所述基于滑動窗口的郵件指紋提取方法,其特征在于,在獲取郵件正文的指紋步驟中,采用32個字節(jié)來保存256位字節(jié)數(shù)組表示郵件正文的指紋。
8.一種應(yīng)用權(quán)利要求1至7中任一權(quán)利要求所述基于滑動窗口的郵件指紋提取方法的郵件相似判斷方法,包括如下步驟提取郵件指紋提取基于滑動窗口的郵件正文摘要信息的指紋,所述郵件指紋包括郵件正文摘要信息的指紋和郵件正文的指紋;郵件相似性的判斷分別將兩封郵件中郵件摘要的指紋以及郵件正文的指紋進行比較,根據(jù)比較結(jié)果的相似性判斷該兩封郵件是否相似。
9.根據(jù)權(quán)利要求8所述郵件相似判斷方法,其特征在于,在郵件相似性的判斷步驟中,對于兩封郵件摘要的指紋相等的字節(jié)大于等于7以及兩封郵件正文的指紋相似度大于 90%,則判斷兩封郵件正文相同。
全文摘要
本發(fā)明涉及一種基于滑動窗口的郵件指紋提取方法及郵件相似判斷方法,采用基于滑動窗口的郵件指紋提取方法及郵件指紋來判斷郵件的相似性程度,在提取郵件指紋過程中,采用滑動窗口塊的方法提取郵件正文摘要信息指紋及郵件正文指紋的方法提取郵件指紋,本發(fā)明通過獲取兩種指紋來獲取郵件指紋,既提高了郵件差別的準確性,又減少了保存的指紋值,大大方便了郵件相似性的判別,對垃圾郵件的處理效果更好。
文檔編號G06F17/30GK102323934SQ20111025508
公開日2012年1月18日 申請日期2011年8月31日 優(yōu)先權(quán)日2011年8月31日
發(fā)明者丁德平, 戚國飛, 汪志新, 翁善錦 申請人:深圳市彩訊科技有限公司