болтун: мой чат не может быть обучен - PullRequest
0 голосов
/ 26 июня 2018

Эй, я пытаюсь обучить своего чат-бота существующими корпусами, используя болтун, но я обнаружил, что мой чат-бот не может быть обучен.Кажется, застревает, когда дело доходит до строки bot.train (data).Вот мой код:

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
import os

bot = ChatBot('ChatBot')
bot.set_trainer(ListTrainer)
new = []

for files in os.listdir('/Users/christinalai/Desktop/corpus'):
    data = open('/Users/christinalai/Desktop/corpus/' + files, mode='r',errors="ignore").readlines()
    for line in data:
        new.append(line)

bot.train(new)

while True:
    message = input("You: ")
    if message.strip() not in message_list:
        reply = bot.get_response(message)
        print("ChatBot: ", reply)

Спасибо за просмотр моего вопроса.

1 Ответ

0 голосов
/ 17 марта 2019

Вы можете использовать эту функцию для извлечения содержимого вашего copus в виде списка.И тогда вы можете обучить chatbot как обычно.

def delcha(path):
    with open(text_file,encoding='utf-8') as file:
        list_line_file = file.readlines()
    for ans in list_line_file:
        if '\n' in ans:
            edit_ans = ans[0:len(ans)-1]
            index = list_line_file.index(ans)
            list_line_file.pop(index)
            list_line_file.insert(index, edit_ans)
    return list_line_file

С помощью этой функции вы просто передаете параметр в путь к вашему файлу, и он вернет список строк в этом файле.

...