input: Write a python function to clean customer reviews by lowercasing, removing punctuation, stemming, and removing stopwords.
  assert clean_reviews('This is an example!') == 'exampl'
  assert clean_reviews('Amazing product, will buy again!') == 'amaz product buy'
  assert clean_reviews('Quick delivery and great service.') == 'quick deliv great servic'
output: import string
  from nltk.corpus import stopwords
  from nltk.stem import PorterStemmer
  
  def clean_reviews(review):
      # Lowercase the review
      review = review.lower()
      
      # Remove punctuation
      review = review.translate(str.maketrans('', '', string.punctuation))
      
      # Initialize stemmer and stopwords
      ps = PorterStemmer()
      stop_words = set(stopwords.words('english'))
      
      # Tokenize, remove stopwords, and stem
      words = review.split()
      cleaned_words = [ps.stem(word) for word in words if word not in stop_words]
      
      # Join the words back into a single string
      cleaned_review = ' '.join(cleaned_words)
      
      return cleaned_review