class_docstr: A fast and simple noun phrase extractor.
  
  Credit to Shlomi Babluk. Link to original blog post:
  
      http://thetokenizer.com/2013/05/09/efficient-way-to-extract-the-main-topics-of-a-sentence/
class_docstr_tok: ["A","fast","and","simple","noun","phrase","extractor",".","Credit","to","Shlomi","Babluk",".","Link","to","original","blog","post",":","http",":","\/\/thetokenizer.com\/2013\/05\/09\/efficient-way-to-extract-the-main-topics-of-a-sentence\/"]
docstr: Return a list of noun phrases (strings) for body of text.
docstr_tok: ["Return","a","list","of","noun","phrases","(","strings",")","for","body","of","text","."]
code: def extract(self, sentence):
      """Return a list of noun phrases (strings) for body of text."""
      if not self._trained:
          self.train()
      tokens = self._tokenize_sentence(sentence)
      tagged = self.tagger.tag(tokens)
      tags = _normalize_tags(tagged)
      merge = True
      while merge:
          merge = False
          for x in range(0, len(tags) - 1):
              t1 = tags[x]
              t2 = tags[x + 1]
              key = t1[1], t2[1]
              value = self.CFG.get(key, "")
              if value:
                  merge = True
                  tags.pop(x)
                  tags.pop(x)
                  match = "%s %s" % (t1[0], t2[0])
                  pos = value
                  tags.insert(x, (match, pos))
                  break
  
      matches = [t[0] for t in tags if t[1] in ["NNP", "NNI"]]
      return matches
  
imports: from __future__ import unicode_literals, absolute_import
  import nltk
  from textblob.taggers import PatternTagger
  from textblob.decorators import requires_nltk_corpus
  from textblob.utils import tree2str, filter_insignificant
  from textblob.base import BaseNPExtractor
label_desc: Use image node_id 4 for calling the FastNPExtractor obj's underlying member method code with example usage: obj.extract(sentence) and returns: matches