docs: def get_ngrams(self, minimum, maximum, filter_ngrams):
          """Returns a generator supplying the n-grams (`minimum` <= n
          <= `maximum`) for this text.
  
          Each iteration of the generator supplies a tuple consisting of
          the size of the n-grams and a `collections.Counter` of the
          n-grams.
  
          :param minimum: minimum n-gram size
          :type minimum: `int`
          :param maximum: maximum n-gram size
          :type maximum: `int`
          :param filter_ngrams: n-grams that must be contained by the generated
                                n-grams
          :type filter_ngrams: `list`
          :rtype: `generator`
  
          """
          tokens = self.get_tokens()
          filter_pattern = self.get_filter_ngrams_pattern(filter_ngrams)
          for size in range(minimum, maximum + 1):
              ngrams = collections.Counter(
                  self._ngrams(tokens, size, filter_pattern))
              yield (size, ngrams)