Beispiel #1
0
 def getAgencies(self, relation):
     agencies = []
     agencies_phrases = relation.getSecondLevelRoles('<actor_agency:1>')
     # collect all agency phrases from given relation
     for candidate in agencies_phrases:
         if candidate.coreferent != None and Utils.isNamedEntity(candidate.coreferent) and not candidate.coreferent in agencies_phrases:
             # get named entities from given phrase
             for entity_str in Utils.getNamedEntities(candidate.coreferent):
                 # is it relevant agency string? Dfens against bugs and wrong parses
                 if RoleResolver.isRelevantAgencyEntity(entity_str) and not entity_str.replace('_', ' ') in agencies:
                     agencies.append(entity_str.replace('_', ' '))
     return agencies