code: def extract_synonyms_and_derivation(word):
      lemma_names = set()
      derivationally_related_forms = set()
      for synset in wn.synsets(word):
          for lemma in synset.lemmas():
              lemma_name = lemma.name().replace("_", " ")
              if not StringUtils.is_stop(lemma_name.lower()):
                  lemma_names.add(lemma_name)
  
              derivationally_related_forms.update(
                  [
                      lem.name().replace("_", " ")
                      for lem in lemma.derivationally_related_forms()
                      if not StringUtils.is_stop(lem.name().lower())
                  ]
              )
  
      return lemma_names, derivationally_related_forms
  
file_path: nlp-architect/nlp_architect/data/cdc_resources/wordnet/wordnet_online.py
imports: import nltk
  from nltk.corpus import wordnet
  from nlp_architect.data.cdc_resources.data_types.wn.wordnet_page import WordnetPage
  from nlp_architect.utils.string_utils import StringUtils
label_desc: Use image node_id 3 for calling the WordnetOnline obj's underlying member method code with example usage: obj.extract_synonyms_and_derivation(word) and returns: lemma_names,  derivationally_related_forms