input: Write a function that takes a sentence as input and prints the top 5 most frequent words in the sentence. The function should return the list of the top 5 most frequent words along with their counts.
  assert most_frequent_words("Python is an interpreted, high-level, general-purpose programming language.") == [('Python', 1), ('is', 1), ('an', 1), ('interpreted,', 1), ('high-level,', 1)]
  assert most_frequent_words("The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.") == [('The', 2), ('quick', 2), ('brown', 2), ('fox', 2), ('jumps', 2)]
  assert most_frequent_words("") == []
  assert most_frequent_words("This is a test. This is only a test.") == [('This', 2), ('is', 2), ('a', 2), ('test.', 2), ('only', 1)]
output: def most_frequent_words(sentence):
      if not sentence:
          return []
      words = sentence.split()
      freq = {}
      for word in words:
          if word in freq:
              freq[word] += 1
          else:
              freq[word] = 1
      sorted_words = sorted(freq.items(), key=lambda item: item[1], reverse=True)
      return sorted_words[:5]