Dikea / Dialog-System-with-Task-Retrieval-and-Seq2seq

「2018 JDDC」 对话大赛亚军解决方案
409 stars 125 forks source link

TypeError: get_scores() takes 2 positional arguments but 3 were given #5

Open zuole opened 5 years ago

zuole commented 5 years ago

你好,下载模型后运行,直接报错,参数错误,请问怎么处理呀?

Chatbot: 您好,我是可爱的人工智能机器人小智,有问题都可以向我提问哦~

input1: hello [DEBUG] intent=None, task_response=None Traceback (most recent call last): File "dialog_manage.py", line 118, in start_dialog() File "dialog_manage.py", line 111, in start_dialog response = DialogManagement.process_dialog(msg, use_task=True) File "dialog_manage.py", line 78, in process_dialog search_response, sim_score = SearchCore.search(msg_tokens, mode=mode) File "E:\PythonDoc\JDDC-Dialog-Solution\search_dialog\search_core.py", line 33, in search sim_items = search_inst.similarity(query, size=10) File "E:\PythonDoc\JDDC-Dialog-Solution\search_dialog\bm25_model.py", line 27, in similarity return self.bm25_inst.similarity(query, 10) File "E:\PythonDoc\JDDC-Dialog-Solution\utils\bm25_util.py", line 15, in similarity scores = self.bm25.get_scores(query, self.average_idf) TypeError: get_scores() takes 2 positional arguments but 3 were given

frankhetao commented 5 years ago

同样的问题。。。

FankLi commented 4 years ago

请问,解决了吗

LexieeWei commented 3 years ago

同样的问题

Darel777 commented 8 months ago

class BM25Util(object):

def __init__(self, corpus):
    self.bm25 = bm25.BM25(corpus)
    self.average_idf = sum(map(lambda k: float(self.bm25.idf[k]), self.bm25.idf.keys())) / len(self.bm25.idf.keys())

def similarity(self, query, size=10):
    # scores = self.bm25.get_scores(query, self.average_idf)
    scores = self.bm25.get_scores(query)
    scores_sort = sorted(list(enumerate(scores)),
                         key=lambda item: item[1], reverse=True)
    return scores_sort[:size]