<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_horz_ngrams( mention, attrib="words", n_min=1, n_max=1, lower=True, from_sentence=True ):
 """Return all ngrams which are visually horizontally aligned with the Mention. Note that if a candidate is passed in, all of its Mentions will be searched. :param mention: The Mention to evaluate :param attrib: The token attribute type (e.g. words, lemmas, poses) :param n_min: The minimum n of the ngrams that should be returned :param n_max: The maximum n of the ngrams that should be returned :param lower: If True, all ngrams will be returned in lower case :param from_sentence: If True, returns ngrams from any horizontally aligned Sentences, rather than just horizontally aligned ngrams themselves. :rtype: a *generator* of ngrams """

    spans = _to_spans(mention)
    for span in spans:
        for ngram in _get_direction_ngrams(
            "horz", span, attrib, n_min, n_max, lower, from_sentence
        ):
            yield ngram