def test_get_answer(self): from ml_models.elastic_search_baseline import get_answer with patch('support_model.elastic_search_baseline') as es_mock: es_mock.get_answer = get_answer from support_model import get_answer ans = get_answer('Big data examples') self.assertLessEqual(len(ans), 4) ans2 = get_answer('asfdsdffhjgjkgjhfghdfhgfgsdfasdfdfg') self.assertEqual(ans2, ['not found :(\nPlease paraphrase your query'])
def get_answer(query, use_lower=True, use_keywords=False, use_remove_stopwords=False, model_name=MODEL_NAME, use_remove_slack_commands=True ): if use_lower: query = query.lower() if use_keywords: query = get_keywords(query) if use_remove_stopwords: query = remove_stop_words_func(query) if use_remove_slack_commands: query = remove_slack_commands(query) try: answer_list = [] if model_name == ModelNames.ELASTIC: answer_list = elastic_search_baseline.get_answer(query) if model_name == ModelNames.BERT: answer_list = bert_model.get_answer(query) if model_name == ModelNames.BPE: answer_list = bpe_model.get_answer(query) if model_name == ModelNames.USE: answer_list = use_model.get_answer(query) return answer_list except Exception as ex: print('exception:', ex) return [{'text': "not found :(\nPlease paraphrase your query", 'channel_id': '0', 'timestamp': '0'}]
def test_bert_ans(self): from ml_models.bert_model import get_answer for q in self.questions: ans_list = get_answer(q) print(q) for ans in ans_list: print('\t\t', ans) self.assertTrue(len(ans_list) > 0)
def check_elastic(self): try: from ml_models.elastic_search_baseline import get_answer ans = get_answer('data science meetups') self.log('elastic passed') status = True except: status = False self.log('elastic failed') return status
def get_answer(query, use_lower=True, use_keywords=False, use_remove_stopwords=False, model_name=MODEL_NAME): if use_lower: query = query.lower() if use_keywords: query = get_keywords(query) if use_remove_stopwords: query = remove_stop_words_func(query) try: if model_name == ModelNames.ELASTIC: return elastic_search_baseline.get_answer(query) if model_name == ModelNames.BERT: return bert_emb_baseline.get_answer(query) if model_name == ModelNames.BPE: return bpe_baseline.get_answer(query) if model_name == ModelNames.TFIDF: return tfidf_baseline.get_answer(query) except Exception as ex: print(ex) return "not found :(\nPlease paraphrase your query"