code: def gen_prompt_feats(self, e_set):
          
          prompt_toks = nltk.word_tokenize(e_set._prompt)
          expand_syns = []
          for word in prompt_toks:
              synonyms = util_functions.get_wordnet_syns(word)
              expand_syns.append(synonyms)
          expand_syns = list(chain.from_iterable(expand_syns))
          prompt_overlap = []
          prompt_overlap_prop = []
          for j in e_set._tokens:
              tok_length=len(j)
              if(tok_length==0):
                  tok_length=1
              prompt_overlap.append(len([i for i in j if i in prompt_toks]))
              prompt_overlap_prop.append(prompt_overlap[len(prompt_overlap) - 1] / float(tok_length))
          expand_overlap = []
          expand_overlap_prop = []
          for j in e_set._tokens:
              tok_length=len(j)
              if(tok_length==0):
                  tok_length=1
              expand_overlap.append(len([i for i in j if i in expand_syns]))
              expand_overlap_prop.append(expand_overlap[len(expand_overlap) - 1] / float(tok_length))
  
          prompt_arr = numpy.array((prompt_overlap, prompt_overlap_prop, expand_overlap, expand_overlap_prop)).transpose()
  
          return prompt_arr.copy()
docs: Generates prompt based features from an essay set object and internal prompt variable.
          Generally called internally by gen_feats
          Returns an array of prompt features
          e_set - EssaySet object