朴素贝叶斯过滤过滤垃圾邮件的效果如何?
我听说垃圾邮件发送者很容易通过填充额外的非垃圾邮件相关词来绕过它们。贝叶斯过滤器可以使用哪些编程技术来防止这种情况发生?
朴素贝叶斯过滤过滤垃圾邮件的效果如何?
我听说垃圾邮件发送者很容易通过填充额外的非垃圾邮件相关词来绕过它们。贝叶斯过滤器可以使用哪些编程技术来防止这种情况发生?
早在 2002 年 8 月, Paul Graham 就在他的原始文章A Plan for Spam中真正将使用贝叶斯垃圾邮件过滤的想法引入了整个网络。然后,大约一年后他的后续行动介绍了许多问题很快就出现了。这些仍然是该主题的出色作品。
在第二篇文章中,Graham 提到了使用CRM114,它适用于比空格分隔的单词更广泛的模式集。CRM114 很酷,但对垃圾邮件过滤系统没有太多实施帮助。
有用于贝叶斯垃圾邮件过滤的开源工具,如Death2Spam和SpamProbe。
我发现没有什么比通过 Gmail 帐户过滤邮件更有效的了。狩猎愉快。
我认为要击败您提到的那种垃圾邮件攻击,重要的不是学习方法,而是您训练的功能。我使用 Fidelis Assis 的OSBF-Lua,它是一个非常成功的过滤器:它不断赢得垃圾邮件过滤器的竞赛。它使用贝叶斯学习,但我认为它成功的真正原因是三个原则:
它训练的不是单个单词,而是稀疏的二元组:一对由 0 到 4 个“无关”单词分隔的单词。垃圾邮件发送者必须将他们的信息放在某个地方,而稀疏的二元组非常擅长将它们排除在外。它甚至可以找到附件垃圾邮件!
它对邮件标头进行了额外的培训,因为垃圾邮件发送者很难掩饰这些标头。示例:源自您的网络且从不通过网络外中继主机的消息可能不是垃圾邮件。
如果垃圾邮件过滤器对其分类的置信度较低,它会请求人工输入。(实际上,它会添加一个标头字段,上面写着“请在此消息上对我进行培训”;人类可以忽略该请求。)这意味着随着垃圾邮件发送者发展新技术,您的过滤器也会发展以匹配。
这种技术组合非常有效。
免责声明:我与 Fidelis 合作重构了一些软件,以便将其用于其他目的,例如将普通邮件分类为组,或者可能有一天尝试检测博客评论和其他地方的垃圾邮件。
我使用Popfile不仅可以分类垃圾邮件,还可以将我的电子邮件分类,我发现它非常有效。它使用朴素贝叶斯过滤器。
你是对的,朴素贝叶斯过滤器容易受到贝叶斯中毒。