1

ChatterBot我想为使用库编写的聊天机器人指定我自己对特定问题的答案。这是我的代码

from chatterbot import ChatBot

# Create a new chat bot named Charlie
chatbot = ChatBot(
    'Charlie',
    trainer='chatterbot.trainers.ListTrainer'
)

chatbot.train([
    "who are you?",
    "I'm a friendly chat bot"
])

# Get a response to the input text 'who are you?'
response = chatbot.get_response('who are you?')

print(response)

运行这段代码后的输出是

谁?谁只是遵循什么功能的一种形式

代替

我是一个友好的聊天机器人

所以看起来图书馆中嵌入了这个问题的预先指定的答案。如何配置仅使用我的答案的机器人?

4

2 回答 2

1

您可以使用特定响应适配器。下面是示例代码。您可以在此链接上找到更多信息:http: //chatterbot.readthedocs.io/en/stable/logic/index.html

{ 'import_path': 'chatterbot.logic.SpecificResponseAdapter', 'input_text': '帮帮我!', 'output_text': '好的,这是一个链接:http ://chatterbot.rtfd.org ' }

于 2018-06-28T10:56:35.363 回答
1

@DavidBankom 该机器人将仅使用您的数据进行训练。代码片段也从源代码中讲述了同样的事情。

# Use specified trainer or fall back to the default
trainer = kwargs.get('trainer', 'chatterbot.trainers.Trainer')
TrainerClass = utils.import_module(trainer)
self.trainer = TrainerClass(self.storage, **kwargs)
self.training_data = kwargs.get('training_data')

我认为由于相关数据库而导致的行为存在于您的环境中。

您能否尝试删除您的 sqlite 数据库文件,我认为在您的情况下它可以 db.sqlite

default_uri = "sqlite:///db.sqlite3"

如果您需要任何帮助,请告诉我。

于 2017-08-21T01:19:25.830 回答