def get_ngrams(self, minimum, maximum, skip_sizes=None):
        """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 skip_sizes: sizes to not generate n-grams for
        :type skip_sizes: `list` of `int`
        :rtype: `generator`

        """
        skip_sizes = skip_sizes or []
        tokens = self.get_tokens()
        for size in range(minimum, maximum + 1):
            if size not in skip_sizes:
                ngrams = collections.Counter(self._ngrams(tokens, size))
                yield (size, ngrams)