code: def extract_nouns(self, pos_tags):
      nouns = self.extract_words(pos_tags, set(["NOUN"]))
  
      def words_process():
          words, tag = zip(*nouns)
          words = map(lambda x: x.lower(), words)
          words = [w for w in words if not self.filter_character(w)]
          words = map(self._lemma, words)
          words = [w for w in words if len(w) > 2]
          words = [w for w in words if wn.synsets(w, pos=wn.NOUN)]
          return list(set(words))
  
      return words_process() if nouns else []
  
imports: from sematch.utility import FileIO
  from nltk.stem import WordNetLemmatizer
  from nltk.corpus import wordnet
  import nltk
  from collections import Counter
  import itertools
  import string
  import re
label_desc: Use image node_id 4 for calling the FeatureExtractor obj's underlying member method code with example usage: obj.extract_nouns(pos_tags) and returns: unknown, list