天真贝叶斯过滤对过滤垃圾邮件的效果如何?
我听说垃圾邮件发送者可以通过填充额外的非垃圾邮件相关词语来轻松绕过它们.您可以使用哪些编程技术与贝叶斯过滤器进行预防?
2002年8月,保罗·格雷厄姆(Paul Graham)真正将他的原创文章"垃圾邮件计划"(A Plan for Spam)引入网络,真实地引入了网络垃圾邮件过滤的想法.然后,他在一年左右的后续工作中引入了许多问题.迅速起来.这些仍然是关于这个主题的非常好的作品.
在第二篇文章中,格雷厄姆提到使用CRM114,它可以在更广泛的模式集上工作,而不仅仅是空格分隔的单词.CRM114很酷,但对垃圾邮件过滤系统没有太多实施帮助.
有针对Bayesian垃圾邮件过滤的开源powertools,如Death2Spam和SpamProbe.
我发现没有什么比通过Gmail帐户过滤邮件更有效了.快乐狩猎.
我认为,为了击败你提到的那种垃圾邮件攻击,重要的不是学习方法,而是你训练的功能.我使用Fidelis Assis的OSBF-Lua这是一个非常成功的过滤器:它一直在赢得垃圾邮件过滤器的竞争.它使用贝叶斯学习,但我认为它成功的真正原因是三个原则:
它不是用单个词训练,而是用稀疏的双字母训练:一对由0到4分开的单词"不关心"单词.垃圾邮件发送者必须将他们的信息放在某个地方,而稀疏的双子星座非常善于将它们排除在外.它甚至发现附带垃圾邮件!
它对邮件标题进行了额外的培训,因为垃圾邮件发送者难以伪装.示例:源自您的网络但从不通过网络外中继主机的邮件可能不是垃圾邮件.
如果垃圾邮件过滤器对其分类的置信度较低,则它会请求来自人的输入.(在实践中,它添加了一个标题字段,说"请训练我这条消息";人类可以忽略该请求.)这意味着随着垃圾邮件发送者不断发展新技术,您的过滤器会逐渐变得匹配.
这种技术组合非常有效.
免责声明:我曾与Fidelis合作重构某些软件,以便将其用于其他目的,例如将常规邮件分组或可能有一天试图在博客评论和其他地方检测垃圾邮件.