title: How do I count words in an nltk plaintextcorpus faster?
body: <p>I have a set of documents, and I want to return a list of tuples where each tuple has the date of a given document and the number of times a given search term appears in that document.  My code (below) works, but is slow, and I'm a n00b.  Are there obvious ways to make this faster?  Any help would be much appreciated, mostly so that I can learn better coding, but also so that I can get this project done faster!  </p>
  
  <pre><code>def searchText(searchword):
      counts = []
      corpus_root = 'some_dir'
      wordlists = PlaintextCorpusReader(corpus_root, '.*')
      for id in wordlists.fileids():
          date = id[4:12]
          month = date[-4:-2]
          day = date[-2:]
          year = date[:4]
          raw = wordlists.raw(id)
          tokens = nltk.word_tokenize(raw)
          text = nltk.Text(tokens)
          count = text.count(searchword)
          counts.append((month, day, year, count))
  
      return counts
  </code></pre>