input: Write a function to analyze the sentiment of a given text using tokenization, stemming, stopword removal, and sentiment analysis. The function should return a polarity score dictionary.
  def sentiment_analyzer(text):
      tokens = word_tokenize(text)
      stemmer = SnowballStemmer('english')
      stemmed_words = [stemmer.stem(word) for word in tokens]
      clean_words = [word for word in stemmed_words if re.match('[a-zA-Z-]+$', word)]
      meaningful_words = [word for word in clean_words if not word in stopwords.words('english')]
      sid = SentimentIntensityAnalyzer()
      polarity_score = sid.polarity_scores(' '.join(meaningful_words))
      return polarity_score
  
  assert sentiment_analyzer("I love this product. It's amazing!")=={'neg': 0.0, 'neu': 0.239, 'pos': 0.761, 'compound': 0.8316}
  assert sentiment_analyzer("This is the worst experience I've ever had.")=={'neg': 0.65, 'neu': 0.35, 'pos': 0.0, 'compound': -0.7845}
  assert sentiment_analyzer("The service was okay, but the food was cold.")=={'neg': 0.487, 'neu': 0.513, 'pos': 0.0, 'compound': -0.4767}
  assert sentiment_analyzer("")=={'neg': 0.0, 'neu': 0.0, 'pos': 0.0, 'compound': 0.0}
output: 
  def sentiment_analyzer(text):
      tokens = word_tokenize(text)
      stemmer = SnowballStemmer('english')
      stemmed_words = [stemmer.stem(word) for word in tokens]
      clean_words = [word for word in stemmed_words if re.match('[a-zA-Z-]+$', word)]
      meaningful_words = [word for word in clean_words if not word in stopwords.words('english')]
      sid = SentimentIntensityAnalyzer()
      polarity_score = sid.polarity_scores(' '.join(meaningful_words))
      return polarity_score
  