input: Write a function to analyze the sentiment of given text and categorize it into positive, negative, and neutral sentiments. The function should use the NaiveBayesClassifier from the nltk library for sentiment analysis and return the sentiment as 'positive', 'negative', or 'neutral'.
  
  assert analyze_sentiment("I love this product! It's amazing.")=='positive'
  assert analyze_sentiment("This is not what I expected. Very disappointed.")=='negative'
  assert analyze_sentiment("The weather is nice today.")=='neutral'
output: def analyze_sentiment(text):
      from nltk.classify import NaiveBayesClassifier
      from nltk.corpus import subjectivity
      from nltk.sentiment import SentimentAnalyzer
      from nltk.sentiment.util import extract_unigram_feats
  
      n_instances = 100
      subj_docs = [(sent, 'subj') for sent in subjectivity.sents(categories='subj')[:n_instances]]
      obj_docs = [(sent, 'obj') for sent in subjectivity.sents(categories='obj')[:n_instances]]
      train_subj_docs = subj_docs[:80]
      test_subj_docs = subj_docs[80:100]
      train_obj_docs = obj_docs[:80]
      test_obj_docs = obj_docs[80:100]
      training_docs = train_subj_docs + train_obj_docs
      testing_docs = test_subj_docs + test_obj_docs
  
      sentim_analyzer = SentimentAnalyzer()
      all_words_neg = sentim_analyzer.all_words([mark_negation(doc) for doc in training_docs])
      unigram_feats = sentim_analyzer.unigram_word_feats(all_words_neg, min_freq=4)
      sentim_analyzer.add_feat_extractor(extract_unigram_feats, unigrams=unigram_feats)
      training_set = sentim_analyzer.apply_features(training_docs)
      test_set = sentim_analyzer.apply_features(testing_docs)
      trainer = NaiveBayesClassifier.train
      classifier = sentim_analyzer.train(trainer, training_set)
  
      for key, value in sorted(sentim_analyzer.evaluate(test_set).items()):
          pass
  
      def classify_sentiment(text):
          feats = sentim_analyzer.extract_features([word for word in text.split()])
          return classifier.classify(feats)
  
      sentiment = classify_sentiment(text)
      if sentiment == 'subj':
          return 'positive'
      elif sentiment == 'obj':
          return 'negative'
      else:
          return 'neutral'