2009-02-17 16 views
19

के लिए बेयसियन स्पैम फ़िल्टरिंग लाइब्रेरी मैं पाइथन लाइब्रेरी की तलाश में हूं जो बेयसियन स्पैम फ़िल्टरिंग करता है। मैंने स्पैम्बेयस और ओपनबेस को देखा, लेकिन दोनों अनजान प्रतीत होते हैं (मैं गलत हो सकता हूं)।पायथन

क्या कोई भी एक अच्छा पायथन (या क्लोजर, कॉमन लिस्प, यहां तक ​​कि रूबी) लाइब्रेरी सुझा सकता है जो बेयसियन स्पैम फ़िल्टरिंग लागू करता है?

अग्रिम धन्यवाद।

स्पष्टीकरण: मैं वास्तव में एक बायेसियन स्पैम वर्गीकरणकर्ता और जरूरी नहीं कि एक स्पैम फ़िल्टर के लिए देख रहा हूँ। मैं बस कुछ डेटा का उपयोग करके इसे प्रशिक्षित करना चाहता हूं और बाद में मुझे बताता हूं कि कुछ दिया गया डेटा स्पैम है या नहीं। किसी भी भ्रम के लिए खेद है।

उत्तर

11

क्या आप स्पैम फ़िल्टरिंग या बेयसियन वर्गीकरण चाहते हैं?

बेयसियन वर्गीकरण के लिए कई पायथन मॉड्यूल हैं। मैं हाल ही में Orange की समीक्षा कर रहा था जो बहुत प्रभावशाली दिखता है। आर में कई बेयसियन मॉड्यूल हैं। आप Rpy का उपयोग आर

3

bogofilter का उपयोग करने का प्रयास करें, मुझे यकीन नहीं है कि इसका उपयोग पायथन से कैसे किया जा सकता है। बोगोफिल्टर कई मेल सिस्टम के साथ एकीकृत है, जिसका अर्थ इंटरफेसिंग की सापेक्ष आसानी है।

12

Reverend पर आज़माने के लिए कर सकते हैं। यह एक स्पैम फ़िल्टरिंग मॉड्यूल है।

+0

नोट: लिंक टूटा हुआ। – dfrankow

+0

@dfrankow: yup, divmod.org अब ऑनलाइन नहीं लगता है। पीईपीआई के यहां रेवरेंड के लिए एक पृष्ठ है: http://pypi.python.org/pypi/Divmod%20Reverend/0.2.4 –

+0

और उस पृष्ठ पर, मुखपृष्ठ (divmod.org) को बस्ट किया गया है। तो, कोई पीपीपी पैकेज स्थापित कर सकता है, लेकिन पैकेज का मूल स्रोत चला गया है। – dfrankow

3

SpamBayes बनाए रखा गया है, और परिपक्व है (यानी यह हर समय नई रिलीज के बिना काम करता है)। यह आसानी से आप जो चाहते हैं वह कर देगा। ध्यान दें कि स्पैमबेयस केवल कमजोर बेयसियन है (यह ची-स्क्वायर संयोजन का उपयोग करता है), लेकिन संभवतया आप किसी विशेष प्रकार के बेसिसियन के बजाय सांख्यिकीय टोकन-आधारित वर्गीकरण के बाद हैं।

+0

नोट: python3 का समर्थन नहीं करता है – Jonathan

1

पायथन प्राकृतिक भाषा टूलकिट (nltk) में एक मॉड्यूल भद्दा बेयसियन वर्गीकरण करता है: nltk.classify.naivebayes

अस्वीकरण: मैं बेयसियन वर्गीकरण, भद्दा या सांसारिक के बारे में सभी को बकवास जानता हूं।

9

RedisBayes मेरे लिए अच्छा लग रहा है:

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

मेरे अनुभव Redis में अपने ढेर करने के लिए एक भयानक है और MySQL, PostgreSQL या किसी अन्य आरडीबीएमएस की तुलना में तेजी से गति प्रज्वलन पर प्रक्रिया डेटा मदद कर सकते हैं।

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') 

आशा है कि थोड़ा सा मदद मिलेगी।