«Чатбот» не определен в Чаттерботе - PullRequest
0 голосов
/ 30 декабря 2018

Я делаю чат-бота через Чаттербота.Я сталкиваюсь с проблемами следующим образом:

  1. , когда я запускаю код, он показывает ошибку, но ChatBot импортируется из chatterbot в начале?

Файл "... / SquirralBot.py", строка 5, в классе SquirralBot: Файл "... SquirralBot.py", строка 6, в SquirralBot bot = Chatbot ("SquirralBot", NameError: имя 'Chatbot' не определено

Я хочу заставить чат-бота различать определенные тексты, а затем запускать определенный корпус, как я могу это сделать?Для этой цели предназначен класс "chatterbot.conversation.Response (text, ** kwargs)"?Например, когда пользователь вводит «Я ухожу», он вызовет вызов обучающего набора «chatterbot.corpus.chinese.squirral_bye_conversation»?

Возможно ли, если я смогу сохранитьконкретно ответить на базу данных например MongoDB для разных пользователей?например, когда пользователь A отвечает «Я болен. У меня жар и насморк», тогда система «заболела» в «статус» и «лихорадка» и «насморк» в «симптомы» в данных пользователя A, так что внутрибаза данных будет выглядеть как JSON:

{"пользователь A", "пол": "мужчина", "запись": [{"дата": "25-12-2018", "статус":"хорошо", "симптомы": "",}, {"дата": "26-12-2018", "статус": "больной", "симптомы": "лихорадка", "насморк"}}

Можно ли сделать так, чтобы чат-боты могли отправлять текстовые сообщения пользователю за определенный промежуток времени?

Код для вышеупомянутого приведен ниже.Я очень новичок в программировании, поэтому код может быть немного грязным.Пожалуйста, не стесняйтесь исправлять.Большое спасибо.

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]))

1 Ответ

0 голосов
/ 05 июня 2019

Ваши операторы импорта намекают на класс ChatBot с заглавной буквы B :

из chatterbot import ChatBot

Изменить

chatbot = Chatbot("SquirralBot",...)

до

chatbot = ChatBot("SquirralBot",...)

Обратите внимание на то, что * * * * * * * * * * * * * * *

*1019* *1019* *1019* *1019*
...