input: Write a python function to lemmatize a sentence using NLTK's WordNetLemmatizer.
  assert reply("What is the meaning of life?") == 'The meaning of life is to find your purpose, whatever that may be.'
  assert reply("Cats are chasing mice") == 'Cats are chasing mouse'
  assert reply("He is running fast") == 'He be run fast'
output: def lemmatize_sentence(sentence):
      from nltk.stem import WordNetLemmatizer
      from nltk.tokenize import word_tokenize
      from nltk.corpus import wordnet
      
      lemmatizer = WordNetLemmatizer()
  
      def get_wordnet_pos(word):
          tag = nltk.pos_tag([word])[0][1][0].upper()
          tag_dict = {"J": wordnet.ADJ,
                      "N": wordnet.NOUN,
                      "V": wordnet.VERB,
                      "R": wordnet.ADV}
  
          return tag_dict.get(tag, wordnet.NOUN)
  
      tokens = word_tokenize(sentence)
      lemmatized_tokens = [lemmatizer.lemmatize(token, get_wordnet_pos(token)) for token in tokens]
  
      return ' '.join(lemmatized_tokens)