代码之家  ›  专栏  ›  技术社区  ›  Baishampayan Ghose

python的贝叶斯垃圾邮件过滤库

  •  19
  • Baishampayan Ghose  · 技术社区  · 15 年前

    我正在寻找一个可以过滤贝叶斯垃圾邮件的python库。我看了看Spambayes和OpenBayes,但两者似乎都没有维护(我可能错了)。

    有人能推荐一个好的实现贝叶斯垃圾邮件过滤的python(或clojure、common lisp、甚至ruby)库吗?

    事先谢谢。

    澄清 :我实际上在找一个 贝叶斯垃圾邮件分类器 不一定是垃圾邮件过滤器。我只想用一些数据来训练它,然后告诉我一些给定的数据是否是垃圾邮件。不好意思弄混了。

    6 回复  |  直到 12 年前
        1
  •  11
  •   Daniel    15 年前

    你想要垃圾邮件过滤还是贝叶斯分类?

    对于贝叶斯分类,有许多python模块。我最近刚复习 Orange 这看起来很令人印象深刻。R有许多贝叶斯模块。你可以使用 Rpy 钩住

        2
  •  12
  •   Seun Osewa    13 年前

    尝试 Reverend . 这是一个垃圾邮件过滤模块。

        3
  •  9
  •   gnrfan    12 年前

    Redisbayes看起来不错:

    http://pypi.python.org/pypi/redisbayes/0.1.3

    在我的经验中,Redis是对您的堆栈的一个很棒的添加,与MySQL、PostgreSQL或任何其他RDBMS相比,它可以帮助以极快的速度处理数据。

    import redis, redisbayes
    rb = redisbayes.RedisBayes(redis=redis.Redis())
    
    rb.train('good', 'sunshine drugs love sex lobster sloth')
    rb.train('bad', 'fear death horror government zombie god')
    
    assert rb.classify('sloths are so cute i love them') == 'good'
    assert rb.classify('i fear god and love the government') == 'bad'
    
    print rb.score('i fear god and love the government')
    
    rb.untrain('good', 'sunshine drugs love sex lobster sloth')
    rb.untrain('bad', 'fear death horror government zombie god')
    

    希望能有所帮助。

        4
  •  3
  •   gimel    15 年前

    尝试使用 bogofilter ,我不知道如何从python中使用它。 Bogofilter与许多邮件系统集成,这意味着接口相对容易。

        5
  •  3
  •   Tony Meyer    15 年前

    SpamBayes 维护,并且是成熟的(即它不需要一直有新的版本就可以工作)。它很容易做到你想要的。请注意,Spambayes只是松散的贝叶斯(它使用卡方组合),但可能您是在追求任何基于统计标记的分类,而不是某种特定的贝叶斯分类。

        6
  •  1
  •   Paul D. Waite    15 年前

    python自然语言工具包(nltk)中的一个模块进行了na_ve贝叶斯分类: nltk.classify.naivebayes .

    免责声明: 我知道所有关于贝叶斯分类法的废话,无论是自然的还是世俗的。

    推荐文章