def from_text(cls, text): parts = [p.strip() for p in text.split(':')] if len(parts) < 7: raise ParseEntityError( 'expected at least 7 parts, separated by ;, got {}: {}'.format( len(parts), text)) sent_idx = int(parts[0]) start_token_idx = int(parts[1]) end_token_idx = int(parts[2]) head_token_idx = int(parts[3]) rep = True if int(parts[4]) == 1 else False ner = parts[5] if parts[5] != 'NONE' else '' tokens = [ Token.from_text(token_text.strip()) for token_text in parts[6:] ] return cls(sent_idx, start_token_idx, end_token_idx, head_token_idx, rep, tokens, ner)
def from_text(cls, text): parts = [p.strip() for p in text.split(':')] assert len(parts) >= 7, \ 'expected at least 7 parts separated by colon, found {}'.format( len(parts)) sent_idx = int(parts[0]) start_token_idx = int(parts[1]) end_token_idx = int(parts[2]) head_token_idx = int(parts[3]) rep = True if int(parts[4]) == 1 else False ner = parts[5] if parts[5] != 'NONE' else '' tokens = [Token.from_text(token_text.strip()) for token_text in parts[6:]] return cls(sent_idx, start_token_idx, end_token_idx, head_token_idx, rep, ner, tokens)