2

嘿,我正在尝试使用 chatterbot 用现有的语料库训练我的聊天机器人,但我发现我的聊天机器人无法训练。当涉及到 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)

谢谢你看我的问题。

4

1 回答 1

0

您可以使用此功能以列表的形式检索您的 copus 内容。然后你可以像往常一样训练聊天机器人。

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

使用此函数,您只需将参数传递给文件的路径,它将返回该文件中的行列表。

于 2019-03-17T14:55:41.827 回答