
第28卷第8期
2011年8月
計算機應用與軟件
Computer Applications and Software
V0l_28 No.8
Aug.2011
中文垃圾郵件過濾綜合方法
李玉峰 郜曉晶
(內蒙古農業大學計算機與信息工程學院 內蒙古呼和浩特010018)
摘 要 隨著電子郵件在人們生活中的廣泛應用,垃圾郵件的危害也日益引起人們的重視。目前,已經有一些過濾系統在英文環
境中取得了較好的過濾效果,但在中文環境中,過濾效果不夠理想。針對中文垃圾郵件,提出一種將基于IP的白名單過濾、基于規則
的SpamAssassin過濾、基于統計的貝葉斯過濾結合在一起的垃圾郵件綜合過濾方法,并在Linux下的實驗中取得良好的過濾效果。
關鍵詞 垃圾郵件過濾 貝葉斯分類SpamAssassin
中圖分類號TP317.2 文獻標識碼A
CoMPREHENSIVE APPRoACH FoR CHINESE SPAM EMAIL FILTERING
Li Yufeng Gao Xiaojing
(College of Computer and Information Engineering,Inner Mongolia Agricultural University,Hohhot 010018,Inner Mongolia,China)
Abstract With the wide application of E—mail in people’S daily life,the harm incurred by the spam attracts increasing attentions.At
present,some filtering systems have got satisfied filtering effect in English circumstances.However in Chinese circumstances,the filtering
effect is still not ideal yet.For the Chinese spam,this paper proposes a comprehensive spam filtering method which combines the IP—based
white list filtering,the principle—based SpamAssassin filtering and the statistic-based Bayesian—filtering together,and it achieves perfect
ifltering effect in the experiment in Linux system.
Keywords Spam filtering Bayesian-classiifcation SpamAssassin
在基于規則的垃圾郵件過濾技術方面,SpamAssassin處于
0 引 言
遙遙領先的地位 J,己經被RedHat公司OEM到RedHat Linux
的標準安裝組件里。另外,SpmaAssassin可成為完全獨立的平
隨著Internet應用在全球的快速普及,電子郵件已經成為人
臺,當被最終用戶或系統管理員調用時,可以方便地與Proc-
們日常生活中通信、交流的重要手段之一。然而,垃圾郵件的濫
mail、Sendmail或Qmail以及其它MTA一起使用,為單一用戶甚
發,不僅浪費了大量的網絡資源,而且給整個社會帶來很大危
至整個站點過濾垃圾郵件。其次,它允許用戶自定義規則和修
害。其中中文垃圾郵件占很大比重。
改規則權值。研究表明,經過合適的參數調整,SpmaAssassin可
目前,隨著垃圾郵件過濾技術的不斷發展,已經有一些垃圾
以過濾90%的垃圾郵件 。
郵件過濾系統在英文環境中取得了較好的過濾效果,但在中文
盡管SpamAssassin在設計的時候考慮了多種語言的兼容
環境中,過濾效果均不夠理想,不能滿足用戶的要求。本文對幾
性,但目前廣泛應用的都是比較適合英文用戶的版本,其中絕大
種常用的過濾算法進行了研究,分析了它們在中文環境中存在
部分是英文過濾規則,中文用戶使用前需要對其進行較大的調
的問題,根據各算法的優缺點,提出了一種中文環境中的垃圾郵
整,要使中文垃圾郵件過濾更有效,還需要添加中文過濾規則,
件綜合過濾方法,首先通過白名單過濾,將在白名單中的正常郵
件直接接收,然后通過基于規則的方法過濾,保證誤判率為0,
并經常更新。
常用的基于概率統計的分類方法中,貝葉斯 作為一種經
最后通過基于統計的方法過濾,盡量提高查全率,并在Linux下
典的概率統計算法,在垃圾郵件過濾方面得到了廣泛的應用。
完成實驗,取得了良好的過濾效果。
貝葉斯過濾器與以前收到的垃圾郵件和合法郵件中相同詞語及
短語出現的概率對比來確定垃圾郵件的可能性。貝葉斯過濾器
1垃圾郵件過濾技術
功能強大,但它僅在英文郵件環境中得到實現。文獻[5]描述
了一些對簡單貝葉斯方法的一些可能改進,得到了99.75%的垃
目前,垃圾郵件過濾技術主要集中在基于郵件地址、標題和
圾郵件過濾準確率。中文郵件與英文郵件存在較大的差異,首
內容進行過濾。從實際應用分析,郵件內容是郵件的主要信息
先是中文分詞和特征選取具有更大難度,英文是用空格簡單地
載體,因此對郵件內容進行過濾被認為是目前最有效的過濾方
法。基于內容的郵件過濾方法主要分為基于規則匹配和基于概
收稿日期:2010—05—15。李玉峰,講師,主研領域:計算機網絡,網
率統計兩類 。
絡安全,多媒體技術。
220 計算機應用與軟件 20l 1年
分詞,而中文的詞與詞之間沒有直接的分詞符號,通常是通過人
的理解來劃分的,而中文語義理解還處于研究初期。這些差異
Assassin規則庫,保證他們的及時更新。將用戶發送的郵件提
取內容作為特征詞庫的學習資料,提取收件方地址作為白名單
對于步驟(2)和步驟(3)提到的基于SpamAssassin過濾昕
使得直接將該貝葉斯算法的過濾器應用于中文環境顯然是不合
理的。目前還沒有基于該算法的過濾工具被很好地設計實現 需的規則庫,以及基于貝葉斯過濾所需的特征詞庫,需要經過
來. .
2所示步驟生成。
2綜合過濾方法
由于基于規則過濾的工具如SpamAssassin和基于統計的過
濾方法,如貝葉斯過濾器在垃圾郵件過濾方面已經達到了比較
高的準確率 ,但都是在英文垃圾郵件過濾中取得較好的效
果。相對來說,基于規則匹配的過濾方法檢測垃圾郵件的準確
率高,不能檢測新的垃圾郵件,即漏檢率高。而基于概率統計的
過濾方法檢測垃圾郵件的準確率相對不高,但能檢測新的垃圾
郵件,即漏檢率低。鑒于以上分析,兩種方法各有優缺點,為了
加強過濾效果,本文運用基于規則方法和基于統計方法相結合
的過濾方案,首先通過白名單過濾,將正常郵件直接接收,然后
通過基于規則方法的SpamAssassin過濾,保證誤判率為0,最后
通過基于統計方法的貝葉斯過濾器過濾,盡量提高查全率。過
濾流程如圖1所示。
圖1 中文垃圾郵件過濾流程圖
(1)對于一封新到達的郵件,系統首先查看郵件的發送方
地址,如果在白名單中,則直接送到用戶郵箱,否則進入基于規
則的SpamAssassin過濾。
(2)基于規則的SpamAssassin過濾要求達到零誤報率。根
據實際情況調整規則的分值,通過訓練集生成規則庫添加中文
規則,并定期更新Chinese—rules.cf中文規則。經過SpamAssas-.
sin過濾判別為垃圾郵件的直接進入Spare集。
(3)通過規則過濾的郵件經過中文分詞、特征選取,進入貝
葉斯過濾器過濾,貝葉斯算法以特征詞庫為基礎,對這封郵件的
全文進行查看和計算后做出判斷。判別為垃圾郵件的進入
Spare集,對于處于判別邊界值的郵件放人疑似集,提交給用戶
處理 j
(4)將過濾后的正常郵件提交用戶閱讀。并將Spam集打
包給用戶審閱 .
(5)將過濾產生的Spam集和Ham集以及用戶的手動反饋 fang.ef文件中添加whitelist—from @ccert.edu.cn,會使所有來
信息,交由貝葉斯過濾的特征詞庫進行再學習,并更新Spam. 自ccert.edu.cn的郵件被視為正常郵件。根據文獻[10]通過實
圖2生成SpamAssassin中文規則和貝葉斯特征詞厙過程
本文采用Java語言編程實現郵件解碼,采用Javamail實
郵件元素的分離。關于特征選取部分,采用中國科學院計算技
術研究所提供的漢語詞法分析系統ICTCLAS(Institute of Corn—
puting Technology,Chinese Lexical Ana1),sis System)實現咔l文分
詞,該系統的分詞正確率高達97.58% 特征選取辦法采川
DFR,文獻[8]實驗結果表明,在英文文本分類中表現良好的特
征抽取方法(IG、MI和CHI),但是在中文文本分類實驗中的表
現遠遠不及DF,并分析了原因..文獻[9]針對DF依賴高頻i百J
的缺點,MI對低頻詞依賴等特點,對DF進行了改進,用新函數
DFR(Document Frequency Ratio)文本頻率比值進行特征選取,
實驗顯示,DFR比DF具有更好的特征選擇效果,而且保留了原
公式簡單高效的優點。
計算權值并生成特征詞庫和SpamAssassiO中文規則分為以
下幾步完成:
(1)將垃圾郵件集和正常郵件集經過郵件解碼、元素分離、
中文分詞后,得到垃圾郵件集對應的subject—bad,body—bad表,
正常郵件集對應的subject一_good和body—good表。采用以上提
到的DFR方法將subject.一bad表和subject.good表作為一個訓練
集,將body—bad表和bode—good表作為一個訓練集,分別得到4
張特征詞表,經過特征選取后,分別由subject—bad和subject—
good得到垃圾郵件主題特征詞表s ̄bjm,由body—bad和body—
good得到垃圾郵件信體特征詞表body。這兩張表的key為to—
ken,value為probability。
(2)按照特征詞的垃圾郵件概率值(probabihty)由大到小
進行排序,分別從垃圾郵件主題特征詞表(subject)和垃圾郵件
信體特征詞表(bc,ay)中,選取500個主題特征詞和5OO個信體
內容特征詞,根據SA的規則寫法標準建立相應的sA主題規則
和內容規則,名字分別表示為“CN—subject”和“CN—body”。利用
sA提供的mass—check腳本對中文規則進行評估,最后選出500
條最好的規則。
(3)將垃圾郵件主題特征詞表(subject)和垃圾郵件信體特
征詞表(body)合并生成貝葉斯特征詞庫。其中兩個表中十}{同
的特征詞的權值取二者平均值..本系統使用spamAssassin提供
的白名單功能,如在Linux下/etc/mail/SpamAssassin/sa,.mimede-
第8期 李玉峰等:中文垃圾郵件過濾綜合方法 221
驗中獲得的中文郵件對于SpamAssassin自帶的缺省英文規則的 中文郵件進行測試,將閾值設置為5個等級,實驗結果見表2
匹配情況表,調整了SpamAssassin自帶英文規則的分值。根據
所示。
對郵件訓練集的學習獲得特征詞,按照SpamAssassin過濾規則
表2使用SpamAssassin缺省英文規則過濾的實驗結果
的格式,添加中文過濾規則。通過以下步驟設置實現CCERT的
闞值 查全率 誤判率
中文垃圾郵件過濾規則集Chinese_rules.cf的定期更新。
O.5 67.4% 55.3%
(1)下載中文過濾規則集Chinese_rules.cf,在Linux下執行
語句wget-N—P/usr/share/spamassassin/www.ccert.edu.cn/spam/
1.5 62.3% 54.25
sa/Chinese
_
mles.cfo
2.5 58.5% 49.7%
(2)實現中文過濾規則集Chinese—rules.cf一個月更新一
次,在root的crontab中添加一行:001¥ wget-N—P/usr/share/
3.5 54.2% 48.4%
spamAssassin http://www.ccert.edu.cn/spam/sa/Chineserules.
—
4.5 48.6% 45.3%
cf重新啟動init—script,在Linux下執行:/etc/init.d/init—script re-
(2)調整SpamAssassin自帶規則并補充中文規則后,采用
“10次交叉驗證方法”,結果取平均值。閾值設置為9個等級,
3綜合過濾系統測評
實驗結果如表3所示,與表2比較過濾效果有明顯提高。通過
調整閾值使正常郵件誤判率下降的情況下,垃圾郵件查全率也
3.1 郵件訓練集和測試集的獲取
在下降,當閾值為3.5時,達到誤判率為0的過濾目的,但是查
本文使用的郵件集的收集主要采用以下兩種方式:
全率不是很高,所以要采用貝葉斯過濾器作進一步過濾。
(1)通過收集內蒙古農業大學校園網郵箱教師和學生正常
表3調整補充Spamassassln規則后的過濾結果
郵件1034封,垃圾郵件1203封。
閾值 查全率 誤判率
(2)CCERT提供的垃圾郵件和正常郵件集。其中選取
4056封正常郵件和5000封垃圾郵件。
0.5 84.6% 4.1%
由于郵件集中既有簡體中文郵件又有英文和繁體中文郵
1 81.1% 3.2%
件,所以經過編碼識別后,只保留簡體中文郵件10223封,其中
垃圾郵件5702封,正常郵件4521封。然后采用K次交叉驗證
1.5 77.9% 2.O%
方法… (K-fold cross validation),將這10223封郵件分為10份,
2 73.5% 1.4%
每份大約1022篇,每次取其中的9份作為訓練集,另外1份作
為測試集,如此交叉做10次。
2.5 69.2% O.7%
3.2評價指標
3 66.3% 0.1%
本文借鑒了文本分類和信息檢索領域的一些指標。設測試
3.5 63.5% O.0%
集中有Ⅳ封郵件,為了敘述方便,先定義幾個變量,見表1所
示,其中,N A+ +C+D。
4 59.8% O.0%
表1變量定義表
4.5 55.4% O.0%
正確為SPAM 正確為非SPAM
(3)貝葉斯過濾器作為本系統的第三層過濾組件,主要對
系統判定為SPAM A 曰
通過SpamAssassin過濾后郵件采用統計的方法進行過濾,它利
系統判定為非SPAM C D
用前面學習過程中生成自己特征詞庫對郵件作出判斷,實驗使
定義如下評價指標:
用貝葉斯過濾器SpamBayes,過濾結果見表4和表5,表5與表4
(1)查全率(也叫召回率)(Recal1):Recall=D/(C+D)×
相比較,經過對中文郵件的分詞和特征選取、建立特征詞庫后并
100%,即垃圾郵件檢出率。該指標反映了過濾系統發現垃圾郵
作為第三步組件進行過濾,過濾效果有明顯提高。
件的能力,召回率越高,“漏網”的垃圾郵件就越少。
表4貝葉斯過濾器直接過濾的結果
(2)誤判率(Error):Error=(B+C)/N×100%。
貝葉斯算法
3.3實驗環境和結果
查全率 87.2%
1)實驗環境
本系統選擇Linux Red Hat 9.0作為操作系統,數據庫采用
誤報率 7.5%
MySQL 4.020和bsddb,其中bsddb數據庫主要供貝葉斯過濾器
表5貝葉斯過濾器作為第三步過濾的結果
SpamBayes使用,在安裝SpamBayes時由Python自帶,編程語言
貝葉斯算法
采用Java。選擇性能穩定的Sendmail作為MTA,并且安裝了開
查全率 92.7%
源軟件Apache和OpenWebmail,以提供WebMail服務。
誤報率 3.8%
2)實驗方法和結果
(1)使用SpamAssassin自帶的缺省英文規則對測試集中的
(下轉第226頁)
226 計算機應用與軟件 2011血
圖6為空間查詢結果的示例。
_.
,
孵 。。_u 一
、
i
江蘇省銅礦
礦產地慧數:1 3
最小值.O019
最大值 9238 000
平均值 96b b27
總和.’2551 e53
單位萬噸
6空間查詢結果
3.4屬性查詢模塊
全部屬性 系統首先將彈出文件選擇窗口,用戶須選擇點
文件,返回文件的工作區號和屬性結構類型,然后系統以表格的
形式顯示當前窗Vl中全部點的所有可見屬性值。
單點屬性系統將彈出文件選擇窗口,用戶須選擇點文件,
返回文件的工作區號和屬性結構類型,此時系統處在單點查詢
狀態,用戶雙擊所需查詢的礦產地的點圖元時,系統則彈出窗體
顯示該礦產地的可見屬性值,但此處不允許用戶進行修改。
修改屬性此處用戶在彈出的對話框中選擇點文件后系統
即處在單點編輯狀態,用戶雙擊所需修改的礦產地的點圖元時,
系統則彈出窗體顯示該礦產地的全部屬性值,此處允許用戶進
行修改。
3.5設置路徑模塊
系統彈出對話框,對話框中顯示當前MAPGIS客戶端的矢
量庫和系統庫目錄供用戶修改。
4 結 語
該系統設計合理,具有瀏覽全局、空間查詢、屬性查詢、統
計、屬性編輯、底圖選擇和疊加、結果圖形輸出等多項功能,實現
了直觀顯示查詢結果空間位置和屬性的目標。界面友好簡潔,
不熟悉GIS軟件操作的人員也可以方便地使用,在使用過程中
受到專家的好評,它是一個有創新的實用的軟件。
參考文獻
【1]王強,王永春,滕壽仁.MAPGIS二次開發在國家儲量空間數據庫
中的運用[J].西部探礦工程,2006,18(12).
[2]Hart J M.Windows System Programming[M].機械工業出版
社,2005.
[3]薩師渲.數據庫系統概論[M].北京:高等教育出版社,1991.
[4]中國地質大學(武漢)信息工程學院.MAPGIS地理信息系統開發
手冊[M].1998.
[5]趙森,廖望,梁乘銘.Visual C++程序設計教程[M].冶金工業出
版社,2006.
[6]吳信才,鄭貴洲,謝忠,等.地理信息系統設計與實現[M].北京:電
子工作出版社,2002.
[7]夏云慶.Visual C++6.0數據庫高級編程[M].北京希望電子出版
社。2002.
[8]Chang K T.地理信息系統總論[M].科學出版社,2003.
[9]蔡洪春,張春明,等.基于GIS技術的礦產資源信息系統[J].地質
與資源,2003.
(上接第221頁)
3.4實驗結果分析
通過以上實驗,說明將基于IP的白名單過濾和基于規則的
SpamAssassin過濾,以及基于統計的貝葉斯過濾算法相結合,對
中文垃圾郵件的過濾有很大貢獻。雖然與文獻[12]通過改進
貝葉斯算法設計的中文垃圾郵件過濾的98%的查全率相比,與
文獻[13]基于RBF神經網絡學習得到中文垃圾的99%過濾效
果相比,還有一定的差距,但可以通過改進中文分詞方法、特征
選取方法、以及在實際應用中隨著郵件訓練集的不斷積累而達
到更好的過濾效果。
4結語
本文首先描述了基于規則匹配的SpamAssassin過濾方法,
和基于統計技術的貝葉斯過濾方法在英文垃圾郵件過濾中的良
好效果,以及在中文垃圾郵件過濾中的不足,SpamAssassin缺省
英文規則的調整、補充中文規則以及自動更新CCERT的中文過
濾規則集等方法克服SpamAssassin在中文垃圾郵件過濾中的不
足,通過在貝葉斯過濾器過濾之前增加獨立的中文分詞和特征
選取模塊,使貝葉斯過濾器適用于中文環境。將該方法在Linux
下完成實驗,將英文垃圾郵件過濾中應用效果很好的Spam—
Assassin和貝葉斯過濾器這樣的開源軟件應用于中文環境,設
計并實現中文垃圾郵件過濾系統,可以很好地完成中文垃圾郵
件的過濾。
參考文獻
[1]王斌,潘文鋒.基于內容的垃圾郵件過濾技術綜述[J].中文信息
學報,2005,19(5):1~10.
[2]SpamAssassin網站[OL].http://www.spamassassin.org.
[3]Graham P.Stopping Spam l OL].2003—08.http://www.paulgra—
ham.com/stopspam.htm.
[4]Deshpande V P,Erbacher R F,Harris C.An evaluation ot Nalve Bayes—
ian anti—spare filtering techniques[c]//Proceedings of the 2007 IEEE
Workshop nil Information Assurance United States Military Academy,
West Point,NY,20—22 June 2007:333—340.
[5]Graham Paul(2002).Better Bayesian Filtering[OL].2003—1 1—13
http://www.paulgraham.corn/spare.htm1.
[6]William Y.The spam—filtering accuracy plateau at 99 9%accuracy and
how to get past it[EB/OL].[s.1.]:MIT Spam Conference,2004
(2004—01—18)[2005—08—20],http://crml14.sourceforge.net/
PlateauPa—per.pdf.
—
[7]中文分詞網站[OL].http://ictclas.org.
[8]代六玲,黃河燕,陳肇雄.中文文本分類中特征抽取方法的比較研
究[J].中文信息學報,2004,18(1).
[9]寧慧,呂志龍.中文文本分類中特征選擇方法的研究[J].電腦知
識與技術,2007(21).
[10]徐激,龔儉.垃圾郵件的綜合過濾方法[J].計算機科學,2005,32
(2).
[1 1]李愛平,廖桂平,吳泉源.診斷型專家系統中的基于粗糙集的歸納推理
方法[J].廣西師范大學學報:自然科學版,2003,21(1):34—39
[12]黃志剛.基于貝葉斯的中文垃圾郵件過濾系統的設計與實現[D].
電子科技大學,2007.
[13]寧靜.基于數據挖掘的中文垃圾郵件過濾技術研究[D].西南交通
大學,2006.

本文發布于:2023-11-18 17:36:22,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/170030018294275.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:中文垃圾郵件過濾綜合方法.doc
本文 PDF 下載地址:中文垃圾郵件過濾綜合方法.pdf
| 留言與評論(共有 0 條評論) |