def _sentences(self, clean_visible):
previous_end = <NUM_LIT:0><EOL>clean_visible = clean_visible.decode('<STR_LIT:utf8>')<EOL>for start, end in self.sentence_tokenizer.span_tokenize(clean_visible):<EOL><INDENT>if start < previous_end:<EOL><INDENT>start = previous_end<EOL>if start > end:<EOL><INDENT>continue<EOL><DEDENT><DEDENT>try:<EOL><INDENT>label = self.label_index.find_le(end)<EOL><DEDENT>except ValueError:<EOL><INDENT>label = None<EOL><DEDENT>if label:<EOL><INDENT>off = label.offsets[OffsetType.CHARS]<EOL>end = max(off.first + off.length, end)<EOL><DEDENT>previous_end = end<EOL>sent_str = clean_visible[start:end]<EOL>yield start, end, sent_str<EOL><DEDENT>
generate strings identified as sentences