diff --git a/Chatbot/QuestionAnswering/qaBase.py b/Chatbot/QuestionAnswering/qaBase.py index b934f3a..286de9d 100644 --- a/Chatbot/QuestionAnswering/qaBase.py +++ b/Chatbot/QuestionAnswering/qaBase.py @@ -1,5 +1,36 @@ -from . import match -from . import responsesEvaluate +import json + +from .match import * +from .responsesEvaluate import Evaluator class QABase(object): - pass + + def __init__(self, data_path): + + """ + Args: + data_path: 指出 data 資料夾位在哪個位置 + """ + self.general_questions = [] + self.data_path = data_path + + self.matcher = getMatcher(matcherType="Fuzzy") + self.evaluator = Evaluator() + + def getResponse(self, sentence, api_key=None): + + if api_key is not None: + response = self.getCustomQA(sentence,api_key) + else: + response = self._getGeneralQA(sentence) + return response + + def getGeneralQA(self, sentence): + + pass + + def getCustomQA(self, sentence, api_key): + + #TODO GET USER'S QA BY api_key + #customqa_list = json.loads(getUserQA(api_key)) + pass diff --git a/Chatbot/QuestionAnswering/responsesEvaluate.py b/Chatbot/QuestionAnswering/responsesEvaluate.py index f3d2423..813d3f9 100644 --- a/Chatbot/QuestionAnswering/responsesEvaluate.py +++ b/Chatbot/QuestionAnswering/responsesEvaluate.py @@ -138,7 +138,7 @@ def evaluateByGrade(self,topk,debug=False): meanful += math.log(wordWeight,10) cur_grade += wordWeight - cur_grade = cur_grade * meanful / math.log(len(self.segResponses[i])+1,avgWords) + cur_grade = cur_grade * meanful / (math.log(len(self.segResponses[i])+1,avgWords) + 1) candiates.append([self.responses[i],cur_grade]) if debug: diff --git a/Chatbot/log/exception_log b/Chatbot/log/exception_log deleted file mode 100644 index e69de29..0000000