input: Write a function to create a natural language processing application in Python that extracts the top 10 most frequent words from a given text. If the text does not contain enough words for the top 10, return all available words in descending order of frequency.
  from collections import Counter
  
  def top_10_words(text):
      # Split the text into individual words
      words = text.split()
      
      # Create a counter object
      counter = Counter(words)
      
      # Get the top 10 most frequent words
      top_words = counter.most_common(10)
      
      return top_words
  
  assert top_10_words("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.") == [('dolor', 1), ('Lorem', 1), ('ipsum', 1), ('amet', 1), ('consectetur', 1), ('adipiscing', 1), ('elit,', 1), ('sed', 1), ('do', 1), ('eiusmod', 1)]
  assert top_10_words("") == []
  assert top_10_words("one one one two two three three three three") == [('three', 4), ('one', 3), ('two', 2)]
  assert top_10_words("a a a a a b b b c c d d e e f f g g h h i i j j") == [('a', 5), ('b', 3), ('c', 2), ('d', 2), ('e', 2), ('f', 2), ('g', 2), ('h', 2), ('i', 2), ('j', 2)]
output: from collections import Counter
  
  def top_10_words(text):
      words = text.split()
      counter = Counter(words)
      top_words = counter.most_common(10)
      return top_words