Как обновить тренировку у бота болтунов в питоне? - PullRequest
0 голосов
/ 30 января 2019

Я сделал простой чат-бот, используя библиотеку chatterbot и python.То, как я его обучил, я сделал так, чтобы он прочитал несколько текстовых файлов, содержащих примеры чата, и он научился отвечать на сообщения, основываясь на этих учебных примерах.Проблема, с которой я сталкиваюсь, заключается в том, что даже если я удалю содержимое обучающих текстовых файлов и запусту приложение, чат-бот будет вести себя так же, как и раньше, то есть его память не обновляется.Я попытался запустить новый файл и скопировать вставить тот же код и изменил название программы, но это все равно не помогает.Как мне решить эту проблему?Вот код для справки:

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 голосов
/ 01 февраля 2019

Звучит так, как будто вы захотите использовать базу данных в памяти, чтобы содержимое сохранялось, пока работает чат-бот.

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

Установка database_uri в None будетзаставьте чат-бота использовать базу данных Sqlite, которая хранится в памяти, поэтому храните знания, с которыми он обучен.В результате у вас будет новая база данных для работы при каждом запуске вашей программы.

...