मुझे पोस्टग्रेज़ डेटाबेस में लगभग 300k दस्तावेज़ संग्रहीत किए गए हैं जो विषय श्रेणियों के साथ टैग किए गए हैं (कुल में लगभग 150 श्रेणियां हैं)। मेरे पास एक और 150k दस्तावेज़ हैं जिनके पास अभी तक श्रेणियां नहीं हैं। मैं प्रोग्रामेटिक रूप से उन्हें वर्गीकृत करने का सबसे अच्छा तरीका खोजने की कोशिश कर रहा हूं।श्रेणियों में वर्गीकृत दस्तावेज
मैं NLTK और इसके बेवकूफ बेयस क्लासिफायर की खोज कर रहा हूं। एक अच्छा प्रारंभिक बिंदु की तरह लगता है (यदि आप इस कार्य के लिए बेहतर वर्गीकरण एल्गोरिदम का सुझाव दे सकते हैं, तो मैं सभी कान हूं)।
मेरी समस्या यह है कि मेरे पास सभी 150 केटगोई/300 के दस्तावेजों पर एक बार में NaiveBayesClassifier को प्रशिक्षित करने के लिए पर्याप्त रैम नहीं है (8 जीबी का उपयोग 5 श्रेणियों पर प्रशिक्षण)। इसके अलावा, क्लासिफायर की शुद्धता ड्रॉप हो रही है क्योंकि मैं अधिक श्रेणियों पर ट्रेन करता हूं (2 श्रेणियों के साथ 9 0% सटीकता, 5% के साथ 81%, 10% के साथ 61%)।
क्या मुझे एक समय में 5 श्रेणियों पर वर्गीकरण को प्रशिक्षित करना चाहिए और क्लासिफायर के माध्यम से सभी 150k दस्तावेज चलाने के लिए यह देखने के लिए कि क्या मैचों हैं? ऐसा लगता है कि यह काम करेगा, सिवाय इसके कि वहां बहुत सारे झूठे सकारात्मक मुद्दे होंगे जहां दस्तावेजों को वास्तव में किसी भी श्रेणी से मेल नहीं खाती है, जो क्लासिफायर द्वारा जूता-सींग मिलती है क्योंकि यह सबसे अच्छा मैच उपलब्ध है ... क्या वहां है क्लासिफायरफायर के लिए "उपर्युक्त में से कोई भी" विकल्प रखने का एक तरीका सिर्फ दस्तावेज़ में किसी भी श्रेणी में फिट नहीं होता है?
यहाँ अपने परीक्षण वर्ग http://gist.github.com/451880
शायद एक ऑनलाइन/वृद्धिशील प्रशिक्षण मोड स्मृति समस्याओं को हल करेगा: http://en.wikipedia.org/wiki/Online_machine_learning – Amro