def special_dealing(chars, next_word): result = [] buf = [] end_with_alpha = False def dealing(buf): if buf != []: result.extend(hmm.output(''.join(buf))) for char in chars: if char in CUTTING: dealing(buf) result.append(char) buf = [] else: if char in ALPHA: if not end_with_alpha: end_with_alpha = True dealing(buf) buf = [] elif end_with_alpha: result.append(''.join(buf)) buf = [] end_with_alpha = False buf.append(char) if end_with_alpha: result.append(''.join(buf)) elif buf != []: result.extend(hmm.output(''.join(buf))) return result
def dealing(buf): if buf != []: result.extend(hmm.output(''.join(buf)))