这部分参考该github项目
问答主函数
1.调用QuestionClassifier()获取问句类别
2.调用QuestionPaser()生成sql语句
3.调用AnswerSearcher()获得最终答案
class ChatBotGraph:
def __init__(self):
self.classifier = QuestionClassifier()
self.parser = QuestionPaser()
self.searcher = AnswerSearcher()
def chat_main(self, sent):
answer = '抱歉,我暂时无法回答这个问题。'
res_classify = self.classifier.classify(sent)
if not res_classify:
return answer
res_sql = self.parser.parser_main(res_classify)
final_answers = self.searcher.search_main(res_sql)
if not final_answers:
return answer
else:
return '\n'.join(final_answers)
执行问答
if __name__ == '__main__':
handler = ChatBotGraph()
while 1:
question = input('用户:')
answer = handler.chat_main(question)
print('小华佗:', answer)