我使用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))
答案 0 :(得分:0)
听起来您可能想使用内存数据库,以便仅在聊天机器人正在运行时才保留内容。
bot = ChatBot(
'trialBot',
database_uri=None
)
将database_uri
设置为None
将使聊天机器人使用存储在内存中的Sqlite数据库,从而存储其训练所用的知识。结果,您将在每次运行程序时使用一个新的数据库。