chatbot_graph.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from question_classifier import *
  2. from question_parser import *
  3. from answer_search import *
  4. from process import process
  5. '''问答类'''
  6. class ChatBotGraph:
  7. def __init__(self):
  8. self.classifier = QuestionClassifier()
  9. self.parser = QuestionParser()
  10. self.searcher = AnswerSearcher()
  11. def chat_main(self, sent):
  12. answer = '抱歉,我不知道'
  13. if(";" in sent):
  14. return process(sent)
  15. res_classify = self.classifier.classify(sent)
  16. if not res_classify:
  17. answer = '完全找不到对应实体'
  18. return answer
  19. res_sql = self.parser.parser_main(res_classify)
  20. final_answers = self.searcher.search_main(res_sql)
  21. if not final_answers:
  22. answer = '未查到' + list(res_classify['args'].keys())[0] +'对应的' + res_classify['question_types'][0]
  23. return answer
  24. else:
  25. return '\n'.join(final_answers)
  26. if __name__ == '__main__':
  27. handler = ChatBotGraph()
  28. while 1:
  29. question = input('用户:')
  30. answer = handler.chat_main(question)
  31. print('回答:', answer)