input: Write a function to find the top 5 most frequent words in a given sentence. If the sentence is empty, return an empty list. Return a list of tuples where each tuple contains a word and its frequency.
  
  assert top_5_frequent_words("Python is an interpreted, high-level, general-purpose programming language.")==[('Python',1),('an',1),('interpret,',1),('high-level,',1),('general-purpose',1)]
  assert top_5_frequent_words("The quick brown fox jumps over the lazy dog over the quick brown fox.")==[('the',3),('quick',2),('brown',2),('fox',2),('over',2)]
  assert top_5_frequent_words("")==[]
output: def top_5_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]