Domanda

Sto cercando una libreria Python che fa bayesiano Spam Filtering. Ho guardato SpamBayes e OpenBayes, ma entrambi sembrano essere più mantenuto (potrei sbagliarmi).

Qualcuno può suggerire un buon Python (o Clojure, Common Lisp, anche Ruby) libreria che implementa bayesiano Spam Filtering?

Grazie in anticipo.

Chiarimento : Sono in realtà alla ricerca di un bayesiano Spam Classificatore e non necessariamente un filtro anti-spam . Voglio solo di allenarsi utilizzando alcuni dati e poi dirmi se qualche dato dei dati è spam. Ci scusiamo per la confusione.

È stato utile?

Soluzione

Vuoi filtraggio dello spam o classificazione bayesiana?

Per classificazione bayesiana ci sono una serie di moduli Python. Stavo solo di recente rivedendo Arancione che sembra molto impressionante. R ha un certo numero di moduli Bayesiane. È possibile utilizzare RPY per collegare in R.

Altri suggerimenti

reverendo . E 'un modulo di filtraggio spam.

RedisBayes sembra buono per me:

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

Nella mia esperienza Redis è un impressionante aggiunta al vostro stack e può aiutare a elaborare i dati a velocità sorprendenti veloce rispetto a MySQL, PostgreSQL o qualsiasi altro 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')

La speranza che aiuta un po '.

bogofilter , io non sono sicuro di come esso può essere utilizzato da Python. Bogofilter è integrato con molti sistemi di posta, il che significa una relativa facilità di interfacciamento.

SpamBayes è mantenuto, ed è maturo (cioè che funziona senza la necessità di avere nuovi rilascia tutto il tempo). Sarà facilmente fare quello che vuoi. Si noti che SpamBayes è solo vagamente bayesiano (usa chi-quadrato che unisce), ma presumibilmente sei dopo qualsiasi tipo di classificazione statistica basata su token, piuttosto che qualcosa di specificamente bayesiana.

Un modulo in linguaggio naturale toolkit Python (NLTK) fa ingenuo classificazione bayesiana: nltk.classify.naivebayes .

. Disclaimer: So tutto di merda classificazione bayesiana, ingenuo o mondana

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top