首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“‘Chatbot”在Chatterbot中没有定义

“‘Chatbot”在Chatterbot中没有定义
EN

Stack Overflow用户
提问于 2018-12-30 14:08:47
回答 1查看 1.9K关注 0票数 1

我要通过聊天机器人做一个聊天机器人。我面对的问题如下:

  1. 当我运行代码时,它会显示错误,但是ChatBot在开始时是从chatterbot导入的?

SquirralBot:...SquirralBot.py文件中的第5行,SquirralBot bot =Chatbot中的第6行(“SquirralBot”,NameError: name 'Chatbot‘)中的文件“./ScapralBot.py”

  1. 我想让聊天机器人区分特定的文本,然后触发特定的语料库,我该怎么做呢?"chatterbot.conversation.Response(text,**kwargs)“类是用于此目的的吗?当用户输入“我要离开”时,它将触发调用培训集"chatterbot.corpus.chinese.squirral_bye_conversation"?
  2. 如果我可以将答复专门存储到数据库,例如针对不同用户的MongoDB,是否有可能?例如,当用户A回答“我生病了。我发烧并流鼻涕”时,系统会将“病”存储到用户A的数据中的“状态”、“发烧”和“流鼻涕”到“症状”中,以便在数据库中类似于JSON: {“用户A”、“性别”:“男性”、“记录”:[{“日期”:"25-12-2018“、”状态“:”罚款“、”症状“:”、}、{“日期”:"26-12-2018",“病情”:“生病”,“症状”:“发烧”,“流鼻涕”}
  3. 是否有可能使聊天机器人能够在特定的时间范围内给用户发短信?

上述代码如下。我在编程方面非常新,所以代码可能有点混乱。请随时纠正。非常感谢。

代码语言:javascript
复制
import sys 
from chatterbot import ChatBot 
from chatterbot.trainers import ChatterBotCorpusTrainer

class SquirralBot:
    chatbot = Chatbot("SquirralBot",
    logic_adapters=[
        {
            "import_path": "chatterbot.logic.BestMatch",
            "statement_comparison_function": "chatterbot.comparisons.levenshtein_distance",
            "response_selection_method": "chatterbot.response_selection.get_first_response"
        }
    ],storage_adapter = "chatterbot.storage.JsonFileStorageAdapter",database = "./SquirralBot_DB.json")

    def __init__(self):
        self.chatbot.set_trainer(ChatterBotCorpusTrainer)
        self.chatbot.train("chatterbot.corpus.chinese.squirral_greeting", "chatterbot.corpus.chinese.squirral_bye_conversation", "chatterbot.corpus.chinese.squirral_normal_conversation", "chatterbot.corpus.chinese.squirral_rabbit_bye_conversation", "chatterbot.corpus.chinese.squirral_rabbit_conversation")

    def getResponse(self, message=""):
        return self.chatbot.get_response(message)

if __name__ == "__main__":
    bot = SquirralBot()
    print(bot.getResponse(sys.argv[1]))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-05 13:41:51

导入语句提示具有大写ChatBot B的

从chatterbot进口ChatBot

变化

代码语言:javascript
复制
chatbot = Chatbot("SquirralBot",...)

代码语言:javascript
复制
chatbot = ChatBot("SquirralBot",...)

请注意ChatBot中的大写B。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53978292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档