Pergunta

Eu estou procurando uma biblioteca Python que faz filtragem de spam Bayesian. Olhei para SpamBayes e OpenBayes, mas ambos parecem ser não-mantido (Eu posso estar errado).

Alguém pode sugerir uma boa Python (ou Clojure, Common Lisp, mesmo rubi) biblioteca que implementa Bayesian filtragem de spam?

Agradecemos antecipadamente.

Clarificação : Eu estou realmente olhando para um Bayesian Spam Classificador , e não necessariamente um filtro de spam. Eu só quero treiná-lo usando alguns dados e depois me diga se alguns dados fornecidos é spam. Pedimos desculpas por qualquer confusão.

Foi útil?

Solução

Você quer filtragem de spam ou Bayesian classificação?

Para a classificação Bayesiana, há uma série de módulos Python. Eu estava apenas recentemente rever Laranja que parece muito impressionante. R tem um número de módulos de Bayesian. Você pode usar RPY para ligar para R.

Outras dicas

Tente reverendo . É um módulo de filtragem de spam.

RedisBayes parece ser bom para mim:

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

Em minha experiência Redis é uma adição impressionante a seus dados de pilha e de processos ajuda pode pelo super rápido velocidades em comparação com MySQL, PostgreSQL ou qualquer outro 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')

Espero que ajude um pouco.

Tente usar bogofilter , eu não tenho certeza de como ele pode ser usado a partir de Python. Bogofilter é integrado com muitos sistemas de correio, o que significa uma relativa facilidade de interface.

SpamBayes é mantido, e é maduro (ou seja, ele funciona sem ter que ter nova libera o tempo todo). Ele será facilmente fazer o que quiser. Note-se que SpamBayes é apenas vagamente Bayesiana (ele usa qui-quadrado combinando), mas provavelmente você está atrás de qualquer tipo de classificação com base em token estatística, ao invés de algo especificamente Bayesian.

Um módulo no kit de ferramentas de linguagem natural Python (nltk) faz ingênua classificação Bayesiana: nltk.classify.naivebayes .

Disclaimer:. Eu sei porcaria toda sobre a classificação Bayesiana, ingênuos ou mundanos

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top