【发布时间】:2021-01-31 22:19:21
【问题描述】:
我正在使用 python chatterbot 和 chatterbot_corpus 开发一个聊天机器人,我正在获取语料库。当我运行代码时,我在语料库文件中出现错误提示
parts = dotted_path.split('.')
AttributeError: 'list' object has no attribute 'split'
真的应该只运行并访问语料库文件。任何帮助将不胜感激,我将把我所有的代码放在下面。
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
from chatterbot.trainers import ChatterBotCorpusTrainer
import chatterbot_corpus
bot = ChatBot(
'IKO',
logic_adapters=[
'chatterbot.logic.BestMatch',
'chatterbot.logic.TimeLogicAdapter',
'chatterbot.logic.MathematicalEvaluation'],
storage_adapter='chatterbot.storage.SQLStorageAdapter',
database_uri='sqlite:///database.sqlite3'
)
trainer = ListTrainer(bot)
trainer = ChatterBotCorpusTrainer(bot)
trainer.train([
"chatterbot.corpus.english.greetings",
"chatterbot.corpus.english.ai"
])
trainer.train([
"what is your name",
"my name is IKO",
"is your name IKO",
"yes"
])
trainer.train([
"turn on the light",
"ok turning the light on"
])
name = input("Enter Your Name: ")
print("Welcome to the Bot Service! Let me know how can I help you?")
while True:
request=input(name+':')
if request=='Bye' or request =='bye':
print('Bot: Bye')
break
elif "turn" in request and "on" in request and "light" in request:
sig = "light on"
print(sig)
else:
response=bot.get_response(request)
print('Bot:',response)
整个错误是:
runfile('C:/Users/jax02/OneDrive/Desktop/IKO/IKO/AI 尝试 2.py', wdir='C:/Users/jax02/OneDrive/Desktop/IKO/IKO') Traceback(最近一次调用最后一次):
文件“”,第 1 行,在 runfile('C:/Users/jax02/OneDrive/Desktop/IKO/IKO/AI 尝试 2.py', wdir='C:/Users/jax02/OneDrive/Desktop/IKO/IKO')
运行文件中的文件“C:\Users\jax02\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py”,第 827 行 execfile(文件名,命名空间)
文件“C:\Users\jax02\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py”,第 110 行,在 execfile exec(编译(f.read(),文件名,'exec'),命名空间)
文件“C:/Users/jax02/OneDrive/Desktop/IKO/IKO/AI 尝试 2.py”,第 21 行,在 "chatterbot.corpus.english.ai"
文件“C:\Users\jax02\Anaconda3\lib\site-packages\chatterbot\trainers.py”,第 133 行,在 train data_file_paths.extend(list_corpus_files(corpus_path))
文件“C:\Users\jax02\Anaconda3\lib\site-packages\chatterbot\corpus.py”,第 66 行,在 list_corpus_files corpus_path = get_file_path(dotted_path, extension=CORPUS_EXTENSION)
文件“C:\Users\jax02\Anaconda3\lib\site-packages\chatterbot\corpus.py”,第 30 行,在 get_file_path 部分 = dotted_path.split('.')
AttributeError: 'list' 对象没有属性 'split'
【问题讨论】:
-
添加完整的回溯(错误)
-
我已将其添加到帖子中。谢谢
标签: python chatterbot