2012-01-11 18 views
6

में श्रेणी वर्गीकरण के लिए अपने स्वयं के कॉर्पस का उपयोग करना मैं एक एनटीएलके/पायथन शुरुआती हूं और वर्गीकृत प्लैनटेक्स्टकोर्पस रीडर का उपयोग करके अपना स्वयं का कॉर्पस लोड करने में कामयाब रहा हूं, लेकिन मैं वास्तव में पाठ के वर्गीकरण के लिए डेटा को कैसे प्रशिक्षित और उपयोग कर सकता हूं?पायथन एनएलटीके

>>> from nltk.corpus.reader import CategorizedPlaintextCorpusReader 
>>> reader = CategorizedPlaintextCorpusReader('/ebs/category', r'.*\.txt', cat_pattern=r'(.*)\.txt') 
>>> len(reader.categories()) 
234 
+0

देख http://stackoverflow.com/प्रश्न/29275614/का उपयोग कर-मेरी-खुद-संग्रह-बजाय के- फिल्म समीक्षा-संग्रह के लिए वर्गीकरण में nltk – alvas

उत्तर

6

मान लिया जाये कि आप शब्दों के बैग के साथ एक अनुभवहीन Bayes वर्गीकारक चाहते विशेषताएं:

from nltk import FreqDist 
from nltk.classify.naivebayes import NaiveBayesClassifier 

def make_training_data(rdr): 
    for c in rdr.categories(): 
     for f in rdr.fileids(c): 
      yield FreqDist(rdr.words(fileids=[f])), c 

clf = NaiveBayesClassifier.train(list(make_training_data(reader))) 

जिसके परिणामस्वरूप clf के classify विधि से कोई भी शब्द FreqDist पर इस्तेमाल किया जा सकता है।

(लेकिन ध्यान दें: आपके cap_pattern से, ऐसा लगता है आप नमूना और अपने कोष में फ़ाइल प्रति एक श्रेणी है कृपया जाँचें कि आप वास्तव में क्या चाहते हो कि चाहे।।)

संबंधित मुद्दे