def read_annotation_file(filename): """Loads a file annotated for co-references with brat.""" annotations = Annotations(filename, read_only=True) entities = {entity.id: entity for entity in annotations.get_entities() if entity.type in ('Actor', 'Location')} relations = defaultdict(list) for relation in annotations.get_relations(): relations[relation.arg1].append(relation.arg2) chains = resolve(relations, entities) actors, locations = [], [] for chain in chains: chain = [(entity, entities[entity].tail.strip(), entities[entity].get_start(), entities[entity].get_end()) for entity in chain] entity_type = entities[chain[0][0]].type if entity_type == 'Actor': actors.append(chain) elif entity_type == 'Location': locations.append(chain) return actors, locations, entities