def setUp(self): self.disc = Discrimination() self.verbalizer = Verbalizer() try: #ResourcePool().ontology_server.reset() ResourcePool().ontology_server.add([ "raquel rdf:type Human", "Gamebox rdfs:subClassOf Box", "Gamebox rdfs:label \"game box\"", "BLUE_BOTTLE rdf:type Bottle", "BLUE_BOTTLE hasColor blue", "ORANGE_BOTTLE rdf:type Bottle", "ORANGE_BOTTLE hasColor orange", "ORANGE_BOTTLE isOn ACCESSKIT", "YELLOW_BOTTLE rdf:type Bottle", "YELLOW_BOTTLE hasColor yellow", 'ACCESSKIT rdf:type Gamebox', 'ACCESSKIT hasColor white', 'ACCESSKIT hasSize big', 'ACCESSKIT isOn table1', 'ORANGEBOX rdf:type Gamebox', 'ORANGEBOX hasColor orange', 'ORANGEBOX hasSize big', 'ORANGEBOX isOn ACCESSKIT', 'SPACENAVBOX rdf:type Gamebox', 'SPACENAVBOX hasColor white', 'SPACENAVBOX hasSize big', 'SPACENAVBOX isOn ACCESSKIT' ]) ResourcePool().ontology_server.addForAgent( ResourcePool().get_model_mapping("raquel"), ["BLUE_BOTTLE isVisible true", "ORANGE_BOTTLE isVisible true"]) except AttributeError: #the ontology server is not started of doesn't know the method raise (DialogError("The ontology server is not started!"))
def noun_phrases_resolution(self, sentence, current_speaker, uie_object, uie_object_with_more_info): logger.info(colored_print("-> Resolving noun phrases", 'green')) #Skipping processing of sentences that are neither questions nor statements nor imperatives if not sentence.data_type in [ W_QUESTION, YES_NO_QUESTION, STATEMENT, IMPERATIVE ]: return sentence #Nominal group replacement possibly after uie_object and uie_object_with_more_info are sent from Dialog to resolve missing content if uie_object and uie_object_with_more_info: sentence = self._noun_phrases_replace_with_ui_exception( sentence, uie_object, uie_object_with_more_info) #No uie_objects needed after replacement uie_object = None uie_object_with_more_info = None #Record of current sentence self._current_sentence = sentence #NominalGroupStatementBuilder builder = NominalGroupStatementBuilder(None, current_speaker) #Discrimination discriminator = Discrimination() #sentence.sn nominal groups nouns phrase resolution if sentence.sn: sentence.sn = self._resolve_groups_nouns(sentence.sn, current_speaker, discriminator, builder) #sentence.sv nominal groups nouns phrase resolution if sentence.sv: sentence.sv = self.verbal_phrases_noun_resolution( sentence.sv, current_speaker, discriminator, builder) return sentence