def full_answer(self, question_text, top_number=10): """ get answer collection for the question :param question_text: question text :return: a full answer collection """ question = Question(question_text) print(question_text) question_with_intent = self.template_analyzer.generate_question_with_intent( question) if question_with_intent is None: question_with_intent = self.dialogflow_analyzer.generate_question_with_intent( question) answer_collection = self.solver_collection.solve_by_solvers( question_with_intent) if answer_collection: answer_collection = answer_collection.get_top_answers( top_number=top_number) else: answer_collection = AnswerCollection() if len(answer_collection.answer_list) == 0: answer_collection.answer_type = AnswerCollection.ANSWER_TYPE_DEFAULT text = "I can't answer this quesion!" answer = Answer(answer_text=text, score=1.0, node=None) answer_collection.add(answer) return answer_collection
def get_answer_collection(self, question_with_intent): answer_collection = AnswerCollection( AnswerCollection.ANSWER_TYPE_DEFAULT) intent = question_with_intent.intent text = intent.get_slot_value("Text") answer = Answer(answer_text=text, score=1.0, node=None) answer_collection.add(answer) return answer_collection
def get_answer_collection(self, question_with_intent): answer_collection = AnswerCollection(AnswerCollection.ANSWER_TYPE_LIST) intent = question_with_intent.intent feature = intent.get_slot_value("Feature") node_linking_record_list = self.graph_accessor.search_entity_by_feature( feature) self.add_answer_to_list(answer_collection, node_linking_record_list) return answer_collection
def get_answer_collection(self, question_with_intent): answer_collection = AnswerCollection(AnswerCollection.ANSWER_TYPE_LIST) intent = question_with_intent.intent entity = intent.get_slot_value("Entity") node_linking_record_list = self.graph_accessor.search_entity_by_relation( entity, "belong to") self.add_answer_to_list(answer_collection, node_linking_record_list) return answer_collection
def get_answer_collection(self, question_with_intent): answer_collection = AnswerCollection( AnswerCollection.ANSWER_TYPE_SINGLE) intent = question_with_intent.intent self.entity = intent.get_slot_value("Entity") node_linking_record_list = self.graph_accessor.entity_linking_by_fulltext_search( self.entity) self.add_answer_to_list(answer_collection, node_linking_record_list) return answer_collection
def get_answer_collection(self, question_with_intent): answer_collection = AnswerCollection(AnswerCollection.ANSWER_TYPE_LIST) intent = question_with_intent.intent function_str = intent.get_slot_value("Function") node_linking_record_list = self.graph_accessor.entity_linking_by_function_search( function_str) self.add_answer_to_list(answer_collection, node_linking_record_list) return answer_collection