input: Write a function to generate n-grams of the given text with a specified window size. The function should return a Counter object containing the frequency of each n-gram.
  
  from collections import Counter
  
  def generate_ngrams(text, window_size):
      text = text.lower().split(' ')
      ngrams = []
      for n in range(window_size, len(text)+1):
          for i in range(len(text)-n+1):
              ngrams.append(' '.join(text[i:i+n]))
      return Counter(ngrams)
  
  assert generate_ngrams("The quick brown fox jumps over the lazy dog", 3)['the quick brown']==3
  assert generate_ngrams("The quick brown fox jumps over the lazy dog", 2)['the lazy']==1
  assert generate_ngrams("The quick brown fox jumps over the lazy dog", 4)['the quick brown fox']==2
  assert generate_ngrams("The quick brown fox jumps over the lazy dog", 1)=={}
  assert generate_ngrams("", 3)=={}
output: def generate_ngrams(text, window_size):
      text = text.lower().split(' ')
      ngrams = []
      for n in range(window_size, len(text)+1):
          for i in range(len(text)-n+1):
              ngrams.append(' '.join(text[i:i+n]))
      return Counter(ngrams)