input: Write a python function to find the ten most frequent words in a given string.
  assert most_frequent_words("this is a test. This test is only a test.") == ['test', 'is', 'a', 'this', 'only']
  assert most_frequent_words("hello world hello") == ['hello', 'world']
  assert most_frequent_words("one two two three three three four four four four") == ['four', 'three', 'two', 'one']
  assert most_frequent_words("a b c d e f g h i j k l m n o p q r s t u v w x y z") == ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
output: def most_frequent_words(text):
      from collections import Counter
      import re
      
      # Normalize the text by converting it to lowercase and splitting by non-alphabetic characters
      words = re.findall(r'\b\w+\b', text.lower())
      
      # Count the frequency of each word
      word_counts = Counter(words)
      
      # Get the ten most common words
      most_common_words = [word for word, _ in word_counts.most_common(10)]
      
      return most_common_words