def processRelations(self): # create relations list self.fetchRelations() # resolve <actor> roles RoleResolver.resolveActorRoles(self.relations, self.sentences) # apply constraints and remove invalid roles self.applyConstraints() # debug # print '\n---------------------------------------------------' # self.printRelations() # print '---------------------------------------------------' # look over all relations for relation in self.relations: # check whether relation contains state/price information # what's the point? if relation.containsMainInformation(): # first find agency # agency_role = relation.getSecondLevelRole('<actor_agency:1>') agency_roles = relation.getSecondLevelRoles('<actor_agency:1>') for agency_role in self.orderRoles(agency_roles): self.findNamedEntityCoreferent(agency_role) # ...then resolve stock role stock_roles = relation.getSecondLevelRoles('<actor_stock:1>') for stock_role in self.orderRoles(stock_roles): self.findNamedEntityCoreferent(stock_role)