如何在python中的chatterbot bot中刷新训练?

时间:2019-01-30 15:23:53

标签: python-2.7 chatbot chatterbot

我使用chatterbot库和python创建了一个简单的chatbot。我训练它的方式是,我阅读了一些包含聊天示例的文本文件,并且它根据这些训练示例学习了如何回复消息。我面临的问题是-即使我删除了训练文本文件的内容并运行该应用程序,聊天机器人的行为仍然与以前相同,即它的内存没有刷新。我尝试启动一个新文件,然后复制粘贴相同的代码并更改了程序的名称,但仍然无济于事。我该如何解决这个问题?这是供参考的代码:

from chatterbot.trainers import ListTrainer
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

import os

bot = ChatBot('trialBot')

bot.set_trainer(ListTrainer)

#directory containing training text files
mainDir = 'C:\\Users\\xyz\\Desktop\\trainfiles\\'

for _file in os .listdir(mainDir):
    chats = open(mainDir + _file, 'r').readlines()
    bot.train(chats)


while True:
    request = raw_input('You: ')
    response = bot.get_response(request)

    print('Bot: ' + str(response))

1 个答案:

答案 0 :(得分:0)

听起来您可能想使用内存数据库,以便仅在聊天机器人正在运行时才保留内容。

bot = ChatBot(
    'trialBot',
    database_uri=None
)

database_uri设置为None将使聊天机器人使用存储在内存中的Sqlite数据库,从而存储其训练所用的知识。结果,您将在每次运行程序时使用一个新的数据库。