2012-07-20, 15:27 | #1 (permalink) |
高级会员
注册日期: 2011-07-06
帖子: 109
|
反垃圾邮件网关技术贝叶斯分析技术介绍
反垃圾邮件网关技术贝叶斯分析技术介绍
在说到反垃圾邮件网关的垃圾邮件过滤技术中就不得不提到贝叶斯分析技术,贝叶斯分析得名于著名数学家托马斯贝叶斯(170 在说到反垃圾邮件网关的垃圾邮件过滤技术中就不得不提到贝叶斯分析技术,贝叶斯分析得名于著名数学家托马斯·贝叶斯(1702-1761),他发展了一个数学领域全新的可能性推论理论,即贝叶斯理论。贝叶斯分析的核心是贝叶斯定理,这是统计学中的一个重要定理,根据该定理,可以根据已知事件发生的概率(该概率可以通过对已发生的事件进行统计获得)来计算下一次该事件发生的可能性。 垃圾邮件系统中的贝叶斯分析技术,就是利用贝叶斯定理。如果垃圾邮件系统以已知垃圾邮件和非垃圾邮件为样本,通过对样本邮件内容的分析和统计,来计算下一封邮件可能是垃圾邮件的概率。 贝叶斯分析需要以已知的邮件作为样本进行自学习,从理论上说,所用的样本数量越多,贝叶斯分析的准确程度也就越高。但在梭子鱼垃圾邮件网关中,建议用户分别培养300封左右的垃圾邮件和支持邮件即可有一个很好的识别效果 1、贝叶斯过滤算法的基本步骤 (1)在反垃圾邮件网关中收集大量的垃圾邮件和非垃圾邮件,建立垃圾邮件集和非垃圾邮件集。 (2)提取邮件主题和邮件体中的独立符字符串,如ABC32 , Y234等作为TOKEN串并统计提取出的TOKEN串出现的次数,即字频。按照上述的方法分别处理垃圾邮件集和非垃圾邮件集中的所有邮件。 (3)每一个邮件集对应一个哈希表,hashtable_good对应非垃圾邮件集而hashtable_ bad对应垃圾邮件集。表中存储TOKEN串到字频的映射关系。 (4)计算每个哈希表中TOKEN串出现的概率:P=某TOKEN串的字频/对应哈希表的长度。 (5)综合考虑hashtable_ good和hashtable_ bad ,推断出当新来的邮件中出现某个TOKEN串时,该新邮件为垃圾邮件的概率。数学表达式为: A事件---邮件为垃圾邮件, tl,t2,""",tn代表TOKEN串, 则P(A|ti)表示在邮件中出现TOKEN串ti时,该邮件为垃圾邮件的概率。 设 P1(ti)=(ti在hashiable_good中的值) P2(ti) =(ti在hashtable_ bad中的值) 则P(A|ti)= P1(ti)/[(P1(ti)+ P2(ti)] (6)建立新的哈希表hashtable_probability存储TOKEN串ti到P(A|ti)的映射. (7)至此,垃圾邮件集和非垃圾邮件集的学习过程结束。根据建立的哈希表hashtable_ probability可以估计一封新到的邮件为垃圾邮件的可能性。 当新到一封邮件时,按照步骤(2)生成TOKEN串。查询hashtable_probability得到该TOKEN串的键值。 假设由该邮件共得到N个TOKEN串,分别为t1, t2, """, tn,hashtable_probability中对应的值分别为P1,P2,""",PN. P(A|t1,t2,t3"""tn)表示在邮件中同时出现多个TOKEN串tl, t2"""tn时,该邮件为垃圾邮件的概率。 由复合概率公式可得 P(A|t1,t2,t3"""tn) =(P1,P2...*PN)/[P1,P2...*PN+ (1-Pl) (1-P2)... (1-PN)] 当P(A|tl,t2,t3...tn)超过预定阀值时,就可以判断邮件为垃圾邮件。 2、贝叶斯过滤算法举例 例如:在反垃圾邮件网关中有一封含有“法轮功”字样的垃圾邮件A和一封含有“法律”字样的非垃圾邮件B,根据邮件A生成hashtable_ bad,该哈希表中的记录为 法:1次 轮:1次 功:1次 计算得在本表中: 法出现的概率为0.3 轮出现的概率为0.3 功出现的概率为0.3 根据邮件B生成hashtable_good,该哈希表中的记录为 法:1 律:1 计算得在本表中: 法出现的概率为0.5 律出现的概率为0.5 综合考虑两个哈希表,共有4个TOKEN串:法轮功律 当邮件中出现“法”时,该邮件为垃圾邮件的概率为 P=O. 3/ (0. 3+0. 5) =0.375 P=O. 3/(0. 3+0. 5) =0. 375 出现“轮”时: P=0. 3/(0. 3+0)二1 出现“功”时: P=O. 3/(0. 3+0) =1 出现“律”时 P=0/(0+0.5)=0; 由此可得第3个哈希表:hashtable_probability其数据为:0.375 法轮功律 当新到一封含有“功律”的邮件时,可得到两个TOKEN串:功律。 查询哈希表hashtable_probability可得 P(垃圾邮件|功)=1 P(垃圾邮件|律)=0 此时该邮件为垃圾邮件的可能性为: P=(OX 1)/[OX 1+(1-0)x(1-1)]=o 由此可推出该邮件为非垃圾邮件。 贝叶斯技术的出现,为基于内容分析的反垃圾邮件网关技术提出了一条新路。它既克服了传统内容分析技术准确性低、误报率高的缺陷,又不需要预先搜集和编制关键词表,特别是结合了其他垃圾邮件分析技术后,可以实现对样本的自动采集和学习,而不需要邮件系统管理员的额外干预。由于贝叶斯分析技术具有这些优点,因此,它在各种反垃圾邮件网关系统中都得到了广泛的应用。 但贝叶斯技术也不是无懈可击的。它还是一种基于内容分析的方法,因此,通过对内容进行特殊处理,比如将关键的内容改成图片等,让贝叶斯过滤器无法找到可分析的内容。就可以逃过贝叶斯技术的检查。 |