code: def generate_ngram_data_set(self, token_list, n=2):
          '''
          Generate the N-gram's pair.
  
          Args:
              token_list:     The list of tokens.
              n               N
  
          Returns:
              zip of Tuple(Training N-gram data, Target N-gram data)
          '''
          n_gram_tuple_zip = self.generate_tuple_zip(token_list, n)
          n_gram_tuple_list = [n_gram_tuple for n_gram_tuple in n_gram_tuple_zip]
          n_gram_data_set = self.generate_tuple_zip(n_gram_tuple_list, 2)
          return n_gram_data_sef generate_ngram_data_set(self, token_list, n=2):
          '''
          Generate the N-gram's pair.
  
          Args:
              token_list:     The list of tokens.
              n               N
  
          Returns:
              zip of Tuple(Training N-gram data, Target N-gram data)
          '''
          n_gram_tuple_zip = self.generate_tuple_zip(token_list, n)
          n_gram_tuple_list = [n_gram_tuple for n_gram_tuple in n_gram_tuple_zip]
          n_gram_data_set = self.generate_tuple_zip(n_gram_tuple_list, 2)
          return n_gram_data_set
docs: Generate the N-gram's pair.
  
          Args:
              token_list:     The list of tokens.
              n               N
  
          Returns:
              zip of Tuple(Training N-gram data, Target N-gram data)