code: def _compute_transitions(self, corpus, order=1):
          
          self.transitions = defaultdict(lambda: defaultdict(int))
  
          for corpus_entry in corpus:
              tokens = self.tokenize(corpus_entry)
  
              last_tokens = utils.prefilled_buffer(
                  self._start_symbol, length=self.order)
              # count the occurrences of "present | past"
              for token_value in chain(tokens, self._end_symbol):
                  for suffix in utils.get_suffixes(last_tokens):
                      self.transitions[suffix][token_value] += 1
  
                  last_tokens.append(token_value)
  
          self._compute_relative_probs(self.transitions)
docs: Computes the transition probabilities of a corpus
          Args:
              corpus: the given corpus (a corpus_entry needs to be iterable)
              order: the maximal Markov chain order