input: Write a function to print the top 5 most frequent words in a given sentence. The function should take a string as input and 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.")==[('programming', 1), ('is', 1), ('interpreted,', 1), ('high-level,', 1), ('general-purpose', 1)]
  assert top_5_frequent_words("The quick brown fox jumps over the lazy dog.")==[('The', 1), ('quick', 1), ('brown', 1), ('fox', 1), ('jumps', 1)]
  assert top_5_frequent_words("To be or not to be, that is the question.")==[('be,', 2), ('To', 1), ('or', 1), ('not', 1), ('to', 1)]
  assert top_5_frequent_words("")==[]
  assert top_5_frequent_words("a a a b b c d")==[('a', 3), ('b', 2), ('c', 1), ('d', 1)]
output: def top_5_frequent_words(sentence):
      from collections import Counter
      words = sentence.split()
      word_counts = Counter(words)
      return word_counts.most_common(5)