input: Write a function to read in a tweet and remove all punctuation, special characters, and stopwords. The function should return the cleaned tweet as a list of words. If the input tweet is empty, the function should return an empty list.
  assert remove_noise_from_tweet("I'm so excited to be going to the #MuseumTour! #BigDay #travel") == ['excited', 'going', 'MuseumTour', 'BigDay', 'travel']
  assert remove_noise_from_tweet("Hello world!") == ['Hello', 'world']
  assert remove_noise_from_tweet("#NoStopWords") == ['NoStopWords']
  assert remove_noise_from_tweet("I love @coding!") == ['love', 'coding']
  assert remove_noise_from_tweet("") == []
output: def remove_noise_from_tweet(tweet):
      import re
      from nltk.corpus import stopwords
      stop_words = set(stopwords.words('english'))
      if not tweet:
          return []
      words = re.findall(r'\b\w+\b', tweet)
      cleaned_words = [word for word in words if word.lower() not in stop_words]
      return cleaned_words