input: Write a python function to analyze sentiment of a given text using nltk's NaiveBayesClassifier.
  assert analyze_sentiment("I love sunny days. They make me feel so happy.") == 'positive'
  assert analyze_sentiment("I hate rainy days. They make me feel so sad and depressed.") == 'negative'
  assert analyze_sentiment("Some days are good, some days are bad. It's just the way it is.") == 'neutral'
output: def analyze_sentiment(text):
      import nltk
      from nltk.classify import NaiveBayesClassifier
      from nltk.corpus import movie_reviews
      from nltk import word_tokenize
      
      nltk.download('movie_reviews')
      nltk.download('punkt')
  
      def extract_features(words):
          return dict([(word, True) for word in words])
  
      # Prepare training data
      positive_ids = movie_reviews.fileids('pos')
      negative_ids = movie_reviews.fileids('neg')
      
      positive_features = [(extract_features(movie_reviews.words(fileids=[f])), 'positive') for f in positive_ids]
      negative_features = [(extract_features(movie_reviews.words(fileids=[f])), 'negative') for f in negative_ids]
  
      train_data = positive_features + negative_features
      
      # Train the NaiveBayesClassifier
      classifier = NaiveBayesClassifier.train(train_data)
      
      # Classify the given text
      features = extract_features(word_tokenize(text))
      sentiment = classifier.classify(features)
      
      return sentiment