AttributeError:“‘ChatBot’对象没有‘trains’属性”

Kat*_*rín 2 python chatbot chatterbot

我正在尝试使用 chatterbot 在电报中创建一个聊天机器人,并使用函数 train() 生成 ChatBot 但可视化代码(我的编辑器)和 atom 无法识别库。在我在 cmd 中使用 pip install chatterbot 并启动之前:

Successfully installed PyYAML-3.13 chatterbot-1.0.4 chatterbot-corpus-1.2.0 mathparse-0.1.2 nltk-3.4 pint-0.9 pymongo-3.7.2 singledispatch-3.4.0.3 sqlalchemy-1.2.18
Run Code Online (Sandbox Code Playgroud)

我尝试在可视代码中从 cmd 重新安装库。但是不要运行代码。显示我的错误是:

[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data]     C:\Users\KatiusKa\AppData\Roaming\nltk_data...
[nltk_data]   Unzipping taggers\averaged_perceptron_tagger.zip.
[nltk_data] Downloading package punkt to
[nltk_data]     C:\Users\KatiusKa\AppData\Roaming\nltk_data...
[nltk_data]   Unzipping tokenizers\punkt.zip.
[nltk_data] Downloading package stopwords to
[nltk_data]     C:\Users\KatiusKa\AppData\Roaming\nltk_data...
[nltk_data]   Unzipping corpora\stopwords.zip.
[nltk_data] Downloading package wordnet to
[nltk_data]     C:\Users\KatiusKa\AppData\Roaming\nltk_data...
[nltk_data]   Unzipping corpora\wordnet.zip.
Traceback (most recent call last):
  File "C:\Users\KatiusKa\Documents\Python\chbot.py", line 8, in <module>
    chatbot.train(
AttributeError: 'ChatBot' object has no attribute 'train'
Run Code Online (Sandbox Code Playgroud)

这是可视化代码中的代码:

from chatterbot import ChatBot

chatbot = ChatBot(
    "Ejemplo Bot",
    trainer = "chatterbot.trainers.ChatterBotCorpusTrainer"
)

chatbot.train(
    "chatterbot.corpus.spanish"
)
Run Code Online (Sandbox Code Playgroud)

这是我尝试从可视代码运行的代码

Dan*_* M. 6

错误是正确的 -chatbot类没有属性train。如果您查看文档,就会发现它ChatterBotCorpusTrainer是您应该训练的课程,并且确实具有train()功能。

在此处查看 chatterbot 的基本用法:https : //github.com/gunthercox/ChatterBot#basic-usage

from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

chatbot = ChatBot('Ron Obvious')

# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)

# Train the chatbot based on the english corpus
trainer.train("chatterbot.corpus.english")
Run Code Online (Sandbox Code Playgroud)