input: Write a function that extracts the top 10 most frequent words from a given text. The function should take a string as input and return a list of tuples where each tuple contains a word and its frequency. If there are fewer than 10 unique words, the function should return all of them.
  assert extract_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 extract_top_10_words("Python is an amazing programming language. Python is versatile and easy to learn. Python has many libraries.")==[('Python', 3), ('is', 2), ('an', 1), ('amazing', 1), ('programming', 1), ('language.', 1), ('versatile', 1), ('and', 1), ('easy', 1), ('to', 1)]
  assert extract_top_10_words("")==[]
output: def extract_top_10_words(text):
      from collections import Counter
      words = text.split()
      word_counts = Counter(words)
      return word_counts.most_common(10)